/*
Performer JavaScript library (http://performerjs.org)
Created by Chris Taylor (http://www.stillbreathing.co.uk)
Additional work by kourge and Danny Linkov
Version 1.0.4

This work is released under any of the following licenses, please choose the one you wish to use:

- Creative Commons Attribution-ShareAlike 3.0 licence (http://creativecommons.org/licenses/by-sa/3.0/)
- Microsoft Public License (http://www.opensource.org/licenses/ms-pl.html)
- MIT License (http://www.opensource.org/licenses/mit-license.php)
- BSD License (http://www.opensource.org/licenses/bsd-license.php)
*/
var Performer={version:"1.0.4",Scriptaculous:!1,Prototype:!1,jQuery:!1,MooTools:!1,Counter:0,LooperFuncs:[],LooperCurrentItem:[],Performer:function(){P.DetectLibrary();(P.Scriptaculous||P.Prototype||P.jQuery||P.MooTools)&&P.Start()},DetectLibrary:function(){if(window.Scriptaculous&&"undefined"!=typeof window.Scriptaculous)P.Scriptaculous=!0;else if(window.Prototype&&"undefined"!=typeof window.Prototype&&window.Prototype.Version)P.Prototype=!0;else if(window.MooTools&&"undefined"!=typeof window.MooTools&&
window.MooTools.version)P.MooTools=!0;else if(window.jQuery&&"undefined"!=typeof window.jQuery)P.jQuery=!0},Start:function(){P.domLoaded(function(){P.Debugging=!1;P.Debug("Performer.Performer","function");P.Reloaders=[];P.Repeaters=[];P.Groups=null;P.Duplicators=[];P.TextValue=[];P.NewTextValue=[];P.Hash=parent.location.hash.replace(RegExp("^[#]+","g"),"");P.ShowEffects=["slidedown","blinddown","fadein"];P.HideEffects=["slideup","blindup","fadeout"];P.Effects=P.ShowEffects.concat(P.HideEffects);P.Init()})},
Init:function(){P.CheckDebug();P.Debug("Performer.Init","function");P.DoTransformers();P.DoListeners();P.addClassName(P.$$("body")[0],"performer-enabled")},ReInit:function(a){P.Debug("Performer.ReInit","function");P.DoTransformers(a,!0);P.DoListeners(a,!0)},DoListeners:function(a,b){void 0===b&&(b=!1);void 0===a&&(a="");P.Listeners(a,"form.formchecker","CheckForm","submit",b);P.Listeners(a,".toggler","Toggle","click,keypress",b);P.Listeners(a,".switcher","Switch","click,keypress",b);P.Listeners(a,
".loader","Load","click,keypress",b);P.Listeners(a,".deleter","Delete","click,keypress",b);P.Listeners(a,".toggleloader","ToggleLoad","click,keypress",b);P.Listeners(a,".sizer","Size","click,keypress",b);P.Listeners(a,".resizer","Resize","keypress",b);P.Listeners(a,".tabber","Tab","click,keypress",b);P.Listeners(a,".accordianer","Accordian","click,keypress",b);P.Listeners(a,".selector","Select","change,keypress",b);P.Listeners(a,".limiter","Limit","keyup,keydown",b);P.Listeners(a,".editor","Edit",
"click,keypress",b);P.Listeners(a,".uneditor","UnEdit","click,keypress",b);P.Listeners(a,".setter","Set","click,keypress",b);P.Listeners(a,".prompter","RemovePrompt","focus",b);P.Listeners(a,".prompter","CheckPrompt","blur",b);P.Listeners(a,".popper","Pop","click,keypress",b);P.Listeners(a,".passwordchecker","CheckPassword","keyup",b);P.Listeners(a,".matcher","Match","keyup",b);P.Listeners(a,".grouptoggler","GroupToggle","click,keypress",b);P.Listeners(a,".submitter","Submit","submit",b);P.Listeners(a,
".looperforward","Loop","click,keypress",b);P.Listeners(a,".looperback","Loop","click,keypress",b);P.Listeners(a,".looperfirst","Loop","click,keypress",b);P.Listeners(a,".looperlast","Loop","click,keypress",b);P.Listeners(a,".looperitem","Loop","click,keypress",b);P.Listeners(a,".looperstart","Loop","click,keypress",b);P.Listeners(a,".looperpause","Loop","click,keypress",b);P.Listeners(a,".tooltipper","Tooltip","mouseover,focus",b);P.Listeners(a,".popup","Tooltip","mouseover,focus",b);P.Listeners(a,
".modalwindower","ModalWindow","click,keypress",b);P.Listeners(a,".modalwindowcloser","CloseModal","click,keypress",b);P.Listeners(a,".contextmenuer","ContextMenu","mouseup",b);P.Listeners(a,".styler","Style","click,keypress",b);P.Listeners(a,".duplicator","Duplicate","click,keypress",b);P.Listeners(a,".morpher","Morph","click,keypress",b);P.Listeners(a,"form.submitlocker","SubmitLock","submit",b);P.Listeners(a,"a.toggle-performer-debug","ToggleDebug","click,keypress",b);P.Listeners(a,".hooker-click",
"Hooker","click,keypress",b);P.Listeners(a,".hooker-keypress","Hooker","keypress",b);P.Listeners(a,".hooker-change","Hooker","change",b);P.Listeners(a,".hooker-mouseover","Hooker","mouseover",b);P.Listeners(a,".hooker-mouseout","Hooker","mouseout",b);P.Listeners(a,".hooker-submit","Hooker","submit",b);P.Listeners(a,".hooker-focus","Hooker","focus",b);P.Listeners(a,".hooker-blur","Hooker","blur",b)},DoTransformers:function(a,b){P.Debug("Performer.DoTransformers","function");void 0===b&&(b=!1);if(void 0===
a||"performerjsdebugwrapper"===a)a="";P.Transformers(a,".hider","Hide",b);P.Transformers(a,".shower","Show",b);P.Transformers(a,".focusser","Focus",b);P.Transformers(a,".limiter","LimitNotifier",b);P.Transformers(a,".reloader","Reload",b);P.Transformers(a,".preloader","Preload",b);P.Transformers(a,".prompter","SetPrompt",b);P.Transformers(a,".truncator","Truncate",b);P.Transformers(a,"ul.looper,ol.looper","InitLoop",b);P.Transformers(a,".tab","InitTabs",b);P.Transformers(a,".contextmenuer","DisableContextMenu",
b);P.Transformers(a,".pager","Page",b);P.Transformers(a,".loadmorpher","Morph",b);P.Transformers(a,".loadtoggler","Toggle",b);P.Transformers(a,".loadgrouptoggler","GroupToggle",b);P.Transformers(a,".loadstyler","Style",b);P.Transformers(a,".loadmodalwindower","ModalWindow",b)},Listeners:function(a,b,c,d){var e=P.bind,f=P.nodeName,g=P.forEach,h=P.$$,i=P.Debug,b=b.split(",");g(b,function(b){void 0!==a&&(a+=" ");var k=h("body "+a+b);k&&(i("Performer.Listeners("+a+b+") - "+k.length+" elements found",
"function"),g(k,function(a){f(a)&&g(d.split(","),function(b){e(a,b,P[c])})}))})},Transformers:function(a,b,c){var d=P.nodeName,e=P.forEach,f=P.$$,g=P.Debug,b=b.split(",");e(b,function(b){void 0!==a&&(a+=" ");var i=f("body "+a+b);i&&(g("Performer.Transformers("+a+b+") - "+i.length+" elements found","function"),e(i,function(a){if(d(a))P[c](a)}))})},CheckDebug:function(){P.Debug("Performer.CheckDebug","function");if(P.$$(".performer-debug"))P.Debugging=!0,P.PrepareDebug()},classParam:function(a,b,c){for(var d=
null,e=a.length;e--;)(d=a[e])&&d.substring(0,b.length+1)==b+"-"&&(c=d.replace(b+"-",""));return c},Hooker:function(a){if((a=P.eventElement(a))&&P.getAttribute(a,"id")&&P.getAttribute(a,"class"))P.Debug("Performer.Hooker("+P.getAttribute(a,"id")+")","function"),a=P.classParam(P.classNames(a),"func",null),"function"==eval("typeof("+a+")")&&eval(a+"(el,e)")},Page:function(a){var b=P.identify(a),a=P.$(b),c=P.classNames(a),d=P.classParam(c,"selector",""),d=0<d.length?P.children(a,"#"+b+"-"+d):P.children(a),
e=P.classParam(c,"pagesize",10),c=P.classParam(c,"startpage",1);if(d.length>e){var f=1,g=0,h=P.addClassName,i=P.Hide;P.forEach(d,function(a){g<f*e&&g>=(f-1)*e||f++;h(a,"pageelement");h(a,"page"+f);i(a);g++});var j=P.Show;P.forEach(P.$$("#"+b+" .page"+c),function(a){j(a)});c=P.BuildPageMenu(b,f,c);P.insertAfter(a,c);var a=P.$$("."+b+"pagerlink"),k=P.bind;P.forEach(a,function(a){k(a,"click",P.ShowPage);k(a,"keypress",P.ShowPage)})}},BuildPageMenu:function(a,b,c){P.Debug("Performer.BuildPageMenu("+a+
")","function");for(var d='<ul class="performer-pagination">',e="",f=1;f<=b;f++)f==c&&(e=" currentpage"),d+='<li><a href="#'+a+"-page"+f+'" class="'+a+"pagerlink"+e+'" id="'+a+"-page"+f+'">'+f+"</a></li>",e="";return d+"</ul>"},ShowPage:function(a){var b=P.eventElement(a),b=P.identify(b),c=b.split("-page"),d=P.forEach;P.Debug("Performer.ShowPage("+b+")","function");var e=P.Hide;d(P.$$("#"+c[0]+" .pageelement"),function(a){e(a)});var f=P.Show;d(P.$$("#"+c[0]+" .page"+c[1]),function(a){f(a)});var g=
P.removeClassName;d(P.$$("."+c[0]+"pagerlink"),function(a){g(a,"currentpage")});P.addClassName(P.$(b),"currentpage");P.stopEvent(a)},ContextMenu:function(a){P.Debug("Performer.ContextMenu()","function");var b=P.eventElement(a),c=P.Hide,d=P.bind;P.forEach(P.$$(".performercontextmenu"),function(a){c(a)});if(b&&(a.which&&3==a.which||a.button&&3==a.button||a.rightClick)){var e=P.classParam(P.classNames(b),"targetEl",!1),f=P.cursorPosition(a);if(f&&e&&P.$(e))P.identify(b),e=P.$(e),P.addClassName(e,"performercontextmenu"),
e.style.position="absolute",e.style.zIndex="10000",e.style.top=f[1]+"px",e.style.left=f[0]+"px",P.Show(e),a.preventDefault(),d(P.$$("body")[0],"click",P.HideContextMenu),d(P.$$("body")[0],"keypress",P.HideContextMenu),P.stopEvent(a)}return!1},DisableContextMenu:function(a){P.disableContext(a)},HideContextMenu:function(){var a=P.$$(".performercontextmenu"),b=P.removeClassName,c=P.Hide;P.forEach(a,function(a){b(a,"performercontextmenu");c(a)})},Set:function(a){var b=P.eventElement(a);if(b&&P.nodeName(b)){P.Debug("Performer.Set",
"function");var c=P.classNames(b),d=unescape(P.classParam(c,"value","")),b=P.classParam(c,"targetEl",P.getAttribute(b,"rel"));P.setValue(P.$(b),d);P.stopEvent(a)}},InitLoop:function(a){P.Debug("Performer.InitLoop","function");var b=P.identify(a),c=0,d=0,e=P.classNames(a),f=P.classParam(e,"delay",0),e=P.classParam(e,"effect","fadein"),e=P.getShowEffect(e),g=P.nodeName,h=P.Hide,i=P.hasClassName,j=P.identify,k=P.Hash,a=P.children(a);P.forEach(a,function(a){if(g(a)){h(a);if(i(a,"looperdefault")||k==j(a))c=
d;d++}});P.Show(a[c]);P.LooperCurrentItem[b]=c;0<f&&P.StartLoop(b,a,f,e)},StartLoop:function(a,b,c,d){P.LooperFuncs[a]=window.setInterval(function(){var c=P.LooperCurrentItem[a]+1;c>=b.length&&(c=0);P.LooperCurrentItem[a]=c;P.forEach(b,function(a){P.Hide(a)});P.Show(b[c],d)},1E3*c)},Loop:function(a){P.Debug("Performer.Loop","function");r=!1;var b=P.findEventElement(a,"A");if("click"==a.type||13==P.keyCode(a)){var c=P.classNames(b),d=P.classParam(c,"targetEl",P.getAttribute(b,"rel")),e=P.$(d);if(e){e=
P.children(e);window.clearInterval(P.LooperFuncs[d]);if(P.hasClassName(b,"looperpause"))return P.Debug("Performer.Loop (pause auto-loop)","function"),P.stopEvent(a),!1;if(P.hasClassName(b,"looperstart")){P.Debug("Performer.Loop (start auto-loop)","function");var f=P.classNames(P.$(d)),g=P.classParam(f,"delay",0),f=P.classParam(f,"effect","fadein"),f=P.getShowEffect(f),h=P.LooperCurrentItem[d];if(0<g)return P.Hide(e[h]),h++,h>=e.length&&(h=0),P.LooperCurrentItem[d]=h,P.Show(e[h],f),P.StartLoop(d,e,
g,f),P.stopEvent(a),!1}var i=0,h=-1,j=0,k=P.nodeName,m=P.visible,l=P.Debug,o=P.Hide,g=e.length,f=P.classParam(c,"effect","fadein"),f=P.getShowEffect(f);P.forEach(e,function(a){k(a)&&m(a)&&(l("- Currently showing item "+i,"subfunction"),j=i);o(a);i++});P.hasClassName(b,"looperback")?(P.Debug("Performer.Loop (back)","function"),h=j-1,0>h&&(h=g-1)):P.hasClassName(b,"looperforward")?(P.Debug("Performer.Loop (forward)","function"),h=j+1,h>=g&&(h=0)):P.hasClassName(b,"looperfirst")?(P.Debug("Performer.Loop (first)",
"function"),h=0):P.hasClassName(b,"looperlast")?(P.Debug("Performer.Loop (last)","function"),h=g-1):P.hasClassName(b,"looperitem")&&(h=P.classParam(c,"item",1),h>=g&&(h=g-1),P.Debug("Performer.Loop ("+h+")","function"));P.LooperCurrentItem[d]=h;P.Debug("- Showing item "+h,"subfunction");P.Show(e[h],f);P.stopEvent(a)}}},Tooltip:function(a,b){P.Debug("Performer.Tooltip","function");var c=P.eventElement(a);b||(b="performertooltip");var d=P.identify(c);if(c&&P.nodeName(c)&&!P.$(d+"_performertooltip")){var e=
P.classNames(c),f=!1,g="";if(P.getAttribute(c,"title")&&""!=P.getAttribute(c,"title"))g=P.getAttribute(c,"title"),f="<p>"+g.replace(/\r/g,"<br />\n")+"</p>";else{var h=P.$(P.classParam(e,"targetEl",!1));if(h)f=h.innerHTML}var i=!1;"mouseover"==a.type?i=P.cursorPosition(a):(i=P.elementPosition(c),i[1]+=c.offsetHeight);if(i&&f){var h=P.classParam(e,"className",b),e=P.classParam(e,"width",300),j=i[0]-e/2,i=i[1]+16;0>j&&(j=25);document.body.scrollWidth&&j+e>document.body.scrollWidth&&(j=document.body.scrollWidth-
e-25);P.setAttribute(c,"title","");P.setAttribute(c,"temptitle",g);P.getAttribute(c,"alt")&&(P.setAttribute(c,"tempalt",g),P.setAttribute(c,"alt",""));var k=P.up(c,"");k.getAttribute("title")&&(P.setAttribute(k,"temptitle",g),P.setAttribute(k,"title",""));g=document.createElement("div");k=document.createElement("div");k.className=b+"inner";k.innerHTML=f;g.id=d+"_performertooltip";g.className=h;g.style.position="absolute";g.style.zIndex="10000";g.style.width=e+"px";g.style.top=i+"px";g.style.left=
j+"px";g.appendChild(k);P.bind(c,"mouseout",P.HideTooltip);P.bind(c,"blur",P.HideTooltip);document.getElementsByTagName("body")[0].appendChild(g)}}},HideTooltip:function(a){var a=P.eventElement(a),b=P.identify(a);a&&P.$(b+"_performertooltip")&&(P.remove(P.$(b+"_performertooltip")),b=P.getAttribute(a,"temptitle"),P.setAttribute(a,"title",b),P.removeAttribute(a,"temptitle"),P.getAttribute(a,"tempalt")&&(P.setAttribute(a,"alt",b),P.removeAttribute(a,"tempalt")),a=P.up(a,""),a.getAttribute("temptitle")&&
(P.setAttribute(a,"title",b),P.removeAttribute(a,"temptitle")))},ModalWindow:function(a){var b=P.eventOrElement(a),c=b.el;if(c){P.identify(c);var c=P.classNames(c),d=1E3*P.classParam(c,"delay",0),e=P.classParam(c,"outerClassName","performermodalouter"),f=P.classParam(c,"innerClassName","performermodalinner"),g=P.classParam(c,"lightBox",!0),h=P.classParam(c,"closer",!0),i=P.classParam(c,"targetPage",!1),j=P.classParam(c,"horizontalPadding",100),k=P.classParam(c,"verticalPadding",100),m=P.classParam(c,
"screenDim",6);0===d?P.DoModalWindow(i,g,m,e,f,j,k,h):setTimeout(function(){P.DoModalWindow(i,g,m,e,f,j,k,h)},d);b.stop&&P.stopEvent(a)}},DoModalWindow:function(a,b,c,d,e,f,g,h){P.createModal(a,b,c,d,e,f,g,h)&&(P.addClassName(P.$("performer_modal"),"performerloading"),P.DoLoad(a,"performer_modal","get","fillandinit"))},createModal:function(a,b,c,d,e,f,g,h){if(a&&!P.$("performer_modal")){a=!1;if(b)a=document.createElement("div"),a.className=d,a.style.zIndex=1E5,a.style.position="fixed",a.style.left=
"0px",a.style.right="0px",a.style.bottom="0px",a.style.top="0px",a.style.opacity="0."+c,a.style.filter="alpha(opacity="+c+"0)",a.id="performer_modal_outer";c=document.createElement("div");c.className=e;c.id="performer_modal";c.style.overflow="auto";c.style.zIndex=100001;c.style.position="fixed";c.style.left=f+"px";c.style.right=f+"px";c.style.bottom=g+"px";c.style.top=g+"px";b&&document.getElementsByTagName("body")[0].appendChild(a);document.getElementsByTagName("body")[0].appendChild(c);if(h)b=document.createElement("div"),
b.id="performer_modal_closer",b.style.zIndex=100001,b.style.position="fixed",b.style.right=f+"px",b.style.top=g-20+"px",b.innerHTML='<a href="#" class="modalwindowcloser">Close</a>',document.getElementsByTagName("body")[0].appendChild(b),P.bind(P.$$("a.modalwindowcloser")[0],"keypress",P.CloseModal),P.bind(P.$$("a.modalwindowcloser")[0],"click",P.CloseModal);P.bind(document,"keyup",P.CloseModal)}return!0},CloseModal:function(a){var b=P.eventElement(a);if("keyup"==a.type&&27==P.keyCode(a)||b&&P.hasClassName(b,
"modalwindowcloser"))P.$("performer_modal_outer")&&document.getElementsByTagName("body")[0].removeChild(P.$("performer_modal_outer")),P.$("performer_modal_closer")&&document.getElementsByTagName("body")[0].removeChild(P.$("performer_modal_closer")),P.$("performer_modal")&&document.getElementsByTagName("body")[0].removeChild(P.$("performer_modal")),P.stopEvent(a)},Truncate:function(a){var b=P.classNames(a),c=P.classParam(b,"limit",50),d=P.classParam(b,"openText","...more"),b=P.classParam(b,"closeText",
"...less");if(a&&c){var e=a.innerHTML;if(c<e.length){var f=P.identify(a);a.innerHTML='<span id="'+f+'_truncated">'+e.substring(0,c)+' <a href="#" class="switcher targetEl1-'+f+"_truncated targetEl2-"+f+'_full">'+d+'</a></span><span class="hider" id="'+f+'_full">'+e+' <a href="#" class="switcher targetEl1-'+f+"_truncated targetEl2-"+f+'_full">'+b+"</a></span>";P.ReInit(f)}}},Duplicate:function(a){var b=P.eventElement(a),c=P.classNames(b),d=P.classParam(c,"sourceElement",!1),e=P.$(d),d=P.classParam(c,
"targetElement",!1),f=P.$(d),g=parseInt(Performer.classParam(c,"start",1))-1;if(b&&P.nodeName(b)&&e&&P.nodeName(e)&&f&&P.nodeName(f))e=f.appendChild(e.cloneNode(!0)),"undefined"===typeof P.Duplicators[d]&&(P.Duplicators[d]=g+1),b=P.Duplicators[d]+1,P.Duplicators[d]=b,e.innerHTML=e.innerHTML.replace(/_1/g,"_"+b),e.innerHTML=e.innerHTML.replace(/[1]/g,b),e.id=e.id.replace(/_1/g,"_"+b),""!=P.getAttribute(e,"class")&&P.setAttribute(e,"class",P.getAttribute(e,"class").replace(/_1/g,"_"+b)),c=P.classParam(c,
"countElement",!1),(c=P.$(c))&&P.setValue(c,b),P.stopEvent(a)},SubmitLock:function(a){if(a=P.findEventElement(a,"FORM")){var a=P.$F(a),b=P.addClassName;P.forEach(a,function(a){a=P.$(P.identify(a));if("submit"==a.type.toLowerCase())a.disabled=!0,b(a,"performer-disabled")})}},Submit:function(a){var b=P.findEventElement(a,"FORM"),c=P.classNames(b),d=P.classParam(c,"targetPage",!1),e=P.classParam(c,"targetEl",P.classParam(c,"targetElement",!1)),f=P.$(e);d&&b&&P.nodeName(b)&&f&&P.nodeName(f)&&(b=P.serialize(b),
P.addClassName(f,"performerloading"),P.Request(d,"POST",b,function(a){a=P.getRequestText(a);P.update(f,a);P.removeClassName(f,"performerloading");P.Debug("-> Filled '#"+e+"'","success")}),P.stopEvent(a))},CheckForm:function(a){P.Debug("Performer.CheckForm","function");var b=P.eventElement(a),b=P.classNames(b),b=P.classParam(b,"targetEl",P.findEventElement(a,"FORM"));(b=P.DoCheckForm(b))||P.stopEvent(a);return b},DoCheckForm:function(a){var b=!1,c=[],d=P.$F(a),e=P.identify,f=P.$,g=P.hasClassName,h=
P.FieldNotify,i=P.FieldNotifyRemove,j=P.getValue;P.forEach(d,function(d){var m=e(d),l=f(m),o=j(l);if(g(l,"field-required")&&("radio"!=l.type&&("checkbox"==l.type&&!1===l.checked||""==l.value)?(h(m,"error","This field is required"),b=!0):i(m),"radio"==l.type&&-1==c.PerformerIndexOf(l.name))){c[c.length]=l.name;for(var n=!0,p=a[l.name],q=0;q<p.length;q++)if(p[q].checked){n=!1;break}p=p[p.length-1];n?(h(p,"error","This field is required"),b=!0):i(p)}if(g(l,"field-required-email")||g(l,"field-optional-email"))n=
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,g(l,"field-required-email")&&""==o||""!=o&&!n.test(o)?(h(m,"error","This field must be a valid email address"),b=!0):i(m);if(g(l,"field-required-number")||g(l,"field-optional-number"))if(n=o.replace(",","").replace("&pound;","").replace("\u00a3",""),g(l,"field-required-number")&&""==n||""!=n&&isNaN(parseFloat(n)))h(m,"error","This field must be a number"),b=!0;else{if(""!=n)l.value=parseFloat(n);i(m)}if(g(l,"field-required-date")||
g(l,"field-optional-date"))n=/^([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})$/,g(l,"field-required-date")&&""==o||""!=o&&!n.test(o)?(h(m,"error","This field must be a date (dd/mm/yyyy)"),b=!0):i(m);P.Debug("-> Field "+d.name,"subfunction")});return b?(h(P.identify(a),"error","There are errors with some fields. Please check the form and try again."),!1):!0},FieldNotify:function(a,b,c){P.$(a+"-notification")?(P.$(a+"-notification").innerHTML=c,P.$(a+"-notification").className="performer-"+b):P.insertAfter(P.$(a),
'<span id="'+a+'-notification" class="performer-'+b+'">'+c+"</span>")},FieldNotifyRemove:function(a){if(P.$(a+"-notification"))P.$(a+"-notification").innerHTML="",P.$(a+"-notification").className=""},Select:function(a){P.Debug("Performer.Select","function");if((a=P.eventElement(a))&&P.nodeName(a)&&P.getAttribute(a,"id")&&P.getAttribute(a,"name")&&P.getAttribute(a,"class")){var b=P.classNames(a),c=P.classParam(b,"targetPage",!1),d=P.classParam(b,"targetEl",!1),b=P.classParam(b,"targetValue",!1);c&&
P.$(d)&&("true"==b?P.DoLoad(c+"?selection="+P.getValue(a),d,"post","setvalueandinit"):P.DoLoad(c+"?selection="+P.getValue(a),d,"post","fillandinit"))}},CheckPassword:function(a){P.Debug("Performer.CheckPassword","function");if((a=P.eventElement(a))&&P.nodeName(a)&&P.getAttribute(a,"id")&&P.getAttribute(a,"name")&&P.getAttribute(a,"class")){var b=P.classNames(a);if(b=P.$(P.classParam(b,"notifyEl",!1)))if(P.Show(b),a=a.value,6>a.length)P.update(b,"Your password must be at least 6 characters long"),
P.className(b,"password-weak");else if(P.update(b,""),a.match(/^([a-zA-Z]{6,10})$/)||a.match(/^([0-9]{6,10})$/))P.update(b,"Weak password"),P.className(b,"password-weak");else if(a.match(/^([a-zA-Z]{10,})$/)||a.match(/^([0-9]{10,})$/))P.update(b,"Acceptable password"),P.className(b,"password-ok");else if(a.match(/^.*(?=.{6,})(?=.*\d)(?=.*[a-z])(?=.*[^0-9a-zA-Z]).*$/))P.update(b,"Strong password"),P.className(b,"password-strong");else if(a.match(/^.*(?=.{6,})(?=.*\d)(?=.*[a-z]).*$/)||a.match(/^.*(?=.{6,})(?=.*[^0-9a-zA-Z])(?=.*[a-z]).*$/)||
a.match(/^.*(?=.{6,})(?=.*[^0-9a-zA-Z])(?=.*\d).*$/))P.update(b,"Acceptable password"),P.className(b,"password-ok")}},Match:function(a){P.Debug("Performer.Match","function");if((a=P.eventElement(a))&&P.nodeName(a)&&P.getAttribute(a,"id")&&P.getAttribute(a,"name")&&P.getAttribute(a,"class")){var b=P.classNames(a),c=P.$(P.classParam(b,"notifyEl",!1)),b=P.$(P.classParam(b,"matchEl",!1));c&&b&&(P.Show(c),a.value==b.value&&P.Hide(c))}},Toggle:function(a){var b=!1,c=P.eventOrElement(a),d=c.el;d||(d=P.findEventElement(a,
"A"));if(d&&P.nodeName(d)&&("click"==a.type||13==P.keyCode(a)||32==P.keyCode(a)||!c.stop)){var e=P.classNames(d),f=P.classParam(e,"showeffect","slidedown"),g=P.classParam(e,"hideeffect","slideup"),h=P.classParam(e,"targetEl",P.getAttribute(d,"rel"));h||(h=P.identify(d));var i=P.classParam(e,"move",!1),e=1E3*P.classParam(e,"delay",0),j=P.$(h);if(j&&P.nodeName(j))return 0===e?b=P.DoToggle(h,j,d,f,g):setTimeout(function(){b=P.DoToggle(h,j,d,f,g)},e),!i||!b?"a"==P.nodeName(d).toLowerCase()&&c.stop&&P.stopEvent(a):
window.location.hash=P(d,"href").replace(RegExp("^[#]+","g"),""),b}},DoToggle:function(a,b,c,d,e){if(P.visible(b))"performerjsdebugbox"!=a&&P.Debug("Performer.Toggle -> Hide '#"+a+"'","subfunction"),P.removeClassName(c,"toggleropen"),P.Hide(b,e),r=!1;else{"performerjsdebugbox"!=a&&P.Debug("Performer.Toggle -> Show '#"+a+"'","subfunction");P.addClassName(c,"toggleropen");var f=P.nodeName,g=P.Show,h=P.visible;g(b,d);P.forEach(P.ancestors(P.$(b)),function(a){"body"!=a.tagName&&"html"!=a.tagName&&f(a)&&
!h(a)&&g(a)});r=!0}if("input"==P.nodeName(c).toLowerCase()&&c.type&&"checkbox"==c.type)c.checked=r;return r},GroupToggle:function(a){var b=!1,c=P.eventOrElement(a),d=c.el;d||(d=P.findEventElement(a,"A"));if(d&&P.nodeName(d)&&("click"==a.type||13==P.keyCode(a)||32==P.keyCode(a)||!c.stop)){var e=P.classNames(d),f=P.classParam(e,"targetClass",P.getAttribute(d,"rel")),g=P.classParam(e,"showeffect","slidedown"),h=P.classParam(e,"hideeffect","slideup"),i=P.classParam(e,"move",!1),e=1E3*P.classParam(e,"delay",
0),j=P.$$("."+f);P.Debug("Performer.GroupToggle -> Toggle "+j.length+" elements with class "+f,"subfunction");0===e?b=P.DoGroupToggle(f,j,g,h):setTimeout(function(){b=P.DoGroupToggle(f,j,g,h)},e);if("input"==P.nodeName(d).toLowerCase()&&d.type&&"checkbox"==d.type)d.checked=b;!i||!b?"a"==P.nodeName(d).toLowerCase()&&c.stop&&P.stopEvent(a):window.location.hash=P(d,"href").replace(RegExp("^[#]+","g"),"");return b}},DoGroupToggle:function(a,b,c,d){var e=P.addClassName,f=P.removeClassName,g=P.Show,h=P.Hide,
i=!1;P.forEach(b,function(a){P.visible(a)?(f(a,"toggleropen"),h(a,d),i=!1):(e(a,"toggleropen"),g(a,c),i=!0)});return i},Switch:function(a,b){P.Debug("Performer.Switch","function");var c=!1,d=P.eventElement(a);d||(d=P.findEventElement(a,"A"));if(d&&P.nodeName(d)&&("click"==a.type||13==(a.keyCode==P.keyCode(a)))){var e=P.classNames(d),f=P.classParam(e,"targetEl1",P.getAttribute(d,"rel")),g=P.$(f),e=P.classParam(e,"targetEl2",P.getAttribute(d,"rev")),h=P.$(e);g&&h&&(P.visible(g)?(P.Debug("-> Show '#"+
e+"', hide '#"+f+"'","subfunction"),P.Show(h),P.Hide(g),c=!1):(P.Debug("-> Show '#"+f+"', hide '#"+e+"'","subfunction"),P.Show(g),P.Hide(h),c=!0));!b&&"a"==P.nodeName(d).toLowerCase()&&P.stopEvent(a)}return c},Focus:function(a){P.Debug("Performer.Focus","function");if((a=P.$(a))&&P.nodeName(a))P.Debug("-> Focus on '#"+P.identify(a)+"'","subfunction"),P.$(a).focus()},Style:function(a){P.Debug("Performer.Style","function");var b=P.eventOrElement(a),c=b.el;c||(c=P.findEventElement(a,"A"));if(c&&P.nodeName(c)&&
("click"==a.type||13==P.keyCode(a)||!b.stop)){var d=P.classNames(c),e=1E3*P.classParam(d,"delay",0),f=P.$(P.classParam(d,"targetEl",P.getAttribute(c,"rel")));f||(f=c);f&&(0===e?P.DoStyle(f,c,d):setTimeout(function(){P.DoStyle(f,c,d)},e),b.stop&&P.stopEvent(a))}},DoStyle:function(a,b,c){b=P.classParam(c,"style","");a.className=b},Size:function(a){P.Debug("Performer.Size","function");var b=P.findEventElement(a,"a");if(b&&P.nodeName(b)&&("click"==a.type||13==P.keyCode(a))){var c=P.classNames(b),d=P.$(P.classParam(c,
"targetEl",P.getAttribute(b,"rel")));if(d){b=P.classParam(c,"sizes",P.getAttribute(b,"rev"));0<=b.indexOf(",")?(c=b.split(","),b=c[0],c=c[1]):c=0;""==b&&(b=0);""==c&&(c=0);var e=P.getDimensions(d),f=e.height,e=e.width;0!==b&&(b=parseFloat(b)+parseFloat(f)+"px",P.Debug("-> Change height of '#"+P.identify(d)+"' to "+b,"subfunction"),P.setStyle(d,{height:b}));0!==c&&(b=parseFloat(c)+parseFloat(e)+"px",P.Debug("-> Change width of '#"+P.identify(d)+"' to "+b,"subfunction"),P.setStyle(d,{width:b}));P.stopEvent(a)}}},
Resize:function(a){P.Debug("Performer.Resize","function");if((a=P.eventElement(a))&&P.nodeName(a)){var b=P.classNames(a),b=P.classParam(b,"maxHeight",500),c=a.scrollHeight,d=P.getDimensions(a).height;if(c+5>d&&d<b)a.style.height=c+10+"px"}},ToggleLoad:function(a){P.Debug("Performer.ToggleLoad","function");var b=P.eventElement(a),c=P.classNames(b),d=P.classParam(c,"targetEl",P.getAttribute(b,"rel")),c=P.classParam(c,"targetPage",P.getAttribute(b,"rev"));if(b&&P.nodeName(b)&&d&&c&&("click"==a.type||
13==P.keyCode(a)))P.Toggle(a)&&(P.Debug("-> Loading content into '#"+d+"'","subfunction"),P.Load(a,!0,!1)),P.stopEvent(a)},InitTabs:function(a){var b=P.identify(a),a=P.$(P.identify(a));P.Hash==b&&(P.addClassName(P.getElementsByAttribute("a","rev",b)[0],"tabbercurrent"),P.removeClassName(a,"hider"),P.Show(a));!P.hasClassName(a,"hider")&&""!=P.Hash&&P.Hash!=b&&(P.removeClassName(P.getElementsByAttribute("a","rev",b)[0],"tabbercurrent"),P.addClassName(a,"hider"),P.Hide(a))},Tab:function(a){P.Debug("Performer.Tab",
"function");P.Hash="";var b=P.findEventElement(a,"A");if(b&&P.nodeName(b)&&("click"==a.type||13==P.keyCode(a))){var c=P.classNames(b),d=P.classParam(c,"tabGroup",P.getAttribute(b,"rel"));if(d&&P.$(d)){for(var e=P.classParam(c,"tab",P.getAttribute(b,"rev")),c=P.classParam(c,"effect","fadein"),f=P.$(e),g=P.$$(".tabber"),h=g.length,i=P.hasClassName,j=P.getAttribute,k=P.removeClassName;h--;)(i(g[h],"tabGroup-"+d)||j(b,"rel")==d)&&k(g[h],"tabbercurrent");d=P.$$("#"+d+" .tab");h=d.length;for(g=P.Hide;h--;)g(d[h]);
P.addClassName(b,"tabbercurrent");P.Debug("-> Showing tab '#"+e+"'","subfunction");c=P.getShowEffect(c);P.Show(f,c);P.stopEvent(a)}}},Accordian:function(a){P.Debug("Performer.Accordian","function");P.Hash="";var b=P.findEventElement(a,"A");if(b&&P.nodeName(b)&&("click"==a.type||13==P.keyCode(a))){var c=P.classNames(b),d=P.classParam(c,"group",!1);if(P.$(d)){P.classNames(b);for(var c=P.classParam(c,"item",!1),e=P.$(c),f=P.$$(".accordianer"),g=f.length,h=P.getAttribute,i=P.removeClassName;g--;)h(f[g],
"rel")==d&&i(f[g],"accordiancurrent");d=P.$$("#"+d+" .accordianitem");g=d.length;for(f=P.Hide;g--;)f(d[g]);P.addClassName(b,"accordiancurrent");P.Debug("-> Showing accordianitem '#"+c+"'","subfunction");P.Show(e,"slidedown");P.stopEvent(a)}}},Load:function(a,b,c){P.Debug("Performer.Load","function");var d=P.findEventElement(a,"A");if(d&&P.nodeName(d)&&("click"==a.type||13==P.keyCode(a))){var e=P.classNames(d),f=P.classParam(e,"targetEl",P.getAttribute(d,"rel")),g=P.$(f),d=P.classParam(e,"targetPage",
P.getAttribute(d,"rev"));f&&g&&P.nodeName(g)&&(P.Debug("-> Loading content into '#"+f+"'","subfunction"),c?P.DoLoad(d,f,"get","fill"):P.DoLoad(d,f,"get","fillandinit"));b||P.stopEvent(a)}},Delete:function(a){P.Debug("Performer.Delete","function");var b=P.findEventElement(a,"A");if(b&&P.nodeName(b)&&("click"==a.type||13==P.keyCode(a))){var c=P.classNames(b),d=P.classParam(c,"targetEl",P.getAttribute(b,"rel")),e=P.$(d),f=P.classParam(c,"targetPage",P.getAttribute(b,"rev")),c=P.classParam(c,"confirmDelete",
!1);d&&e&&P.nodeName(e)&&(P.Debug("-> Deleting '#"+d+"'","subfunction"),(c&&P.getAttribute(b,"title")&&confirm(P.getAttribute(b,"title")+" - are you sure?")||!c)&&P.DoLoad(f,d,"get","deleteandreplace"));P.stopEvent(a)}},DoLoad:function(a,b,c,d){P.Debug("Performer.DoLoad("+a+" -> #"+b+")","function");var e=P.$(b),f=P.$,g=P.removeClassName,h=P.Debug,i=P.ReInit;a&&b&&e&&P.nodeName(e)&&(P.addClassName(f(b),"performerloading"),P.Request(a,c,"",function(a){a=P.getRequestText(a);if("fill"==d)f(b).innerHTML=
a,g(f(b),"performerloading"),h("-> Filled '#"+b+"'","success");if("fillandinit"==d)f(b).innerHTML=a,g(f(b),"performerloading"),h("-> Filled '#"+b+"'","success"),i("#"+b);"deleteandreplace"==d&&(P.insertAfter(f(b),a),P.remove(f(b)));if("setvalue"==d)f(b).value=a,g(f(b),"performerloading"),h("-> Value set '#"+b+"'","success");if("setvalueandinit"==d)f(b).value=a,g(f(b),"performerloading"),h("-> Set value '#"+b+"'","success"),i("#"+b)}))},Reload:function(a){var a=P.$(a),b=P.identify(a);if(-1==P.Reloaders.PerformerIndexOf(b)){var c=
P.classNames(a),d=1E3*P.classParam(c,"delay",0),e=P.classParam(c,"targetPage",!1);0===d&&(d=6E4);a&&P.nodeName(a)&&d&&e&&(P.Reloaders[P.Reloaders.length]=b,P.Debug("Performer.Reload -> Added '#"+b+"' to Performer.Reloaders (now "+P.Reloaders.length+" items): "+d+" seconds","subfunction"),P.DoLoad(e,b,"get","fillandinit"),window.setInterval(function(){var a=(new Date).getTime(),a=-1!=e.indexOf("?")?"&"+a:"?"+a;P.DoLoad(e+a,b,"get","fillandinit")},d))}},Preload:function(a){P.Debug("Performer.Preload",
"function");var a=P.$(a),b=P.classNames(a),b=P.classParam(b,"targetPage",!1);a&&P.nodeName(a)&&b&&(a=P.identify(a),P.Debug("-> Loading content into '#"+a+"'","subfunction"),P.DoLoad(b,a,"get","fillandinit"))},Hide:function(a,b){var c=P.identify(a);a&&P.nodeName(a)?P.Hash!=c?(P.Debug("Performer.Hide -> Hiding '#"+c+"' (effect: "+b+")","subfunction"),P.doHide(a,b),P.hasClassName(a,"hider")||P.addClassName(a,"hider"),P.hasClassName(a,"shower")&&P.removeClassName(a,"shower")):P.removeClassName(a,"hider"):
P.Debug("Performer.Hide -> Could not hide '#"+c+"'","subfunction")},Show:function(a,b){var c=P.identify(a);a&&P.nodeName(a)?(P.doShow(a,b),P.hasClassName(a,"hider")&&P.removeClassName(a,"hider"),P.hasClassName(a,"shower")&&P.removeClassName(a,"shower"),P.Debug("Performer.Show -> Showing '#"+c+"' (effect: "+b+")","subfunction")):P.Debug("Performer.Show -> Could not show '#"+c+"'","subfunction")},Limit:function(a){P.Debug("Performer.Limit","function");var b=P.eventElement(a),c=P.classNames(b),d=P.classParam(c,
"lengthLimit",!1),c=P.$(P.classParam(c,"targetEl",!1));if(b&&d&&c){var e=P.getValue(b).length;parseFloat(e)>=parseFloat(d)?(P.$(b).value=P.getValue(b).substr(0,d),P.update(c,"Limit reached"),b=P.keyCode(a)||a.code,8!=b&&46!=b&&37!=b&&39!=b&&P.stopEvent(a)):P.update(P.$(c),d-e+" characters left")}},LimitNotifier:function(a){P.Debug("Performer.LimitNotifier","function");var b=P.$(a);if(b&&("input"==P.nodeName(b)||"textarea"==P.nodeName(b))){var c=P.classNames(b),a=P.classParam(c,"lengthLimit",!1),c=
P.$(P.classParam(c,"targetEl",!1));if(!P.hasClassName(b,"prompter")&&a&&c)b=P.getValue(b).length,P.update(c,a-b+" characters left")}},Edit:function(a){P.Debug("Performer.Edit","function");var b=P.eventElement(a);if(b&&P.nodeName(b)&&P.getAttribute(b,"id")&&P.classNames(b)&&("click"==a.type||13==P.keyCode(a))){P.removeClassName(b,"editor");var c=P.classNames(b),d=P.classParam(c,"targetPage",!1),a=P.classParam(c,"targetElement",!1),e=P.classParam(c,"inputType","input"),c=P.classParam(c,"autosave",!1);
if(d&&e){var f=P.identify(b);b.innerHTML=P.BuildEditForm(b,d,e,a,c);P.unBind(b,"click",P.Edit);P.unBind(b,"keypress",P.Edit);var g=P.$(f+"-editor");!1!==c?P.bind(P.$(f+"-value"),"blur",function(){var a=P.serialize(g);P.addClassName(P.$(f+"-value"),"performerloading");P.Request(d,"post",a,function(){P.HideEditForm(b,!0)})}):P.bind(g,"submit",function(a){var c=P.serialize(g);P.addClassName(g,"performerloading");P.$(f+"-originaltext").innerHTML=P.$(f+"-value").value;P.Request(d,"post",c,function(){P.HideEditForm(b,
!0)});P.stopEvent(a)});P.$(f+"-value").focus();P.ReInit("#"+f)}}},BuildEditForm:function(a,b,c,d,e){P.Debug("Performer.BuildEditForm("+b+")","function");if(a&&P.nodeName(a)&&P.$(a)&&b){var f=P.identify(a),a=P.$(a).innerHTML,g;g='<form id="'+f+'-editor" class="performer-editor" action="'+b+'" method="post">\n';if(""==c||"input"==c)g+='<input type="text" id="'+f+'-value" name="'+f+'" value="'+a+'" />\n';"textarea"==c&&(g+='<textarea id="'+f+'-value" name="'+f+'" rows="6" cols="30">'+a+"</textarea>\n");
!1===e&&(g+='<input type="submit" id="'+f+'-save" name="'+f+'-save" value="Save" />\n<a href="#" class="uneditor targetEl-'+f+'">Cancel</a>\n',""!=d&&(g+='<span id="'+d+'"></span>\n'));g+='</form>\n<span style="display:none" id="'+f+'-originaltext">'+a+"</span>";P.Debug("-> Built form with action: "+b,"function");return g}},HideEditForm:function(a,b){P.Debug("Performer.HideEditForm","function");var c=P.identify(a);a.innerHTML=b?P.$(c+"-value").value:P.$(c+"-originaltext").innerHTML;P.bind(P.$(c),
"click",P.Edit);P.bind(P.$(c),"keypress",P.Edit)},UnEdit:function(a){P.Debug("Performer.UnEdit","function");var b=P.eventElement(a);if(b&&P.nodeName(b)&&("click"==a.type||13==P.keyCode(a))){var b=P.classNames(b),b=P.classParam(b,"targetEl",!1),c=P.$(b);if(c)P.bind(c,"click",P.Edit),P.bind(c,"keypress",P.Edit),c.innerHTML=P.$(b+"-originaltext").innerHTML,P.stopEvent(a)}},SetPrompt:function(a){P.Debug("Performer.SetPrompt","function");var b="placeholder"in document.createElement("input"),c=P.identify(a),
d=P.getAttribute(a,"title");if(b)P.setAttribute(a,"placeholder",d);else if(a&&P.nodeName(a)&&d&&""==a.value&&("textarea"==a.type||"text"==a.type))P.Debug("-> Setting prompt: "+d,"function"),P.addClassName(a,"performer-prompter"),a.value=P.getAttribute(a,"title"),(b=P.up("#"+c,"form"))&&P.bind(b,"submit",function(){P.ClearPrompt(a)},!1)},RemovePrompt:function(a){P.Debug("Performer.RemovePrompt","function");(a=P.eventElement(a))&&P.nodeName(a)&&P.ClearPrompt(a)},ClearPrompt:function(a){P.Debug("Performer.ClearPrompt",
"function");var b=P.getAttribute(a,"title");if(a&&P.nodeName(a)&&b&&a.value==b&&("textarea"==a.type||"text"==a.type))a.value="",P.removeClassName(a,"performer-prompter")},CheckPrompt:function(a){P.Debug("Performer.CheckPrompt","function");var a=P.eventElement(a),b=P.getAttribute(a,"title");P.identify(a);if(a&&P.nodeName(a)&&b&&""==a.value&&("textarea"==a.type||"text"==a.type))P.SetPrompt(a),a.value=P.getAttribute(a,"title")},Pop:function(a){P.Debug("Performer.Popper","function");var b=P.findEventElement(a,
"A"),c=P.classNames(b),d=P.classParam(c,"targetName",P.getAttribute(b,"rel"))?"":"popupwindow_"+P.increment(),c=P.classParam(c,"options",P.getAttribute(b,"rev"))?"":"scrollbars=yes,toolbar=yes,menubar=yes,location=yes,status=yes,directories=yes";if(b&&P.nodeName(b)&&P.getAttribute(b,"href")&&("click"==a.type||13==P.keyCode(a)))b=P.getAttribute(b,"href"),P.Debug("-> Opening: "+b+" with "+c,"function"),d=window.open(b,d,c),window.focus&&d.focus(),P.stopEvent(a)},Morph:function(a){P.Debug("Performer.Morpher",
"function");var b=P.eventOrElement(a),c=b.el,d=P.classNames(c),e=P.classParam(d,"targetEl",P.identify(c));c&&e&&P.$(e)&&(c=1E3*P.classParam(d,"delay",0),setTimeout(function(){var a=P.classParam(d,"duration",1);params=P.setupMorphProperties("lineHeight,margin,padding,width,height,opacity,fontSize,borderWidth,color,backgroundColor".split(","),d);P.animate(e,params,a)},c),b.stop&&P.stopEvent(a))},ToggleDebug:function(a){P.Debugging?(P.Debugging=!1,P.remove(P.$("performerjsdebugwrapper"))):(P.Debugging=
!0,P.PrepareDebug(),P.Debug());P.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<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<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>',
b=document.getElementsByTagName("body")[0],b=P.children(b);b.length&&(P.insertAfter(b[0],a),P.DoListeners("#performerjsdebugwrapper"))},Debug:function(a,b){if(P.Debugging){"undefined"!=typeof window.console&&"undefined"!=typeof window.console.debug&&("function"==b?console.debug(a):"subfunction"==b?console.debug("- "+a):"error"==b?console.error(a):"success"==b?console.info(a):"warning"==b?console.warn(a):"ajax"==b&&console.debug(a));var c="#000";"function"==b?c="#333":"subfunction"==b?c="#AAA":"error"==
b?c="#900":"success"==b?c="#090":"warning"==b?c="#FFA800":"ajax"==b&&(c="#4937DF");P.$("performerjsdebugbox")&&(P.$("performerjsoutput").innerHTML+='<p style="margin:0.1em 0;padding:0;color:'+c+'">'+a+"</p>\n")}},eventOrElement:function(a){var b={stop:!1};b.el=a;if(!a.innerHTML)b.el=P.eventElement(a),b.stop=!0;return b},hasClassName:function(a,b){if(!a||"undefined"==typeof a)return!1;if(P.Prototype||P.Scriptaculous)return a.hasClassName(b);if(P.jQuery)return jQuery(a).hasClass(b);if(P.MooTools)return $(a).hasClass(b)},
$:function(a){if("object"==typeof a)return a;if("undefined"==typeof a)return!1;if(P.Prototype||P.Scriptaculous)return $(a);if(P.MooTools)return $(a);if(P.jQuery)return jQuery("#"+a)[0]},$$:function(a){var b;if(P.Prototype||P.Scriptaculous)b=$$(a);P.MooTools&&(b=$$(a));P.jQuery&&(b=jQuery(a));return b&&0<b.length?b:!1},$F:function(a){var b=P.identify(a),c;if(P.Prototype||P.Scriptaculous)c=a.getElements();P.jQuery&&(c=jQuery("#"+b+" :input"));P.MooTools&&(c=$$("#"+b+" input","#"+b+" textarea","#"+b+
" select","#"+b+" button"));return c},nodeName:function(a){var b=!1;if(P.Prototype||P.Scriptaculous)b=a.nodeName.toLowerCase();P.MooTools&&(b=a.nodeName.toLowerCase());P.jQuery&&(b=a.tagName.toLowerCase());return!b||"undefined"==typeof b||"#document"==b?!1:b},getElementsByAttribute:function(a,b,c){a=c?a+"["+b+"='"+c+"']":a+"["+b+"]";if(P.Prototype||P.Scriptaculous)return document.getElementsBySelector(a);if(P.jQuery)return jQuery(a);if(P.MooTools)return document.getElements(a)},getValue:function(a){if(P.Prototype||
P.Scriptaculous)return a.getValue();if(P.jQuery)return jQuery(a).val();if(P.MooTools)return a.get("value")},setValue:function(a,b){if(P.Prototype||P.Scriptaculous)return a.value=b,a;if(P.jQuery)return jQuery(a).val(b);if(P.MooTools)return a.set("value",b)},up:function(a,b){if(P.Prototype||P.Scriptaculous)return a.up(b);if(P.jQuery)return jQuery(a).parent(b)[0];if(P.MooTools)return a.getParent(b)},serialize:function(a){if(P.Prototype||P.Scriptaculous)return a.serialize(!0);if(P.jQuery)return jQuery(a).serialize();
if(P.MooTools)return a.toQueryString()},update:function(a,b){if(P.Prototype||P.Scriptaculous)return a.update(b);if(P.jQuery)return jQuery(a).html(b);if(P.MooTools)return a.set("text",b)},insertAfter:function(a,b){if(P.Prototype||P.Scriptaculous)return new Insertion.After(a,b);if(P.jQuery)return jQuery(a).after(b);if(P.MooTools)return"<"!==b.trim().substr(0,1)&&(b="<span>"+b+"</span>"),(new Element("div",{html:b})).inject(a,"after")},increment:function(){P.Counter++;return P.Counter},identify:function(a){"string"==
typeof a&&(a=P.$(a));var b=P.getAttribute(a,"id");if(!b||""==b)b="anonymous_element_"+P.increment(),P.setAttribute(a,"id",b);return b},getAttribute:function(a,b){if(P.Prototype||P.Scriptaculous)return a.readAttribute(b);if(P.jQuery)return jQuery(a).attr(b);if(P.MooTools)return a.get(b)},setAttribute:function(a,b,c){if(P.Prototype||P.Scriptaculous)return a.writeAttribute(b,c);if(P.jQuery)return jQuery(a).attr(b,c);if(P.MooTools)return a.set(b,c)},removeAttribute:function(a,b){return a.removeAttribute(b)},
remove:function(a){P.Scriptaculous&&Effect.Fade(a,{duration:0.5});if(P.Prototype||P.Scriptaculous)return a.remove();if(P.jQuery)return jQuery(a).fadeOut("normal"),jQuery(a).remove();if(P.MooTools)return a.fade("out"),a.destroy()},children:function(a,b){"undefined"!=typeof b&&(b=b.replace("-"," "),a=P.$$(b));if(P.Prototype||P.Scriptaculous)return a.childElements();if(P.jQuery)return jQuery(a).children();if(P.MooTools)return a.getChildren()},ancestors:function(a){if(P.Prototype||P.Scriptaculous)return a.ancestors();
if(P.jQuery)return jQuery(a).parents();if(P.MooTools)return a.getParents()},classNames:function(a){var b=P.getAttribute(a,"class");if(b&&0<b.length){for(var a=[],b=b.split(/\s+/),c=b.length;c--;)0<b[c].length&&(a[a.length]=b[c]);return a}return[]},visible:function(a){"object"!=typeof a&&(a=P.$(a));if(P.Prototype||P.Scriptaculous)return a.visible();if(P.jQuery)return jQuery(a).is(":visible");if(P.MooTools)return"none"==a.getStyle("display")?!1:!0},addClassName:function(a,b){"object"!=typeof a&&(a=
P.$(a));if(P.Prototype||P.Scriptaculous)return a.addClassName(b);if(P.jQuery)return jQuery(a).addClass(b);if(P.MooTools)return $(a).addClass(b)},removeClassName:function(a,b){"object"!=typeof a&&(a=P.$(a));if(P.Prototype||P.Scriptaculous)return a.removeClassName(b);if(P.jQuery)return jQuery(a).removeClass(b);if(P.MooTools)return $(a).removeClass(b)},className:function(a,b){"object"!=typeof a&&(a=P.$(a));a.className=b},getShowEffect:function(a){"random"!=a&&0>P.ShowEffects.PerformerIndexOf(a)&&(a=
"fadein");"random"==a&&(a=P.ShowEffects[Math.floor(Math.random()*P.ShowEffects.length)]);return a},disableContext:function(a){(P.Prototype||P.Scriptaculous)&&P.bind(a,"contextmenu",function(a){a.stop()});P.jQuery&&P.bind(a,"contextmenu",function(){return!1});if(P.MooTools)return P.bind(a,"contextmenu",function(a){a.stop()})},doHide:function(a,b){"object"!=typeof a&&(a=P.$(P.identify(a)));if(P.Prototype)return a.hide();if(P.Scriptaculous){if(!b||-1==P.Effects.PerformerIndexOf(b))return a.hide();if("slideup"==
b)return Effect.Fade(a,{duration:0.5});if("slidedown"==b)return Effect.Appear(a,{duration:0.5});if("blinddown"==b)return Effect.BlindDown(a,{duration:0.5});if("blindup"==b)return Effect.BlindUp(a,{duration:0.5});if("fadein"==b)return Effect.Appear(a,{duration:0.5});if("fadeout"==b)return Effect.Fade(a,{duration:0.5})}if(P.jQuery){if(!b||-1==P.Effects.PerformerIndexOf(b))return jQuery(a).hide();if("slideup"==b||"blindup"==b)return jQuery(a).slideUp("normal");if("slidedown"==b||"blinddown"==b)return jQuery(a).slideDown("normal");
if("fadein"==b)return jQuery(a).fadeIn("normal");if("fadeout"==b)return jQuery(a).fadeOut("normal")}return P.MooTools?(a.fade("out"),a.setStyle("display","none"),a):!1},doShow:function(a,b){"object"!=typeof a&&(a=P.$(P.identify(a)));if(P.Prototype)return a.show();if(P.Scriptaculous){if(!b||-1==P.Effects.PerformerIndexOf(b))return a.show();if("slideup"==b)return Effect.Fade(a,{duration:0.5});if("slidedown"==b)return Effect.Appear(a,{duration:0.5});if("blinddown"==b)return Effect.BlindDown(a,{duration:0.5});
if("blindup"==b)return Effect.BlindUp(a,{duration:0.5});if("fadein"==b)return Effect.Appear(a,{duration:0.5});if("fadeout"==b)return Effect.Fade(a,{duration:0.5})}if(P.jQuery){if(!b||-1==P.Effects.PerformerIndexOf(b))return jQuery(a).show();if("slideup"==b||"blindup"==b)return jQuery(a).slideUp("normal");if("slidedown"==b||"blinddown"==b)return jQuery(a).slideDown("normal");if("fadein"==b)return jQuery(a).fadeIn("normal");if("fadeout"==b)return jQuery(a).fadeOut("normal")}return P.MooTools?(a.setStyle("display",
"block"),a.fade("in"),a):!1},Request:function(a,b,c,d){(P.Prototype||P.Scriptaculous)&&new Ajax.Request(a,{method:b,parameters:c,onSuccess:d});if(P.jQuery)return jQuery.ajax({type:b,url:a,data:c,success:d});if(P.MooTools)return a=new Request({method:b,url:a,data:c,onSuccess:d}),a.send(),a},getRequestText:function(a){var b=a;if(a.responseText)b=a.responseText;return b},eventElement:function(a){var b;if(!a)a=window.event;if(a.target)b=a.target;else if(a.srcElement)b=a.srcElement;return 3==b.nodeType?
b.parentNode:b},findEventElement:function(a,b){var c;if(P.Prototype||P.Scriptaculous)return Event.findElement(a,b);if(P.jQuery)return(c=P.eventElement(a))&&c.nodeName&&c.nodeName.toLowerCase()==b.toLowerCase()?c:jQuery(c).parents(b)[0];if(P.MooTools)return(c=P.eventElement(a))&&c.nodeName&&c.nodeName.toLowerCase()==b.toLowerCase()?c:$(c).getParent(b)},domLoaded:function(a){(P.Prototype||P.Scriptaculous)&&P.bind(document,"dom:loaded",a);if(P.jQuery)return jQuery(document).ready(a);if(P.MooTools)return P.bind(window,
"domready",a)},bind:function(a,b,c){(P.Prototype||P.Scriptaculous)&&Event.observe(a,b,c);if(P.jQuery)return jQuery(a).bind(b,c);if(P.MooTools)return $(a).addEvent(b,c)},unBind:function(a,b,c){(P.Prototype||P.Scriptaculous)&&Event.stopObserving(a,b,c);if(P.jQuery)return jQuery(a).unbind(b,c);if(P.MooTools)return $(a).removeEvent(b,c)},stopEvent:function(a){if(P.Prototype||P.Scriptaculous)return a.preventDefault(),a.stopPropagation(),Event.stop(a),!1;if(P.jQuery)return a.preventDefault(),a.stopPropagation(),
!1;P.MooTools&&a.stop();return!1},stopPropagation:function(a){a.stopPropagation();return!1},getDimensions:function(a){var b;if(P.Prototype||P.Scriptaculous)return a.getDimensions();b={};if(P.jQuery)b.height=jQuery(a).outerHeight(),b.width=jQuery(a).outerWidth();if(P.MooTools)a=a.getSize(),b.height=a.y,b.width=a.x;return b},setStyle:function(a,b){if(P.Prototype||P.Scriptaculous)return a.setStyle(b);P.jQuery&&jQuery(a).css(b);P.MooTools&&$(a).setStyles(b)},animate:function(a,b,c){var d=P.identify(a);
"object"!=typeof a&&(a=P.$(d));P.Scriptaculous&&$(d).morph(b,{duration:c});P.Prototype&&$(d).setStyle(b);P.jQuery&&(c*=1E3,jQuery(a).animate(b,c));P.MooTools&&(new Fx.Morph(d,{duration:1E3*c,transition:Fx.Transitions.Sine.easeOut})).start(b)},setupMorphProperties:function(a,b){var c,d,e,f,g=P.classParam;if(P.Scriptaculous||P.Prototype){d="";for(e=0,f=a.length;e<f;e++){c=g(b,a[e],!1);var h=a[e],h=h.replace("backgroundColor","background"),h=h.replace("fontSize","font-size"),h=h.replace("borderWidth",
"border-width"),h=h.replace("lineHeight","line-height");c=P.fixCSSParam(h,c);d+=h+": "+c+"; "}}else{d={};for(e=0,f=a.length;e<f;e++)c=g(b,a[e],!1),!1!==c&&(d[a[e]]=c.replace("px",""))}return d},fixCSSParam:function(a,b){if(("line-height"==a||"border-width"==a||"font-size"==a||"padding"==a||"margin"==a)&&"string"==typeof b){var c=b.substring(b.length-2).toLowerCase();if("px"!=c&&"em"!=c&&"pt"!=c)return b+"px"}return b},keyCode:function(a){return window.event?window.event.keyCode:a?a.which:!1},cursorPosition:function(a){if(P.MooTools)return a=
new Event(a),[a.page.x,a.page.y];var b=0,c=0;if(!a)a=window.event;if(a.pageX||a.pageY)b=a.pageX,c=a.pageY;else if(a.clientX||a.clientY)var c=document.documentElement,d=document.body,b=a.clientX+d.scrollLeft+c.scrollLeft,c=a.clientY+d.scrollTop+c.scrollTop;return[b,c]},elementPosition:function(a){var b=0,c=0;if(a.offsetParent){do b+=a.offsetLeft,c+=a.offsetTop;while(a=a.offsetParent);return[b,c]}},forEach:function(a,b){for(var c=0,d=a.length;c<d;c++)b.call(a[c],a[c],a)},trim:function(a){return a.replace(/^\s\s*/,
"").replace(/\s\s*$/,"")},alertProperties:function(a){var b="",c;for(c in a)b+=c+": "+a[c]+"\n";P.createModal(!0,!0,6,"performermodalouter","performermodalinner",100,100,!0);P.$("performer_modal").innerHTML='<pre style="width: 100%; height: 100%">'+b+"</pre>"}};Array.prototype.PerformerIndexOf="function"==typeof Array.prototype.indexOf?Array.prototype.indexOf:function(a,b){b||(b=0);var c=this.length;for(0>b&&(b=c+b);b<c;b++)if(this[b]===a)return b;return-1};var P=Performer;P.Performer();
P.jQuery&&function(a){function b(a){var b;return a&&a.constructor==Array&&3==a.length?a:(b=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(a))?[parseInt(b[1]),parseInt(b[2]),parseInt(b[3])]:(b=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(a))?[2.55*parseFloat(b[1]),2.55*parseFloat(b[2]),2.55*parseFloat(b[3])]:(b=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))?[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],
16)]:(b=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(a))?[parseInt(b[1]+b[1],16),parseInt(b[2]+b[2],16),parseInt(b[3]+b[3],16)]:c[P.trim(a).toLowerCase()]}a.each(["backgroundColor","color"],function(c,e){a.fx.step[e]=function(c){if(0==c.state){var d;d=c.elem;var h=e,i;do{i=a.curCSS(d,h);if(""!=i&&"transparent"!=i||a.nodeName(d,"body"))break;h="backgroundColor"}while(d=d.parentNode);d=b(i);c.start=d;c.end=b(c.end)}c.elem.style[e]="rgb("+[Math.max(Math.min(parseInt(c.pos*(c.end[0]-c.start[0])+c.start[0]),
255),0),Math.max(Math.min(parseInt(c.pos*(c.end[1]-c.start[1])+c.start[1]),255),0),Math.max(Math.min(parseInt(c.pos*(c.end[2]-c.start[2])+c.start[2]),255),0)].join()+")"}});var c={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,
204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],
white:[255,255,255],yellow:[255,255,0]}}(jQuery);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;\tpadding: 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; }\t.password-strong { color: #0C0; } .performer-pagination { text-align: right; } .performer-pagination li { display: inline; } .performer-pagination li a { padding: 0.3em; } .performer-pagination .currentpage { font-weight: bold; } .performer-error { color: #C00; }</style>');
