function searchchecker(a){if((a.value.test(/\./))||(a.value=="City or Zip")){a.errors.push("Please enter a city or zipcode");return false}else{return true}}var navArrowSlider=function(f,c,g,i,a){var b=new Fx.Tween($(f,g),{duration:1200,transition:Fx.Transitions.Elastic.easeOut});var d=$(g);var e=d.getFirst("span");e.setStyle("color","#dd0055");$(f).addEvents({mouseover:function(){}});$$(c).each(function(k){var j=k.getProperty("id");k.addEvents({mouseover:function(){var l=k.getPosition(f).x+k.getSize().x-a;if(j==g){e.tween("color","#dd0055")}else{e.tween("color","#ffffff")}b.cancel();b.start("background-position",l+"px "+i+"px");$(k).tween("color","#dd0055")},mouseleave:function(){h();$(k).tween("color","#ffffff")}})});var h=function(){b.cancel();var j=$(g).getPosition(f).x+$(g).getSize().x-a;b.start("background-position",j+"px "+i+"px");e.tween("color","#dd0055")};window.addEvent("resize",h);$(f).addEvent("mouseleave",h);h()};window.addEvent("domready",function(){var a=null;a=new FormCheck("search");navArrowSlider("nav_wrap","#nav_wrap ul li a","active_nav","0","90");var b=$("active_nav").getPosition("nav_wrap").x+$("active_nav").getSize().x-90;$("nav_wrap").set("background-position",b+"px 0px")});var FormCheck=new Class({Implements:[Options,Events],options:{tipsClass:"fc-tbx",errorClass:"fc-error",fieldErrorClass:"fc-field-error",submit:true,submitAction:false,submitMethod:false,trimValue:false,validateDisabled:false,submitByAjax:false,ajaxResponseDiv:false,ajaxEvalScripts:false,onAjaxRequest:$empty,onAjaxComplete:$empty,onAjaxSuccess:$empty,onAjaxFailure:$empty,onSubmit:$empty,onValidateSuccess:$empty,onValidateFailure:$empty,display:{showErrors:0,titlesInsteadNames:0,errorsLocation:1,indicateErrors:1,indicateErrorsInit:0,keepFocusOnError:0,checkValueIfEmpty:1,addClassErrorToField:0,removeClassErrorOnTipClosure:0,fixPngForIe:1,replaceTipsEffect:1,flashTips:0,closeTipsButton:0,tipsPosition:"right",tipsOffsetX:0.5,tipsOffsetY:0,listErrorsAtTop:false,scrollToFirst:true,fadeDuration:300},alerts:{required:"Please complete this mandatory field.",alpha:"This field accepts alphabetic characters only.",alphanum:"This field accepts alphanumeric characters only.",nodigit:"No digits are accepted.",digit:"Please enter a valid integer.",digitltd:"The value must be between %0 and %1",number:"Please enter a valid number.",email:"Please enter a valid email.",image:"This field should only contain image types",phone:"Please enter a valid phone.",phone_inter:"Please enter a valid international phone number.",url:"Please enter a valid url.",confirm:"This field is different from %0",differs:"This value must be different of %0",length_str:"The length is incorrect, it must be between %0 and %1",length_fix:"The length is incorrect, it must be exactly %0 characters",lengthmax:"The length is incorrect, it must be at max %0",lengthmin:"The length is incorrect, it must be at least %0",words_min:"This field must concain at least %0 words, currently: %1 words",words_range:"This field must contain %0-%1 words, currently: %2 words",words_max:"This field must contain at max %0 words, currently: %1 words",checkbox:"Please check the box",checkboxes_group:"Please check at least %0 box(es)",radios:"Please select a radio",select:"Please choose a value",select_multiple:"Please choose at least one value"},regexp:{required:/[^.*]/,alpha:/^[a-z ._-]+$/i,alphanum:/^[a-z0-9 ._-]+$/i,digit:/^[-+]?[0-9]+$/,nodigit:/^[^0-9]+$/,number:/^[-+]?\d*\.?\d+$/,email:/^([a-zA-Z0-9_\.\-\+%])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,image:/.(jpg|jpeg|png|gif|bmp)$/i,phone:/^\+{0,1}[0-9 \(\)\.\-]+$/,phone_inter:/^\+{0,1}[0-9 \(\)\.\-]+$/,url:/^(http|https|ftp)\:\/\/[a-z0-9\-\.]+\.[a-z]{2,3}(:[a-z0-9]*)?\/?([a-z0-9\-\._\?\,\'\/\\\+&amp;%\$#\=~])*$/i}},initialize:function(b,a){if(this.form=$(b)){this.form.isValid=true;this.regex=["length"];this.groups={};if(typeof(formcheckLanguage)!="undefined"){this.options.alerts=$merge(this.options.alerts,formcheckLanguage)}this.setOptions(a);this.form.setProperty("action",this.options.submitAction||this.form.getProperty("action")||"post");this.form.setProperty("method",this.options.submitMethod||this.form.getProperty("method")||"");this.validations=[];this.alreadyIndicated=false;this.firstError=false;$H(this.options.regexp).each(function(d,c){this.regex.push(c)},this);this.form.getElements("*[class*=validate]").each(function(c){this.register(c)},this);this.form.addEvents({submit:this.onSubmit.bind(this)});if(this.options.display.fixPngForIe){this.fixIeStuffs()}document.addEvent("mousewheel",function(){this.isScrolling=false}.bind(this));if(this.options.display.indicateErrorsInit){this.validations.each(function(c){if(!this.manageError(c,"submit")){this.form.isValid=false}},this)}}},register:function(el,position){el.validation=[];el.getProperty("class").split(" ").each(function(classX){if(classX.match(/^validate(\[.+\])$/)){var valid=true;var validators=eval(classX.match(/^validate(\[.+\])$/)[1]);for(var i=0;i<validators.length;i++){el.validation.push(validators[i]);if(validators[i].match(/^confirm:/)){var field=validators[i].match(/.+:(.+)$/)[1];if(this.form[field].validation.contains("required")){el.validation.push("required")}}if(validators[i].match(/^target:.+/)){el.target=validators[i].match(/^target:(.+)/)[1]}}el.isChild=this.isChildType(el,validators);if(el.isChild&&el.type=="radio"){this.validations.each(function(registeredEl){if(registeredEl.name==el.name){valid=false}},this)}if(el.isChild&&el.type=="checkbox"){this.validations.each(function(registeredEl){if(registeredEl.groupID==el.groupID){valid=false}},this)}if(position&&position<=this.validations.length){var newValidations=[];this.validations.each(function(valider,i){if(position==i+1&&valid){newValidations.push(el);this.addListener(el)}newValidations.push(valider)},this);this.validations=newValidations}else{if(valid){this.validations.push(el);this.addListener(el)}}}},this)},dispose:function(a){this.validations.erase(a)},addListener:function(b){b.errors=[];if(b.validation[0]=="submit"){b.addEvent("click",function(c){new Event(c).stop();if(this.onSubmit(c)){this.form.submit()}}.bind(this));return true}if(!b.isChild){b.addEvent("blur",function(){if(!this.fxRunning&&(b.element||this.options.display.showErrors==1)&&(this.options.display.checkValueIfEmpty||b.value)){this.manageError(b,"blur")}}.bind(this))}else{if(b.isChild&&b.type=="radio"){var a=this.form.getElements('input[name="'+b.getProperty("name")+'"]');a.each(function(c){c.addEvent("blur",function(){if(!this.fxRunning&&(b.element||this.options.display.showErrors==1)&&(this.options.display.checkValueIfEmpty||b.value)){this.manageError(b,"click")}}.bind(this))},this)}}},manageError:function(a,c){var b=this.validate(a);if(c=="testonly"){return b}if((!b&&a.validation.contains("required"))||(a.value&&!b)){if(this.options.display.listErrorsAtTop&&c=="submit"){this.listErrorsAtTop(a)}if(this.options.display.indicateErrors==2||this.alreadyIndicated==false||a==this.alreadyIndicated){if(!this.firstError){this.firstError=a}this.alreadyIndicated=a;if(this.options.display.keepFocusOnError&&a==this.firstError){(function(){a.focus()}).delay(10)}this.addError(a);return false}}else{if((b||(!a.validation.contains("required")&&!a.value))){this.removeError(a);return true}}return true},validate:function(el){el.errors=[];el.isOk=true;if(!this.options.validateDisabled&&el.get("disabled")){return true}if(this.options.trimValue&&el.value){el.value=el.value.trim()}el.validation.each(function(rule){if(el.isChild){if(!this.validateGroup(el)){el.isOk=false}}else{var ruleArgs=[];if(rule.match(/target:.+/)){return}var ruleMethod=rule;if(rule.match(/^.+\[/)){ruleMethod=rule.split("[")[0];ruleArgs=eval(rule.match(/^.+(\[.+\])$/)[1].replace(/([A-Z0-9\._-]+)/i,"'$1'"))}if(this.regex.contains(ruleMethod)&&el.get("tag")!="select"){if(this.validateRegex(el,ruleMethod,ruleArgs)==false){el.isOk=false}}if(rule.match(/confirm:.+/)){ruleArgs=[rule.match(/.+:(.+)$/)[1]];if(this.validateConfirm(el,ruleArgs)==false){el.isOk=false}}if(rule.match(/differs:.+/)){ruleArgs=[rule.match(/.+:(.+)$/)[1]];if(this.validateDiffers(el,ruleArgs)==false){el.isOk=false}}if(ruleMethod=="words"){if(this.validateWords(el,ruleArgs)==false){el.isOk=false}}if(ruleMethod=="required"&&(el.get("tag")=="select"||el.type=="checkbox")){if(this.simpleValidate(el)==false){el.isOk=false}}if(rule.match(/%[A-Z0-9\._-]+$/i)||(el.isOk&&rule.match(/~[A-Z0-9\._-]+$/i))){if(eval(rule.slice(1)+"(el)")==false){el.isOk=false}}}},this);return(el.isOk)?true:false},simpleValidate:function(b){if(b.get("tag")=="select"){if(!b.multiple){if(b.selectedIndex<=0){b.errors.push(this.options.alerts.select);return false}}else{var a=false;b.getChildren("option").each(function(c){if(c.selected){a=true}});if(!a){b.errors.push(this.options.alerts.select_multiple);return false}}}else{if(b.type=="checkbox"&&b.checked==false){b.errors.push(this.options.alerts.checkbox);return false}}return true},validateRegex:function(c,b,d){var e="";if(b=="length"&&d[1]){if(d[1]==-1){this.options.regexp.length=new RegExp("^[\\s\\S]{"+d[0]+",}$");e=this.options.alerts.lengthmin.replace("%0",d[0])}else{if(d[0]==d[1]){this.options.regexp.length=new RegExp("^[\\s\\S]{"+d[0]+"}$");e=this.options.alerts.length_fix.replace("%0",d[0])}else{this.options.regexp.length=new RegExp("^[\\s\\S]{"+d[0]+","+d[1]+"}$");e=this.options.alerts.length_str.replace("%0",d[0]).replace("%1",d[1])}}}else{if(d[0]&&b=="length"){this.options.regexp.length=new RegExp("^.{0,"+d[0]+"}$");e=this.options.alerts.lengthmax.replace("%0",d[0])}else{e=this.options.alerts[b]}}if((b=="digit"||b=="number")&&d[1]){var f,a=true;if(!this.options.regexp[b].test(c.value)){c.errors.push(this.options.alerts[b]);a=false}if(d[1]==-1){f=(c.value.toFloat()>=d[0].toFloat());e=this.options.alerts.digitmin.replace("%0",d[0])}else{f=(c.value.toFloat()>=d[0].toFloat()&&c.value.toFloat()<=d[1].toFloat());e=this.options.alerts.digitltd.replace("%0",d[0]).replace("%1",d[1])}if(a==false||f==false){c.errors.push(e);return false}}else{if(this.options.regexp[b].test(c.value)==false){c.errors.push(e);return false}}return true},validateConfirm:function(b,c){var a=c[0];if(b.value!=this.form[a].value){var d=(this.options.display.titlesInsteadNames)?this.options.alerts.confirm.replace("%0",this.form[a].getProperty("title")):this.options.alerts.confirm.replace("%0",a);b.errors.push(d);return false}return true},validateDiffers:function(a,c){var b=c[0];if(a.value==this.form[b].value){var d=(this.options.display.titlesInsteadNames)?this.options.alerts.differs.replace("%0",this.form[b].getProperty("title")):this.options.alerts.differs.replace("%0",b);a.errors.push(d);return false}return true},validateWords:function(c,d){var b=d[0];var a=d[1];var e=c.value.replace(/[ \t\v\n\r\f\p]/m," ").replace(/[,.;:]/g," ").clean().split(" ");if(a==-1){if(e.length<b){c.errors.push(this.options.alerts.words_min.replace("%0",b).replace("%1",e.length));return false}}else{if(b>0){if(e.length<b||e.length>a){c.errors.push(this.options.alerts.words_range.replace("%0",b).replace("%1",a).replace("%2",e.length));return false}}else{if(e.length>a){c.errors.push(this.options.alerts.words_max.replace("%0",a).replace("%1",e.length));return false}}}return true},isFormValid:function(){this.form.isValid=true;this.validations.each(function(b){var a=this.manageError(b,"testonly");if(!a){this.form.isValid=false}},this);return this.form.isValid},isChildType:function(el,validators){var validator;if($defined(el.type)&&el.type=="radio"){return true}else{if(validator=validators.join().match(/group(\[.*\])/)){var group=eval(validator[1]);this.groups[group[0]]=this.groups[group[0]]||[];this.groups[group[0]][0]=this.groups[group[0]][0]||[];this.groups[group[0]][1]=group[1]||this.groups[group[0]][1]||1;this.groups[group[0]][0].push(el);el.groupID=group[0];return true}}return false},validateGroup:function(d){d.errors=[];if(d.type=="radio"){var a=this.form[d.getProperty("name")];d.group=a;var c=false;for(var b=0;b<a.length;b++){if(a[b].checked){c=true}}if(c==false){d.errors.push(this.options.alerts.radios);return false}else{return true}}else{if(d.type=="checkbox"){var e=0;this.groups[d.groupID][0].each(function(f){if(f.checked){e++}});if(e>=this.groups[d.groupID][1]){return true}else{(this.groups[d.groupID][0].length>1)?d.errors.push(this.options.alerts.checkboxes_group.replace("%0",this.groups[d.groupID][1])):d.errors.push(this.options.alerts.checkbox);return false}}else{return false}}},listErrorsAtTop:function(a){if(!this.form.element){this.form.element=new Element("div",{id:"errorlist","class":this.options.errorClass}).injectTop(this.form)}if($type(a)=="collection"){new Element("p").set("html","<span>"+a[0].name+" : </span>"+a[0].errors[0]).injectInside(this.form.element)}else{if((a.validation.contains("required")&&a.errors.length>0)||(a.errors.length>0&&a.value&&a.validation.contains("required")==false)){a.errors.each(function(b){new Element("p").set("html","<span>"+a.name+" : </span>"+b).injectInside(this.form.element)},this)}}window.fireEvent("resize")},addError:function(d){var e=d.target?$(d.target).getCoordinates():d.getCoordinates();var a=d.getSize();if(!d.element&&this.options.display.indicateErrors!=0){if(this.options.display.errorsLocation==1){var g=(this.options.display.tipsPosition=="right")?e.left:e.right;var i={opacity:0,position:"absolute","float":"left",left:g};d.element=new Element("div",{"class":this.options.tipsClass,styles:i}).injectInside(document.body);var b=d.element.getSize();var c=(a.x-b.x);this.addPositionEvent(d)}else{if(this.options.display.errorsLocation==2){d.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}}).injectBefore(d)}else{if(this.options.display.errorsLocation==3){d.element=new Element("div",{"class":this.options.errorClass,styles:{opacity:0}});if($type(d.group)=="object"||$type(d.group)=="collection"){d.element.injectAfter(d.group[d.group.length-1])}else{d.element.injectAfter(d)}}}}}if(d.element&&d.element!=true){d.element.empty();if(this.options.display.errorsLocation==1){var h=[];d.errors.each(function(j){h.push(new Element("p").set("html",j))});var f=this.makeTips(h).injectInside(d.element);if(this.options.display.closeTipsButton){f.getElements("a.close").addEvent("mouseup",function(){this.removeError(d,"tip")}.bind(this))}d.element.setStyle("top",e.top-f.getCoordinates().height+this.options.display.tipsOffsetY)}else{d.errors.each(function(j){new Element("p").set("html",j).injectInside(d.element)})}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation<2){d.element.setStyle("opacity",1)}else{d.fx=new Fx.Tween(d.element,{duration:this.options.display.fadeDuration,ignore:true,onStart:function(){this.fxRunning=true}.bind(this),onComplete:function(){this.fxRunning=false;if(d.element&&d.element.getStyle("opacity").toInt()==0){d.element.destroy();d.element=false}}.bind(this)});if(d.element.getStyle("opacity").toInt()!=1){d.fx.start("opacity",1)}}}if(this.options.display.addClassErrorToField&&!d.isChild){d.addClass(this.options.fieldErrorClass);d.element=d.element||true}},addPositionEvent:function(a){if(this.options.display.replaceTipsEffect){a.event=function(){var b=a.target?$(a.target).getCoordinates():a.getCoordinates();new Fx.Morph(a.element,{duration:this.options.display.fadeDuration}).start({left:[a.element.getStyle("left"),b.right+this.options.display.tipsOffsetX],top:[a.element.getStyle("top"),b.top-a.element.getCoordinates().height+this.options.display.tipsOffsetY]})}.bind(this)}else{a.event=function(){var b=a.target?$(a.target).getCoordinates():a.getCoordinates();a.element.setStyles({left:b.right+this.options.display.tipsOffsetX,top:b.top-a.element.getCoordinates().height+this.options.display.tipsOffsetY})}.bind(this)}window.addEvent("resize",a.event)},removeError:function(a,b){if((this.options.display.addClassErrorToField&&!a.isChild&&this.options.display.removeClassErrorOnTipClosure)||(this.options.display.addClassErrorToField&&!a.isChild&&!this.options.display.removeClassErrorOnTipClosure&&b!="tip")){a.removeClass(this.options.fieldErrorClass)}if(!a.element){return}this.alreadyIndicated=false;a.errors=[];a.isOK=true;window.removeEvent("resize",a.event);if(this.options.display.errorsLocation>=2&&a.element){new Fx.Tween(a.element,{duration:this.options.display.fadeDuration}).start("height",0)}if(!this.options.display.fadeDuration||Browser.Engine.trident&&Browser.Engine.version==5&&this.options.display.errorsLocation==1&&a.element){this.fxRunning=true;a.element.destroy();a.element=false;(function(){this.fxRunning=false}.bind(this)).delay(200)}else{if(a.element&&a.element!=true){a.fx.start("opacity",0)}}},focusOnError:function(b){if(this.options.display.scrollToFirst&&!this.alreadyFocused&&!this.isScrolling){var a;if(!this.options.display.indicateErrors||!this.options.display.errorsLocation){a=b.getCoordinates().top-30}else{switch(this.options.display.errorsLocation){case 1:a=b.element.getCoordinates().top;break;case 2:a=b.element.getCoordinates().top-30;break;case 3:a=b.getCoordinates().top-30;break}this.isScrolling=true}if(window.getScroll().y!=a){new Fx.Scroll(window,{onComplete:function(){this.isScrolling=false;if(b.getProperty("type")!="hidden"){b.focus()}}.bind(this)}).start(0,a)}else{this.isScrolling=false;b.focus()}this.alreadyFocused=true}},fixIeStuffs:function(){if(Browser.Engine.trident4){var f=new RegExp("url\\(([.a-zA-Z0-9_/:-]+.png)\\)");var h=new RegExp("(.+)formcheck.css");for(var c=0;c<document.styleSheets.length;c++){if(document.styleSheets[c].href.match(/formcheck\.css$/)){var e=document.styleSheets[c].href.replace(h,"$1");var d=document.styleSheets[c].rules.length;for(var b=0;b<d;b++){var k=document.styleSheets[c].rules[b].style;var g=e+k.backgroundImage.replace(f,"$1");if(g&&g.match(/\.png/i)){var a=(k.backgroundRepeat=="no-repeat")?"crop":"scale";k.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='"+g+"', sizingMethod='"+a+"')";k.backgroundImage="none"}}}}}},makeTips:function(c){var e=new Element("table");e.cellPadding="0";e.cellSpacing="0";e.border="0";var d=new Element("tbody").injectInside(e);var b=new Element("tr").injectInside(d);new Element("td",{"class":"tl"}).injectInside(b);new Element("td",{"class":"t"}).injectInside(b);new Element("td",{"class":"tr"}).injectInside(b);var h=new Element("tr").injectInside(d);new Element("td",{"class":"l"}).injectInside(h);var a=new Element("td",{"class":"c"}).injectInside(h);var g=new Element("div",{"class":"err"}).injectInside(a);c.each(function(i){i.injectInside(g)});if(this.options.display.closeTipsButton){new Element("a",{"class":"close"}).injectInside(a)}new Element("td",{"class":"r"}).injectInside(h);var f=new Element("tr").injectInside(d);new Element("td",{"class":"bl"}).injectInside(f);new Element("td",{"class":"b"}).injectInside(f);new Element("td",{"class":"br"}).injectInside(f);return e},reinitialize:function(a){this.validations.each(function(b){if(b.element){b.errors=[];b.isOK=true;if(this.options.display.flashTips==1||a=="forced"){b.element.destroy();b.element=false}}},this);if(this.form.element){this.form.element.empty()}this.alreadyFocused=false;this.firstError=false;this.elementToRemove=this.alreadyIndicated;this.alreadyIndicated=false;this.form.isValid=true},submitByAjax:function(){this.fireEvent("ajaxRequest");new Request({url:this.form.action,method:this.form.method,data:this.form.toQueryString(),evalScripts:this.options.ajaxEvalScripts,onFailure:function(a){this.fireEvent("ajaxFailure",a)}.bind(this),onComplete:function(a){this.fireEvent("ajaxComplete",a)}.bind(this),onSuccess:function(a){this.fireEvent("ajaxSuccess",a);if(this.options.ajaxResponseDiv){$(this.options.ajaxResponseDiv).set("html",a)}}.bind(this)}).send();return false},onSubmit:function(a){this.reinitialize();this.fireEvent("onSubmit");this.validations.each(function(c){var b=this.manageError(c,"submit");if(!b){this.form.isValid=false}},this);if(this.form.isValid){this.fireEvent("validateSuccess");return(this.options.submitByAjax)?this.submitByAjax():this.options.submit}else{if(this.elementToRemove&&this.elementToRemove!=this.firstError&&this.options.display.indicateErrors==1){this.removeError(this.elementToRemove)}this.focusOnError(this.firstError);this.fireEvent("validateFailure");return false}}});var SqueezeBox={presets:{size:{x:600,y:450},sizeLoading:{x:200,y:150},marginInner:{x:20,y:20},marginImage:{x:50,y:75},handler:false,target:null,closable:true,closeBtn:true,zIndex:65555,overlayOpacity:0.7,classWindow:"",classOverlay:"",overlayFx:{},resizeFx:{},contentFx:{},parse:false,parseSecure:false,ajaxOptions:{},onOpen:$empty,onClose:$empty,onUpdate:$empty,onResize:$empty,onMove:$empty,onShow:$empty,onHide:$empty},initialize:function(a){if(this.options){return this}this.presets=$merge(this.presets,a);this.options={};this.setOptions(this.presets).build();this.bound={window:this.reposition.bind(this,[null]),scroll:this.checkTarget.bind(this),close:this.close.bind(this),key:this.onKey.bind(this)};this.isOpen=this.isLoading=false;return this},build:function(){this.overlay=new Element("div",{id:"sbox-overlay",styles:{display:"none",zIndex:this.options.zIndex}});this.content=new Element("div",{id:"sbox-content"});this.closeBtn=new Element("a",{id:"sbox-btn-close",href:"#"});this.win=new Element("div",{id:"sbox-window",styles:{display:"none",zIndex:this.options.zIndex+2}}).adopt(this.closeBtn,this.content);this.fx={overlay:new Fx.Tween(this.overlay,$merge({property:"opacity",onStart:Events.prototype.clearChain,duration:250,link:"cancel"},this.options.overlayFx)).set(0),win:new Fx.Morph(this.win,$merge({onStart:Events.prototype.clearChain,unit:"px",duration:750,transition:Fx.Transitions.Quint.easeOut,link:"cancel",unit:"px"},this.options.resizeFx)),content:new Fx.Tween(this.content,$merge({property:"opacity",duration:250,link:"cancel"},this.options.contentFx)).set(0)};$(document.body).adopt(this.overlay,this.win)},assign:function(b,a){return b.addEvent("click",function(){return !SqueezeBox.fromElement(this,a)})},fromElement:function(e,b){this.initialize();if(this.element){this.trash()}this.element=$(e);this.setOptions($merge(this.presets,b||{}));if(this.element&&this.options.parse){var d=this.element.getProperty(this.options.parse);if(d&&(d=JSON.decode(d,this.options.parseSecure))){this.setOptions(d)}}this.assignOptions();this.url=((this.element)?(this.options.url||this.element.get("href")):e)||"";var c=this.options.handler;if(c){return this.setContent(c,this.parsers[c].call(this,true))}var a=false;this.parsers.some(function(h,f){var g=h.call(this);if(g){a=this.setContent(f,g);return true}return false},this);return a},assignOptions:function(){this.overlay.set("class",this.options.classOverlay);this.win.set("class",this.options.classWindow);if(Browser.Engine.trident4){this.win.addClass("sbox-window-ie6")}},close:function(b){var a=($type(b)=="event");if(a){b.stop()}if(!this.isOpen||(a&&!$lambda(this.options.closable).call(this,b))){return this}this.fx.overlay.start(0).chain(this.toggleOverlay.bind(this));this.win.setStyle("display","none");this.trash();this.toggleListeners();this.isOpen=false;this.fireEvent("onClose",[this.content]);return this},trash:function(){this.element=this.asset=null;this.options={};this.removeEvents().setOptions(this.presets).callChain()},onError:function(){this.asset=null;this.setContent("string","Error during loading")},setContent:function(a,b){if(!this.handlers[a]){return false}this.content.className="sbox-content-"+a;this.applyTimer=this.applyContent.delay(this.fx.overlay.options.duration,this,this.handlers[a].call(this,b));if(this.overlay.retrieve("opacity")){return this}this.toggleOverlay(true);this.fx.overlay.start(this.options.overlayOpacity);return this.reposition()},applyContent:function(b,a){this.applyTimer=$clear(this.applyTimer);this.hideContent();if(!b){this.toggleLoading(true)}else{if(this.isLoading){this.toggleLoading(false)}this.fireEvent("onUpdate",[this.content],20)}this.content.empty();if(["string","array",false].contains($type(b))){this.content.set("html",b||"")}else{this.content.adopt(b)}this.callChain();if(!this.isOpen){this.toggleListeners(true);this.resize(a,true);this.isOpen=true;this.fireEvent("onOpen",[this.content])}else{this.resize(a)}},resize:function(c,b){var d=document.getSize(),a=document.getScroll();this.size=$merge((this.isLoading)?this.options.sizeLoading:this.options.size,c);var e={width:this.size.x,height:this.size.y,left:(a.x+(d.x-this.size.x-this.options.marginInner.x)/2).toInt(),top:(a.y+(d.y-this.size.y-this.options.marginInner.y)/2).toInt()};$clear(this.showTimer||null);this.hideContent();if(!b){this.fx.win.start(e).chain(this.showContent.bind(this))}else{this.win.setStyles(e).setStyle("display","");this.showTimer=this.showContent.delay(50,this)}return this.reposition()},toggleListeners:function(b){var a=(b)?"addEvent":"removeEvent";this.closeBtn[a]("click",this.bound.close);this.overlay[a]("click",this.bound.close);document[a]("keydown",this.bound.key)[a]("mousewheel",this.bound.scroll);window[a]("resize",this.bound.window)[a]("scroll",this.bound.window)},toggleLoading:function(a){this.isLoading=a;this.win[(a)?"addClass":"removeClass"]("sbox-loading");if(a){this.fireEvent("onLoading",[this.win])}},toggleOverlay:function(a){this.overlay.setStyle("display",(a)?"":"none");$(document.body)[(a)?"addClass":"removeClass"]("body-overlayed")},showContent:function(){if(this.content.get("opacity")){this.fireEvent("onShow",[this.win])}this.fx.content.start(1)},hideContent:function(){if(!this.content.get("opacity")){this.fireEvent("onHide",[this.win])}this.fx.content.set(0)},onKey:function(a){switch(a.key){case"esc":this.close(a);case"up":case"down":return false}},checkTarget:function(a){return this.content.hasChild(a.target)},reposition:function(){var b=document.getSize(),a=document.getScroll();this.overlay.setStyles({left:a.x+"px",top:a.y+"px",width:b.x+"px",height:b.y+"px"});this.win.setStyles({left:(a.x+(b.x-this.win.offsetWidth)/2).toInt()+"px",top:(a.y+(b.y-this.win.offsetHeight)/2).toInt()+"px"});return this.fireEvent("onMove",[this.overlay,this.win])},removeEvents:function(a){if(!this.$events){return this}if(!a){this.$events=null}else{if(this.$events[a]){this.$events[a]=null}}return this},extend:function(a){return $extend(this,a)},handlers:new Hash(),parsers:new Hash()};SqueezeBox.extend(new Events($empty)).extend(new Options($empty)).extend(new Chain($empty));SqueezeBox.parsers.extend({image:function(a){return(a||(/\.(?:jpg|png|gif)$/i).test(this.url))?this.url:false},clone:function(a){if($(this.options.target)){return $(this.options.target)}if(this.element&&!this.element.parentNode){return this.element}var b=this.url.match(/#([\w-]+)$/);return(b)?$(b[1]):(a?this.element:false)},ajax:function(a){return(a||(this.url&&!(/^(?:javascript|#)/i).test(this.url)))?this.url:false},iframe:function(a){return(a||this.url)?this.url:false},string:function(a){return true}});SqueezeBox.handlers.extend({image:function(a){var c,b=new Image();this.asset=null;b.onload=b.onabort=b.onerror=(function(){b.onload=b.onabort=b.onerror=null;if(!b.width){this.onError.delay(10,this);return}var e=document.getSize();e.x-=this.options.marginImage.x;e.y-=this.options.marginImage.y;c={x:b.width,y:b.height};for(var d=2;d--;){if(c.x>e.x){c.y*=e.x/c.x;c.x=e.x}else{if(c.y>e.y){c.x*=e.y/c.y;c.y=e.y}}}c.x=c.x.toInt();c.y=c.y.toInt();this.asset=$(b);b=null;this.asset.setProperties({width:c.x,height:c.y});if(this.isOpen){this.applyContent(this.asset,c)}}).bind(this);b.src=a;if(b&&b.onload&&b.complete){b.onload()}return(this.asset)?[this.asset,c]:null},clone:function(a){return a.clone()},adopt:$arguments(0),ajax:function(a){this.asset=new Request.HTML($merge({method:"get"},this.options.ajaxOptions)).addEvents({onSuccess:function(b){this.applyContent(b);this.asset=null}.bind(this),onFailure:this.onError.bind(this)});this.asset.send.delay(10,this.asset,[{url:a}])},iframe:function(a){return new Element("iframe",$merge({src:a,frameBorder:0,width:this.options.size.x,height:this.options.size.y},this.options.iframeOptions))},string:function(a){return a}});SqueezeBox.handlers.url=SqueezeBox.handlers.ajax;SqueezeBox.parsers.url=SqueezeBox.parsers.ajax;SqueezeBox.parsers.adopt=SqueezeBox.parsers.clone;
