window.log=function(){log.history=log.history||[];log.history.push(arguments);arguments.callee=arguments.callee.caller;if(this.console)console.log(Array.prototype.slice.call(arguments));};(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});window['AN']={};window.addEvent('domready',function(){var SolutionsCarousel=new window['AN'].SolutionsCarousel();var StoreLocator=new window['AN'].StoreLocator();var StoreDetail=new window['AN'].StoreDetail();var SpecialHours=new window['AN'].SpecialHours();var JobLocator=new window['AN'].JobLocator();var Tabs=new window['AN'].Tabs();var FontResizer=new window['AN'].FontResizer();var box=new CeraBox();if($(document.body).getElements('a.video-frame').length>0){box.addItems('a.video-frame',{group:false,width:480,height:390});}
var checkboxGroup=$(document.body).getElements('.checkboxes span');if(checkboxGroup){checkboxGroup.each(function(checkbox,index){var label=checkbox.getElement('label');if(label){label.addClass('checkbox_label');label.inject(checkbox,'after');}
checkbox.addClass('checkbox');});}
var groups=$(document.body).getElements('.checkboxes');if(groups){groups.setStyle('display','block');}
$(document.body).getElements('span.checkbox').each(function(e,i){var Checkboxes=new window['AN'].Checkbox({element:$(e)});});$(document.body).getElements('span.dropdown').each(function(e,i){var Checkboxes=new window['AN'].DropDown({element:$(e)});});$(document.body).getElements('span.radio-button').each(function(e,i){var Checkboxes=new window['AN'].RadioButton({element:$(e)});});$(document.body).getElements('span.file').each(function(e,i){var FileInputs=new window['AN'].FileInput({element:$(e)});});if(Browser.ie){activatePlaceholders()};});window.addEvent('google-info-loaded',function(){var Tabs=new window['AN'].Tabs();});window.addEvent('tab-switch',function(){if($(document.body).getElement('.store-hours')){var scrollBox=new window['AN'].ScrollBox($(document.body).getElement('.store-hours'),{maxSteps:100,contentClass:'vsbContent',scrollbarClass:'vsbScrollbar',handleClass:'vsbHandle'});}});function activatePlaceholders(){var inputs=$(document.body).getElements('input[type=text]');for(i=0;i<inputs.length;i++){var input=inputs[i];if(input.get('value')==''&&input.get('placeholder'))input.set('value',input.get('placeholder'));input.addEvent('focus',function(){if(this.get('value')==this.get('placeholder'))this.set('value','');});input.addEvent('blur',function(){if(this.get('value')==''&&this.get('placeholder'))this.set('value',this.get('placeholder'));});}}
var util={merge:function(firstObject,secondObject){var result={};for(var i=0;i<arguments.length;i++){var obj=arguments[i];for(var x in obj){if(!obj.hasOwnProperty(x)){continue;}
result[x]=obj[x];}};return result;},copy:function(obj){if(obj===null){return null;}
var copy;if(obj instanceof Array){copy=[];for(var i=0,len=obj.length;i<len;i++){copy[i]=arguments.callee(obj[i]);}}else if(typeof(obj)=='object'){if(typeof(obj.copy)=='function'){copy=obj.copy();}else{copy={};var o,x;for(x in obj){copy[x]=arguments.callee(obj[x]);}}}else{copy=obj;}
return copy;},randomString:function(length){var chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),str='',i;if(!length){length=Math.floor(Math.random()*chars.length);}
str='';for(i=0;i<length;i++){str+=chars[Math.floor(Math.random()*chars.length)];}
return str;},each:function(arr,func){var i=0,len=arr.length;for(i=0;i<len;i++){func(arr[i],i);}
return arr;},map:function(arr,func){var i=0,len=arr.length,result=[];for(i=0;i<len;i++){result.push(func(arr[i],i));}
return result;},extend:function(target,ext){if(arguments.length<2){throw"You must provide at least a target and 1 object to extend from"}
var i,j,obj,key,val;for(i=1;i<arguments.length;i++){obj=arguments[i];for(key in obj){if(!obj.hasOwnProperty(key)){continue;}
val=obj[key];if(val===undefined||val===target){continue;}
if(val instanceof Function&&target[key]&&val!==target[key]){val.base=target[key];val._isProperty=val.base._isProperty;}
target[key]=val;if(val instanceof Function){if(val._observing){if(!target._observingFunctions){target._observingFunctions=[];}else{target._observingFunctions=target._observingFunctions.slice(0);}
for(j=0;j<val._observing.length;j++){target._observingFunctions.push({property:val._observing[j],method:key});}}
if(val._isProperty){if(!target._computedProperties){target._computedProperties=[];}else{target._computedProperties=target._computedProperties.slice(0);}
target._computedProperties.push(key)}}}}
return target;},beget:function(o){var F=function(){};F.prototype=o;var ret=new F();F.prototype=null;return ret;},callback:function(target,method){if(typeof(method)=='string'){method=target[method];}
return function(){method.apply(target,arguments);}},domReady:function(){if(this._isReady){return;}
if(!document.body){setTimeout(function(){util.domReady();},13);}
window.__isReady=true;if(window.__readyList){var fn,i=0;while((fn=window.__readyList[i++])){fn.call(document);}
window.__readyList=null;delete window.__readyList;}},bindReady:function(){if(window.__readyBound){return;}
window.__readyBound=true;if(document.readyState==="complete"){return util.domReady();}
if(document.addEventListener){window.addEventListener("load",util.domReady,false);}else if(document.attachEvent){window.attachEvent("onload",util.domReady);}},ready:function(func){if(window.__isReady){func()}else{if(!window.__readyList){window.__readyList=[];}
window.__readyList.push(func);}
util.bindReady();},isArray:function(ar){return ar instanceof Array||(ar&&ar!==Object.prototype&&util.isArray(ar.__proto__));},isRegExp:function(re){var s=""+re;return re instanceof RegExp||typeof(re)==="function"&&re.constructor.name==="RegExp"&&re.compile&&re.test&&re.exec&&s.charAt(0)==="/"&&s.substr(-1)==="/";},isDate:function(d){if(d instanceof Date)return true;if(typeof d!=="object")return false;var properties=Date.prototype&&Object.getOwnPropertyNames(Date.prototype);var proto=d.__proto__&&Object.getOwnPropertyNames(d.__proto__);return JSON.stringify(proto)===JSON.stringify(properties);},populateIndex:function(parent,modules){var namespace={};modules=modules.split(' ');util.each(modules,function(mod,i){util.extend(namespace,window.require('./'+mod,parent));});parent.exports=namespace;return namespace;}}
util.extend(String.prototype,{w:function(){return this.split(' ');}});var events={};function getListeners(obj,eventName){if(!obj.js_listeners_){obj.js_listeners_={};}
if(!eventName){return obj.js_listeners_;}
if(!obj.js_listeners_[eventName]){obj.js_listeners_[eventName]={};}
return obj.js_listeners_[eventName];}
var eventID=0;events.EventListener=function(source,eventName,handler){this.source=source;this.eventName=eventName;this.handler=handler;this.id=++eventID;getListeners(source,eventName)[this.id]=this;};events.addListener=function(source,eventName,handler){if(eventName instanceof Array){var listeners=[];for(var i=0,len=eventName.length;i<len;i++){listeners.push(new events.EventListener(source,eventName[i],handler));}
return listeners;}else{return new events.EventListener(source,eventName,handler);}};events.trigger=function(source,eventName){var listeners=getListeners(source,eventName),args=Array.prototype.slice.call(arguments,2),eventID,l;for(eventID in listeners){if(listeners.hasOwnProperty(eventID)){l=listeners[eventID];if(l){l.handler.apply(undefined,args);}}}};events.removeListener=function(listener){delete getListeners(listener.source,listener.eventName)[listener.eventID];};events.clearListeners=function(source,eventName){var listeners=getListeners(source,eventName),eventID;for(eventID in listeners){if(listeners.hasOwnProperty(eventID)){var l=listeners[eventID];if(l){events.removeListener(l);}}}};events.clearInstanceListeners=function(source){var listeners=getListeners(source),eventID;for(var eventName in listeners){if(listeners.hasOwnProperty(eventName)){var el=listeners[eventName];for(eventID in el){if(el.hasOwnProperty(eventID)){var l=el[eventID];if(l){events.removeListener(l);}}}}}};function getAccessors(obj){if(!obj.js_accessors_){obj.js_accessors_={};}
return obj.js_accessors_;}
function getBindings(obj){if(!obj.js_bindings_){obj.js_bindings_={};}
return obj.js_bindings_;}
function addAccessor(obj,key,target,targetKey,noNotify){getAccessors(obj)[key]={key:targetKey,target:target};if(!noNotify){obj.triggerChanged(key);}}
var objectID=0;var BObject=function(){};BObject.prototype=util.extend(BObject.prototype,{_id:0,init:function(){},get:function(key){var accessor=getAccessors(this)[key];if(accessor){return accessor.target.get(accessor.key);}else{if(this['get_'+key]){return this['get_'+key]();}
return this[key];}},set:function(key,value){var accessor=getAccessors(this)[key],oldVal=this.get(key);this.triggerBeforeChanged(key,oldVal);if(accessor){accessor.target.set(accessor.key,value);}else{if(this['set_'+key]){this['set_'+key](value);}else{this[key]=value;}}
this.triggerChanged(key,oldVal);},setValues:function(kvp){for(var x in kvp){if(kvp.hasOwnProperty(x)){this.set(x,kvp[x]);}}},changed:function(key){},notify:function(key,oldVal){var accessor=getAccessors(this)[key];if(accessor){accessor.target.notify(accessor.key,oldVal);}},triggerBeforeChanged:function(key,oldVal){events.trigger(this,key.toLowerCase()+'_before_changed',oldVal);},triggerChanged:function(key,oldVal){events.trigger(this,key.toLowerCase()+'_changed',oldVal);},bindTo:function(key,target,targetKey,noNotify){targetKey=targetKey||key;var self=this;this.unbind(key);var oldVal=this.get(key);getBindings(this)[key]=events.addListener(target,targetKey.toLowerCase()+'_changed',function(oldVal){self.triggerChanged(key,oldVal);});addAccessor(this,key,target,targetKey,noNotify);},unbind:function(key){var binding=getBindings(this)[key];if(!binding){return;}
delete getBindings(this)[key];events.removeListener(binding);var val=this.get(key);delete getAccessors(this)[key];this[key]=val;},unbindAll:function(){var keys=[],bindings=getBindings(this);for(var k in bindings){if(bindings.hasOwnProperty(k)){this.unbind(k);}}},get_id:function(){if(!this._id){this._id=++objectID;}
return this._id;}});BObject.create=function(){var ret=new this();ret.init.apply(ret,arguments);return ret;};BObject.extend=function(){var newObj=function(){},args=[],i,x;for(x in this){if(this.hasOwnProperty(x)){newObj[x]=this[x];}}
newObj.prototype=util.beget(this.prototype);args.push(newObj.prototype);for(i=0;i<arguments.length;i++){args.push(arguments[i]);}
util.extend.apply(null,args);newObj.superclass=this.prototype;return newObj;};BObject.get=BObject.prototype.get;BObject.set=BObject.prototype.set;var BArray=BObject.extend({init:function(array){this.array=array||[];this.set('length',this.array.length);},getAt:function(i){return this.array[i];},setAt:function(i,value){var oldVal=this.array[i];this.array[i]=value;events.trigger(this,'set_at',i,oldVal);},insertAt:function(i,value){this.array.splice(i,0,value);this.set('length',this.array.length);events.trigger(this,'insert_at',i);},removeAt:function(i){var oldVal=this.array[i];this.array.splice(i,1);this.set('length',this.array.length);events.trigger(this,'remove_at',i,oldVal);return oldVal;},getArray:function(){return this.array;},push:function(value){this.insertAt(this.array.length,value);return this.array.length;},pop:function(){return this.removeAt(this.array.length-1);}});function getAccessors(obj){if(!obj.js_accessors_){obj.js_accessors_={};}
return obj.js_accessors_;}
function getBindings(obj){if(!obj.js_bindings_){obj.js_bindings_={};}
return obj.js_bindings_;}
function addAccessor(obj,key,target,targetKey,noNotify){getAccessors(obj)[key]={key:targetKey,target:target};if(!noNotify){obj.triggerChanged(key);}}
var objectID=0;var BObject=function(){};BObject.prototype=util.extend(BObject.prototype,{_id:0,init:function(){},get:function(key){var accessor=getAccessors(this)[key];if(accessor){return accessor.target.get(accessor.key);}else{if(this['get_'+key]){return this['get_'+key]();}
return this[key];}},set:function(key,value){var accessor=getAccessors(this)[key],oldVal=this.get(key);this.triggerBeforeChanged(key,oldVal);if(accessor){accessor.target.set(accessor.key,value);}else{if(this['set_'+key]){this['set_'+key](value);}else{this[key]=value;}}
this.triggerChanged(key,oldVal);},setValues:function(kvp){for(var x in kvp){if(kvp.hasOwnProperty(x)){this.set(x,kvp[x]);}}},changed:function(key){},notify:function(key,oldVal){var accessor=getAccessors(this)[key];if(accessor){accessor.target.notify(accessor.key,oldVal);}},triggerBeforeChanged:function(key,oldVal){events.trigger(this,key.toLowerCase()+'_before_changed',oldVal);},triggerChanged:function(key,oldVal){events.trigger(this,key.toLowerCase()+'_changed',oldVal);},bindTo:function(key,target,targetKey,noNotify){targetKey=targetKey||key;var self=this;this.unbind(key);var oldVal=this.get(key);getBindings(this)[key]=events.addListener(target,targetKey.toLowerCase()+'_changed',function(oldVal){self.triggerChanged(key,oldVal);});addAccessor(this,key,target,targetKey,noNotify);},unbind:function(key){var binding=getBindings(this)[key];if(!binding){return;}
delete getBindings(this)[key];events.removeListener(binding);var val=this.get(key);delete getAccessors(this)[key];this[key]=val;},unbindAll:function(){var keys=[],bindings=getBindings(this);for(var k in bindings){if(bindings.hasOwnProperty(k)){this.unbind(k);}}},get_id:function(){if(!this._id){this._id=++objectID;}
return this._id;}});BObject.create=function(){var ret=new this();ret.init.apply(ret,arguments);return ret;};BObject.extend=function(){var newObj=function(){},args=[],i,x;for(x in this){if(this.hasOwnProperty(x)){newObj[x]=this[x];}}
newObj.prototype=util.beget(this.prototype);args.push(newObj.prototype);for(i=0;i<arguments.length;i++){args.push(arguments[i]);}
util.extend.apply(null,args);newObj.superclass=this.prototype;return newObj;};BObject.get=BObject.prototype.get;BObject.set=BObject.prototype.set;var BArray=BObject.extend({init:function(array){this.array=array||[];this.set('length',this.array.length);},getAt:function(i){return this.array[i];},setAt:function(i,value){var oldVal=this.array[i];this.array[i]=value;events.trigger(this,'set_at',i,oldVal);},insertAt:function(i,value){this.array.splice(i,0,value);this.set('length',this.array.length);events.trigger(this,'insert_at',i);},removeAt:function(i){var oldVal=this.array[i];this.array.splice(i,1);this.set('length',this.array.length);events.trigger(this,'remove_at',i,oldVal);return oldVal;},getArray:function(){return this.array;},push:function(value){this.insertAt(this.array.length,value);return this.array.length;},pop:function(){return this.removeAt(this.array.length-1);}});var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return!a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();function InfoBox(opt_opts){opt_opts=opt_opts||{};google.maps.OverlayView.apply(this,arguments);this.content_=opt_opts.content||"";this.disableAutoPan_=opt_opts.disableAutoPan||false;this.maxWidth_=opt_opts.maxWidth||0;this.pixelOffset_=opt_opts.pixelOffset||new google.maps.Size(0,0);this.position_=opt_opts.position||new google.maps.LatLng(0,0);this.zIndex_=opt_opts.zIndex||null;this.boxClass_=opt_opts.boxClass||"infoBox";this.boxStyle_=opt_opts.boxStyle||{};this.closeBoxMargin_=opt_opts.closeBoxMargin||"2px";this.closeBoxURL_=opt_opts.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif";if(opt_opts.closeBoxURL===""){this.closeBoxURL_="";}
this.infoBoxClearance_=opt_opts.infoBoxClearance||new google.maps.Size(1,1);this.isHidden_=opt_opts.isHidden||false;this.alignBottom_=opt_opts.alignBottom||false;this.pane_=opt_opts.pane||"floatPane";this.enableEventPropagation_=opt_opts.enableEventPropagation||false;this.div_=null;this.closeListener_=null;this.eventListener1_=null;this.eventListener2_=null;this.eventListener3_=null;this.moveListener_=null;this.contextListener_=null;this.fixedWidthSet_=null;}
InfoBox.prototype=new google.maps.OverlayView();InfoBox.prototype.createInfoBoxDiv_=function(){var bw;var me=this;var cancelHandler=function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}};var ignoreHandler=function(e){e.returnValue=false;if(e.preventDefault){e.preventDefault();}
if(!me.enableEventPropagation_){cancelHandler(e);}};if(!this.div_){this.div_=document.createElement("div");this.setBoxStyle_();if(typeof this.content_.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+this.content_;}else{this.div_.innerHTML=this.getCloseBoxImg_();this.div_.appendChild(this.content_);}
this.getPanes()[this.pane_].appendChild(this.div_);this.addClickHandler_();if(this.div_.style.width){this.fixedWidthSet_=true;}else{if(this.maxWidth_!==0&&this.div_.offsetWidth>this.maxWidth_){this.div_.style.width=this.maxWidth_;this.div_.style.overflow="auto";this.fixedWidthSet_=true;}else{bw=this.getBoxWidths_();this.div_.style.width=(this.div_.offsetWidth-bw.left-bw.right)+"px";this.fixedWidthSet_=false;}}
this.panBox_(this.disableAutoPan_);if(!this.enableEventPropagation_){this.eventListener1_=google.maps.event.addDomListener(this.div_,"mousedown",cancelHandler);this.eventListener2_=google.maps.event.addDomListener(this.div_,"click",cancelHandler);this.eventListener3_=google.maps.event.addDomListener(this.div_,"dblclick",cancelHandler);}
this.contextListener_=google.maps.event.addDomListener(this.div_,"contextmenu",ignoreHandler);google.maps.event.trigger(this,"domready");}};InfoBox.prototype.getCloseBoxImg_=function(){var img="";if(this.closeBoxURL_!==""){img="<img";img+=" src='"+this.closeBoxURL_+"'";img+=" align=right";img+=" class=close-button";img+=" style='";img+=" margin: "+this.closeBoxMargin_+";";img+="'>";}
return img;};InfoBox.prototype.addClickHandler_=function(){var closeBox;if(this.closeBoxURL_!==""){closeBox=this.div_.firstChild;this.closeListener_=google.maps.event.addDomListener(closeBox,'click',this.getCloseClickHandler_());}else{this.closeListener_=null;}};InfoBox.prototype.getCloseClickHandler_=function(){var me=this;return function(e){e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}
me.close();google.maps.event.trigger(me,"closeclick");};};InfoBox.prototype.panBox_=function(disablePan){var map;var bounds;var xOffset=0,yOffset=0;if(!disablePan){map=this.getMap();if(map instanceof google.maps.Map){if(!map.getBounds().contains(this.position_)){map.setCenter(this.position_);}
bounds=map.getBounds();var mapDiv=map.getDiv();var mapWidth=mapDiv.offsetWidth;var mapHeight=mapDiv.offsetHeight;var iwOffsetX=this.pixelOffset_.width;var iwOffsetY=this.pixelOffset_.height;var iwWidth=this.div_.offsetWidth;var iwHeight=this.div_.offsetHeight;var padX=this.infoBoxClearance_.width;var padY=this.infoBoxClearance_.height;var pixPosition=this.getProjection().fromLatLngToContainerPixel(this.position_);if(pixPosition.x<(-iwOffsetX+padX)){xOffset=pixPosition.x+iwOffsetX-padX;}else if((pixPosition.x+iwWidth+iwOffsetX+padX)>mapWidth){xOffset=pixPosition.x+iwWidth+iwOffsetX+padX-mapWidth;}
if(this.alignBottom_){if(pixPosition.y<(-iwOffsetY+padY+iwHeight)){yOffset=pixPosition.y+iwOffsetY-padY-iwHeight;}else if((pixPosition.y+iwOffsetY+padY)>mapHeight){yOffset=pixPosition.y+iwOffsetY+padY-mapHeight;}}else{if(pixPosition.y<(-iwOffsetY+padY)){yOffset=pixPosition.y+iwOffsetY-padY;}else if((pixPosition.y+iwHeight+iwOffsetY+padY)>mapHeight){yOffset=pixPosition.y+iwHeight+iwOffsetY+padY-mapHeight;}}
if(!(xOffset===0&&yOffset===0)){var c=map.getCenter();map.panBy(xOffset,yOffset);}}}};InfoBox.prototype.setBoxStyle_=function(){var i,boxStyle;if(this.div_){this.div_.className=this.boxClass_;this.div_.style.cssText="";boxStyle=this.boxStyle_;for(i in boxStyle){if(boxStyle.hasOwnProperty(i)){this.div_.style[i]=boxStyle[i];}}
if(typeof this.div_.style.opacity!=="undefined"&&this.div_.style.opacity!==""){this.div_.style.filter="alpha(opacity="+(this.div_.style.opacity*100)+")";}
this.div_.style.position="absolute";this.div_.style.visibility='hidden';if(this.zIndex_!==null){this.div_.style.zIndex=this.zIndex_;}}};InfoBox.prototype.getBoxWidths_=function(){var computedStyle;var bw={top:0,bottom:0,left:0,right:0};var box=this.div_;if(document.defaultView&&document.defaultView.getComputedStyle){computedStyle=box.ownerDocument.defaultView.getComputedStyle(box,"");if(computedStyle){bw.top=parseInt(computedStyle.borderTopWidth,10)||0;bw.bottom=parseInt(computedStyle.borderBottomWidth,10)||0;bw.left=parseInt(computedStyle.borderLeftWidth,10)||0;bw.right=parseInt(computedStyle.borderRightWidth,10)||0;}}else if(document.documentElement.currentStyle){if(box.currentStyle){bw.top=parseInt(box.currentStyle.borderTopWidth,10)||0;bw.bottom=parseInt(box.currentStyle.borderBottomWidth,10)||0;bw.left=parseInt(box.currentStyle.borderLeftWidth,10)||0;bw.right=parseInt(box.currentStyle.borderRightWidth,10)||0;}}
return bw;};InfoBox.prototype.onRemove=function(){if(this.div_){this.div_.parentNode.removeChild(this.div_);this.div_=null;}};InfoBox.prototype.draw=function(){this.createInfoBoxDiv_();var pixPosition=this.getProjection().fromLatLngToDivPixel(this.position_);this.div_.style.left=(pixPosition.x+this.pixelOffset_.width)+"px";if(this.alignBottom_){this.div_.style.bottom=-(pixPosition.y+this.pixelOffset_.height)+"px";}else{this.div_.style.top=(pixPosition.y+this.pixelOffset_.height)+"px";}
if(this.isHidden_){this.div_.style.visibility='hidden';}else{this.div_.style.visibility="visible";}
window.fireEvent('google-info-loaded');};InfoBox.prototype.setOptions=function(opt_opts){if(typeof opt_opts.boxClass!=="undefined"){this.boxClass_=opt_opts.boxClass;this.setBoxStyle_();}
if(typeof opt_opts.boxStyle!=="undefined"){this.boxStyle_=opt_opts.boxStyle;this.setBoxStyle_();}
if(typeof opt_opts.content!=="undefined"){this.setContent(opt_opts.content);}
if(typeof opt_opts.disableAutoPan!=="undefined"){this.disableAutoPan_=opt_opts.disableAutoPan;}
if(typeof opt_opts.maxWidth!=="undefined"){this.maxWidth_=opt_opts.maxWidth;}
if(typeof opt_opts.pixelOffset!=="undefined"){this.pixelOffset_=opt_opts.pixelOffset;}
if(typeof opt_opts.alignBottom!=="undefined"){this.alignBottom_=opt_opts.alignBottom;}
if(typeof opt_opts.position!=="undefined"){this.setPosition(opt_opts.position);}
if(typeof opt_opts.zIndex!=="undefined"){this.setZIndex(opt_opts.zIndex);}
if(typeof opt_opts.closeBoxMargin!=="undefined"){this.closeBoxMargin_=opt_opts.closeBoxMargin;}
if(typeof opt_opts.closeBoxURL!=="undefined"){this.closeBoxURL_=opt_opts.closeBoxURL;}
if(typeof opt_opts.infoBoxClearance!=="undefined"){this.infoBoxClearance_=opt_opts.infoBoxClearance;}
if(typeof opt_opts.isHidden!=="undefined"){this.isHidden_=opt_opts.isHidden;}
if(typeof opt_opts.enableEventPropagation!=="undefined"){this.enableEventPropagation_=opt_opts.enableEventPropagation;}
if(this.div_){this.draw();}};InfoBox.prototype.setContent=function(content){this.content_=content;if(this.div_){if(this.closeListener_){google.maps.event.removeListener(this.closeListener_);this.closeListener_=null;}
if(!this.fixedWidthSet_){this.div_.style.width="";}
if(typeof content.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+content;}else{this.div_.innerHTML=this.getCloseBoxImg_();this.div_.appendChild(content);}
if(!this.fixedWidthSet_){this.div_.style.width=this.div_.offsetWidth+"px";if(typeof content.nodeType==="undefined"){this.div_.innerHTML=this.getCloseBoxImg_()+content;}else{this.div_.innerHTML=this.getCloseBoxImg_();}}
this.addClickHandler_();}
google.maps.event.trigger(this,"content_changed");};InfoBox.prototype.setPosition=function(latlng){this.position_=latlng;if(this.div_){this.draw();}
google.maps.event.trigger(this,"position_changed");};InfoBox.prototype.setZIndex=function(index){this.zIndex_=index;if(this.div_){this.div_.style.zIndex=index;}
google.maps.event.trigger(this,"zindex_changed");};InfoBox.prototype.getContent=function(){return this.content_;};InfoBox.prototype.getPosition=function(){return this.position_;};InfoBox.prototype.getZIndex=function(){return this.zIndex_;};InfoBox.prototype.show=function(){this.isHidden_=false;if(this.div_){this.div_.style.visibility="visible";}};InfoBox.prototype.hide=function(){this.isHidden_=true;if(this.div_){this.div_.style.visibility="hidden";}};InfoBox.prototype.open=function(map,anchor){var me=this;if(anchor){this.position_=anchor.getPosition();this.moveListener_=google.maps.event.addListener(anchor,"position_changed",function(){me.setPosition(this.getPosition());});}
this.setMap(map);if(this.div_){this.panBox_();}};InfoBox.prototype.close=function(){if(this.closeListener_){google.maps.event.removeListener(this.closeListener_);this.closeListener_=null;}
if(this.eventListener1_){google.maps.event.removeListener(this.eventListener1_);google.maps.event.removeListener(this.eventListener2_);google.maps.event.removeListener(this.eventListener3_);this.eventListener1_=null;this.eventListener2_=null;this.eventListener3_=null;}
if(this.moveListener_){google.maps.event.removeListener(this.moveListener_);this.moveListener_=null;}
if(this.contextListener_){google.maps.event.removeListener(this.contextListener_);this.contextListener_=null;}
this.setMap(null);};var CeraBox=new Class({Implements:[Options],loaderTimer:null,timeOuter:null,vars:{items:new Array(),cerabox:null,windowOpen:false,busy:false,currentIndex:[0,0]},options:{group:true,errorLoadingMessage:'The requested content cannot be loaded. Please try again later.',addContentProtectionLayer:false,events:{onClose:function(){},onOpen:function(){},onChange:function(){},onAnimationEnd:function(){},_onClose:null,_onOpen:null,_onChange:null,_onAnimationEnd:null}},initialize:function(options){this.setOptions(options);this.initHTML();if(Browser.ie6)
document.id('cerabox-loading').addClass('ceraboxbox-ie6');window.addEvent('resize',this._resize.bind(this));document.id('cerabox-loading').addEvent('click',function(event){event.stop();this.close(true);}.bind(this));document.addEvent('keyup',function(event){if(event.key=='esc')
this.close();if(event.target.get('tag')=='input'||event.target.get('tag')=='select'||event.target.get('tag')=='textarea')
return;if(event.key=='left')
this.vars.cerabox.getElement('.cerabox-left').fireEvent('click',event);if(event.key=='right')
this.vars.cerabox.getElement('.cerabox-right').fireEvent('click',event);}.bind(this));},addItems:function(container,options){var items=$$(container);if(items.length<1)
throw'Empty container';var itemsIndex=this.vars.items.length;this.vars.items[itemsIndex]=[];options=options?options:{};Array.each(items,function(item,index){if(options.group===false||(options.group!==true&&this.options.group===false)){this.vars.items[itemsIndex]=[];this.vars.items[itemsIndex][0]=item;index=[itemsIndex,0];itemsIndex=itemsIndex+1;}
else{this.vars.items[itemsIndex][index]=item;index=[itemsIndex,index];}
if(typeof options.ajax!='undefined'){item.addEvent('click',function(event){if(event)
event.preventDefault();if(this.vars.busy)
return;this.vars.busy=true;this._addCallbacks((typeof options.events!='undefined')?options.events:null);this.vars.cerabox.getElement('.cerabox-content-protection').setStyle('display','none');this.vars.cerabox.setStyle('cursor','auto').removeEvents('click');if(true===options.clickToClose)
this.vars.cerabox.setStyle('cursor','pointer').addEvent('click',function(event){event.stop();this.close();}.bind(this));this._showInit();this.showAjax(index,options);}.bind(this));}
else if(item.get('href').test(/^#/i)){item.addEvent('click',function(event){if(event)
event.preventDefault();if(this.vars.busy)
return;this.vars.busy=true;this._addCallbacks((typeof options.events!='undefined')?options.events:null);this.vars.cerabox.getElement('.cerabox-content-protection').setStyle('display','none');this.vars.cerabox.setStyle('cursor','auto').removeEvents('click');if(true===options.clickToClose)
this.vars.cerabox.setStyle('cursor','pointer').addEvent('click',function(event){event.stop();this.close();}.bind(this));this._showInit();this.showInline(index,options);}.bind(this));}
else if(item.get('href').replace(/(\?.*)/,'').test(/\.jpg|jpeg|png|gif$/i)){item.addEvent('click',function(event){if(event)
event.preventDefault();if(this.vars.busy)
return;this.vars.busy=true;this._addCallbacks((typeof options.events!='undefined')?options.events:null);if(true===this.options.addContentProtectionLayer)
this.vars.cerabox.getElement('.cerabox-content-protection').setStyle('display','block');this.vars.cerabox.setStyle('cursor','auto').removeEvents('click');if(true===options.clickToClose)
this.vars.cerabox.setStyle('cursor','pointer').addEvent('click',function(event){event.stop();this.close();}.bind(this));this._showInit();this.showImage(index,options);}.bind(this));}
else if(item.get('href').test(/\.swf$/i)){item.addEvent('click',function(event){if(event)
event.preventDefault();if(this.vars.busy)
return;this.vars.busy=true;this._addCallbacks((typeof options.events!='undefined')?options.events:null);this.vars.cerabox.getElement('.cerabox-content-protection').setStyle('display','none');this.vars.cerabox.setStyle('cursor','auto').removeEvents('click');if(true===options.clickToClose)
this.vars.cerabox.setStyle('cursor','pointer').addEvent('click',function(event){event.stop();this.close();}.bind(this));this._showInit();this.showSwf(index,options);}.bind(this));}
else{item.addEvent('click',function(event){if(event)
event.preventDefault();if(this.vars.busy)
return;this.vars.busy=true;this._addCallbacks((typeof options.events!='undefined')?options.events:null);this.vars.cerabox.getElement('.cerabox-content-protection').setStyle('display','none');this.vars.cerabox.setStyle('cursor','auto').removeEvents('click');if(true===options.clickToClose)
this.vars.cerabox.setStyle('cursor','pointer').addEvent('click',function(event){event.stop();this.close();}.bind(this));this._showInit();this.showIframe(index,options);}.bind(this));}}.bind(this));},showAjax:function(index,options){var ceraBox=this;var items=this.vars.items[index[0]];var currentItem=items[index[1]];this.loaderTimer=this._displayLoader.delay(200,this,[options.loaderAtItem,currentItem]);var requestEr=new Request.HTML({url:currentItem.get('href'),method:options.ajax.method?options.ajax.method:'post',data:options.ajax.data?options.ajax.data:'',onSuccess:function(responseTree){if(false===ceraBox.vars.busy)
return;clearInterval(ceraBox.loaderTimer);document.id('cerabox-loading').setStyle('display','none');if(false!==options.displayOverlay)
ceraBox._displayOverlay();var ajaxEle=ceraBox.vars.cerabox.getElement('#cerabox-ajaxPreLoader').empty().adopt(responseTree);ceraBox.vars.cerabox.setStyle('display','block');ajaxEle.setStyle('width',options.width?options.width:ajaxEle.getScrollSize().x+'px');ajaxEle.setStyle('height',options.height?options.height:ajaxEle.getScrollSize().y+'px');var dimension=ceraBox._getSizeElement(ajaxEle,(true===options.fullSize?true:false));ajaxEle=ajaxEle.get('html');ceraBox.vars.cerabox.getElement('#cerabox-ajaxPreLoader').empty().setStyles({'width':'auto','height':'auto'});ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(dimension.width,dimension.height);}
ceraBox.vars.cerabox.getElement('.cerabox-content').set('tween',{duration:300}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');if(false===ceraBox.vars.busy)
return;if(false!==options.displayTitle)
ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','block').set('text',(items.length>1?'Item '+(index[1]+1)+' / '+items.length+' ':'')+(currentItem.get('title')?currentItem.get('title'):''));ceraBox.vars.cerabox.getElement('.cerabox-content').empty().set('opacity',0).set('html',ajaxEle);ceraBox._openWindow(dimension.width,dimension.height,options.animation?options.animation:'fade',index);});},onTimeout:function(){ceraBox._timedOut(index,options);},onFailure:function(){ceraBox._timedOut(index,options);},onException:function(){ceraBox._timedOut(index,options);}}).send();},showInline:function(index,options){var ceraBox=this;var items=this.vars.items[index[0]];var currentItem=items[index[1]];var inlineEle=(currentItem.get('href').test(/^#\$/i)&&typeof window[currentItem.get('href').replace(/^#\$/i,'')]!='undefined')?((typeof window[currentItem.get('href').replace(/^#\$/i,'')]!='object')?new Element('div',{'html':window[currentItem.get('href').replace(/^#\$/i,'')]}):window[currentItem.get('href').replace(/^#\$/i,'')]):(document.id(document.body).getElement(currentItem.get('href'))?document.id(document.body).getElement(currentItem.get('href')).clone(true,true):null);if(null!==inlineEle){if(false!==options.displayOverlay)
ceraBox._displayOverlay();var inlineEleClone=ceraBox.vars.cerabox.getElement('#cerabox-ajaxPreLoader').empty().adopt(inlineEle.clone(true,true));ceraBox.vars.cerabox.setStyle('display','block');inlineEleClone.setStyle('width',options.width?options.width:inlineEleClone.getScrollSize().x+'px');inlineEleClone.setStyle('height',options.height?options.height:inlineEleClone.getSize().y+'px');var dimension=ceraBox._getSizeElement(inlineEleClone,(true===options.fullSize?true:false));ceraBox.vars.cerabox.getElement('#cerabox-ajaxPreLoader').empty().setStyles({'width':'auto','height':'auto'});ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(dimension.width,dimension.height);}
ceraBox.vars.cerabox.getElement('.cerabox-content').set('tween',{duration:300}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');if(false===ceraBox.vars.busy)
return;if(false!==options.displayTitle)
ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','block').set('text',(items.length>1?'Item '+(index[1]+1)+' / '+items.length+' ':'')+(currentItem.get('title')?currentItem.get('title'):''));ceraBox.vars.cerabox.getElement('.cerabox-content').empty().set('opacity',0).adopt(inlineEle);ceraBox._openWindow(dimension.width,dimension.height,options.animation?options.animation:'fade',index);});}
else{ceraBox._timedOut(index,options);}},showImage:function(index,options){var ceraBox=this;var items=this.vars.items[index[0]];var currentItem=items[index[1]];this.loaderTimer=this._displayLoader.delay(200,this,[options.loaderAtItem,currentItem]);var image=new Asset.image(currentItem.get('href'),{onload:function(){if(false===ceraBox.vars.busy)
return;document.id('cerabox-loading').setStyle('display','none');if(false!==options.displayOverlay)
ceraBox._displayOverlay();clearInterval(ceraBox.loaderTimer);this.set('width',options.width?options.width:this.get('width'));this.set('height',options.height?options.height:this.get('height'));var dimension=ceraBox._getSizeElement(this,(true===options.fullSize?true:false));ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(dimension.width,dimension.height);}
ceraBox.vars.cerabox.getElement('.cerabox-content').set('tween',{duration:300}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');if(false===ceraBox.vars.busy)
return;if(false!==options.displayTitle)
ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','block').set('text',(items.length>1?'Item '+(index[1]+1)+' / '+items.length+' ':'')+(currentItem.get('title')?currentItem.get('title'):''));ceraBox.vars.cerabox.getElement('.cerabox-content').empty().set('opacity','0').adopt(image);ceraBox._openWindow(dimension.width,dimension.height,options.animation?options.animation:'fade',index);});},onerror:function(){ceraBox._timedOut(index,options);}});},showSwf:function(index,options){var ceraBox=this;var items=this.vars.items[index[0]];var currentItem=items[index[1]];ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();var dimension={width:options.width?options.width:500,height:options.height?options.height:400};var swfEr=new Swiff(currentItem.get('href'),{width:dimension.width,height:dimension.height,params:{wMode:'opaque'}});if(false!==options.displayOverlay)
ceraBox._displayOverlay();if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(dimension.width,dimension.height);}
ceraBox.vars.cerabox.getElement('.cerabox-content').set('tween',{duration:300}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');if(false===ceraBox.vars.busy)
return;if(false!==options.displayTitle)
ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','block').set('text',(items.length>1?'Item '+(index[1]+1)+' / '+items.length+' ':'')+(currentItem.get('title')?currentItem.get('title'):''));ceraBox.vars.cerabox.getElement('.cerabox-content').empty().set('opacity',0).adopt(swfEr);ceraBox._openWindow(dimension.width,dimension.height,options.animation?options.animation:'fade',index);});},showIframe:function(index,options){var ceraBox=this;var items=this.vars.items[index[0]];var currentItem=items[index[1]];this.loaderTimer=this._displayLoader.delay(200,this,[options.loaderAtItem,currentItem]);this.timeOuter=this._timedOut.delay(10000,this,[index,options]);var ceraIframe=new IFrame({src:currentItem.get('href'),styles:{width:1,height:1,border:'0px'},events:{load:function(){if(false===ceraBox.vars.busy&&ceraBox.vars.windowOpen!==true)
return;clearInterval(ceraBox.timeOuter);clearInterval(ceraBox.loaderTimer);document.id('cerabox-loading').setStyle('display','none');if(false!==options.displayOverlay)
ceraBox._displayOverlay();this.setStyles({width:options.width?options.width:'1px',height:options.height?options.height:'1px',border:'0'});ceraBox.vars.cerabox.setStyle('display','block');var dimension=ceraBox._getSizeElement(this,(true===options.fullSize?true:false));ceraBox.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(dimension.width,dimension.height);}
ceraBox._openWindow(dimension.width,dimension.height,options.animation?options.animation:'fade',index);}}});ceraIframe.set('border','0');ceraIframe.set('frameborder','0');this.vars.cerabox.getElement('.cerabox-content').empty().set('opacity',0).adopt(ceraIframe);},close:function(terminate){if(this.vars.busy&&!terminate)
return;this.vars.busy=!terminate;clearInterval(this.timeOuter);clearInterval(this.loaderTimer);document.id('cerabox-loading').setStyle('display','none');var ceraBox=this;ceraBox.vars.cerabox.set('tween',{duration:50}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');this.element.setStyle('display','none');document.id('cerabox-background').set('tween',{duration:150,link:'chain'}).tween('opacity','0').tween('display','none').get('tween').addEvent('chainComplete',function(){this.removeEvents('chainComplete');ceraBox.vars.cerabox.getElement('.cerabox-content').empty();ceraBox.vars.cerabox.getElement('.cerabox-left').removeEvents('click').setStyle('display','none');ceraBox.vars.cerabox.getElement('.cerabox-right').removeEvents('click').setStyle('display','none');var collection=ceraBox.vars.items[ceraBox.vars.currentIndex[0]];var currentItem=collection[ceraBox.vars.currentIndex[1]];if(ceraBox.vars.windowOpen){if(null!==ceraBox.options.events._onClose)
ceraBox.options.events._onClose.call(ceraBox,currentItem,collection);else
ceraBox.options.events.onClose.call(ceraBox,currentItem,collection);}
ceraBox.vars.windowOpen=false;ceraBox.vars.busy=false;});});},initHTML:function(){var wrapper=document.id(document.body);wrapper.adopt([new Element('div',{'id':'cerabox-loading'}).adopt(new Element('div')),new Element('div',{'id':'cerabox-background','styles':{'height':wrapper.getScrollSize().y+'px'},'events':{'click':function(event){event.stop();this.close()}.bind(this)}}),this.vars.cerabox=new Element('div',{'id':'cerabox'}).adopt([new Element('div',{'class':'cerabox-content'}),new Element('div',{'class':'cerabox-title'}).adopt(new Element('span')),new Element('a',{'class':'cerabox-close','events':{'click':function(event){event.stop();this.close()}.bind(this)}}),new Element('a',{'class':'cerabox-left'}).adopt(new Element('span')),new Element('a',{'class':'cerabox-right'}).adopt(new Element('span')),new Element('div',{'class':'cerabox-content-protection'}),new Element('div',{'id':'cerabox-ajaxPreLoader','styles':{'float':'left','overflow':'hidden','display':'block'}})])]);},_timedOut:function(index,options){this.vars.busy=true;clearInterval(this.loaderTimer);document.id('cerabox-loading').setStyle('display','none');this._displayOverlay();this.vars.cerabox.getElement('.cerabox-title span').setStyle('display','none').empty();var ceraBox=this;var items=this.vars.items[index[0]];this.vars.cerabox.getElement('.cerabox-content').set('tween',{duration:300}).tween('opacity','0').get('tween').addEvent('complete',function(){this.removeEvents('complete');if(false===ceraBox.vars.busy)
return;ceraBox.vars.cerabox.getElement('.cerabox-content').empty().set('opacity',0).adopt(new Element('span',{'text':ceraBox.options.errorLoadingMessage})).set('tween',{duration:100}).tween('opacity','1');ceraBox._openWindow(250,50,options.animation?options.animation:'fade',index);});if(ceraBox.vars.windowOpen==true){ceraBox._transformItem(250,50);}},_addNavButtons:function(index){var ceraBox=this;if(true===ceraBox.vars.busy)
return;this.vars.cerabox.getElement('.cerabox-left').removeEvents('click').setStyle('display','none');this.vars.cerabox.getElement('.cerabox-right').removeEvents('click').setStyle('display','none');if(this.vars.items[index[0]][(index[1]-1)]){this.vars.cerabox.getElement('.cerabox-left').setStyle('display','block').addEvent('click',function(event){event.stopPropagation();this.setStyle('display','none').removeEvents('click');ceraBox.vars.items[index[0]][(index[1]-1)].fireEvent('click',event);});}
if(this.vars.items[index[0]][(index[1]+1)]){this.vars.cerabox.getElement('.cerabox-right').setStyle('display','block').addEvent('click',function(event){event.stopPropagation();this.setStyle('display','none').removeEvents('click');ceraBox.vars.items[index[0]][(index[1]+1)].fireEvent('click',event);});}},_transformItem:function(width,height){var morphObject={'display':'block','width':width,'height':height,'opacity':1};if(window.getSize().x>this.vars.cerabox.getSize().x+40&&window.getSize().x>width+40){this.vars.cerabox.setStyles({'left':((window.getSize().x/2))+'px','right':'auto'});morphObject['margin-left']=((-width/2)+document.id(document.body).getScroll().x)+'px';}
else{this.vars.cerabox.setStyles({'margin-left':'0','left':'auto','right':'20px'});}
if(window.getSize().y>this.vars.cerabox.getSize().y+40&&window.getSize().y>height+40){this.vars.cerabox.setStyles({'top':((window.getSize().y/2))+'px'});morphObject['margin-top']=((-height/2)+document.id(document.body).getScroll().y)+'px';}
else{if(height+40>(document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)){this.vars.cerabox.setStyles({'margin-top':'0','top':(document.id(document.body).getScrollSize().y-(height+60)>20?document.id(document.body).getScrollSize().y-(height+60):20)+'px'});}
else{this.vars.cerabox.setStyles({'margin-top':'0','top':document.id(document.body).getScroll().y+20+'px'});}}
return this.vars.cerabox.set('morph',{duration:150}).morph(morphObject).get('morph');},_showInit:function(){clearInterval(this.timeOuter);clearInterval(this.loaderTimer);document.id('cerabox-loading').setStyle('display','none');},_openWindow:function(width,height,animation,index){if(this.vars.cerabox.getElement('.cerabox-content iframe'))
this.vars.cerabox.getElement('.cerabox-content iframe').setStyles({'width':width,'height':height});this.vars.currentIndex=index=index?index:this.vars.currentIndex;var currentItem=this.vars.items[index[0]][index[1]];var ceraBox=this;if(this.vars.windowOpen==true){this.vars.cerabox.getElement('.cerabox-content').set('opacity',0).set('tween',{duration:200}).tween('opacity','1').get('tween').addEvent('complete',function(){this.removeEvents('complete');ceraBox.vars.busy=false;ceraBox._addNavButtons(index);if(null!==ceraBox.options.events._onChange)
ceraBox.options.events._onChange.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);else
ceraBox.options.events.onChange.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);});return;}
this.vars.cerabox.getElement('.cerabox-content').set('opacity','1');if(null!==this.options.events._onOpen)
this.options.events._onOpen.call(this,currentItem,this.vars.items[index[0]]);else
this.options.events.onOpen.call(this,currentItem,this.vars.items[index[0]]);var morphObject={};if(window.getSize().x>width+40){Object.append(morphObject,{'margin-left':(width>0?((-width/2)+document.id(document.body).getScroll().x):0)+'px','left':((window.getSize().x/2))+'px','right':'auto'});}
else{Object.append(morphObject,{'margin-left':'0','left':((window.getSize().x-(width+20))+document.id(document.body).getScroll().x)+'px','right':'20px'});}
if(window.getSize().y>height+40){Object.append(morphObject,{'margin-top':(height>0?((-height/2)+document.id(document.body).getScroll().y):0)+'px','top':((window.getSize().y/2))+'px','bottom':'auto'});}
else{if(height+40>(document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)){Object.append(morphObject,{'margin-top':'0','top':(document.id(document.body).getScrollSize().y-(height+60)>20?document.id(document.body).getScrollSize().y-(height+60):20)+'px'});}
else{Object.append(morphObject,{'margin-top':'0','top':document.id(document.body).getScroll().y+20+'px'});}}
switch(animation){case'ease':Object.append(morphObject,{'width':width,'height':height,'opacity':'1'});this.vars.cerabox.setStyles({'display':'block','left':currentItem.getPosition().x+'px','top':currentItem.getPosition().y+'px','width':currentItem.getSize().x+'px','height':currentItem.getSize().y+'px','margin':0,'opacity':0}).set('morph',{duration:200}).morph(morphObject).get('morph').addEvent('complete',function(){this.removeEvents('complete');ceraBox.vars.busy=false;ceraBox._addNavButtons(index);if(null!==ceraBox.options.events._onAnimationEnd)
ceraBox.options.events._onAnimationEnd.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);else
ceraBox.options.events.onAnimationEnd.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);});break;case'fade':default:Object.append(morphObject,{'display':'block','width':width,'height':height,'opacity':0});this.vars.cerabox.setStyles(morphObject).set('tween',{duration:200}).tween('opacity','1').get('tween').addEvent('complete',function(){this.removeEvents('complete');ceraBox.vars.busy=false;ceraBox._addNavButtons(index);if(null!==ceraBox.options.events._onAnimationEnd)
ceraBox.options.events._onAnimationEnd.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);else
ceraBox.options.events.onAnimationEnd.call(ceraBox,currentItem,ceraBox.vars.items[index[0]]);});break;}
currentItem.blur();this.vars.windowOpen=true;},_displayOverlay:function(){document.id('cerabox-background').setStyles({'display':'block','opacity':'.5','height':document.id(document.body).getScrollSize().y+'px','width':document.id(document.body).getScrollSize().x+'px'});},_displayLoader:function(loaderAtItem,currentItem){if(true===loaderAtItem&&!this.vars.windowOpen)
document.id('cerabox-loading').setStyles({'position':'absolute','top':(((currentItem.getSize().y/2)-(document.id('cerabox-loading').getStyle('height').toInt()/2))+currentItem.getPosition().y)+'px','left':(((currentItem.getSize().x/2)-(document.id('cerabox-loading').getStyle('width').toInt()/2))+currentItem.getPosition().x)+'px','margin-left':0,'margin-top':0});else
document.id('cerabox-loading').set('style','');document.id('cerabox-loading').setStyle('display','block');this._loaderAnimation();},_loaderAnimation:function(frame){if(!frame)
frame=0;document.id('cerabox-loading').getElement('div').setStyle('top',(frame*-40)+'px');frame=(frame+1)%12;if(document.id('cerabox-loading').getStyle('display')!='none')
this._loaderAnimation.delay(60,this,frame);},_getSizeElement:function(element,fullSize){var eleWidth=0,eleHeight=0;if(element.tagName=='IFRAME'){try{eleWidth=(element.get('width')?this._sizeStringToInt(element.get('width'),'x'):(element.getStyle('width').toInt()>1?this._sizeStringToInt(element.getStyle('width'),'x'):(element.contentWindow.document.getScrollWidth()?element.contentWindow.document.getScrollWidth():window.getSize().x*0.75)));}
catch(err){eleWidth=window.getSize().x*0.75;this._log(err);}
try{eleHeight=(element.get('height')?this._sizeStringToInt(element.get('height'),'y'):(element.getStyle('height').toInt()>1?this._sizeStringToInt(element.getStyle('height'),'y'):(element.contentWindow.document.getScrollHeight()?element.contentWindow.document.getScrollHeight():window.getSize().y*0.75)));}
catch(err){eleHeight=window.getSize().y*0.75;this._log(err);}
if(Browser.ie){eleHeight=eleHeight+20;}
if(false===fullSize){if((window.getSize().y-100)<eleHeight){eleWidth=eleWidth+(Browser.Platform.mac?15:17);}
return{width:(window.getSize().x-50)<eleWidth?(window.getSize().x-50):eleWidth,height:(window.getSize().y-100)<eleHeight?(window.getSize().y-100):eleHeight};}else
return{width:eleWidth,height:eleHeight};}
eleWidth=(element.get('width')?this._sizeStringToInt(element.get('width'),'x'):(element.getStyle('width')&&element.getStyle('width')!='auto'?this._sizeStringToInt(element.getStyle('width'),'x'):window.getSize().x-50));eleHeight=(element.get('height')?this._sizeStringToInt(element.get('height'),'y'):(element.getStyle('height')&&element.getStyle('height')!='auto'?this._sizeStringToInt(element.getStyle('height'),'y'):window.getSize().y-100));if(false===fullSize){var r=Math.min(Math.min(window.getSize().x-50,eleWidth)/eleWidth,Math.min(window.getSize().y-100,eleHeight)/eleHeight);return{width:Math.round(r*eleWidth),height:Math.round(r*eleHeight)};}
else
return{width:eleWidth,height:eleHeight};},_sizeStringToInt:function(size,dimension){return(typeof size=='string'&&size.test('%')?window.getSize()[dimension]*(size.toInt()/100):size.toInt());},_resize:function(){if(this.vars.windowOpen==true){document.id('cerabox-background').setStyles({'height':window.getSize().y+'px','width':window.getSize().x+'px'});if(window.getSize().x>this.vars.cerabox.getSize().x+40){this.vars.cerabox.setStyles({'margin-left':(this.vars.cerabox.getSize().x>0?((-this.vars.cerabox.getSize().x/2)+document.id(document.body).getScroll().x):0)+'px','left':((window.getSize().x/2))+'px','right':'auto'});}
else{this.vars.cerabox.setStyles({'margin-left':'0','left':'auto','right':'20px'});}
if(window.getSize().y>this.vars.cerabox.getSize().y+40){this.vars.cerabox.setStyles({'margin-top':(this.vars.cerabox.getSize().y>0?((-this.vars.cerabox.getSize().y/2)+document.id(document.body).getScroll().y):0)+'px','top':((window.getSize().y/2))+'px','bottom':'auto'});}
else{if(this.vars.cerabox.getSize().y+40>(document.id(document.body).getScrollSize().y-document.id(document.body).getScroll().y)){this.vars.cerabox.setStyles({'margin-top':'0','top':(document.id(document.body).getScrollSize().y-(this.vars.cerabox.getSize().y+60)>20?document.id(document.body).getScrollSize().y-(this.vars.cerabox.getSize().y+60):20)+'px'});}
else{this.vars.cerabox.setStyles({'margin-top':'0','top':document.id(document.body).getScroll().y+20+'px'});}}
document.id('cerabox-background').setStyles({'height':document.id(document.body).getScrollSize().y+'px','width':document.id(document.body).getScrollSize().x+'px'});}},_addCallbacks:function(events){this.options.events._onClose=null;this.options.events._onOpen=null;this.options.events._onChange=null;this.options.events._onAnimationEnd=null;if(null!==events){if(typeof events.onClose=='function')
this.options.events._onClose=events.onClose;if(typeof events.onOpen=='function')
this.options.events._onOpen=events.onOpen;if(typeof events.onChange=='function')
this.options.events._onChange=events.onChange;if(typeof events.onAnimationEnd=='function')
this.options.events._onAnimationEnd=events.onAnimationEnd;}},_log:function(log,alertIt){try{console.log(log);}
catch(err){if(alertIt)
alert(log);}}});var Zoomer=new Class({version:'1.8',Implements:[Options],options:{smooth:6},initialize:function(element,options){this.setOptions(options);this.small=document.id(element);if(!this.small.complete){this.small.addEvent('load',function(){this.prepareSmall();}.bind(this));}else{this.prepareSmall();}
var src=this.options.big||this.small.get('big');this.big=new Element('img',{src:src,styles:{position:'absolute',top:0,left:0,opacity:0,cursor:'crosshair'}});if(!this.big.complete){this.big.addEvent('load',function(){this.prepareBig();}.bind(this));}else{this.prepareBig();}},prepareSmall:function(){this.wrapper=new Element('div',{'class':'zoomer-wrapper'}).wraps(this.small);['margin','left','top','bottom','right','float','clear','border','padding'].each(function(p){var style=this.small.getStyle(p);var dflt='auto';if(['float','clear','border'].contains(p))dflt='none';if(p=='padding')dflt='0';try{this.small.setStyle(p,dflt);this.wrapper.setStyle(p,style);}catch(e){};},this);this.wrapper.setStyles({width:this.small.offsetWidth,height:this.small.offsetHeight,position:'relative',overflow:'hidden'});this.smallSize={width:this.small.width,height:this.small.height};if(this.bigPrepared){this.ready();}else{this.smallPrepared=true;}},prepareBig:function(){if(this.big.width<376)this.big.width=376;if(this.big.height<330)this.big.height=330;this.bigSize={width:this.big.width,height:this.big.height};if(this.smallPrepared){this.ready();}else{this.bigPrepared=true;}},ready:function(){this.big.inject(this.wrapper);this.bigWrapper=new Element('div',{'class':'zoomer-wrapper-big',styles:{position:'absolute',overflow:'hidden',top:this.small.getPosition().y-this.wrapper.getPosition().y-this.wrapper.getStyle('border-top-width').toInt(),left:this.small.getPosition().x-this.wrapper.getPosition().x-this.wrapper.getStyle('border-left-width').toInt(),width:this.small.offsetWidth,height:this.small.offsetHeight,background:'url(_)'},events:{mouseenter:this.startZoom.bind(this),mouseleave:this.stopZoom.bind(this),mousemove:this.move.bind(this)}}).wraps(this.big);},move:function(event){this.dstPos=event.page;},startZoom:function(){this.position=this.small.getPosition();this.ratio={x:1-this.bigSize.width/this.smallSize.width,y:1-this.bigSize.height/this.smallSize.height}
this.current={left:this.big.getStyle('left').toInt(),top:this.big.getStyle('top').toInt()}
this.timer=this.zoom.periodical(10,this);this.big.fade('in');},stopZoom:function(){window.clearInterval(this.timer);this.big.fade('out');},zoom:function(){if(!this.dstPos)return;var steps=this.options.smooth;var dst={left:parseInt((this.dstPos.x-this.position.x)*this.ratio.x),top:parseInt((this.dstPos.y-this.position.y)*this.ratio.y)};this.current.left-=(this.current.left-dst.left)/steps;this.current.top-=(this.current.top-dst.top)/steps;this.big.setStyles(this.current);}});var ToolTip=new Class({Implements:[Events,Options],Binds:['hide'],timer:null,options:{autohide:true,offset:12,hideDelay:1000,parseURLs:true,position:{edge:'bottom',position:'centerTop',offset:{x:0,y:0}},text:null},initialize:function(element,options){this.element=element;this.setOptions(options);var edges={'bottom':{'q':-1,'dim':'y'},'top':{'q':1,'dim':'y'},'left':{'q':1,'dim':'x'},'right':{'q':-1,'dim':'x'}};this.options.position.offset[edges[this.options.position.edge].dim]=this.options.offset*edges[this.options.position.edge].q;this.toolTip=new Element('div.tooltip',{'html':this.options.text}).hide().inject(document.body);this.arrow=ToolTip.arrow(ToolTip.arrowPosition(this.options.position),this.toolTip);[this.element,this.toolTip].each(function(el){el.addEvents({'mouseenter':function(){if(this.options.autohide)window.clearTimeout(this.timer);}.bind(this),'mouseleave':function(){if(this.options.autohide)this.timer=this.hide.delay(this.options.hideDelay,this);}.bind(this)});},this);},hide:function(){this.arrow.hide();this.toolTip.hide();if(typeof(btn=this.toolTip.getElement('div.close'))=='element'){btn.destroy();}
this.fireEvent('hide');this.element.erase('data-tooltip-displayed');return this;},position:function(){this.toolTip.position({relativeTo:this.element,position:this.options.position.position,edge:this.options.position.edge,offset:this.options.position.offset});return this;},set:function(content){if(typeOf(content)=='element'){this.toolTip.empty().grab(content);}
else{if(this.options.parseURLs){content=ToolTip.parseLinks(content);}
this.toolTip.set('html',content);}
if(!this.options.autohide){new Element('div.close[title="'+(Locale.get('ToolTip.close')||'Close')+'"]').inject(this.toolTip,'top').addEvent('click',this.hide.bind(this));}
this.position();},show:function(){if(!this.element.get('data-tooltip-displayed')){this.element.set('data-tooltip-displayed',true);this.position();this.toolTip.show();this.arrow.show();this.fireEvent('show');}
return this;}}).extend({arrow:function(options,tooltipElement){options=Object.merge({distance:12,edge:'bottom',offset:{x:0,y:0},parent:document.body,position:'centerTop'},options);if(typeOf(tooltipElement)=='element'){options.relativeTo=tooltipElement;}
var edges={'bottom':{'className':'css-arrow-up','borderWidth':'0 {y}px {y}px'},'top':{'className':'css-arrow-down','borderWidth':'{y}px {y}px 0'},'left':{'className':'css-arrow-right','borderWidth':'{x2}px 0 {x2}px {x}px'},'right':{'className':'css-arrow-left','borderWidth':'{x2}px {x}px {x2}px 0'}};var borderWidth=edges[options.edge].borderWidth.substitute({'x':(options.distance*.8).round(),'y':(options.distance*.8).round(),'x2':(options.distance*.8).round()});var element=new Element('div.tooltip-arrow.'+edges[options.edge].className).setStyle('border-width',borderWidth).hide().inject(options.parent).store('ArrowPosition',options);element.show=function(){this.setStyle('display','block').position(this.retrieve('ArrowPosition'));};return element;},arrowPosition:function(options){var edges={'bottom':{'dim':'y','edge':'top'},'top':{'dim':'y','edge':'bottom'},'left':{'dim':'x','edge':'right'},'right':{'dim':'x','edge':'left'}};var arrowOptions=Object.merge(Object.clone(options),{distance:options.offset[edges[options.edge].dim].abs(),edge:edges[options.edge].edge,offset:{x:0,y:0}});arrowOptions.position=ToolTip.getCoordinateFromValue(arrowOptions.position);arrowOptions.position[edges[options.edge].dim]=options.edge;return arrowOptions;},getCoordinateFromValue:function(option){if(typeOf(option)!='string')return option;option=option.toLowerCase();return{x:option.test('left')?'left':(option.test('right')?'right':'center'),y:option.test(/upper|top/)?'top':(option.test('bottom')?'bottom':'center')};},instance:function(){var element=arguments[0],param=['string','element'].contains(typeOf(arguments[1])),content=param?arguments[1]:(arguments[2]||null),options=param?(arguments[2]||{}):arguments[1];if(typeOf(current=document.retrieve('ToolTip.current'))=='object'){current.hide();}
if((toolTip=element.retrieve('ToolTip.instance'))==null){toolTip=new ToolTip(element,options);}
else{toolTip.setOptions(options);}
element.store('ToolTip.instance',toolTip);document.store('ToolTip.current',toolTip);if(content){toolTip.set(content);}
return toolTip;},parseLinks:function(text){text=text.replace(/\b(href="|">)?(?:ht|f)tps?:\/\/[^<\s]+(?:\/|\b)/i,function($0,$1){return $1?$0:'<a href="'+$0+'">'+$0+'</a>';});text=text.replace(/\b\b(:\/\/|">)?www(?:\.[a-z0-9][-a-z0-9]*)+\.[a-z]{2,6}\b/i,function($0,$1){return $1?$0:'<a href="http://'+$0+'">'+$0+'</a>';});text=text.replace(/\b(href=["']?mailto:|58;)?(?!\.)[-+_a-z0-9.]+(\.)?@(?![-.])[-a-z0-9.]+(\.)?\.[a-z]{2,6}\b(?!<\/a>)/i,function($0,$1){return $1?$0:'<a href="mailto:'+$0+'">'+$0+'</a>';});return text;}});Request.ToolTip=new Class({Extends:Request,options:{anchor:null,link:'cancel',localePrefix:'ToolTip',method:'post'},initialize:function(options){this.parent(options);if(typeOf(this.options.anchor)!='element'){throw'Anchor option must be element';}
this.addEvents({'failure':function(xhr){var content=new Element('div').adopt(new Element('span[html="'+(Locale.get(this.options.localePrefix+'.failed')||'Your request could not complete')+'. "]'),new Element('a[href="javascript:;"][html="'+(Locale.get('ToolTip.retry')||'Try again')+'"]').addEvent('click',this.send.bind(this)),new Element('br'),new Element('span[html="'+(Locale.get('ToolTip.status')||'Server replied: {status} {statusText}').substitute(xhr)+'"]'));ToolTip.instance(this.options.anchor,{autohide:false},content).show();},'request':function(){var content=new Element('div.progress[html="'+(Locale.get(this.options.localePrefix+'.updating')||'Your request is being processed')+'&hellip;"]');ToolTip.instance(this.options.anchor,{autohide:false},content).show();},'success':function(text){if(/application\/json/.test(this.getHeader('Content-type'))){var json=this.response.json=Function.attempt(function(){return JSON.decode(text);});text=json.message;}
ToolTip.instance(this.options.anchor,{autohide:true},text||(Locale.get(this.options.localePrefix+'.success')||'Your request has completed')).show();this.fireEvent('mouseleave');}});}});window['AN'].ScrollBox=new Class({Implements:[Events,Options],slider:null,box:null,scrollbar:null,handle:null,content:null,scrollableSize:null,options:{maxSteps:100,contentClass:'vsbContent',scrollbarClass:'vsbScrollbar',handleClass:'vsbHandle'},initialize:function(box,options){this.box=box;if(!this.box.getElement('.'+this.options.contentClass)){this.setOptions(options);this.createElements();}},createElements:function(){this.content=new Element('div');this.content.addClass(this.options.contentClass);this.box.getChildren().each(function(el){this.content.grab(el);}.bind(this));this.scrollbar=new Element('div');this.scrollbar.addClass(this.options.scrollbarClass);this.handle=new Element('div');this.handle.addClass(this.options.handleClass);this.scrollbar.grab(this.handle);this.box.grab(this.scrollbar);this.box.grab(this.content);var totalSize=this.content.getScrollSize().y
var boxSize=this.content.getSize().y
var sliderSize=boxSize*boxSize/totalSize;this.scrollableSize=totalSize-boxSize;if(sliderSize>=totalSize){this.scrollbar.destroy();return;}
this.createEvents();},createEvents:function(){this.slider=new Slider(this.scrollbar,this.handle,{steps:this.options.maxSteps,mode:('vertical'),onChange:function(step){var offset=(this.scrollableSize*step)/this.options.maxSteps;this.content.scrollTo(0,offset);}.bind(this)}).set(0);$$(this.content,this.scrollbar).addEvent('mousewheel',function(e){e=new Event(e).stop();var step=this.slider.step-e.wheel*10;this.slider.set(step);}.bind(this));$(document.body).addEvent('mouseleave',function(){this.slider.drag.stop()}.bind(this));}});window['AN'].HPCarousel=new Class({Implements:Options,carouselClass:'.hp-carousel',options:{autostart:true,delay:5000,speed:2000},container:null,index:0,interval:null,images:null,content:null,list:null,initialize:function(opts){this.setOptions(opts);this.container=$(document.body).getElement(this.carouselClass);if(this.container===null)return;this.images=this.container.getElements('.images div');this.content=this.container.getElements('.text .intro-text');this.list=this.container.getElements('ul.counter li');this.bindEvents();this.hideAll();this.show(0);if(this.options.autostart===true&&this.images.length>1&&this.list.length>1){this.start();}},bindEvents:function(){this.list.each(function(el,i){el.addEvent('mouseenter',this.mouseEnter.bind(this,{index:i,element:el}))
el.addEvent('mouseleave',this.start.bind(this));}.bind(this));},hideAll:function(){this.content.setStyles({opacity:'0'})
this.images.setStyles({opacity:'0'})
this.list.removeClass('active');},mouseEnter:function(eventData){ToolTip.instance(eventData.element,eventData.element.get('title')).show();this.stop();this.hideAll();this.index=eventData.index;this.show(eventData.index);},start:function(){this.stop();var interval;interval=setInterval(function(){var index=this.index,image;this.getImageAt(index).fade('out');this.getContentAt(index).fade('out');this.getButtonAt(index).removeClass('active');this.getImageAt(index).removeClass('active');this.getContentAt(index).removeClass('active');index+=1;if(index>=this.images.length){index=0;}
this.index=index;image=this.getImageAt(index);image.addClass('active');content=this.getContentAt(index);content.addClass('active');this.getButtonAt(index).addClass('active');image.fade('in');content.fade('in');}.bind(this),this.options.delay);this.interval=interval;},stop:function(){if(this.interval!==null){clearInterval(this.interval);this.interval=null;}},show:function(index){this.getContentAt(index).addClass('active').setStyles({opacity:1});this.getImageAt(index).addClass('active').setStyles({opacity:1});this.getButtonAt(index).addClass('active');},getContentAt:function(index){return $(this.content[index]);},getImageAt:function(index){return $(this.images[index]);},getButtonAt:function(index){return $(this.list[index]);}});window['AN'].FontResizer=new Class({Implements:[Events,Options],fontSelector:null,fontOptions:null,sizeableElements:null,initialize:function(){this.fontSelector=$('fontsize_select');if(!this.fontSelector)return;this.sizeableElements=[];$$('a,div,p,span,label,li,h1,h2,h3,h4,h5').each(function(item,index){if(item.getStyle('font-size').toInt()==14)this.sizeableElements.push(item);}.bind(this));this.fontOptions=this.fontSelector.getElements('li');if(this.fontOptions){this.fontOptions.each(function(item,index){item.addEvent('click',this.resizeFont.bind(this,item));}.bind(this));}},resizeFont:function(item){var activeSize=this.fontSelector.getElement('.active');activeSize.removeClass('active');item.addClass('active');if(item.hasClass('normal')){var fontSize=14;this.sizeableElements.each(function(item,index){item.setStyle('font-size',fontSize+'px');});}
if(item.hasClass('large')){var fontSize=16;this.sizeableElements.each(function(item,index){item.setStyle('font-size',fontSize+'px');});}}});window['AN'].SolutionsCarousel=new Class({Implements:[Options,Events],carouselClass:'.solutions-component',leftButton:null,rightButton:null,isScrolling:false,stepScroll:null,list:null,scrollContainer:null,fx:null,currentItem:0,initialize:function(){this.container=$(document.body).getElement(this.carouselClass);if(this.container===null)return;this.leftButton=this.container.getElement('.left');this.rightButton=this.container.getElement('.right');this.list=this.container.getElements('.item');this.scrollContainer=this.container.getElement('.items');this.fx=new Fx.Tween(this.scrollContainer);this.stepScroll=this.container.getElement('.item').getDimensions().x+this.container.getElement('.item').getStyle('margin-left').toInt()+this.container.getElement('.item').getStyle('margin-right').toInt();this.bindEvents();},bindEvents:function(){if(this.leftButton){this.leftButton.setStyle('background-position','0px -30px');this.leftButton.addEvent('click',this.moveScroller.bind(this,'left'));}
if(this.rightButton){this.rightButton.addEvent('click',this.moveScroller.bind(this,'right'));}},moveScroller:function(direction){if(!this.isScrolling){if(direction=='right'){if(this.currentItem<=(this.list.length-4)){this.isScrolling=true;this.currentItem=this.currentItem+1;var offset=this.currentItem*this.stepScroll;this.fx.start('margin-left',this.scrollContainer.getStyle('margin-left'),'-'+offset+'px').chain(function(){this.isScrolling=false;}.bind(this));this.leftButton.setStyle('background-position','0px 0px');if(this.currentItem==(this.list.length-3))this.rightButton.setStyle('background-position','0px -30px');else this.rightButton.setStyle('background-position','0px 0px');}}
if(direction=='left'){if(this.currentItem>0){this.isScrolling=true;this.currentItem=this.currentItem-1;var offset=this.currentItem*this.stepScroll;this.fx.start('margin-left',this.scrollContainer.getStyle('margin-left'),'-'+offset+'px').chain(function(){this.isScrolling=false;}.bind(this));this.rightButton.setStyle('background-position','0px 0px');if(this.currentItem==0)this.leftButton.setStyle('background-position','0px -30px');else this.leftButton.setStyle('background-position','0px 0px');}}}}});window['AN'].Tabs=new Class({className:'tabs-list',tabsets:null,target_tab:null,initialize:function(){var myURI=new URI(window.location.href);this.target_tab=myURI.getData('tab','query');this.tabsets=$$('.tabs-list');for(i=0;i<this.tabsets.length;i++){if(!this.tabsets[i].hasClass('enabled')){this.initTabs(this.tabsets[i]);}}},initTabs:function(tabset){var tabs=tabset.getElements('li');for(j=0;j<tabs.length;j++){var tab=tabs[j];if(tab.hasClass(this.target_tab)){this.setTabActive(tab,j+1);}
tab.addEvent('click',this.setTabActive.bind(this,[tab,j+1]));}
tabset.addClass('enabled');},setTabActive:function(tab,tabcount){if(typeOf(tab)=='array'){var tabdata=tab;tab=tabdata[0];tabcount=tabdata[1];}
var activeTab=tab.getParent().getElement('li.active');activeTab.removeClass('active');activeTab.addClass('inactive');tab.removeClass('inactive');tab.addClass('active');var activeTabContent=tab.getParent('.tab-container').getChildren('.visible');activeTabContent.removeClass('visible');activeTabContent.addClass('hidden');var targetTabContent=tab.getParent('.tab-container').getChildren('div.tab-content-'+tabcount);targetTabContent.removeClass('hidden');targetTabContent.addClass('visible');window.fireEvent('tab-switch');}});window['AN'].Checkbox=new Class({Implements:Options,options:{element:null,checkbox:null,checked:false},initialize:function(opts){this.setOptions(opts);if(this.options.element===null){return;}
this.options.checkbox=this.options.element.getElement('input');if(this.options.checkbox.checked===true)this.options.checked=true;if(this.options.checked===true){this.check();}
this.bindEvents();},bindEvents:function(){this.options.checkbox.addEvent('click',this.clicked.bind(this));},clicked:function(){if(this.options.checked===true){this.uncheck();}else{this.check();}},check:function(){this.options.checkbox.set('checked','checked');this.options.element.addClass('checked');this.options.checked=true;},uncheck:function(){this.options.checkbox.removeProperty('checked');this.options.element.removeClass('checked');this.options.checked=false;}});window['AN'].DropDown=new Class({Implements:Options,options:{element:null,dropdown:null,selectedValue:false},fake:null,fake_options:null,selected_value:null,initialize:function(opts){this.setOptions(opts);if(this.options.element===null){return;}
this.options.dropdown=this.options.element.getElement('select');this.options.dropdown.setStyle('display','none');this.generateFakeDropDown();},generateFakeDropDown:function(){if(this.options.element.getElement('.fake-dropdown')){this.options.element.getElement('.fake-dropdown').destroy();}
this.fake=new Element('div',{'class':'fake-dropdown'});this.selected_value=new Element('div',{'class':'selected-value'});this.handle=new Element('div',{'class':'handle'});this.fake_options=new Element('div',{'class':'fake-options'});this.loadOptions();this.selected_value.inject(this.fake);this.handle.inject(this.fake);this.fake_options.inject(this.fake);this.fake.inject(this.options.element,'top');this.bindEvents();},loadOptions:function(){this.options.dropdown.getElements('option').each(function(item){var fake_option=new Element('a',{'class':'fake-option','html':item.get('text')});if(item.selected===true){this.selected_value.set('text',item.get('text'));this.selected_value.set('value',item.get('value'));}
fake_option.addEvent('click',function(event){this.selected_value.set('text',fake_option.get('text'));this.selected_value.set('value',fake_option.get('value'));this.fake_options.setStyle('display','none');this.options.dropdown.getElements('option').each(function(item){if(item.get('value')==fake_option.get('value')){item.selected=true;$(item).setProperty('selected','selected');this.options.dropdown.fireEvent('change');}}.bind(this));event.stopPropagation();}.bind(this));fake_option.set('value',item.get('value'));fake_option.inject(this.fake_options);}.bind(this));},bindEvents:function(){this.fake.addEvent('click',function(e){if(!this.options.element.hasClass('disabled')){this.fake_options.setStyle('display','block');}}.bind(this));this.fake.addEvent('mouseleave',function(e){this.fake_options.setStyle('display','none');}.bind(this));},clicked:function(){if(this.options.checked===true){this.uncheck();}else{this.check();}},check:function(){this.options.checkbox.set('checked','checked');this.options.element.addClass('checked');this.options.checked=true;},uncheck:function(){this.options.checkbox.removeProperty('checked');this.options.element.removeClass('checked');this.options.checked=false;}});window['AN'].RadioButton=new Class({Implements:Options,options:{element:null,radio:null,checked:false},initialize:function(opts){this.setOptions(opts);if(this.options.element===null){return;}
this.options.radio=this.options.element.getElement('input');if(this.options.radio.checked===true)this.options.checked=true;if(this.options.checked==true){this.check();}
this.bindEvents();},bindEvents:function(){this.options.radio.addEvent('click',this.clicked.bind(this));},clicked:function(){this.uncheck();this.check();},check:function(){this.options.radio.set('checked','checked');this.options.element.addClass('checked');this.options.checked=true;},uncheck:function(){var options=$(document.body).getElements('input[name='+this.options.radio.name+']');options.each(function(option,index){option.getParent('span.radio-button').removeClass('checked');option.removeProperty('checked');option.checked=false;}.bind(this));}});window['AN'].FileInput=new Class({Implements:Options,fakeInput:null,options:{element:null,fileinput:null},initialize:function(opts){this.setOptions(opts);if(this.options.element===null){return;}
this.options.fileinput=this.options.element.getElement('input');this.createFake();this.bindEvents();},createFake:function(){var select="select";if($$('#country_select .pt')[0].className.match(/active/)!=null){select="Procurar";}
var fakeElement=new Element('div',{'class':'fake'});this.fakeInput=new Element('span',{'class':'input normal',html:'<input type="text" value=""/>'});var fakeButton=new Element('span',{'class':'button',html:'<div class="submit">'+select+'</div>'});fakeButton.inject(fakeElement);this.fakeInput.inject(fakeElement);fakeElement.inject(this.options.fileinput,'after');},bindEvents:function(){this.options.fileinput.addEvent('change',this.changed.bind(this));},changed:function(){this.fakeInput.getElement('input').set('value',this.options.fileinput.get('value'));}});window['AN'].FormValidation=new Class({bean:null,fields:null,validationUrl:'/app/form/validatefield.json',formId:'main',emailClass:'contact.emailAddress',emailVerificationClass:'contact.emailAddressVerification',selectedStore:null,lastLocation:null,initialize:function(bean){this.bean=bean;this.fields=$(this.formId).getElements('.formRow');if(this.fields===null||this.bean===null)return;this.fields.each(this.enableFieldEvents.bind(this));if($('cityOrZipcode')){$('cityOrZipcode').addEvent('blur',this.storeLocator.bind(this));if($('cityOrZipcode').value!=''){var options=$('stores').getElements('option');options.each(function(item,index){if(item.selected===true){this.selectedStore=item.value;}});this.storeLocator();}}
if($('dateOfBirth.month')){$('dateOfBirth.month').addEvent('keyup',function(){if($('dateOfBirth.month').get('value').length>="2"){$('dateOfBirth.month').set('value',$('dateOfBirth.month').get('value').substr(0,2));$('dateOfBirth.day').focus();}});$('dateOfBirth.day').addEvent('keyup',function(){if($('dateOfBirth.day').get('value').length>="2"){$('dateOfBirth.day').set('value',$('dateOfBirth.day').get('value').substr(0,2));$('dateOfBirth.year').focus();}});$('dateOfBirth.year').addEvent('keyup',function(){if($('dateOfBirth.year').get('value').length>="4"){$('dateOfBirth.year').set('value',$('dateOfBirth.year').get('value').substr(0,4));}});}
if($('newsletters1')){$('newsletters1').addEvent('click',function(){if($('newsletters1').checked===true){$('mask').setStyle('display','none');}else{$('hasHearingAid1').checked=false;$('hasHearingAid1').getParent('span.checkbox').removeClass('checked');$('mask').setStyle('display','block');}});$('newsletters1').fireEvent('click');}},enableFieldEvents:function(elementRow){var validation=false;if(elementRow.hasClass('validate'))validation=true;if(elementRow.getElement('.error-hint'))elementRow.addClass('error');var elements=elementRow.getElements('input,select,textarea');elements.each(function(element,index){if(element.get('tag')=='input'||element.get('tag')=='textarea'){if(element.get('type')=='text'||element.get('tag')=='textarea'){element.addEvent('focus',function(){elementRow.addClass('focus');}.bind(this));element.addEvent('blur',function(){elementRow.removeClass('focus');if(validation){this.triggerValidation(element);}}.bind(this));}
if(element.get('type')=='radio'){element.addEvent('focus',function(){elementRow.addClass('focus');}.bind(this));element.addEvent('change',function(){elementRow.removeClass('focus');if(validation){this.triggerValidation(element);}}.bind(this));}
if(element.get('type')=='checkbox'){element.addEvent('focus',function(){elementRow.addClass('focus');}.bind(this));element.addEvent('blur',function(){elementRow.removeClass('focus');if(validation){this.triggerValidation(element);}}.bind(this));}}
if(element.get('tag')=='select'){element.addEvent('focus',function(){elementRow.addClass('focus');}.bind(this));element.addEvent('change',function(){elementRow.removeClass('focus');if(validation){this.triggerValidation(element);}}.bind(this));element.addEvent('blur',function(){elementRow.removeClass('focus');if(validation){this.triggerValidation(element);}}.bind(this));}}.bind(this));},triggerValidation:function(element){if(element.hasClass('skip')){return false;}
if(element.get('tag')=='select'){var value=element.options[element.selectedIndex].value;}else if(element.get('type')=='checkbox'){var options=$(document.body).getElements('input[name='+element.get('name')+']');var value="";options.each(function(item,index){if(item.checked===true)value=item.get('value');});}else if(element.get('type')=='radio'){var options=$(document.body).getElements('input[name='+element.get('name')+']');var value="";options.each(function(item,index){if(item.checked===true)value=item.get('value');});}else{var value=element.get('value');}
var field=element.get('name');var request=new Request.JSON({url:this.validationUrl,method:'get',data:{beanName:this.bean,fieldName:field,fieldValue:value},onComplete:this.handleValidationResponse.bind(this,element)});request.send();},handleValidationResponse:function(element,jsonResponse){var parent=element.getParent('.formRow');var label=element.getParent('.formRow').getElement('label');if(element.get('type')=='radio'){label.getElements('.error-hint').destroy();parent.removeClass('error');}
if(element.get('name')==this.emailVerificationClass){if(jsonResponse.result!='failure'){if(element.get('value')!=$(this.emailClass).get('value')){var errormesg=$('emailVerification-error').get('value');var jsonResponse=JSON.decode('{"result":"failure","fieldStatuses":[{"field":"contact.emailAddressVerification","message":"'+errormesg+'","value":""}]}');}}}
if(jsonResponse.result=='failure'){var errorID=jsonResponse.fieldStatuses[0].field+'.errors';if($(errorID)){$(errorID).set('text',jsonResponse.fieldStatuses[0].message);}else{var errorDiv=new Element('div',{id:errorID,'class':'error-hint',html:jsonResponse.fieldStatuses[0].message});errorDiv.inject(label);}
parent.addClass('error');}
if(jsonResponse.result=='success'){var errorID=jsonResponse.fieldStatuses[0].field+'.errors';if($(errorID)){$(errorID).destroy();if(label.getElements('.error-hint').length==0){parent.removeClass('error');}}}},storeLocator:function(){var storeValue=$('cityOrZipcode').get('value');if(!storeValue){$('stores').empty();$('stores').setProperty('disabled','disabled');$('stores').getParent('span').addClass('disabled');this.lastLocation="";var option=new Element('option',{html:'Select',value:''});option.inject($('stores'));return;}
if(this.lastLocation==storeValue)return;this.lastLocation=storeValue;var geocoder=new google.maps.Geocoder();geocoder.geocode({'address':storeValue,'region':'PT'},function(results,status){if(status==google.maps.GeocoderStatus.OK){var location=results[0].geometry.location;var postData={latitude:location.lat(),longitude:location.lng()};var request=new Request.JSON({url:'/app/stores/near.json',data:postData,method:'get',onComplete:function(response){$('stores').empty();$('stores').removeProperty('disabled');$('stores').getParent('span').removeClass('disabled');response.each(function(item){var option=new Element('option',{html:item.name+', '+item.address.street+', '+item.address.zipcode+', '+item.address.city});option.setAttribute('value',item.name);if(item.name==this.selectedStore)option.setAttribute('selected','selected');option.inject($('stores'));});var Checkbox=new window['AN'].DropDown({element:$('stores').getParent('span.dropdown')});}}).send();}else{console.log({error:"Geocode was not successful for the following reason: "+status});}});}});window['AN'].WordCount=new Class({Implements:[Events,Options],options:{inputName:null,countChars:true,limit:500,liveCount:true,eventTrigger:'keyup',eventTrigger2:'paste'},displayText:null,initialize:function(targetId,options){this.setOptions(options);this.target=$(targetId);this.displayText=$('message-hint').get('value');if((this.options.liveCount)&&(this.options.inputName)){var input=$(document.body).getElement('[name='+this.options.inputName+']');input.addEvent(this.options.eventTrigger,function(event){if(event.key!="control")this.getCount(input);}.bind(this));input.addEvent(this.options.eventTrigger2,function(){this.getCount(input);}.bind(this));}
this.getCount(input);},getCount:function(input){var text=input.get('value');var numChars=(this.options.limit-text.length);if(numChars<=0){input.set('value',text.substr(0,this.options.limit-1));numChars=0;}
var replaceObject={'0':this.options.limit,'1':numChars};var insertText=this.displayText.substitute(replaceObject);if(insertText){this.target.set('text',insertText);}}});window['AN'].GoogleMap=new Class({Implements:[Events,Options],geocode_url:'https://maps.googleapis.com/maps/api/geocode/json',map:null,geocoder:null,markers:[],bounds:null,element:null,mapTypeControl:false,options:{zoom:7,center:null,mapTypeId:google.maps.MapTypeId.ROADMAP,country_code:null},initialize:function(element,maptype,opts){this.setOptions(opts);this.geocoder=new google.maps.Geocoder();this.bounds=new google.maps.LatLngBounds();this.element=element;this.mapTypeControl=maptype;this.getLetLngFromAddress(this.options.country_code,function(response){if(!response.error){this.options.center=new google.maps.LatLng(response.location.lat(),response.location.lng());}}.bind(this));if(this.element===null)return;this.drawMap();},resetBounds:function(){this.bounds=new google.maps.LatLngBounds();},extendBounds:function(myLatLng){this.bounds.extend(myLatLng);},fitBounds:function(){this.map.fitBounds(this.bounds);},getLetLngFromAddress:function(address,callback){this.geocoder.geocode({'address':address+", "+this.options.country_code.toUpperCase(),'region':this.options.country_code},function(results,status){if(status==google.maps.GeocoderStatus.OK){callback({location:results[0].geometry.location,address:results[0].address_components});}else{callback({error:"Geocode was not successful for the following reason: "+status});}});},drawMap:function(){this.map=new google.maps.Map(this.element,this.options);},addMarker:function(marker){this.markers.push(marker);marker.addEvent('click',this.hideWindows.bind(this));},hideWindows:function(){var markers=this.markers,i;for(i=0;i<markers.length;i++){markers[i].set('infoWindowVisible',false);}},hideWindows:function(){var markers=this.markers,i;for(i=0;i<markers.length;i++){markers[i].set('infoWindowVisible',false);}},clearMarkers:function(){var markers=this.markers;while(marker=markers.pop()){marker.marker.setMap(null);}},showRoute:function(){}});window['AN'].GoogleMapMarker=new Class({Implements:[Events,Options],options:{position:null,map:null,title:null,windowBody:null,markerNumber:0,hasInfoWindow:true,markerImagePath:'/static/images/minisom/marker.png',animation:google.maps.Animation.DROP},infoBox:null,marker:null,infoWindow:null,infoWindowVisible:false,initialize:function(opts){this.options=opts;this.createMarker();if(this.options.hasInfoWindow===true&&this.options.windowBody!=null){this.createInfoBox(this.options.windowBody);}},createMarker:function(){var markerImage=new google.maps.MarkerImage(this.options.markerImagePath,new google.maps.Size(36,36),new google.maps.Point(36*this.options.markerNumber,0),new google.maps.Point(10,21));marker=new google.maps.Marker({position:this.options.position,title:this.options.title,animation:this.options.animation,map:this.options.map.map,icon:markerImage});this.marker=marker;this.options.map.addMarker(this);if(this.options.hasInfoWindow===true&&this.options.windowBody!=null){google.maps.event.addListener(marker,'click',this.markerClick.bind(this));}},createInfoBox:function(content){var boxText=new Element("div");boxText.innerHTML=content;var myOptions={content:boxText,disableAutoPan:false,maxWidth:0,pixelOffset:new google.maps.Size(-142,-375),zIndex:null,boxStyle:{background:"url('/static/images/geers/info-window-back.png') no-repeat scroll left top",width:"289px",height:"350px"},closeBoxURL:"/static/images/minisom/close-button.png",infoBoxClearance:new google.maps.Size(1,125),isHidden:false,pane:"floatPane",enableEventPropagation:false};this.infoBox=new InfoBox(myOptions);google.maps.event.addListener(this.infoBox,'closeclick',this.infoWindowClose.bind(this));},markerClick:function(){console.log();if(this.infoWindowVisible===false){this.infoBox.open(this.options.map.map,this.marker);this.infoWindowVisible=true;}
this.options.map.map.setZoom(12);this.options.map.map.setCenter(new google.maps.LatLng(this.options.position.Ba+0.03,this.options.position.Ca));},infoWindowClose:function(){this.infoWindowVisible=false;}});window['AN'].StoreLocator=new Class({Implements:[Events,Options],map:null,url:'/app/stores/list.json',url2:'/app/stores/near.json',url4:null,template:$('template-store'),form:$('store_locator'),mapContainer:$('store_locator_map'),addressField:$('address'),kidsShop:$('check_kidshop'),openSunday:$('check_opensunday'),storeInfoHTML:null,country_code:'pt',markerLocation:null,maxViewableStores:5,resultItemHeight:220,storesInResult:null,curpage:0,totalPages:0,viewPort:null,pager:null,fx:null,label_error1:null,label_error2:null,label_tab_address:null,label_tab_hours:null,label_regular_hours:null,label_special_hours:null,dropDelay:100,initialize:function(opts){this.setOptions(opts);if(this.mapContainer===null){return;}
this.url4=$('mapUrl').value
this.viewPort=$(document.body).getElements('.view-port');this.pager=$(document.body).getElements('.pager');this.country_code=$('country_code').get('value');this.createMap();this.getContent();var myURI=new URI();var sAddress=myURI.getData('address','query');if(sAddress){this.addressField.set('value',sAddress);this.map.getLetLngFromAddress(sAddress,this.retreiveNearestStores.bind(this))
var request=new Request.JSON({url:this.url,onComplete:function(response){var StoreList=new window['AN'].StoreList(response);}.bind(this)}).send();}else{this.loadAllStores();this.markerLocation=$('marker_location').get('value');}
this.enablePager();this.fx=new Fx.Scroll($(document.body),{duration:500,transition:Fx.Transitions.Sine.easeIn});this.retreiveStoreTemplates();this.form.addEvent('submit',this.submitForm.bind(this));},getContent:function(){this.label_error1=$('label_error1').get('value');this.label_error2=$('label_error2').get('value');this.label_tab_address=$('label_tab_address').get('value');this.label_tab_hours=$('label_tab_hours').get('value');this.label_regular_hours=$('label_regular_hours').get('value');this.label_special_hours=$('label_special_hours').get('value');},retreiveStoreTemplates:function(){this.storeInfoHTML=this.template.get('html');},submitForm:function(e){e.preventDefault();if($(document.body).getElement('.infoBox'))$(document.body).getElement('.infoBox').destroy();if(this.addressField.get('value')!=''){$('error-message').addClass('hidden');this.map.getLetLngFromAddress(this.addressField.get('value'),this.retreiveNearestStores.bind(this))}else{$('error-message').removeClass('hidden');$('error-message').getElement('span').set('text',this.label_error2);}
return false;},retreiveNearestStores:function(response,test){var valid_address=false;if(!response.error){response.address.each(function(item,index){if(item.types.contains('country')){if(item.short_name.toUpperCase()==this.country_code.toUpperCase()){valid_address=true;}}}.bind(this));}else{valid_address=false;}
if(valid_address){var postData={latitude:response.location.lat(),longitude:response.location.lng()};var foundZip=false;response.address.each(function(item,index){if(item.types.contains('postal_code')){Object.append(postData,{zipcode:item.short_name});foundZip=true;}
if(!foundZip){if(item.types.contains('locality')){Object.append(postData,{city:item.short_name});return false;}}}.bind(this));if(this.kidsShop&&this.kidsShop.checked===true)postData.feature="kidsshop";if(this.openSunday&&this.openSunday.checked===true)postData.openNextSunday="true";var request=new Request.JSON({url:this.url2,data:postData,method:'get',onComplete:function(response){this.showNearestStores(response);}.bind(this)}).send();}else{$('error-message').removeClass('hidden');$('error-message').getElement('span').set('text',this.label_error1);}},enablePager:function(){var scrollTarget=$(document.body).getElement('.results');var resultsTarget=$(document.body).getElement('.results-container');this.pager.getElement('a.previous').addEvent('click',function(){this.pager.getElement('a.next').removeClass('hidden');this.curpage=this.curpage-1;resultsTarget.setStyle('margin-top','-'+(this.curpage*this.maxViewableStores*this.resultItemHeight)+'px');this.fx.toElement(scrollTarget);if(this.curpage==0){this.pager.getElement('a.previous').addClass('hidden');}}.bind(this));this.pager.getElement('a.next').addEvent('click',function(){this.pager.getElement('a.previous').removeClass('hidden');this.curpage=this.curpage+1;resultsTarget.setStyle('margin-top','-'+(this.curpage*this.maxViewableStores*this.resultItemHeight)+'px');this.fx.toElement(scrollTarget);if((this.totalPages-1)==this.curpage){this.pager.getElement('a.next').addClass('hidden');}}.bind(this));},showNearestStores:function(data){this.markerLocation=$('marker_search_location').get('value');this.search=true;if(!data||data.length<=0){return;}
var resultsWrapper=$(document.body).getElement('.results');var resultsTarget=$(document.body).getElement('.results-container');var resultsTargets=resultsTarget.getElements('.result-item');this.viewPort.setStyle('height','auto');if(resultsTargets)resultsTargets.destroy();resultsWrapper.removeClass('hidden');resultsWrapper.getElement('.result-count').set('text',data.length);this.storesInResult=data.length;this.totalPages=(this.storesInResult/this.maxViewableStores).ceil();if(this.storesInResult>this.maxViewableStores){this.viewPort.setStyle('height',this.maxViewableStores*this.resultItemHeight+'px');this.pager.removeClass('hidden');}else{this.pager.addClass('hidden');}
for(i=0;i<data.length;i++){var data_record=data[i];var htmlStore=this.storeInfoHTML;var store=new Element('div',{'class':'result-item',html:htmlStore});store.getElement('.marker').setStyle('background-position',-36*(i+1)+'px 0px')
store.getElement('.store-name').set('text',data_record.name);store.getElement('.store-street').set('text',data_record.address.street+' '+data_record.address.houseNumber);store.getElement('.store-zipcode').set('text',data_record.address.zipcode);store.getElement('.store-city').set('text',data_record.address.city);store.getElement('.store-phone').set('text','T. '+data_record.contact.telephone);store.getElement('.store-email').set('text','E. '+data_record.contact.emailAddress);if(data_record.features.contains('kidsshop'))store.getElement('.store-feature').removeClass('hidden');store.getElement('.store-hours').destroy();store.getElement('.store-detail a').set('href',data_record.storeDetailPage);store.getElement('.store-appointment a').set('href',this.url4+'?cityOrZipcode='+data_record.address.zipcode+'&stores='+data.name);store.inject(resultsTarget);}
this.showMapResults(data);},generateHTML:function(){},placeMarker:function(data,number,animate){var htmlBox='<div class="tab-container"><div class="page-tabs"><ul class="tabs-list"><li class="active"><a href="#1">'+this.label_tab_address+'</a></li><li><a href="#1">'+this.label_tab_hours+'</a></li></ul></div>';htmlBox+='<div class="tab-content tab-content-1 visible"></div><div class="tab-content tab-content-2 hidden"></div></div>';var windowContent=new Element('div',{html:htmlBox});var htmlStore=this.storeInfoHTML;var store_tab=new Element('div',{html:htmlStore,'class':'result-item'});store_tab.inject(windowContent.getElement('.tab-content-1'));store_tab.getElement('.store-name').set('text',data.name);store_tab.getElement('.store-street').set('text',data.address.street+' '+data.address.houseNumber);store_tab.getElement('.store-zipcode').set('text',data.address.zipcode);store_tab.getElement('.store-city').set('text',data.address.city);store_tab.getElement('.store-phone').set('text','T. '+data.contact.telephone);store_tab.getElement('.store-email').set('text','E. '+data.contact.emailAddress);if(data.features.contains('kidsshop'))store_tab.getElement('.store-feature').removeClass('hidden');store_tab.getElement('.store-directions').removeClass('hidden');store_tab.getElement('.store-directions').getElement('form').set('action',data.storeDetailPage);store_tab.getElement('.store-hours').destroy();store_tab.getElement('.store-appointment a').set('href',this.url4+'?cityOrZipcode='+data.address.zipcode+'&stores='+data.name);store_tab.getElement('.store-detail a').set('href',data.storeDetailPage);var store_tab2=new Element('div',{html:htmlStore,'class':'result-item'});store_tab2.inject(windowContent.getElement('.tab-content-2'));store_tab2.getElement('.store-data').addClass('hidden');store_tab2.getElement('.store-hours').removeClass('hidden');store_tab2.getElement('.store-detail a').set('href',data.storeDetailPage);store_tab2.getElement('.store-appointment a').set('href',this.url4+'?cityOrZipcode='+data.address.zipcode+'&stores='+data.name);var length=Object.getLength(data.weeklyOpeningHours);if(length>0){var label=new Element('label',{html:this.label_regular_hours});label.inject(store_tab2.getElement('.store-hours'));Object.each(data.weeklyOpeningHours,function(item,key,object){if(item.hours){var hour_data=item.hours.join(' ');if(key==1)key="Sun.";if(key==2)key="Mon.";if(key==3)key="Tue.";if(key==4)key="Wed.";if(key==5)key="Thu.";if(key==6)key="Fri.";if(key==7)key="Sat.";var hour=new Element('div',{'class':'store-hours-item '+key.replace('.','').toLowerCase(),html:'<div class="day">'+key+'</div><div class="hours">'+hour_data+'</div>'});hour.inject(store_tab2.getElement('.store-hours'));}});store_tab2.getElement('.store-hours').grab(store_tab2.getElement('.store-hours-item.sun'),'bottom');}
var length=Object.getLength(data.specialOpeningHours);if(length>0){var label=new Element('label',{html:this.label_special_hours});label.inject(store_tab2.getElement('.store-hours'));Object.each(data.specialOpeningHours,function(item,key,object){var hour_data=item.hours.join(' ');var hour=new Element('div',{'class':'store-hours-item',html:'<div class="day">'+key+'</div><div class="hours">'+hour_data+'</div>'});hour.inject(store_tab2.getElement('.store-hours'));});}
if(!this.search)number=0;var m=new window['AN'].GoogleMapMarker({position:new google.maps.LatLng(data.geolocationCoordinates.latitude,data.geolocationCoordinates.longitude),map:this.map,title:data.name,hasInfoWindow:true,windowBody:windowContent.get('html'),markerNumber:number+1,markerImagePath:this.markerLocation,animation:(animate==false?false:google.maps.Animation.DROP)});},showMapResults:function(data){this.map.resetBounds();this.map.clearMarkers();if(!data||data.length<=0){return;}
for(i=0;i<data.length;i++){var data_record=data[i];if(data.length<10){this.placeMarker.delay((this.dropDelay*i),this,[data_record,i]);}else{this.placeMarker(data_record,i,false);}
this.map.extendBounds(new google.maps.LatLng(data_record.geolocationCoordinates.latitude,data_record.geolocationCoordinates.longitude));}
this.map.fitBounds();},createMap:function(){var GoogleMap=new window['AN'].GoogleMap(this.mapContainer,false,{country_code:this.country_code});this.map=GoogleMap;},loadAllStores:function(){var request=new Request.JSON({url:this.url,onComplete:function(response){var StoreList=new window['AN'].StoreList(response);this.showMapResults(response);}.bind(this)}).send();}});window['AN'].StoreList=new Class({Implements:[Events,Options],template:$('template-store'),url4:null,stores:null,elementsEffects:null,storeInfoHTML:null,currentPage:1,totalPages:1,amountPerPage:5,heightItem:200,amountStoresInList:0,targetContainer:$(document.body).getElement('.store-list-results-entries-inner'),navigationList:$(document.body).getElements('.alphabetical-list-navigation a'),alphabeticalTitle:$(document.body).getElement('.alphabetical-title'),storeResultIndex:$(document.body).getElement('.store-result-index'),pagination:$(document.body).getElements('.pagination'),initialize:function(stores){this.url4=$('mapUrl').value
this.stores=stores;if(this.stores===null||this.stores.length==0){return;}
this.resetValues();this.retreiveStoreTemplate();this.createEvents();},string_to_slug:function(s){var r=s.toLowerCase();r=r.replace(new RegExp("\\s",'g'),"");r=r.replace(new RegExp("[ÃƒÂ ÃƒÂ¡ÃƒÂ¢ÃƒÂ£ÃƒÂ¤ÃƒÂ¥]",'g'),"a");r=r.replace(new RegExp("ÃƒÂ¦",'g'),"ae");r=r.replace(new RegExp("ÃƒÂ§",'g'),"c");r=r.replace(new RegExp("[ÃƒÂ¨ÃƒÂ©ÃƒÂªÃƒÂ«]",'g'),"e");r=r.replace(new RegExp("[ÃƒÂ¬ÃƒÂ­ÃƒÂ®ÃƒÂ¯]",'g'),"i");r=r.replace(new RegExp("ÃƒÂ±",'g'),"n");r=r.replace(new RegExp("[ÃƒÂ²ÃƒÂ³ÃƒÂ´ÃƒÂµÃƒÂ¶]",'g'),"o");r=r.replace(new RegExp("Ã…â€œ",'g'),"oe");r=r.replace(new RegExp("[ÃƒÂ¹ÃƒÂºÃƒÂ»ÃƒÂ¼]",'g'),"u");r=r.replace(new RegExp("[ÃƒÂ½ÃƒÂ¿]",'g'),"y");r=r.replace(new RegExp("\\W",'g'),"");return r;},resetValues:function(){this.navigationList.each(function(item,index){item.removeEvents('click');item.addClass('disabled');item.removeClass('active');}.bind(this));},createEvents:function(){this.navigationList.each(function(item){item.addEvent('click',this.clickLetterHandler.bind(this,item));}.bind(this));},setStoreIndex:function(){var end=this.currentPage*this.amountPerPage;if(this.amountStoresInList<end){end=this.amountStoresInList;var begin=((this.currentPage-1)*this.amountPerPage)+1;}else{var begin=(end-(this.amountPerPage))+1;}
if(begin<1)begin=1;this.storeResultIndex.set('text','showing '+begin+'-'+end+' of '+this.amountStoresInList);},clickLetterHandler:function(item){if(!item.hasClass('disabled')){var letter=item.get('text').toUpperCase();item.getParent().getElement('a.active').removeClass('active');item.addClass('active');this.alphabeticalTitle.set('text',letter);this.targetContainer.setStyle('margin-top','0px');this.generateList(letter);}},retreiveStoreTemplate:function(){this.storeInfoHTML=this.template.get('html');for(i=0;i<this.stores.length;i++){var data_record=this.stores[i];var letter=this.string_to_slug(data_record.address.city.trim().charAt(0));if(isNaN(letter)){var enableOption=$(document.body).getElement('a.'+letter.toLowerCase());enableOption.addClass('active');this.alphabeticalTitle.set('text',letter.toUpperCase());this.generateList(letter.toLowerCase());return;}}},generatePaging:function(){this.pagination.each(function(pagination,index){pagination.empty();});var pageAmount=this.amountStoresInList/this.amountPerPage;this.totalPages=pageAmount.ceil();if(pageAmount>1){var prevElement=new Element('a',{html:'Previous','class':'previous disabled'});var nextElement=new Element('a',{html:'Next','class':'next'});this.pagination.each(function(pagination,index){var prev=prevElement.clone();prev.addEvent('click',this.stepPage.bind(this,'left',prev));prev.inject(pagination);}.bind(this));for(i=1;i<=this.totalPages;i++){var pagingElement=new Element('a',{html:i,'class':'page page-'+i});pagingElement.addEvent('click',this.paginationClickHandler.bind(this,pagingElement));this.pagination.each(function(pagination,index){pagingElement.clone().cloneEvents(pagingElement).inject(pagination);}.bind(this));}
this.pagination.each(function(pagination,index){var next=nextElement.clone();next.addEvent('click',this.stepPage.bind(this,'right',next));next.inject(pagination);}.bind(this));this.pagination.each(function(pagination,index){pagination.getElement('a.page').addClass('selected');});}},stepPage:function(direction,element){if(direction=='right'){var current=element.getSiblings('a.selected');var next=current.getNext('a.page');if(next[0])this.paginationClickHandler(next[0]);}
if(direction=='left'){var current=element.getSiblings('a.selected');var prev=current.getPrevious('a.page');if(prev[0])this.paginationClickHandler(prev[0]);}},paginationClickHandler:function(element){this.pagination.each(function(pagination,index){pagination.getElement('a.selected').removeClass('selected');pagination.getElement('a.page-'+element.get('text')).addClass('selected');});this.currentPage=element.get('text');this.setStoreIndex();var Offset=this.amountPerPage*this.heightItem*(this.currentPage-1);this.targetContainer.setStyle('margin-top','-'+Offset+'px');if(this.currentPage==1){$(document.body).getElement('.pagination .previous').addClass('disabled');}else{$(document.body).getElement('.pagination .previous').removeClass('disabled');}
if(this.currentPage==this.totalPages){$(document.body).getElement('.pagination .next').addClass('disabled');}else{$(document.body).getElement('.pagination .next').removeClass('disabled');}},generateList:function(letter){this.targetContainer.empty();this.amountStoresInList=0;this.currentPage=1;var firstLetter=false;for(i=0;i<this.stores.length;i++){var data_record=this.stores[i];var cityletter=this.string_to_slug(data_record.address.city.trim().charAt(0));if(isNaN(cityletter)){var enableOption=$(document.body).getElement('a.'+cityletter.toLowerCase());enableOption.removeClass('disabled');if(cityletter.toUpperCase()==letter.toUpperCase()){var htmlStore=this.storeInfoHTML;var store=new Element('div',{'class':'result-item',html:htmlStore});store.getElement('.store-name').set('text',data_record.name);store.getElement('.store-street').set('text',data_record.address.street+' '+data_record.address.houseNumber);store.getElement('.store-zipcode').set('text',data_record.address.zipcode);store.getElement('.store-city').set('text',data_record.address.city);store.getElement('.store-phone').set('text','T. '+data_record.contact.telephone);store.getElement('.store-email').set('text','E. '+data_record.contact.emailAddress);store.getElement('.store-appointment a').set('href',this.url4+'?sAddress='+data_record.address.zipcode);store.getElement('.store-detail a').set('href',data_record.storeDetailPage);if(data_record.features.contains('kidsshop'))store.getElement('.store-feature').removeClass('hidden');store.getElement('.store-hours').destroy();store.inject(this.targetContainer);this.amountStoresInList++;}}}
this.setStoreIndex();this.generatePaging();}});window['AN'].SpecialHours=new Class({Implements:[Events,Options],url:'/app/stores/specialopenings.json',target:'special-hours',specialsDescription:null,initialize:function(){var targetPage=$(this.target);if(targetPage===null){return;}
this.retreiveSpecialHours();this.specialsDescription=specialsDescr;},retreiveSpecialHours:function(){var request=new Request.JSON({url:this.url,onComplete:this.generateHours.bind(this)}).send();},generateHours:function(response){var special_hours=response;var counter=0;Object.each(special_hours,function(stores,key,object){var activeClass='';if(counter==0){activeClass='active';}
var liElement=new Element('li',{'class':activeClass,html:'<a href="#'+i+'" > '+stores.dateLabel+'</a>'});liElement.set('datekey',key);liElement.set('weekdaylabel',stores.dayOfWeekLabel);liElement.set('dayofweeknr',stores.dayOfWeekNumber);liElement.inject($(this.target).getElement('.tabs-list'));liElement.addEvent('click',this.setActiveDate.bind(this,liElement,stores));if(counter==0){this.setActiveDate(liElement,stores);}
counter++;}.bind(this));},setSpecialText:function(element){var text=this.specialsDescription.get(element.get('text').trim());var dateArr=element.get('datekey').split('-');var weekdaylabel=element.get('weekdaylabel');var weekdaynr=element.get('dayofweeknr');var myDate=new Date(dateArr[1]+'/'+dateArr[0]+'/'+dateArr[2]);if(weekdaynr==1)text=$('sunday_label').get('value');$('holiday-name').set('html',' '+text);$('day-of-week').set('html',weekdaylabel);$('date-name').set('html',element.get('text').trim());},setActiveDate:function(element,stores){this.setSpecialText(element);var currentActive=$(this.target).getElement('.tabs-list').getElement('li.active');currentActive.removeClass('active');element.addClass('active');var StoreList=new window['AN'].StoreList(stores.stores);}});window['AN'].StoreDetail=new Class({Implements:[Events,Options],map:null,latitude:null,longitude:null,directionsDisplay:null,directionsService:null,label_error1:null,label_error2:null,form:$('store_directions'),mapContainer:$('store_detail_map'),addressField:$('address'),country_code:'pt',initialize:function(opts){this.setOptions(opts);if(this.mapContainer===null){return;}
this.country_code=$('country_code').get('value');this.latitude=$('latitude').get('value');this.longitude=$('longitude').get('value');this.directionsDisplay=new google.maps.DirectionsRenderer({suppressMarkers:true});this.directionsService=new google.maps.DirectionsService();this.getContent();this.createMap();this.placeStoreMarker();this.form.addEvent('submit',this.submitForm.bind(this));var myURI=new URI();var sAddress=myURI.getData('address','query');if(sAddress){this.addressField.set('value',sAddress);this.map.getLetLngFromAddress(this.addressField.get('value'),this.getDirections.bind(this));}},getContent:function(){this.label_error1=$('label_error1').get('value');this.label_error2=$('label_error2').get('value');},placeStoreMarker:function(){var m=new window['AN'].GoogleMapMarker({position:new google.maps.LatLng(this.latitude,this.longitude),map:this.map,hasInfoWindow:false,markerNumber:1,markerImagePath:$('marker_location').get('value')});this.map.map.setZoom(12);this.map.map.setCenter(new google.maps.LatLng(this.latitude,this.longitude));},submitForm:function(e){e.preventDefault();if(this.addressField.get('value').trim().length!=0){$('error-message').addClass('hidden');this.map.getLetLngFromAddress(this.addressField.get('value'),this.getDirections.bind(this));}else{$('error-message').removeClass('hidden');$('error-message').getElement('span').set('text',this.label_error2);}},getDirections:function(response){var valid_address=false;if(!response.error){response.address.each(function(item,index){if(item.types.contains('country')){if(item.short_name.toUpperCase()==this.country_code.toUpperCase()){valid_address=true;}}}.bind(this));}
if(valid_address){this.directionsDisplay.setMap(this.map.map);this.directionsDisplay.setPanel($("store_directions_panel"));var request={origin:response.location,destination:new google.maps.LatLng(this.latitude,this.longitude),travelMode:google.maps.TravelMode.DRIVING};this.map.clearMarkers();this.directionsService.route(request,function(result,status){if(status==google.maps.DirectionsStatus.OK){var leg=result.routes[0].legs[0];var m=new window['AN'].GoogleMapMarker({position:leg.start_location,map:this.map,hasInfoWindow:false,markerNumber:0,markerImagePath:$('marker_location').get('value')});this.placeStoreMarker();this.directionsDisplay.setDirections(result);}}.bind(this));}else{$('error-message').removeClass('hidden');$('error-message').getElement('span').set('text',this.label_error1);}},createMap:function(){var GoogleMap=new window['AN'].GoogleMap(this.mapContainer,false,{country_code:this.country_code});this.map=GoogleMap;}});window['AN'].JobLocator=new Class({Implements:[Events,Options],map:null,url:'/app/jobs/list.json',url2:'/app/jobs/near.json',url3:'/app/jobs/position.json',template:$('template-job'),form:null,mapContainer:$('job_locator_map'),addressField:$('cityOrZipcode'),positionField:$('positions'),jobInfoHTML:null,dropDelay:100,jobList:null,country_code:'pt',markerLocation:null,maxViewableJobs:5,resultItemHeight:135,jobsInResult:null,curpage:0,totalPages:0,viewPort:null,pager:null,fx:null,label_error1:null,label_error2:null,initialize:function(opts){this.setOptions(opts);if(this.mapContainer===null){return;}
this.markerLocation=$('marker_location').get('value');this.country_code=$('country_code').get('value');this.form=$('job_locator').getElement('form');this.viewPort=$(document.body).getElements('.view-port');this.pager=$(document.body).getElements('.pager');this.form.addEvent('submit',this.submitForm.bind(this));this.jobList=new Hash({});this.getContent();this.createMap();this.retreiveJobTemplates();this.enablePager();this.fx=new Fx.Scroll($(document.body),{duration:500,transition:Fx.Transitions.Sine.easeIn});},getContent:function(){this.label_error1=$('label_error1').get('value');this.label_error2=$('label_error2').get('value');},retreiveJobTemplates:function(){this.jobInfoHTML=this.template.get('html');if(this.addressField.get('value')!=''||this.positionField.get('value')!=''){this.form.fireEvent('submit');}else{this.loadAllJobs();}},submitForm:function(e){if(e){Event(e).preventDefault();}
if(this.addressField.get('value')!=''||this.positionField.get('value')!=''){$('error-message').addClass('hidden');if(this.addressField.get('value')!=''){this.map.getLetLngFromAddress(this.addressField.get('value'),this.retreiveNearestJobs.bind(this));}else{this.getJobsByPosition();}}else{this.jobList.empty();this.loadAllJobs();}
return false;},getJobsByPosition:function(){this.jobList.empty();var postData={position:this.positionField.get('value')};var request=new Request.JSON({url:this.url3,data:postData,method:'get',onComplete:this.groupJobs.bind(this)}).send();},enablePager:function(){var scrollTarget=$(document.body).getElement('.results');var resultsTarget=$(document.body).getElement('.results-container');this.pager.getElement('a.previous').addEvent('click',function(){this.pager.getElement('a.next').removeClass('hidden');this.curpage=this.curpage-1;resultsTarget.setStyle('margin-top','-'+(this.curpage*this.maxViewableJobs*this.resultItemHeight)+'px');this.fx.toElement(scrollTarget);if(this.curpage==0){this.pager.getElement('a.previous').addClass('hidden');}}.bind(this));this.pager.getElement('a.next').addEvent('click',function(){this.pager.getElement('a.previous').removeClass('hidden');this.curpage=this.curpage+1;resultsTarget.setStyle('margin-top','-'+(this.curpage*this.maxViewableJobs*this.resultItemHeight)+'px');this.fx.toElement(scrollTarget);if((this.totalPages-1)==this.curpage){this.pager.getElement('a.next').addClass('hidden');}}.bind(this));},retreiveNearestJobs:function(response,test){this.jobList.empty();var valid_address=false;if(!response.error){response.address.each(function(item,index){if(item.types.contains('country')){if(item.short_name.toUpperCase()==this.country_code.toUpperCase()){valid_address=true;}}}.bind(this));}
if(valid_address){var postData={latitude:response.location.lat(),longitude:response.location.lng(),position:this.positionField.get('value')};var request=new Request.JSON({url:this.url2,data:postData,method:'get',onComplete:this.groupJobs.bind(this)}).send();}else{$('error-message').removeClass('hidden');$('error-message').getElement('span').set('text',this.label_error1);}},showJobs:function(data){if(!data||data.getLength()<=0){return;}
var resultsWrapper=$(document.body).getElement('.results');var resultsTarget=$(document.body).getElement('.results-container');var resultsTargets=$(document.body).getElements('.result-item');this.viewPort.setStyle('height','auto');if(resultsTargets)resultsTargets.destroy();resultsWrapper.removeClass('hidden');var jobsCount=0;var number=0;var sizelist=data.getLength();for(k=0;k<sizelist;k++){data.each(function(value,key,hash){var store=value;if(store.index==k){for(j=0;j<store.jobs.length;j++){var data_record=store.jobs[j];var htmlJob=this.jobInfoHTML;var job=new Element('div',{'class':'result-item',html:htmlJob});job.getElement('.job-name').set('text',data_record.positionName);job.getElement('.job-city').set('text',data_record.address.city);job.getElement('.job-detail').set('text',data_record.hours);var jobUrl=data_record.jobDetailPage;if($('positions').get('value')!=''||$('cityOrZipcode').get('value')!=''){jobUrl=jobUrl+'?positions='+$('positions').get('value')+'&cityOrZipcode='+$('cityOrZipcode').get('value');}
job.getElement('.job-appointment a').set('href',jobUrl);job.getElement('.marker').setStyle('background-position',-36*(number+1)+'px 0px');job.inject(resultsTarget);jobsCount++;}
number++;}}.bind(this));}
resultsWrapper.getElement('.result-count').set('text',jobsCount);this.jobsInResult=jobsCount;this.totalPages=(this.jobsInResult/this.maxViewableJobs).ceil();if(this.jobsInResult>this.maxViewableJobs){this.viewPort.setStyle('height',this.maxViewableJobs*this.resultItemHeight+'px');this.pager.removeClass('hidden');}else{this.pager.addClass('hidden');}},generateHTML:function(){},placeMarker:function(data,number){var showWindow=false;var wrapper=new Element('div');var jobContainer=new Element('div',{'class':'infoBoxJob',html:'<h3>Available jobs</h3>'});if(data.jobs.length>1){showWindow=true;for(i=0;i<data.jobs.length;i++){var job=new Element('a',{html:'- '+data.jobs[i].positionName,href:data.jobs[i].jobDetailPage});job.inject(jobContainer);}
jobContainer.inject(wrapper);}
var m=new window['AN'].GoogleMapMarker({position:new google.maps.LatLng(data.latitude,data.longitude),map:this.map,title:data.name,hasInfoWindow:showWindow,windowBody:wrapper.get('html'),markerNumber:number,markerImagePath:this.markerLocation});if(data.jobs.length==1){google.maps.event.addListener(m.marker,'click',function(){location.href=data.jobs[0].jobDetailPage});}},showMapResults:function(data){this.map.resetBounds();this.map.clearMarkers();if(!data||data.getLength()<=0){return;}
var number=1;var sizelist=data.getLength();for(k=0;k<sizelist;k++){data.each(function(value,key,hash){var data_record=value;if(data_record.index==k){if(data_record.jobs.length>0){this.placeMarker.delay((this.dropDelay*number),this,[data_record,number]);this.map.extendBounds(new google.maps.LatLng(data_record.latitude,data_record.longitude));}
number++;}}.bind(this));}
this.map.fitBounds();},createMap:function(){var GoogleMap=new window['AN'].GoogleMap(this.mapContainer,false,{country_code:this.country_code});this.map=GoogleMap;},groupJobs:function(response){var counter=0;response.each(function(item,index){if(item.store){var hashStore=new Hash(item);var storeItem=item.store;hashStore.erase('store');if(this.jobList.has(storeItem.name+'-'+item.address.street+'-'+item.address.city)){var storeObject=this.jobList.get(storeItem.name+'-'+item.address.street+'-'+item.address.city);storeObject.jobs.push(hashStore);}else{var storeObject={latitude:storeItem.geolocationCoordinates.latitude,longitude:storeItem.geolocationCoordinates.longitude,jobs:[hashStore],index:counter}
counter++;this.jobList.set(storeItem.name+'-'+item.address.street+'-'+item.address.city,storeObject);}}}.bind(this));this.showJobs(this.jobList);this.showMapResults(this.jobList);},loadAllJobs:function(){var request=new Request.JSON({url:this.url,onComplete:this.groupJobs.bind(this)}).send();}});
