/*
Performer JavaScript library (http://performerjs.org)
Created by Chris Taylor (http://www.stillbreathing.co.uk)
Additional work by kourge and Danny Linkov
Version 0.9

This work is released under a Creative Commons Attribution-ShareAlike 3.0 licence

You are free:

* to Share — to copy, distribute and transmit the work
* to Remix — to adapt the work

Under the following conditions:

* Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
* Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under the same, similar or a compatible license.
* For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page: http://performerjs.org.
* Any of the above conditions can be waived if you get permission from the copyright holder.
* Nothing in this license impairs or restricts the author's moral rights.
*/
var Performer={version:"0.9",Scriptaculous:false,Prototype:false,jQuery:false,MooTools:false,Counter:0,Performer:function(){Performer.DetectLibrary();if(Performer.Scriptaculous||Performer.Prototype||Performer.jQuery||Performer.MooTools){Performer.Start()}},DetectLibrary:function(){if(window.Scriptaculous&&typeof window.Scriptaculous!="undefined"){Performer.Scriptaculous=true}else{if(window.Prototype&&typeof window.Prototype!="undefined"&&window.Prototype.Version){Performer.Prototype=true}else{if(window.MooTools&&typeof window.MooTools!="undefined"&&window.MooTools.version){Performer.MooTools=true}else{if(window.jQuery&&typeof window.jQuery!="undefined"){Performer.jQuery=true}}}}},Start:function(){Performer.domLoaded(function(){Performer.Debugging=false;Performer.Debug("Performer.Performer","function");Performer.Reloaders=new Array();Performer.Repeaters=new Array();Performer.Groups;Performer.Duplicators=new Array();Performer.TextValue=new Array();Performer.NewTextValue=new Array();Performer.FadeSteps=8;Performer.CurrentFadeStep=0;Performer.Hash=parent.location.hash.replace(new RegExp("^[#]+","g"),"");Performer.Effects=new Array("slideup","slidedown","blinddown","blindup","fadein","fadeout");Performer.Init()})},Init:function(){Performer.CheckDebug();Performer.Debug("Performer.Init","function");Performer.DoTransformers();Performer.DoListeners();Performer.addClassName(Performer.$$("body")[0],"performer-enabled")},ReInit:function(A){Performer.Debug("Performer.ReInit","function");Performer.DoTransformers(A,true);Performer.DoListeners(A,true)},DoListeners:function(A,B){if(B==undefined){B=false}if(A==undefined||A=="performerjsdebugwrapper"){A=""}Performer.Listeners(A,"form.formchecker","CheckForm","submit",B);Performer.Listeners(A,".toggler","Toggle","click,keypress",B);Performer.Listeners(A,".switcher","Switch","click,keypress",B);Performer.Listeners(A,".loader","Load","click,keypress",B);Performer.Listeners(A,".deleter","Delete","click,keypress",B);Performer.Listeners(A,".toggleloader","ToggleLoad","click,keypress",B);Performer.Listeners(A,".sizer","Size","click,keypress",B);Performer.Listeners(A,".resizer","Resize","keypress",B);Performer.Listeners(A,".tabber","Tab","click,keypress",B);Performer.Listeners(A,".accordianer","Accordian","click,keypress",B);Performer.Listeners(A,".selector","Select","change,keypress",B);Performer.Listeners(A,".limiter","Limit","keyup,keydown",B);Performer.Listeners(A,".editor","Edit","click,keypress",B);Performer.Listeners(A,".uneditor","UnEdit","click,keypress",B);Performer.Listeners(A,".setter","Set","click,keypress",B);Performer.Listeners(A,".prompter","RemovePrompt","focus",B);Performer.Listeners(A,".prompter","CheckPrompt","blur",B);Performer.Listeners(A,".popper","Pop","click,keypress",B);Performer.Listeners(A,".passwordchecker","CheckPassword","keyup",B);Performer.Listeners(A,".matcher","Match","keyup",B);Performer.Listeners(A,".grouptoggler","GroupToggle","click,keypress",B);Performer.Listeners(A,".submitter","Submit","submit",B);Performer.Listeners(A,".looperforward","Loop","click,keypress",B);Performer.Listeners(A,".looperback","Loop","click,keypress",B);Performer.Listeners(A,".looperfirst","Loop","click,keypress",B);Performer.Listeners(A,".looperlast","Loop","click,keypress",B);Performer.Listeners(A,".tooltipper","Tooltip","mouseover,focus",B);Performer.Listeners(A,".popup","Tooltip","mouseover,focus",B);Performer.Listeners(A,".modalwindower","ModalWindow","click,keypress",B);Performer.Listeners(A,".modalwindowcloser","CloseModal","click,keypress",B);Performer.Listeners(A,".contextmenuer","ContextMenu","mouseup",B);Performer.Listeners(A,".styler","Style","click,keypress",B);Performer.Listeners(A,".duplicator","Duplicate","click,keypress",B);Performer.Listeners(A,"form.submitlocker","SubmitLock","submit",B);Performer.Listeners(A,"a.toggle-performer-debug","ToggleDebug","click,keypress",B);Performer.Listeners(A,".hooker-click","Hooker","click,keypress",B);Performer.Listeners(A,".hooker-keypress","Hooker","keypress",B);Performer.Listeners(A,".hooker-change","Hooker","change",B);Performer.Listeners(A,".hooker-mouseover","Hooker","mouseover",B);Performer.Listeners(A,".hooker-mouseout","Hooker","mouseout",B);Performer.Listeners(A,".hooker-submit","Hooker","submit",B);Performer.Listeners(A,".hooker-focus","Hooker","focus",B);Performer.Listeners(A,".hooker-blur","Hooker","blur",B)},DoTransformers:function(A,B){if(B==undefined){B=false}if(A==undefined||A=="performerjsdebugwrapper"){A=""}Performer.Transformers(A,".hider","Hide",B);Performer.Transformers(A,".shower","Show",B);Performer.Transformers(A,".focusser","Focus",B);Performer.Transformers(A,".limiter","LimitNotifier",B);Performer.Transformers(A,".reloader","Reload",B);Performer.Transformers(A,".preloader","Preload",B);Performer.Transformers(A,".prompter","SetPrompt",B);Performer.Transformers(A,".truncator","Truncate",B);Performer.Transformers(A,"ul.looper,ol.looper","InitLoop",B);Performer.Transformers(A,".tab","InitTabs",B);Performer.Transformers(A,".contextmenuer","DisableContextMenu",B);Performer.Transformers(A,".pager","Page",B);Performer.Transformers(A,".fader","Fader",B)},Listeners:function(A,E,C,B,D){Performer.forEach(E.split(","),function(G){if(A!=undefined){A=A+" "}var F=Performer.$$("body "+A+G);if(F){Performer.Debug("Performer.Listeners("+A+G+") - "+F.length+" elements found","function");Performer.forEach(F,function(H){if(Performer.nodeName(H)){Performer.forEach(B.split(","),function(I){Performer.bind(H,I,Performer[C])})}})}})},Transformers:function(A,D,B,C){Performer.forEach(D.split(","),function(F){if(A!=undefined){A=A+" "}var E=Performer.$$("body "+A+F);if(E){Performer.Debug("Performer.Transformers("+A+F+") - "+E.length+" elements found","function");Performer.forEach(E,function(G){if(Performer.nodeName(G)){Performer[B](G)}})}})},CheckDebug:function(){Performer.Debug("Performer.CheckDebug","function");var A=Performer.$$(".performer-debug");if(A){Performer.Debugging=true;Performer.PrepareDebug()}},classParam:function(F,D,B){var A=null;var E=B;for(var C=0;C<=F.length;C++){A=F[C];if(A&&A.substring(0,D.length+1)==D+"-"){E=A.replace(D+"-","")}}return E},Hooker:function(e){var el=Performer.eventElement(e);if(el&&Performer.getAttribute(el,"id")&&Performer.getAttribute(el,"class")){var t=e.type;var func=Performer.classParam(Performer.classNames(el),"func",null);if(eval("typeof("+func+")")=="function"){eval(func+"(el,e)")}}},Page:function(B){var E=Performer.identify(B);B=Performer.$(E);var K=Performer.classNames(B);var F=Performer.classParam(K,"selector","");var C;if(F.length>0){C=Performer.children(B,"#"+E+"-"+F)}else{C=Performer.children(B)}var G=Performer.classParam(K,"pagesize",10);var D=Performer.classParam(K,"startpage",1);if(C.length>G){var I=1;var H=0;Performer.forEach(C,function(L){if(H<I*G&&H>=(I-1)*G){}else{I++}Performer.addClassName(L,"pageelement");Performer.addClassName(L,"page"+I);Performer.Hide(L);H++});Performer.forEach(Performer.$$("#"+E+" .page"+D),function(L){Performer.Show(L)});var A=Performer.BuildPageMenu(E,I,D);Performer.addClassName(Performer.$(E+"-page"+I),"currentpage");Performer.insertAfter(B,A);var J=Performer.$$("."+E+"pagerlink");Performer.forEach(J,function(L){Performer.bind(L,"click",Performer.ShowPage);Performer.bind(L,"keypress",Performer.ShowPage)})}},BuildPageMenu:function(B,D,C){var F='<ul class="performer-pagination">';var E="";for(var A=1;A<=D;A++){if(A==C){E=" currentpage"}F+='<li><a href="#'+B+"-page"+A+'" class="'+B+"pagerlink"+E+'" id="'+B+"-page"+A+'">'+A+"</a></li>";E=""}F+="</ul>";return F},ShowPage:function(D){var B=Performer.eventElement(D);var A=Performer.identify(B);var C=A.split("-page");Performer.forEach(Performer.$$("#"+C[0]+" .pageelement"),function(E){Performer.Hide(E)});Performer.forEach(Performer.$$("#"+C[0]+" .page"+C[1]),function(E){Performer.Show(E)});Performer.forEach(Performer.$$("."+C[0]+"pagerlink"),function(E){Performer.removeClassName(E,"currentpage")});Performer.addClassName(Performer.$(A),"currentpage");Performer.stopEvent(D)},ContextMenu:function(C){var B=Performer.eventElement(C);Performer.forEach(Performer.$$(".performercontextmenu"),function(F){Performer.Hide(F)});if(B&&((C.which&&C.which==3)||(C.button&&C.button==3)||(C.rightClick))){var D=Performer.classParam(Performer.classNames(B),"targetEl",false);var A=Performer.cursorPosition(C);if(A&&D&&Performer.$(D)){var E=Performer.identify(B);D=Performer.$(D);Performer.addClassName(D,"performercontextmenu");D.style.position="absolute";D.style.zIndex="10000";D.style.top=A[1]+"px";D.style.left=A[0]+"px";Performer.Show(D);C.preventDefault();Performer.bind(Performer.$$("body")[0],"click",Performer.HideContextMenu);Performer.bind(Performer.$$("body")[0],"keypress",Performer.HideContextMenu);Performer.stopEvent(C);return false}}},DisableContextMenu:function(A){Performer.disableContext(A)},HideContextMenu:function(B){var A=Performer.$$(".performercontextmenu");Performer.forEach(A,function(C){Performer.removeClassName(C,"performercontextmenu");Performer.Hide(C)})},Set:function(D){var B=Performer.eventElement(D);if(B&&Performer.nodeName(B)){var A=Performer.classNames(B);var C=unescape(Performer.classParam(A,"value",""));var E=Performer.classParam(A,"targetEl",Performer.getAttribute(B,"rel"));Performer.setValue(Performer.$(E),C);Performer.stopEvent(D)}},InitLoop:function(A){Performer.Debug("Performer.InitLoop","function");var C=Performer.$(A);var D=0;var B=0;Performer.forEach(Performer.children(C),function(E){if(Performer.nodeName(E)){Performer.Hide(E);if(Performer.hasClassName(E,"looperdefault")||Performer.Hash==Performer.identify(E)){D=B}B++}});Performer.Show(Performer.children(C)[D])},Loop:function(G){r=false;var F=Performer.findEventElement(G,"A");if(G.type=="click"||Performer.keyCode(G)==13){var C=Performer.classNames(F);var B=Performer.classParam(C,"targetEl",Performer.getAttribute(F,"rel"));if(Performer.$(B)){var E=0;var D=0;var A=0;Performer.forEach(Performer.children(Performer.$(B)),function(H){if(Performer.nodeName(H)&&Performer.visible(H)){Performer.Debug("- Currently showing item "+E,"subfunction");A=E}Performer.Hide(H);E++});if(Performer.hasClassName(F,"looperback")){Performer.Debug("Performer.Loop (back)","function");D=A-1;if(D<0){D=(Performer.children(Performer.$(B)).length-1)}}else{if(Performer.hasClassName(F,"looperforward")){Performer.Debug("Performer.Loop (forward)","function");D=A+1;if(D>=Performer.children(Performer.$(B)).length){D=0}}else{if(Performer.hasClassName(F,"looperfirst")){Performer.Debug("Performer.Loop (first)","function");D=0}else{if(Performer.hasClassName(F,"looperlast")){Performer.Debug("Performer.Loop (last)","function");D=Performer.children(Performer.$(B)).length-1}}}}Performer.Debug("- Showing item "+D,"subfunction");Performer.Show(Performer.children(Performer.$(B))[D],"fadein");Performer.stopEvent(G)}}},Tooltip:function(I,P){var E=Performer.eventElement(I);if(!P){P="performertooltip"}var D=Performer.identify(E);if(E&&Performer.nodeName(E)&&!Performer.$(D+"_performertooltip")){var N=Performer.classNames(E);var L=false;var A="";if(Performer.getAttribute(E,"title")&&Performer.getAttribute(E,"title")!=""){A=Performer.getAttribute(E,"title");L="<p>"+A.replace(/\r/g,"<br />\n")+"</p>"}else{var M=Performer.$(Performer.classParam(N,"targetEl",false));if(M){L=M.innerHTML}}var G=false;if(I.type=="mouseover"){G=Performer.cursorPosition(I)}else{G=Performer.elementPosition(E);G[1]=G[1]+E.offsetHeight}if(G&&L){var J=Performer.classParam(N,"className",P);var C=Performer.classParam(N,"width",300);var B=G[0]-(C/2);var F=G[1]+16;if(B<0){B=25}if(document.body.scrollWidth&&((B+C)>document.body.scrollWidth)){B=(document.body.scrollWidth-C-25)}Performer.setAttribute(E,"title","");Performer.setAttribute(E,"temptitle",A);if(Performer.getAttribute(E,"alt")){Performer.setAttribute(E,"tempalt",A);Performer.setAttribute(E,"alt","")}var K=Performer.up(E,"");if(K.getAttribute("title")){Performer.setAttribute(K,"temptitle",A);Performer.setAttribute(K,"title","")}var O=document.createElement("div");var H=document.createElement("div");H.className=P+"inner";H.innerHTML=L;O.id=D+"_performertooltip";O.className=J;O.style.position="absolute";O.style.zIndex="10000";O.style.width=C+"px";O.style.top=F+"px";O.style.left=B+"px";O.appendChild(H);Performer.bind(E,"mouseout",Performer.HideTooltip);Performer.bind(E,"blur",Performer.HideTooltip);document.getElementsByTagName("body")[0].appendChild(O)}}},HideTooltip:function(D){var C=Performer.eventElement(D);var E=Performer.identify(C);if(C&&Performer.$(E+"_performertooltip")){Performer.remove(Performer.$(E+"_performertooltip"));var A=Performer.getAttribute(C,"temptitle");Performer.setAttribute(C,"title",A);Performer.removeAttribute(C,"temptitle");if(Performer.getAttribute(C,"tempalt")){Performer.setAttribute(C,"alt",A);Performer.removeAttribute(C,"tempalt")}var B=Performer.up(C,"");if(B.getAttribute("temptitle")){Performer.setAttribute(B,"title",A);Performer.removeAttribute(B,"temptitle")}}},ModalWindow:function(F){var C=Performer.eventElement(F);if(C){var B=Performer.identify(C);var K=Performer.classNames(C);var G=Performer.classParam(K,"outerClassName","performermodalouter");var A=Performer.classParam(K,"innerClassName","performermodalinner");var E=Performer.classParam(K,"lightBox",true);var J=Performer.classParam(K,"closer",true);var L=Performer.classParam(K,"targetPage",false);var H=Performer.classParam(K,"horizontalPadding",100);var D=Performer.classParam(K,"verticalPadding",100);var I=Performer.classParam(K,"screenDim",6);if(Performer.createModal(L,E,I,G,A,H,D,J)){Performer.addClassName(Performer.$("performer_modal"),"performerloading");Performer.DoLoad(L,"performer_modal","get","fillandinit");Performer.stopEvent(F)}}},createModal:function(K,D,I,E,A,G,B,H){if(K&&!Performer.$("performer_modal")){if(D){var C=document.createElement("div");C.className=E;C.style.zIndex=100000;C.style.position="fixed";C.style.left="0px";C.style.right="0px";C.style.bottom="0px";C.style.top="0px";C.style.opacity="0."+I;C.style.filter="alpha(opacity="+I+"0)";C.id="performer_modal_outer"}var J=document.createElement("div");J.className=A;J.id="performer_modal";J.style.overflow="auto";J.style.zIndex=100001;J.style.position="fixed";J.style.left=G+"px";J.style.right=G+"px";J.style.bottom=B+"px";J.style.top=B+"px";if(D){document.getElementsByTagName("body")[0].appendChild(C)}document.getElementsByTagName("body")[0].appendChild(J);if(H){var F=document.createElement("div");F.id="performer_modal_closer";F.style.zIndex=100001;F.style.position="fixed";F.style.right=G+"px";F.style.top=(B-20)+"px";F.innerHTML='<a href="#" class="modalwindowcloser">Close</a>';document.getElementsByTagName("body")[0].appendChild(F);Performer.bind(Performer.$$("a.modalwindowcloser")[0],"keypress",Performer.CloseModal);Performer.bind(Performer.$$("a.modalwindowcloser")[0],"click",Performer.CloseModal)}Performer.bind(document,"keyup",Performer.CloseModal)}return true},CloseModal:function(B){var A=Performer.eventElement(B);if((B.type=="keyup"&&Performer.keyCode(B)==27)||(A&&Performer.hasClassName(A,"modalwindowcloser"))){if(Performer.$("performer_modal_outer")){document.getElementsByTagName("body")[0].removeChild(Performer.$("performer_modal_outer"))}if(Performer.$("performer_modal_closer")){document.getElementsByTagName("body")[0].removeChild(Performer.$("performer_modal_closer"))}if(Performer.$("performer_modal")){document.getElementsByTagName("body")[0].removeChild(Performer.$("performer_modal"))}Performer.stopEvent(B)}},Truncate:function(F){var D=Performer.classNames(F);var C=Performer.classParam(D,"limit",50);var E=Performer.classParam(D,"openText","...more");var A=Performer.classParam(D,"closeText","...less");if(F&&C){var H=F.innerHTML;var B=H.length;if(C<B){var G=Performer.identify(F);F.innerHTML='<span id="'+G+'_truncated">'+H.substring(0,C)+' <a href="#" class="switcher targetEl1-'+G+"_truncated targetEl2-"+G+'_full">'+E+'</a></span><span class="hider" id="'+G+'_full">'+H+' <a href="#" class="switcher targetEl1-'+G+"_truncated targetEl2-"+G+'_full">'+A+"</a></span>";Performer.ReInit(G)}}},Duplicate:function(F){var C=Performer.eventElement(F);var K=Performer.classNames(C);var J=Performer.classParam(K,"sourceElement",false);var B=Performer.$(J);var I=Performer.classParam(K,"targetElement",false);var G=Performer.$(I);if(C&&Performer.nodeName(C)&&B&&Performer.nodeName(B)&&G&&Performer.nodeName(G)){G.innerHTML=G.innerHTML+"\n";var A=G.appendChild(B.cloneNode(true));if(typeof (Performer.Duplicators[I])==="undefined"){Performer.Duplicators[I]=1}var H=Performer.Duplicators[I]+1;Performer.Duplicators[I]=H;A.innerHTML=A.innerHTML.replace(/_1/g,"_"+H);A.innerHTML=A.innerHTML.replace(/[1]/g,H);A.id=A.id.replace(/_1/g,"_"+H);if(Performer.getAttribute(A,"class")!=""){Performer.setAttribute(A,"class",Performer.getAttribute(A,"class").replace(/_1/g,"_"+H))}var E=Performer.classParam(K,"countElement",false);var D=Performer.$(E);if(D){Performer.setValue(D,H)}Performer.stopEvent(F)}},SubmitLock:function(C){var B=Performer.findEventElement(C,"FORM");if(B){var A=Performer.$F(B);Performer.forEach(A,function(D){var E=Performer.$(Performer.identify(D));if(E.type.toLowerCase()=="submit"){E.disabled=true;Performer.addClassName(E,"performer-disabled")}})}},Submit:function(D){var C=Performer.findEventElement(D,"FORM");var A=Performer.classNames(C);var G=Performer.classParam(A,"targetPage",false);var F=Performer.classParam(A,"targetEl",Performer.classParam(A,"targetElement",false));var B=Performer.$(F);if(G&&C&&Performer.nodeName(C)&&B&&Performer.nodeName(B)){var E=Performer.serialize(C);Performer.addClassName(B,"performerloading");Performer.Request(G,"POST",E,function(H){var I=Performer.getRequestText(H);Performer.update(B,I);Performer.removeClassName(B,"performerloading");Performer.Debug("-> Filled '#"+F+"'","success")});Performer.stopEvent(D)}},CheckForm:function(E){Performer.Debug("Performer.CheckForm","function");var D=Performer.findEventElement(E,"FORM");var B=false;var C=new Array();var A=Performer.$F(D);Performer.forEach(A,function(M){var J=Performer.identify(M);var L=Performer.$(J);if(Performer.hasClassName(L,"field-required")){if(L.type!="radio"&&((L.type=="checkbox"&&L.checked==false)||L.value=="")){Performer.FieldNotify(J,"error","This field is required");B=true}else{Performer.FieldNotifyRemove(J)}if(L.type=="radio"&&C.PerformerIndexOf(L.name)==-1){C[C.length]=L.name;var N=true;var K=D[L.name];for(var H=0;H<K.length;H++){if(K[H].checked){N=false;break}}var F=K[K.length-1];if(N){Performer.FieldNotify(F,"error","This field is required");B=true}else{Performer.FieldNotifyRemove(F)}}}if(Performer.hasClassName(L,"field-required-email")||Performer.hasClassName(L,"field-optional-email")){var G=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if((Performer.hasClassName(L,"field-required-email")&&Performer.getValue(L)=="")||(Performer.getValue(L)!=""&&!G.test(Performer.getValue(L)))){Performer.FieldNotify(J,"error","This field must be a valid email address");B=true}else{Performer.FieldNotifyRemove(J)}}if(Performer.hasClassName(L,"field-required-number")||Performer.hasClassName(L,"field-optional-number")){var I=Performer.getValue(L).replace(",","").replace("&pound;","").replace("£","");if((Performer.hasClassName(L,"field-required-number")&&I=="")||(I!=""&&isNaN(parseFloat(I)))){Performer.FieldNotify(J,"error","This field must be a number");B=true}else{if(I!=""){L.value=parseFloat(I)}Performer.FieldNotifyRemove(J)}}if(Performer.hasClassName(L,"field-required-date")||Performer.hasClassName(L,"field-optional-date")){var O=/^([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})$/;if((Performer.hasClassName(L,"field-required-date")&&Performer.getValue(L)=="")||(Performer.getValue(L)!=""&&!O.test(Performer.getValue(L)))){Performer.FieldNotify(J,"error","This field must be a date (dd/mm/yyyy)");B=true}else{Performer.FieldNotifyRemove(J)}}Performer.Debug("-> Field "+M.name,"subfunction")});if(B){Performer.FieldNotify(Performer.identify(D),"error","There are errors with some fields. Please check the form and try again.");Performer.stopEvent(E)}},FieldNotify:function(C,B,A){if(!Performer.$(C+"-notification")){Performer.insertAfter(Performer.$(C),'<span id="'+C+'-notification" class="performer-'+B+'">'+A+"</span>")}else{Performer.$(C+"-notification").innerHTML=A;Performer.$(C+"-notification").className="performer-"+B}},FieldNotifyRemove:function(A){if(Performer.$(A+"-notification")){Performer.$(A+"-notification").innerHTML="";Performer.$(A+"-notification").className=""}},Select:function(D){Performer.Debug("Performer.Select","function");var B=Performer.eventElement(D);if(B&&Performer.nodeName(B)&&Performer.getAttribute(B,"id")&&Performer.getAttribute(B,"name")&&Performer.getAttribute(B,"class")){var A=Performer.classNames(B);var F=Performer.classParam(A,"targetPage",false);var E=Performer.$(Performer.classParam(A,"targetEl",false));var C=Performer.classParam(A,"targetValue",false);if(F&&E){if(C=="true"){Performer.DoLoad(F+"?selection="+Performer.getValue(B),E,"post","setvalueandinit")}else{Performer.DoLoad(F+"?selection="+Performer.getValue(B),E,"post","fillandinit")}}}},CheckPassword:function(D){Performer.Debug("Performer.CheckPassword","function");var C=Performer.eventElement(D);if(C&&Performer.nodeName(C)&&Performer.getAttribute(C,"id")&&Performer.getAttribute(C,"name")&&Performer.getAttribute(C,"class")){var A=Performer.classNames(C);var B=Performer.$(Performer.classParam(A,"notifyEl",false));if(B){Performer.Show(B);var E=C.value;if(E.length<6){Performer.update(B,"Your password must be at least 6 characters long");Performer.className(B,"password-weak")}else{Performer.update(B,"");if(E.match(/^([a-zA-Z]{6,10})$/)||E.match(/^([0-9]{6,10})$/)){Performer.update(B,"Weak password");Performer.className(B,"password-weak")}else{if(E.match(/^([a-zA-Z]{10,})$/)||E.match(/^([0-9]{10,})$/)){Performer.update(B,"Acceptable password");Performer.className(B,"password-ok")}else{if(E.match(/^.*(?=.{6,})(?=.*\d)(?=.*[a-z])(?=.*[^0-9a-zA-Z]).*$/)){Performer.update(B,"Strong password");Performer.className(B,"password-strong")}else{if(E.match(/^.*(?=.{6,})(?=.*\d)(?=.*[a-z]).*$/)||E.match(/^.*(?=.{6,})(?=.*[^0-9a-zA-Z])(?=.*[a-z]).*$/)||E.match(/^.*(?=.{6,})(?=.*[^0-9a-zA-Z])(?=.*\d).*$/)){Performer.update(B,"Acceptable password");Performer.className(B,"password-ok")}}}}}}}},Match:function(G){Performer.Debug("Performer.Match","function");var D=Performer.eventElement(G);if(D&&Performer.nodeName(D)&&Performer.getAttribute(D,"id")&&Performer.getAttribute(D,"name")&&Performer.getAttribute(D,"class")){var A=Performer.classNames(D);var C=Performer.$(Performer.classParam(A,"notifyEl",false));var B=Performer.$(Performer.classParam(A,"matchEl",false));if(C&&B){Performer.Show(C);var F=D.value;var E=B.value;if(F==E){Performer.Hide(C)}}}},Toggle:function(F,H){Performer.Hash="";r=false;var E=Performer.eventElement(F);if(!E){E=Performer.findEventElement(F,"A")}if(E&&Performer.nodeName(E)&&(F.type=="click"||Performer.keyCode(F)==13||Performer.keyCode(F)==32)){var A=Performer.classNames(E);var D=Performer.classParam(A,"showeffect","slidedown");var B=Performer.classParam(A,"hideeffect","slideup");var C=Performer.classParam(A,"targetEl",Performer.getAttribute(E,"rel"));var G=Performer.$(C);if(G&&Performer.nodeName(G)){if(!Performer.visible(G)){if(C!="performerjsdebugbox"){Performer.Debug("Performer.Toggle -> Show '#"+C+"'","subfunction")}Performer.addClassName(E,"toggleropen");Performer.Show(G,D);Performer.forEach(Performer.ancestors(Performer.$(G)),function(I){if(I.tagName!="body"&&I.tagName!="html"&&Performer.nodeName(I)&&!Performer.visible(I)){Performer.Show(I)}});r=true}else{if(C!="performerjsdebugbox"){Performer.Debug("Performer.Toggle -> Hide '#"+C+"'","subfunction")}Performer.removeClassName(E,"toggleropen");Performer.Hide(G,B);r=false}if(Performer.nodeName(E).toLowerCase()=="a"){Performer.stopEvent(F)}}}return r},GroupToggle:function(E,F){r=false;var C=Performer.eventElement(E);if(!C){C=Performer.findEventElement(E,"A")}if(C&&Performer.nodeName(C)&&(E.type=="click"||Performer.keyCode(E)==13||Performer.keyCode(E)==32)){var A=Performer.classNames(C);var D=Performer.classParam(A,"targetClass",Performer.getAttribute(C,"rel"));var B=Performer.$$("."+D);Performer.Debug("Performer.GroupToggle -> Toggle "+B.length+" elements with class "+D,"subfunction");Performer.forEach(B,function(G){if(!Performer.visible(G)){Performer.addClassName(G,"toggleropen");Performer.Show(G);r=true}else{Performer.removeClassName(G,"toggleropen");Performer.Hide(G);r=false}});if(!F&&Performer.nodeName(C).toLowerCase()=="a"){Performer.stopEvent(E)}}return r},Switch:function(F,H){Performer.Debug("Performer.Switch","function");r=false;var D=Performer.eventElement(F);if(!D){D=Performer.findEventElement(F,"A")}if(D&&Performer.nodeName(D)&&(F.type=="click"||F.keyCode==Performer.keyCode(F)==13)){var B=Performer.classNames(D);var E=Performer.classParam(B,"targetEl1",Performer.getAttribute(D,"rel"));var A=Performer.$(E);var C=Performer.classParam(B,"targetEl2",Performer.getAttribute(D,"rev"));var G=Performer.$(C);if(A&&G){if(!Performer.visible(A)){Performer.Debug("-> Show '#"+E+"', hide '#"+C+"'","subfunction");Performer.Show(A);Performer.Hide(G);r=true}else{Performer.Debug("-> Show '#"+C+"', hide '#"+E+"'","subfunction");Performer.Show(G);Performer.Hide(A);r=false}}if(!H&&Performer.nodeName(D).toLowerCase()=="a"){Performer.stopEvent(F)}}return r},Focus:function(B){Performer.Debug("Performer.Focus","function");var A=Performer.$(B);if(A&&Performer.nodeName(A)){Performer.Debug("-> Focus on '#"+Performer.identify(A)+"'","subfunction");Performer.$(A).focus()}},Style:function(D){Performer.Debug("Performer.Style","function");var C=Performer.findEventElement(D,"a");if(C&&Performer.nodeName(C)&&(D.type=="click"||Performer.keyCode(D)==13)){var E=Performer.$(Performer.classParam(A,"targetEl",Performer.getAttribute(C,"rel")));if(E){var A=Performer.classNames(C);var B=Performer.classParam(A,"style","");E.className=B;Performer.stopEvent(D)}}},Size:function(I){Performer.Debug("Performer.Size","function");var E=Performer.findEventElement(I,"a");if(E&&Performer.nodeName(E)&&(I.type=="click"||Performer.keyCode(I)==13)){var L=Performer.classNames(E);var J=Performer.$(Performer.classParam(L,"targetEl",Performer.getAttribute(E,"rel")));if(J){var M=Performer.classParam(L,"sizes",Performer.getAttribute(E,"rev"));var G,K,C;if(M.indexOf(",")>=0){G=M.split(",");K=G[0];C=G[1]}else{K=M;C=0}if(K==""){K=0}if(C==""){C=0}var B=Performer.getDimensions(J);var F=B.height;var D=B.width;if(K!=0){var A=(parseFloat(K)+parseFloat(F))+"px";Performer.Debug("-> Change height of '#"+Performer.identify(J)+"' to "+A,"subfunction");Performer.setStyle(J,{height:A})}if(C!=0){var H=(parseFloat(C)+parseFloat(D))+"px";Performer.Debug("-> Change width of '#"+Performer.identify(J)+"' to "+H,"subfunction");Performer.setStyle(J,{width:H})}Performer.stopEvent(I)}}},Resize:function(F){Performer.Debug("Performer.Resize","function");var E=Performer.eventElement(F);if(E&&Performer.nodeName(E)){var B=Performer.classNames(E);var A=Performer.classParam(B,"maxHeight",500);var D=E.scrollHeight;var G=Performer.getDimensions(E);var C=G.height;if((D+5)>C&&C<A){E.style.height=(D+10)+"px"}}},ToggleLoad:function(C){Performer.Debug("Performer.ToggleLoad","function");var B=Performer.eventElement(C);var A=Performer.classNames(B);var E=Performer.classParam(A,"targetEl",Performer.getAttribute(B,"rel"));var D=Performer.classParam(A,"targetPage",Performer.getAttribute(B,"rev"));if(B&&Performer.nodeName(B)&&E&&D&&(C.type=="click"||Performer.keyCode(C)==13)){if(Performer.Toggle(C)){Performer.Debug("-> Loading content into '#"+E+"'","subfunction");Performer.Load(C,true,false)}Performer.stopEvent(C)}},InitTabs:function(B){var A=Performer.identify(B);B=Performer.$(Performer.identify(B));if(Performer.Hash==A){Performer.addClassName(Performer.getElementsByAttribute("a","rev",A)[0],"tabbercurrent");Performer.removeClassName(B,"hider");Performer.Show(B)}if(!Performer.hasClassName(B,"hider")&&Performer.Hash!=""&&Performer.Hash!=A){Performer.removeClassName(Performer.getElementsByAttribute("a","rev",A)[0],"tabbercurrent");Performer.addClassName(B,"hider");Performer.Hide(B)}},Tab:function(F){Performer.Debug("Performer.Tab","function");Performer.Hash="";var A=Performer.findEventElement(F,"A");if(A&&Performer.nodeName(A)&&(F.type=="click"||Performer.keyCode(F)==13)){var I=Performer.classNames(A);var E=Performer.classParam(I,"tabGroup",Performer.getAttribute(A,"rel"));if(E&&Performer.$(E)){var B=Performer.classParam(I,"tab",Performer.getAttribute(A,"rev"));var C=Performer.$(B);var H=Performer.$$(".tabber");for(var D=0;D<H.length;D++){if(Performer.hasClassName(H[D],"tabGroup-"+E)||Performer.getAttribute(A,"rel")==E){Performer.removeClassName(H[D],"tabbercurrent")}}var G=Performer.$$("#"+E+" .tab");for(var D=0;D<G.length;D++){Performer.Hide(G[D])}Performer.addClassName(A,"tabbercurrent");Performer.Debug("-> Showing tab '#"+B+"'","subfunction");Performer.Show(C,"fadein");Performer.stopEvent(F)}}},Accordian:function(H){Performer.Debug("Performer.Accordian","function");Performer.Hash="";var B=Performer.findEventElement(H,"A");if(B&&Performer.nodeName(B)&&(H.type=="click"||Performer.keyCode(H)==13)){var J=Performer.classNames(B);var G=Performer.classParam(J,"group",false);if(Performer.$(G)){var A=Performer.classNames(B);var C=Performer.classParam(J,"item",false);var E=Performer.$(C);var I=Performer.$$(".accordianer");for(var D=0;D<I.length;D++){if(Performer.getAttribute(I[D],"rel")==G){Performer.removeClassName(I[D],"accordiancurrent")}}var F=Performer.$$("#"+G+" .accordianitem");for(var D=0;D<F.length;D++){Performer.Hide(F[D])}Performer.addClassName(B,"accordiancurrent");Performer.Debug("-> Showing accordianitem '#"+C+"'","subfunction");Performer.Show(E,"slidedown");Performer.stopEvent(H)}}},Load:function(E,H,D){Performer.Debug("Performer.Load","function");var C=Performer.findEventElement(E,"A");if(C&&Performer.nodeName(C)&&(E.type=="click"||Performer.keyCode(E)==13)){var B=Performer.classNames(C);var G=Performer.classParam(B,"targetEl",Performer.getAttribute(C,"rel"));var A=Performer.$(G);var F=Performer.classParam(B,"targetPage",Performer.getAttribute(C,"rev"));if(G&&A&&Performer.nodeName(A)){Performer.Debug("-> Loading content into '#"+G+"'","subfunction");if(!D){Performer.DoLoad(F,G,"get","fillandinit")}else{Performer.DoLoad(F,G,"get","fill")}}if(!H){Performer.stopEvent(E)}}},Delete:function(E){Performer.Debug("Performer.Delete","function");var D=Performer.findEventElement(E,"A");if(D&&Performer.nodeName(D)&&(E.type=="click"||Performer.keyCode(E)==13)){var C=Performer.classNames(D);var G=Performer.classParam(C,"targetEl",Performer.getAttribute(D,"rel"));var A=Performer.$(G);var F=Performer.classParam(C,"targetPage",Performer.getAttribute(D,"rev"));var B=Performer.classParam(C,"confirmDelete",false);if(G&&A&&Performer.nodeName(A)){Performer.Debug("-> Deleting '#"+G+"'","subfunction");if((B&&Performer.getAttribute(D,"title")&&confirm(Performer.getAttribute(D,"title")+" - are you sure?"))||!B){Performer.DoLoad(F,G,"get","deleteandreplace")}}Performer.stopEvent(E)}},DoLoad:function(E,A,D,B){Performer.Debug("Performer.DoLoad("+E+" -> #"+A+")","function");var C=Performer.$(A);if(E&&A&&C&&Performer.nodeName(C)){Performer.addClassName(Performer.$(A),"performerloading");Performer.Request(E,D,"",function(F){var G=Performer.getRequestText(F);if(B=="fill"){Performer.$(A).innerHTML=G;Performer.removeClassName(Performer.$(A),"performerloading");Performer.Debug("-> Filled '#"+A+"'","success")}if(B=="fillandinit"){Performer.$(A).innerHTML=G;Performer.removeClassName(Performer.$(A),"performerloading");Performer.Debug("-> Filled '#"+A+"'","success");Performer.ReInit("#"+A)}if(B=="deleteandreplace"){Performer.insertAfter(Performer.$(A),G);Performer.remove(Performer.$(A))}if(B=="setvalue"){Performer.$(A).value=G;Performer.removeClassName(Performer.$(A),"performerloading");Performer.Debug("-> Value set '#"+A+"'","success")}if(B=="setvalueandinit"){Performer.$(A).value=G;Performer.removeClassName(Performer.$(A),"performerloading");Performer.Debug("-> Set value '#"+A+"'","success");Performer.ReInit("#"+A)}})}},Reload:function(F){var D=Performer.$(F);var B=Performer.identify(D);if(Performer.Reloaders.PerformerIndexOf(B)==-1){var A=Performer.classNames(D);var C=Performer.classParam(A,"delay",0);var G=Performer.classParam(A,"targetPage",false);if(C==0){C=600}if(D&&Performer.nodeName(D)&&C&&G){Performer.Reloaders[Performer.Reloaders.length]=B;Performer.Debug("Performer.Reload -> Added '#"+B+"' to Performer.Reloaders (now "+Performer.Reloaders.length+" items): "+C+" seconds","subfunction");Performer.DoLoad(G,B,"get","fillandinit");var E=function(){var I=new Date();var H=I.getTime();if(G.indexOf("?")!=-1){H="&"+H}else{H="?"+H}Performer.DoLoad(G+H,B,"get","fillandinit")};window.setInterval(E,C*1000)}}},Preload:function(D){Performer.Debug("Performer.Preload","function");var C=Performer.$(D);var B=Performer.classNames(C);var E=Performer.classParam(B,"targetPage",false);if(C&&Performer.nodeName(C)&&E){var A=Performer.identify(C);Performer.Debug("-> Loading content into '#"+A+"'","subfunction");Performer.DoLoad(E,A,"get","fillandinit")}},Hide:function(C,B){var A=Performer.identify(C);if(C&&Performer.nodeName(C)){if(Performer.Hash!=A){Performer.Debug("Performer.Hide -> Hiding '#"+A+"' (effect: "+B+")","subfunction");Performer.doHide(C,B);if(!Performer.hasClassName(C,"hider")){Performer.addClassName(C,"hider")}if(Performer.hasClassName(C,"shower")){Performer.removeClassName(C,"shower")}}else{Performer.removeClassName(C,"hider")}}else{Performer.Debug("Performer.Hide -> Could not hide '#"+A+"'","subfunction")}},Show:function(C,B){var A=Performer.identify(C);if(C&&Performer.nodeName(C)){Performer.doShow(C,B);if(Performer.hasClassName(C,"hider")){Performer.removeClassName(C,"hider")}if(Performer.hasClassName(C,"shower")){Performer.removeClassName(C,"shower")}Performer.Debug("Performer.Show -> Showing '#"+A+"' (effect: "+B+")","subfunction")}else{Performer.Debug("Performer.Show -> Could not show '#"+A+"'","subfunction")}},Limit:function(E){Performer.Debug("Performer.Limit","function");var D=Performer.eventElement(E);var A=Performer.classNames(D);var G=Performer.classParam(A,"lengthLimit",false);var F=Performer.$(Performer.classParam(A,"targetEl",false));if(D&&G&&F){var C=Performer.getValue(D).length;if(parseFloat(C)>=parseFloat(G)){Performer.$(D).value=Performer.getValue(D).substr(0,G);Performer.update(F,"Limit reached");var B=Performer.keyCode(E)||E.code;if(B!=8&&B!=46&&B!=37&&B!=39){Performer.stopEvent(E)}}else{Performer.update(Performer.$(F),(G-C)+" characters left")}}},LimitNotifier:function(D){Performer.Debug("Performer.LimitNotifier","function");var C=Performer.$(D);if(C&&(Performer.nodeName(C)=="input"||Performer.nodeName(C)=="textarea")){var A=Performer.classNames(C);var F=Performer.classParam(A,"lengthLimit",false);var E=Performer.$(Performer.classParam(A,"targetEl",false));if(!Performer.hasClassName(C,"prompter")&&F&&E){var B=Performer.getValue(C).length;Performer.update(E,(F-B)+" characters left")}}},Edit:function(E){Performer.Debug("Performer.Edit","function");var C=Performer.eventElement(E);if(C&&Performer.nodeName(C)&&Performer.getAttribute(C,"id")&&Performer.classNames(C)&&(E.type=="click"||Performer.keyCode(E)==13)){Performer.removeClassName(C,"editor");var H=Performer.classNames(C);var I=Performer.classParam(H,"targetPage",false);var G=Performer.classParam(H,"targetElement",false);var D=Performer.classParam(H,"inputType","input");var F=Performer.classParam(H,"autosave",false);if(I&&D){var B=Performer.identify(C);C.innerHTML=Performer.BuildEditForm(C,I,D,G,F);Performer.unBind(C,"click",Performer.Edit);Performer.unBind(C,"keypress",Performer.Edit);var A=Performer.$(B+"-editor");if(F!==false){Performer.bind(Performer.$(B+"-value"),"blur",function(){var J=Performer.serialize(A);Performer.addClassName(Performer.$(B+"-value"),"performerloading");Performer.Request(I,"post",J,function(){Performer.HideEditForm(C,true)})})}else{Performer.bind(A,"submit",function(K){var J=Performer.serialize(A);Performer.addClassName(A,"performerloading");Performer.$(B+"-originaltext").innerHTML=Performer.$(B+"-value").value;Performer.Request(I,"post",J,function(){Performer.HideEditForm(C,true)});Performer.stopEvent(K)})}Performer.$(B+"-value").focus();Performer.ReInit("#"+B)}}},BuildEditForm:function(E,G,D,A,C){Performer.Debug("Performer.BuildEditForm("+G+")","function");if(E&&Performer.nodeName(E)&&Performer.$(E)&&G){var H=Performer.identify(E);var F=Performer.$(E).innerHTML;var B;B='<form id="'+H+'-editor" class="performer-editor" action="'+G+'" method="post">\n';if(D==""||D=="input"){B+='<input type="text" id="'+H+'-value" name="'+H+'" value="'+F+'" />\n'}if(D=="textarea"){B+='<textarea id="'+H+'-value" name="'+H+'" rows="6" cols="30">'+F+"</textarea>\n"}if(C===false){B+='<input type="submit" id="'+H+'-save" name="'+H+'-save" value="Save" />\n';B+='<a href="#" class="uneditor targetEl-'+H+'">Cancel</a>\n';if(A!=""){B+='<span id="'+A+'"></span>\n'}}B+="</form>\n";B+='<span style="display:none" id="'+H+'-originaltext">'+F+"</span>";Performer.Debug("-> Built form with action: "+G,"function");return B}},HideEditForm:function(A,B){Performer.Debug("Performer.HideEditForm","function");var C=Performer.identify(A);if(B){A.innerHTML=Performer.$(C+"-value").value}else{A.innerHTML=Performer.$(C+"-originaltext").innerHTML}Performer.bind(Performer.$(C),"click",Performer.Edit);Performer.bind(Performer.$(C),"keypress",Performer.Edit)},UnEdit:function(D){Performer.Debug("Performer.UnEdit","function");var C=Performer.eventElement(D);if(C&&Performer.nodeName(C)&&(D.type=="click"||Performer.keyCode(D)==13)){var B=Performer.classNames(C);var A=Performer.classParam(B,"targetEl",false);var E=Performer.$(A);if(E){Performer.bind(E,"click",Performer.Edit);Performer.bind(E,"keypress",Performer.Edit);E.innerHTML=Performer.$(A+"-originaltext").innerHTML;Performer.stopEvent(D)}}},SetPrompt:function(A){Performer.Debug("Performer.SetPrompt","function");var D=Performer.identify(A);var C=Performer.getAttribute(A,"title");if(A&&Performer.nodeName(A)&&C&&A.value==""&&(A.type=="textarea"||A.type=="text")){Performer.Debug("-> Setting prompt: "+C,"function");Performer.addClassName(A,"performer-prompter");A.value=Performer.getAttribute(A,"title");var B=Performer.up(A,"form");if(B){Performer.bind(B,"submit",function(){Performer.ClearPrompt(A)},false)}}},RemovePrompt:function(B){Performer.Debug("Performer.RemovePrompt","function");var A=Performer.eventElement(B);if(A&&Performer.nodeName(A)){Performer.ClearPrompt(A)}},ClearPrompt:function(A){Performer.Debug("Performer.ClearPrompt","function");var B=Performer.getAttribute(A,"title");if(A&&Performer.nodeName(A)&&B&&(A.value==B)&&(A.type=="textarea"||A.type=="text")){A.value="";Performer.removeClassName(A,"performer-prompter")}},CheckPrompt:function(B){Performer.Debug("Performer.CheckPrompt","function");var A=Performer.eventElement(B);var C=Performer.getAttribute(A,"title");var D=Performer.identify(A);if(A&&Performer.nodeName(A)&&C&&(A.value=="")&&(A.type=="textarea"||A.type=="text")){Performer.SetPrompt(A);A.value=Performer.getAttribute(A,"title")}},Pop:function(G){Performer.Debug("Performer.Pop","function");var E=Performer.findEventElement(G,"A");var B=Performer.classNames(E);var D=Performer.classParam(B,"targetName",Performer.getAttribute(E,"rel"))?"":"popupwindow_"+Performer.increment();var C=Performer.classParam(B,"options",Performer.getAttribute(E,"rev"))?"":"scrollbars=yes,toolbar=yes,menubar=yes,location=yes,status=yes,directories=yes";if(E&&Performer.nodeName(E)&&Performer.getAttribute(E,"href")&&(G.type=="click"||Performer.keyCode(G)==13)){var A=Performer.getAttribute(E,"href");Performer.Debug("-> Opening: "+A+" with "+C,"function");var F=window.open(A,D,C);if(window.focus){F.focus()}Performer.stopEvent(G)}},Fader:function(H){Performer.Debug("Performer.Fader","function");var E=Performer.$(H);if(Effect&&Effect.Highlight&&E){var G=Performer.GetColor(E.getStyle("backgroundColor"));var B=Performer.classNames(E);var C=Performer.classParam(B,"bg","#FFEB8F");var D=Performer.classParam(B,"dur",3);var A=Performer.classParam(B,"del",1);var F=Performer.GetColor(C);E.setStyle({backgroundColor:F});Performer.Debug("-> Fader background color: "+F+" -> "+G+"","subfunction");new Effect.Highlight(E,{startcolor:F,endcolor:G,restorecolor:G,duration:D,delay:A})}},GetColor:function(B){Performer.Debug("Performer.GetColor("+B+")","function");if(B&&B.length!=0){B=B.toUpperCase();B=B.toLowerCase().replace(/#/g,"");if(B.length==6){color="#"+B}else{if(B.length==3){color=B.substring(0,1)+B.substring(0,1);color=color+B.substring(1,2)+B.substring(1,2);color=color+B.substring(2,3)+B.substring(2,3);color="#"+color}else{if(B.toLowerCase().substring(0,3)=="rgb"&&B.indexOf(",")!=-1){var A=B.replace(/rgb\(|\)/g,"").split(",");r=parseInt(A[0].replace(/ /g,""),10).toString(16).toLowerCase();g=parseInt(A[1].replace(/ /g,""),10).toString(16).toLowerCase();b=parseInt(A[2].replace(/ /g,""),10).toString(16).toLowerCase();color="#"+r+g+b}else{color="#FFFFFF"}}}Performer.Debug("-> Color: "+color.toUpperCase(),"function")}return color.toUpperCase()},ToggleDebug:function(A){if(!Performer.Debugging){Performer.Debugging=true;Performer.PrepareDebug();Performer.Debug()}else{Performer.Debugging=false;Performer.remove(Performer.$("performerjsdebugwrapper"))}Performer.stopEvent(A)},PrepareDebug:function(){var A=document.getElementsByTagName("body")[0].innerHTML;A=A+'<div style="position:fixed;bottom:0;right:0;left:0;margin-top:height:400px;" id="performerjsdebugwrapper">\n';A=A+'<p style="margin:0; padding: 0 0 4px 0;"><a href="#" class="toggler targetEl-performerjsdebugbox" style="background:#333;color:#FFF;padding:0.3em 0.6em;margin:0 0 0 1em;-moz-border-radius-topright:5px;-moz-border-radius-topleft:5px;-webkit-border-top-right-radius:5px;-webkit-border-top-left-radius:5px;border:0">Performer Debug</a></p>\n';A=A+'<div class="hider" style="background:#333;padding:0.5em" id="performerjsdebugbox"><div id="performerjsoutput" style="padding:0.3em;height:400px;overflow:auto;background:#FFF;">\n</div></div>';document.getElementsByTagName("body")[0].innerHTML=A;Performer.DoListeners("performerjsdebugwrapper")},Debug:function(C,A){if(Performer.Debugging){var B="#000";if(A=="function"){B="#333"}else{if(A=="subfunction"){B="#AAA"}else{if(A=="error"){B="#900"}else{if(A=="success"){B="#090"}else{if(A=="warning"){B="#FFA800"}else{if(A=="ajax"){B="#4937DF"}}}}}}if(Performer.$("performerjsdebugbox")){Performer.$("performerjsoutput").innerHTML+='<p style="margin:0.1em 0;padding:0;color:'+B+'">'+C+"</p>\n"}}},hasClassName:function(B,A){if(!B||typeof B=="undefined"){return false}if(Performer.Prototype||Performer.Scriptaculous){return B.hasClassName(A)}if(Performer.jQuery){return jQuery(B).hasClass(A)}if(Performer.MooTools){return $(B).hasClass(A)}},$:function(A){if(typeof A=="object"){return A}if(typeof A=="undefined"){return false}if(Performer.Prototype||Performer.Scriptaculous||Performer.MooTools){return $(A)}if(Performer.jQuery){return jQuery("#"+A)[0]}},$$:function(A){var B;if(Performer.Prototype||Performer.Scriptaculous||Performer.MooTools){B=$$(A)}if(Performer.jQuery){B=jQuery(A)}if(B&&B.length>0){return B}else{return false}},$F:function(C){var B=Performer.identify(C);var A;if(Performer.Prototype||Performer.Scriptaculous){A=C.getElements()}if(Performer.jQuery){A=jQuery("#"+B+" :input")}if(Performer.MooTools){A=$$("#"+B+" input","#"+B+" textarea","#"+B+" select","#"+B+" button")}return A},nodeName:function(A){var B=false;if(Performer.Prototype||Performer.Scriptaculous||Performer.MooTools){B=A.nodeName.toLowerCase()}if(Performer.jQuery){B=A.tagName.toLowerCase()}if(!B||typeof B=="undefined"||B=="#document"){return false}else{return B}},getElementsByAttribute:function(C,A,D){var B;if(D){B=C+"["+A+"='"+D+"']";if(Performer.Prototype||Performer.Scriptaculous){return document.getElementsBySelector(B)}if(Performer.jQuery){return jQuery(B)}if(Performer.MooTools){return document.getElements(B)}}else{B=C+"["+A+"]";if(Performer.Prototype||Performer.Scriptaculous){return document.getElementsBySelector(B)}if(Performer.jQuery){return jQuery(B)}if(Performer.MooTools){return document.getElements(B)}}},getValue:function(A){if(Performer.Prototype||Performer.Scriptaculous){return A.getValue()}if(Performer.jQuery){return jQuery(A).val()}if(Performer.MooTools){return A.get("value")}},setValue:function(A,B){if(Performer.Prototype||Performer.Scriptaculous){return A.value=B}if(Performer.jQuery){return jQuery(A).val(B)}if(Performer.MooTools){return A.set("value",B)}},up:function(B,A){if(Performer.Prototype||Performer.Scriptaculous){return B.up(A)}if(Performer.jQuery){return jQuery(B).parent(A)[0]}if(Performer.MooTools){return B.getParent(A)}},serialize:function(A){if(Performer.Prototype||Performer.Scriptaculous){return A.serialize(true)}if(Performer.jQuery){return jQuery(A).serialize()}if(Performer.MooTools){return A.toQueryString()}},update:function(B,A){if(Performer.Prototype||Performer.Scriptaculous){return B.update(A)}if(Performer.jQuery){return jQuery(B).html(A)}if(Performer.MooTools){return B.set("text",A)}},insertAfter:function(C,B){if(Performer.Prototype||Performer.Scriptaculous){return new Insertion.After(C,B)}if(Performer.jQuery){return jQuery(C).after(B)}if(Performer.MooTools){if(B.trim().substr(0,1)!=="<"){B="<span>"+B+"</span>"}var A=new Element("div",{html:B});return A.inject(C,"after")}},increment:function(){Performer.Counter++;return Performer.Counter},identify:function(A){if(typeof (A)=="string"){A=Performer.$(A)}var B=Performer.getAttribute(A,"id");if(!B||B==""){B="anonymous_element_"+Performer.increment();Performer.setAttribute(A,"id",B)}return B},getAttribute:function(B,A){if(Performer.Prototype||Performer.Scriptaculous){return B.readAttribute(A)}if(Performer.jQuery){return jQuery(B).attr(A)}if(Performer.MooTools){return B.get(A)}},setAttribute:function(B,A,C){if(Performer.Prototype||Performer.Scriptaculous){return B.writeAttribute(A,C)}if(Performer.jQuery){return jQuery(B).attr(A,C)}if(Performer.MooTools){return B.set(A,C)}},removeAttribute:function(B,A){return B.removeAttribute(A)},remove:function(A){if(Performer.Scriptaculous){Effect.Fade(A,{duration:0.5})}if(Performer.Prototype||Performer.Scriptaculous){return A.remove()}if(Performer.jQuery){jQuery(A).fadeOut("normal");return jQuery(A).remove()}if(Performer.MooTools){A.fade("out");return A.destroy()}},children:function(B,A){if(typeof A!="undefined"){A=A.replace("-"," ");B=Performer.$$(A)}if(Performer.Prototype||Performer.Scriptaculous){return B.children()}if(Performer.jQuery){return jQuery(B).children()}if(Performer.MooTools){return B.getChildren()}},ancestors:function(A){if(Performer.Prototype||Performer.Scriptaculous){return A.ancestors()}if(Performer.jQuery){return jQuery(A).parents()}if(Performer.MooTools){return A.getParents()}},classNames:function(D){var A=Performer.getAttribute(D,"class");if(A&&A.length>0){var C=new Array();var E=A.split(/\s+/);for(var B=0;B<E.length;B++){if(E[B].length>0){C[C.length]=E[B]}}return C}else{return new Array()}},visible:function(A){if(typeof (A)!="object"){A=Performer.$(A)}if(Performer.Prototype||Performer.Scriptaculous){return A.visible()}if(Performer.jQuery){return jQuery(A).is(":visible")}if(Performer.MooTools){if(A.getStyle("display")=="none"){return false}else{return true}}},addClassName:function(B,A){if(typeof (B)!="object"){B=Performer.$(B)}if(Performer.Prototype||Performer.Scriptaculous){return B.addClassName(A)}if(Performer.jQuery){return jQuery(B).addClass(A)}if(Performer.MooTools){return $(B).addClass(A)}},removeClassName:function(B,A){if(typeof (B)!="object"){B=Performer.$(B)}if(Performer.Prototype||Performer.Scriptaculous){return B.removeClassName(A)}if(Performer.jQuery){return jQuery(B).removeClass(A)}if(Performer.MooTools){return $(B).removeClass(A)}},className:function(B,A){if(typeof (B)!="object"){B=Performer.$(B)}B.className=A},disableContext:function(A){if(Performer.Prototype||Performer.Scriptaculous){Performer.bind(A,"contextmenu",function(B){B.stop()})}if(Performer.jQuery){Performer.bind(A,"contextmenu",function(B){return false})}if(Performer.MooTools){return Performer.bind(A,"contextmenu",function(B){B.stop()})}},doHide:function(B,A){if(typeof (B)!="object"){B=Performer.$(Performer.identify(B))}if(Performer.Prototype){return B.hide()}else{if(Performer.Scriptaculous){if(!A||Performer.Effects.PerformerIndexOf(A)==-1){return B.hide()}else{if(A=="slideup"){return Effect.Fade(B,{duration:0.5})}if(A=="slidedown"){return Effect.Appear(B,{duration:0.5})}if(A=="blinddown"){return Effect.BlindDown(B,{duration:0.5})}if(A=="blindup"){return Effect.BlindUp(B,{duration:0.5})}if(A=="fadein"){return Effect.Appear(B,{duration:0.5})}if(A=="fadeout"){return Effect.Fade(B,{duration:0.5})}}}else{if(Performer.jQuery){if(!A||Performer.Effects.PerformerIndexOf(A)==-1){return jQuery(B).hide()}else{if(A=="slideup"){return jQuery(B).slideUp("normal")}if(A=="slidedown"){return jQuery(B).slideDown("normal")}if(A=="blinddown"){return jQuery(B).slideDown("normal")}if(A=="blindup"){return jQuery(B).slideUp("normal")}if(A=="fadein"){return jQuery(B).fadeIn("normal")}if(A=="fadeout"){return jQuery(B).fadeOut("normal")}}}else{if(Performer.MooTools){B.fade("out");B.setStyle("display","none");return B}}}}return false},doShow:function(B,A){if(typeof (B)!="object"){B=Performer.$(Performer.identify(B))}if(Performer.Prototype){return B.show()}else{if(Performer.Scriptaculous){if(!A||Performer.Effects.PerformerIndexOf(A)==-1){return B.show()}else{if(A=="slideup"){return Effect.Fade(B,{duration:0.5})}if(A=="slidedown"){return Effect.Appear(B,{duration:0.5})}if(A=="blinddown"){return Effect.BlindDown(B,{duration:0.5})}if(A=="blindup"){return Effect.BlindUp(B,{duration:0.5})}if(A=="fadein"){return Effect.Appear(B,{duration:0.5})}if(A=="fadeout"){return Effect.Fade(B,{duration:0.5})}}}else{if(Performer.jQuery){if(!A||Performer.Effects.PerformerIndexOf(A)==-1){return jQuery(B).show()}else{if(A=="slideup"){return jQuery(B).slideUp("normal")}if(A=="slidedown"){return jQuery(B).slideDown("normal")}if(A=="blinddown"){return jQuery(B).slideDown("normal")}if(A=="blindup"){return jQuery(B).slideUp("normal")}if(A=="fadein"){return jQuery(B).fadeIn("normal")}if(A=="fadeout"){return jQuery(B).fadeOut("normal")}}}else{if(Performer.MooTools){B.setStyle("display","block");B.fade("in");return B}}}}return false},Request:function(E,C,D,A){if(Performer.Prototype||Performer.Scriptaculous){new Ajax.Request(E,{method:C,parameters:D,onSuccess:A})}if(Performer.jQuery){return jQuery.ajax({type:C,url:E,data:D,success:A})}if(Performer.MooTools){var B=new Request({method:C,url:E,data:D,onSuccess:A});B.send();return B}},getRequestText:function(A){var B=A;if(A.responseText){B=A.responseText}return B},eventElement:function(B){var A;if(!B){B=window.event}if(B.target){A=B.target}else{if(B.srcElement){A=B.srcElement}}if(A.nodeType==3){return A.parentNode}return A},findEventElement:function(C,A){var B;if(Performer.Prototype||Performer.Scriptaculous){return Event.findElement(C,A)}if(Performer.jQuery){B=Performer.eventElement(C);if(B&&B.nodeName&&B.nodeName.toLowerCase()==A.toLowerCase()){return B}else{return jQuery(B).parents(A)[0]}}if(Performer.MooTools){B=Performer.eventElement(C);if(B&&B.nodeName&&B.nodeName.toLowerCase()==A.toLowerCase()){return B}else{return $(B).getParent(A)}}},domLoaded:function(A){if(Performer.Prototype||Performer.Scriptaculous){Performer.bind(document,"dom:loaded",A)}if(Performer.jQuery){return jQuery(document).ready(A)}if(Performer.MooTools){return Performer.bind(window,"domready",A)}},bind:function(A,C,B){if(Performer.Prototype||Performer.Scriptaculous){Event.observe(A,C,B)}if(Performer.jQuery){return jQuery(A).bind(C,B)}if(Performer.MooTools){return $(A).addEvent(C,B)}},unBind:function(A,C,B){if(Performer.Prototype||Performer.Scriptaculous){Event.stopObserving(A,C,B)}if(Performer.jQuery){return jQuery(A).unbind(C,B)}if(Performer.MooTools){return $(A).removeEvent(C,B)}},stopEvent:function(A){if(Performer.Prototype||Performer.Scriptaculous){A.preventDefault();A.stopPropagation();Event.stop(A);return false}if(Performer.jQuery){A.preventDefault();A.stopPropagation();return false}if(Performer.MooTools){A.stop();return false}return false},stopPropagation:function(A){A.stopPropagation();return false},getDimensions:function(C){var B,A;if(Performer.Prototype||Performer.Scriptaculous){return C.getDimensions()}if(Performer.jQuery){B=new Object;B.height=jQuery(C).outerHeight();B.width=jQuery(C).outerWidth()}if(Performer.MooTools){A=C.getSize();B=new Object;B.height=A.y;B.width=A.x}return B},setStyle:function(B,A){if(Performer.Prototype||Performer.Scriptaculous){return B.setStyle(A)}if(Performer.jQuery){jQuery(B).css(A)}if(Performer.MooTools){$(B).setStyles(A)}},keyCode:function(A){if(window.event){return window.event.keyCode}else{if(A){return A.which}else{return false}}},cursorPosition:function(D){if(Performer.MooTools){var C=new Event(D);return[C.page.x,C.page.y]}else{var A=0;var F=0;if(!D){D=window.event}if(D.pageX||D.pageY){A=D.pageX;F=D.pageY}else{if(D.clientX||D.clientY){var E=document.documentElement;var B=document.body;A=D.clientX+B.scrollLeft+E.scrollLeft;F=D.clientY+B.scrollTop+E.scrollTop}}return[A,F]}},elementPosition:function(A){var B=curtop=0;if(A.offsetParent){do{B+=A.offsetLeft;curtop+=A.offsetTop}while(A=A.offsetParent);return[B,curtop]}},forEach:function(B,D){for(var C=0,A=B.length;C<A;C++){D.call(B[C],B[C],B)}},alertProperties:function(A){var C="";for(var B in A){C+=B+": "+A[B]+"\n"}Performer.createModal(true,true,6,"performermodalouter","performermodalinner",100,100,true);Performer.$("performer_modal").innerHTML='<pre style="width: 100%; height: 100%">'+C+"</pre>"}};if(typeof (Array.prototype.indexOf)=="function"){Array.prototype.PerformerIndexOf=Array.prototype.indexOf}else{Array.prototype.PerformerIndexOf=function(C,A){A||(A=0);var B=this.length;if(A<0){A=B+A}for(;A<B;A++){if(this[A]===C){return A}}return -1}}Performer.Performer();document.write('<style type="text/css">.hider { display: none; } .performertooltip { display: absolute; }.performerlightboxouter { position: fixed; z-index: 10000; top: 0px; right: 0px; bottom: 0px; left: 0px; background: #000; opacity: 0.6; } .performertooltip { background: #FFF;	padding: 6px; } .performertooltip div.performertooltipinner { border: 1px solid #000; background: #FFFCDF; padding: 1em; } .performermodalouter { background: #000; } .performermodalinner { background: #FFF; border: 1px solid #000; padding: 1em; } * html .performermodalinner { position: relative; } .performermenu:hover { display: absolute; } a.modalwindowcloser { background: #000; color: #FFF; padding: 0 2em; text-decoration: none; } .performerloading { background: #EFE4B3; } .performercontextmenu { background: #D4DBED; padding: 0.6em; list-style: none; border: 1px solid #CCC; } .password-weak { color: #C00; } .password-ok { color: #EFAD3B; }	.password-strong { color: #0C0; } .performer-pagination { text-align: right; } .performer-pagination li { display: inline; } .performer-pagination li a { padding; 0.6em; } .performer-pagination .currentpage { font-weight: bold; }</style>');