
/* Merged Plone Javascript file
 * This file is dynamically assembled from separate parts.
 * Some of these parts have 3rd party licenses or copyright information attached
 * Such information is valid for that section,
 * not for the entire composite file
 * originating files are separated by - filename.js -
 */

/* - ++resource++jquery.field.min.js - */
// http://fanweb.ca/portal_javascripts/++resource++jquery.field.min.js?original=1
(function($){var defaults={delimiter:",",checkboxRangeKeyBinding:"shiftKey",useArray:false};$.Field={version:"0.9.2",setDefaults:function(options){$.extend(defaults,options)},setProperty:function(prop,value){defaults[prop]=value},getProperty:function(prop){return defaults[prop]}};$.fn.fieldArray=function(v){var t=$type(v);if(t=="undefined")return getValue(this);if(t=="string"||t=="number"){v=v.toString().split(defaults.delimiter);t="array"}if(t=="array")return setValue(this,v);return this};$.fn.getValue=function(){return getValue(this).join(defaults.delimiter)};var getValue=function(jq){var v=[];jq.each(function(lc){var t=getType(this);switch(t){case"checkbox":case"radio":if(this.checked)v.push(this.value);break;case"select":if(this.type=="select-one"){v.push((this.selectedIndex==-1)?"":getOptionVal(this[this.selectedIndex]))}else{for(var i=0;i<this.length;i++){if(this[i].selected){v.push(getOptionVal(this[i]))}}}break;case"text":v.push(this.value);break}});return v};$.fn.setValue=function(v){return setValue(this,((!v&&(v!==0))?[""]:v.toString().split(defaults.delimiter)))};var setValue=function(jq,v){jq.each(function(lc){var t=getType(this),x;switch(t){case"checkbox":case"radio":if(valueExists(v,this.value))this.checked=true;else this.checked=false;break;case"select":var bSelectOne=(this.type=="select-one");var bKeepLooking=true;for(var i=0;i<this.length;i++){x=getOptionVal(this[i]);bSelectItem=valueExists(v,x);if(bSelectItem){this[i].selected=true;if(bSelectOne){bKeepLooking=false;break}}else if(!bSelectOne)this[i].selected=false}if(bSelectOne&&bKeepLooking&&!!this[0]){this[0].selected=true}break;case"text":this.value=v.join(defaults.delimiter);break}});return jq};$.fn.formHash=function(inHash){var bGetHash=(arguments.length==0);var stHash={};this.filter("form").each(function(){var els=this.elements,el,n,stProcessed={},jel;for(var i=0,elsMax=els.length;i<elsMax;i++){el=els[i];n=el.name;if(!n||stProcessed[n])continue;var jel=$(el.tagName.toLowerCase()+"[name='"+n+"']",this);if(bGetHash){stHash[n]=jel[defaults.useArray?"fieldArray":"getValue"]()}else if(typeof inHash[n]!="undefined"){jel[defaults.useArray?"fieldArray":"setValue"](inHash[n])}stProcessed[n]=true}});return(bGetHash)?stHash:this};$.fn.autoAdvance=function(callback){return this.find(":text,:password,textarea").bind("keyup.autoAdvance",function(e){var $field=$(this),iMaxLength=parseInt($field.attr("maxlength"),10);if(isNaN(iMaxLength)||("|9|16|37|38|39|40|".indexOf("|"+e.keyCode+"|")>-1))return true;if($field.getValue().length>=$field.attr("maxlength")){var $next=$field.moveNext().select();if($.isFunction(callback))callback.apply($field,[$next])}})};$.fn.moveNext=function(){return this.moveIndex("next")};$.fn.movePrev=function(){return this.moveIndex("prev")};$.fn.moveIndex=function(i){var aPos=getFieldPosition(this);if(i=="next")i=aPos[0]+1;else if(i=="prev")i=aPos[0]-1;if(i<0)i=aPos[1].length-1;else if(i>=aPos[1].length)i=0;return $(aPos[1][i]).trigger("focus")};$.fn.getTabIndex=function(){return getFieldPosition(this)[0]};var getFieldPosition=function(jq){var $field=jq.filter("input, select, textarea").get(0),aTabIndex=[],aPosIndex=[];if(!$field)return[-1,[]];$.each($field.form.elements,function(i,o){if(o.tagName!="FIELDSET"&&!o.disabled){if(o.tabIndex>0){aTabIndex.push(o)}else{aPosIndex.push(o)}}});aTabIndex.sort(function(a,b){return a.tabIndex-b.tabIndex});aTabIndex=$.merge(aTabIndex,aPosIndex);for(var i=0;i<aTabIndex.length;i++){if(aTabIndex[i]==$field)return[i,aTabIndex]}return[-1,aTabIndex]};$.fn.limitSelection=function(limit,options){var opt=jQuery.extend((limit&&limit.constructor==Object?limit:{limit:limit,onsuccess:function(limit){return true},onfailure:function(limit){alert("You can only select a maximum a of "+limit+" items.");return false}}),options);var self=this;var getCount=function(el){if(el.type=="select-multiple")return $("option:selected",self).length;else if(el.type=="checkbox")return self.filter(":checked").length;return 0};var undoSelect=function(){setValue(self,getValue(self).slice(0,opt.limit));return opt.onfailure.apply(self,[opt.limit])};return this.bind((!!self[0]&&self[0].type=="select-multiple")?"change.limitSelection":"click.limitSelection",function(){if(getCount(this)>opt.limit){return(this.type=="select-multiple")?undoSelect():opt.onfailure.apply(self,[opt.limit])}opt.onsuccess.apply(self,[opt.limit]);return true})};$.fn.createCheckboxRange=function(callback){var opt=jQuery.extend((callback&&callback.constructor==Object?callback:{bind:defaults.checkboxRangeKeyBinding,onclick:callback}),callback);var iLastSelection=0,self=this,bCallback=$.isFunction(opt.onclick);if(bCallback)this.each(function(){opt.onclick.apply(this,[$(this).is(":checked")])});return this.each(function(){if(this.type!="checkbox")return false;var el=this;var updateLastCheckbox=function(e){iLastSelection=self.index(e.target)};var checkboxClicked=function(e){var bSetChecked=this.checked,current=self.index(e.target),low=Math.min(iLastSelection,current),high=Math.max(iLastSelection+1,current);if(bCallback)$(this).each(function(){opt.onclick.apply(this,[bSetChecked])});if(!e[opt.bind])return;for(var i=low;i<high;i++){var item=self.eq(i).attr("checked",bSetChecked?"checked":"");if(bCallback)opt.onclick.apply(item[0],[bSetChecked])}return true};$(this).unbind("click.createCheckboxRange").bind("click.createCheckboxRange",checkboxClicked).bind("click.createCheckboxRange",updateLastCheckbox);return true})};var getType=function(el){var t=el.type;switch(t){case"select":case"select-one":case"select-multiple":t="select";break;case"text":case"hidden":case"textarea":case"password":case"button":case"submit":case"submit":t="text";break;case"checkbox":case"radio":t=t;break}return t};var getOptionVal=function(el){return jQuery.browser.msie&&!(el.attributes['value'].specified)?el.text:el.value};var valueExists=function(a,v){return($.inArray(v,a)>-1)};var $type=function(o){var t=(typeof o).toLowerCase();if(t=="object"){if(o instanceof Array)t="array";else if(o instanceof Date)t="date"}return t};var $isType=function(o,v){return($type(o)==String(v).toLowerCase())}})(jQuery);

/* - ++resource++jquery.alerts.js - */
// http://fanweb.ca/portal_javascripts/++resource++jquery.alerts.js?original=1
(function($){$.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:.3,overlayColor:'#FFF',draggable:true,okButton:'&nbsp;OK&nbsp;',cancelButton:'&nbsp;Cancel&nbsp;',dialogClass:null,alert: function(message,title,callback){if(title==null) title='Alert';$.alerts._show(title,message,null,'alert', function(result){if(callback) callback(result)})},confirm: function(message,title,callback){if(title==null) title='Confirm';$.alerts._show(title,message,null,'confirm', function(result){if(callback) callback(result)})},prompt: function(message,value,title,callback){if(title==null) title='Prompt';$.alerts._show(title,message,value,'prompt', function(result){if(callback) callback(result)})},_show: function(title,msg,value,type,callback){$.alerts._hide();$.alerts._overlay('show');$("BODY").append('<div id="popup_container">'+'<h1 id="popup_title"></h1>'+'<div id="popup_content">'+'<div id="popup_message"></div>'+'</div>'+'</div>');if($.alerts.dialogClass) $("#popup_container").addClass($.alerts.dialogClass);var pos=($.browser.msie&&parseInt($.browser.version)<=6)?'absolute':'fixed';$("#popup_container").css({position:pos,zIndex:99999,padding:0,margin:0});$("#popup_title").text(title);$("#popup_content").addClass(type);$("#popup_message").text(msg);$("#popup_message").html($("#popup_message").text().replace(/\n/g,'<br />'));$("#popup_container").css({minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()});$.alerts._reposition();$.alerts._maintainPosition(true);switch(type){case 'alert':$("#popup_message").after('<div id="popup_panel"><input type="button" value="'+$.alerts.okButton+'" id="popup_ok" /></div>');$("#popup_ok").click( function(){$.alerts._hide();callback(true)});$("#popup_ok").focus().keypress( function(e){if(e.keyCode==13||e.keyCode==27) $("#popup_ok").trigger('click')});break;case 'confirm':$("#popup_message").after('<div id="popup_panel"><input type="button" value="'+$.alerts.okButton+'" id="popup_ok" /> <input type="button" value="'+$.alerts.cancelButton+'" id="popup_cancel" /></div>');$("#popup_ok").click( function(){$.alerts._hide();if(callback) callback(true)});$("#popup_cancel").click( function(){$.alerts._hide();if(callback) callback(false)});$("#popup_ok").focus();$("#popup_ok, #popup_cancel").keypress( function(e){if(e.keyCode==13) $("#popup_ok").trigger('click');if(e.keyCode==27) $("#popup_cancel").trigger('click')});break;case 'prompt':$("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="'+$.alerts.okButton+'" id="popup_ok" /> <input type="button" value="'+$.alerts.cancelButton+'" id="popup_cancel" /></div>');$("#popup_prompt").width($("#popup_message").width());$("#popup_ok").click( function(){var val=$("#popup_prompt").val();$.alerts._hide();if(callback) callback(val)});$("#popup_cancel").click( function(){$.alerts._hide();if(callback) callback(null)});$("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e){if(e.keyCode==13) $("#popup_ok").trigger('click');if(e.keyCode==27) $("#popup_cancel").trigger('click')});if(value) $("#popup_prompt").val(value);$("#popup_prompt").focus().select();break}
if($.alerts.draggable){try{$("#popup_container").draggable({handle:$("#popup_title")});$("#popup_title").css({cursor:'move'})} catch(e){}}},_hide: function(){$("#popup_container").remove();$.alerts._overlay('hide');$.alerts._maintainPosition(false)},_overlay: function(status){switch(status){case 'show':$.alerts._overlay('hide');$("BODY").append('<div id="popup_overlay"></div>');$("#popup_overlay").css({position:'absolute',zIndex:99998,top:'0px',left:'0px',width:'100%',height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});break;case 'hide':$("#popup_overlay").remove();break}},_reposition: function(){var top=(($(window).height()/ 2) - ($("#popup_container").outerHeight() / 2))+$.alerts.verticalOffset;var left=(($(window).width()/ 2) - ($("#popup_container").outerWidth() / 2))+$.alerts.horizontalOffset;if(top<0) top=0;if(left<0) left=0;if($.browser.msie&&parseInt($.browser.version)<=6) top=top+$(window).scrollTop();$("#popup_container").css({top:top+'px',left:left+'px'});$("#popup_overlay").height($(document).height())},_maintainPosition: function(status){if($.alerts.repositionOnResize){switch(status){case true:$(window).bind('resize',$.alerts._reposition);break;case false:$(window).unbind('resize',$.alerts._reposition);break}}}}
jAlert=function(message,title,callback){$.alerts.alert(message,title,callback)}
jConfirm=function(message,title,callback){$.alerts.confirm(message,title,callback)};jPrompt=function(message,value,title,callback){$.alerts.prompt(message,value,title,callback)}})(jQuery);

/* - ++resource++idashboard.js - */
// http://fanweb.ca/portal_javascripts/++resource++idashboard.js?original=1
$=jq;var drag_and_drop={settings:{columns:'.column',widgetSelector:'.widget',handleSelector:'.portletHeader',contentSelector:'.portletItem',portlets:'.draggable'},init: function(){this.setupPortletControls();this.setupDragAndDrop()},setupPortletControls: function(){var settings=this.settings;var portlets=$(settings.portlets,top.document);portlets.css({'cursor':'move'}).each(function(i){var hash=$(this).attr('hash');var controls=$('#portlet-controls-'+hash,top.document);var portlet_header=$('#portletbody-'+hash+' .portletHeader',top.document);portlet_header.prepend(controls.show())})},setupDragAndDrop: function(){var instance=this;var settings=this.settings;var columns=$(settings.columns,top.document);columns.sortable({connectWith:columns,handle:settings.handleSelector,placeholder:'portlet-placeholder',forcePlaceholderSize:true,revert:300,delay:100,opacity:0.6,containment:'document',stop: function(e,ui){instance.movePortlet(ui);columns.sortable('enable')}});columns.disableSelection()},movePortlet: function(ui){$('.portlets-manager').equaliseColumns();var portlet=$(ui.item.context);var manager_name=$(ui.item.context.parentNode).attr('id');var portlet_hash=portlet.attr('hash');var prev_id=portlet.prev().attr('id');if(prev_id==undefined)
prev_id=''
$.post("@@movePortlet",{portlethash:portlet_hash,manager:manager_name,prev_id:prev_id},
function(hash){portlet.attr('hash',hash);portlet.attr('id','portletwrapper-'+hash)})}};togglePortlet=function(node,hash){var portlet=$(node).parents('.dp-portlet');portlet.find('dd.portletItem, dd.portletFooter').slideToggle(300);var toggle_icon=$('#portlet-toggle-'+hash);toggle_icon.toggleClass("min-dashboard-portlet");toggle_icon.toggleClass("max-dashboard-portlet")},removePortlet=function(node){node=$(node);var portlet=node.parents('.dp-portlet');var hash=portlet.attr('hash');var confirm_title=node.attr('confirm_title');var confirm_message=node.attr('confirm_message');jConfirm(confirm_message,confirm_title,
function(result){if(result==true){$.post("@@removePortlet",{portlethash:hash},
function(){});$('#portletwrapper-'+hash).fadeOut(500)}})}
configurePortlet=function(node){var portlet=$(node).parents('.dp-portlet');var hash=portlet.attr('hash');$.post("@@configurePortlet",{portlethash:hash},
function(html){portlet.after(html);portlet.hide(300);var hash=portlet.attr('hash');var iframe=$('iframe#iframe-'+hash);iframe.load(function(){$(this).fadeIn(1000);var height=this.contentWindow.document.body.scrollHeight;this.height=height+'px';this.style.height=height+'px';var form=$('#iframe-form-wrapper-'+hash+' form',$(this).contents());form.submit(submitPortletEditForm);$('div#iframe-spinner').fadeOut(300)})})},cancelPortletEditForm=function(hash){var portlet=$('#portletwrapper-'+hash,parent.document.body);portlet.fadeIn(500);var portlet_edit=$('#portleteditwrapper-'+hash,parent.document.body);portlet_edit.fadeOut(500)
portlet_edit.remove(1000)}
submitPortletEditForm=function(evnt){var hash=evnt.currentTarget.portlethash.value;var iframe=$('iframe#iframe-'+hash);var form=$('#iframe-form-wrapper-'+hash+' form',iframe.contents());var formhash=form.formHash();var formmap={};for(x in formhash){formmap[x]=formhash[x]}
$.post("@@submitPortletEditForm",formmap,
function(html){var oldportlet=$('#portletwrapper-'+hash,parent.document.body);oldportlet.replaceWith(html).ready(function(){drag_and_drop.init()});var portlet_edit=$('#portleteditwrapper-'+hash,parent.document.body);portlet_edit.remove()});return false},$.fn.equaliseColumns=function(px){var highest_column=0;var current_column=0;$(this).each(function(i){current_column=0;$(this).children().each(function(){current_column+=$(this).height()});if(current_column>highest_column){highest_column=current_column}});$(this).each(function(i){if($.browser.msie&&$.browser.version==6.0){$(this).css({'height':highest_column.pxToEm()})}
$(this).css({'min-height':highest_column.pxToEm()})});return this};Number.prototype.pxToEm=String.prototype.pxToEm=function(settings){settings=jQuery.extend({scope:'body',reverse:false},settings);var pxVal=(this=='')?0:parseFloat(this);var scopeVal;var getWindowWidth=function(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth};if(settings.scope=='body'&&$.browser.msie&&(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(1)>0.0){var calcFontSize=function(){return(parseFloat($('body').css('font-size'))/getWindowWidth()).toFixed(3) * 16};scopeVal=calcFontSize()}
else{scopeVal=parseFloat(jQuery(settings.scope).css("font-size"))};var result=(settings.reverse==true)?(pxVal * scopeVal).toFixed(2)+'px':(pxVal/scopeVal).toFixed(2)+'em';return result};

/* - fan_mailing_list.js - */
// http://fanweb.ca/portal_javascripts/fan_mailing_list.js?original=1
jq(document).ready(function(){jq('#email_submit').click(function(){jq('#odd_item').html("Thank You!")})});

/* - fan_mailing_list_2.js - */
// http://fanweb.ca/portal_javascripts/fan_mailing_list_2.js?original=1
jq(document).ready(function(){jq(function(){jq('.subscription_error').hide();jq(".subscription_button").click(function(){jq('.subscription_error').hide();var subscription_email=jq("input#subscription_email").val();if(subscription_email==""){jq("label#subscription_email_error").show();jq("input#subscription_email").focus();return false}
var subscription_email_action=jq("input#subscription_email_action").val();var dataString='myEmail='+subscription_email+'&email_action='+subscription_email_action;jq.ajax({type:"POST",url:"subscribe_to_mailing_list",data:dataString,success: function(){jq('#subscription_form').html("<div id='message'></div>");jq('#message').html("<h3>Form Submitted!</h>").append("<p>We will be in touch soon.</p>").hide().fadeIn(1500, function(){jq('#message').append("")})}});return false})})});
