var searchtimer=null;var sp=0;window.addEvent('domready',function(){var platform=Browser.parseUA(window.navigator.userAgent,window.navigator.platform);if(platform.platform=='ios'){$('wrapper').addClass('ios');}
if(platform.platform=='android'){$('wrapper').addClass('android');}
if(platform.platform=='win'){$('wrapper').addClass('win');}
myScroll=new Fx.SmoothScroll({duration:400},window);$$('a[rel="external"], a.external').set('target','_blank');$$('a[data-email]').each(function(el){el.set('href','mailto:'+el.get('data-email').replace('|','@').replace('/',''));});$$('div[data-image]').each(function(el){var img=el.getElement('img');el.setStyle('background-image','url('+img.get('src')+')');img.hide();});$$('form[data-validate]').each(function(obj){var form=new Form.Validator.Inline(obj,{serial:false,useTitles:true,scrollToErrorsOnSubmit:false,ignoreHidden:false,errorPrefix:'',onFormValidate:function(passed,form,event){form.store('data-validation',passed);if(passed){new Element('input',{type:'hidden',name:'nospam',value:1}).inject(form);}},onHideAdvice:function(element,advice){$(advice).destroy();}});obj.store('validate',form);obj.getElements('.validation-failed').each(function(field){form.validateField(field);});});$$('select').each(function(obj){$$(obj).chosen();if(obj.get('value')!==''){obj.parentNode.getElement('.chzn-single').removeClass('chzn-default');}
if(obj.get('data-validators')){obj.parentNode.addClass('select');obj.addEvents({'change':function(e){this.form.retrieve('validate').validateField(this,true);},'show':function(e){var advice=this.parentNode.getElements('.validation-advice').hide();},'hide':function(e){var advice=this.parentNode.getElements('.validation-advice').show();this.form.retrieve('validate').validateField(this,true);}});var form=obj.form.retrieve('validate');form.removeEvent('onElementValidate',validateSelect);form.addEvent('onElementValidate',validateSelect);}});if($('nav-toggle')){$('nav-toggle').addEvent('click',function(e){e.preventDefault();if(!this.hasClass('active')){$('nav-toggle').addClass('active');$('wrapper').addClass('mactive');}else{$('nav-toggle').removeClass('active');$('wrapper').removeClass('mactive');}});}
if($('ss')){var crumb=new Element('div',{id:'sscrumb'});var overlay=new Element('div',{id:'ssoverlay'});var touch=$('data').getElement('.cell');var fitstate=new FitState('ss',{touch:touch,transWait:5000,transPeriod:1000,transition:'sine:out',breadCrumb:crumb});overlay.inject($('slideshow'));crumb.inject($('ss'));overlay.addEvent('click',function(e){if($('nav').getStyle('position')=='fixed'){fitstate.move();}});}
if($('iso')){$('iso').store('iso',new Packery($('iso'),{itemSelector:'figure',gutter:0,transitionDuration:'0.1s'}));isoGrid();window.addEvent('resize',isoGrid);$$('#list form').addEvent('submit',function(e){e.preventDefault();var obj=$('list').getElement('input[name="search"]');if(obj.retrieve('var')!=obj.get('value')){obj.store('var',obj.get('value'));doSearch(obj);}});$$('#list .icon-search').addEvent('click',function(e){e.preventDefault();var obj=$('list').getElement('input[name="search"]');if(obj.retrieve('var')!=obj.get('value')){obj.store('var',obj.get('value'));doSearch(obj);}});var search=$('list').getElement('input[name="search"]');search.store('var','');if(search.get('value').length>0){search.store('var',search.get('value'));doSearch(search);}
if($('sort')){$('sort').addEvent('change',function(e){var elements=$('iso').getElements('figure');var fxsort=new Fx.Sort(elements);switch($(this).get('value')){case'title':var objs={};elements.each(function(obj,i){objs[i]=obj.get('data-title');});var keys=Object.keys(objs).sort(function(a,b){var x=objs[a].toLowerCase();var y=objs[b].toLowerCase();return x<y?-1:x>y?1:0;});fxsort.rearrangeDOM(keys);break;case'priceasc':var objs={};elements.each(function(obj,i){objs[i]=(obj.get('data-price')>0)?obj.get('data-price'):5000;});var keys=Object.keys(objs).sort(function(a,b){return objs[a]-objs[b];});fxsort.rearrangeDOM(keys);break;case'pricedesc':var objs={};elements.each(function(obj,i){objs[i]=(obj.get('data-price')>0)?obj.get('data-price'):5000;});var keys=Object.keys(objs).sort(function(a,b){return objs[b]-objs[a];});fxsort.rearrangeDOM(keys);break;case'power':var objs={};elements.each(function(obj,i){objs[i]=obj.get('data-power');});var keys=Object.keys(objs).sort(function(a,b){return objs[b]-objs[a];});fxsort.rearrangeDOM(keys);break;}
$('iso').retrieve('iso').reloadItems();elements.removeClass('full').removeClass('wide');$('iso').getElements('figure:not(.none)').each(function(obj,i){switch((i+1)%13){case 1:case 3:case 8:case 10:obj.addClass('full');break;case 0:case 2:case 7:obj.addClass('wide');break;}});$('iso').retrieve('iso').options.transitionDuration='0.5s';isoGrid();$('iso').retrieve('iso').options.transitionDuration='0.2s';});}}
if($('bookingwrap')){var booking=new Fx.Slide($('bookingwrap'),{resetHeight:true,duration:300,onStart:function(e){$(this.element).setStyle('overflow','hidden');$(this.element.parentNode).setStyle('overflow','hidden');},onComplete:function(e){if(!this.open){myScroll.anchor='bookingwrap';if($('nav').getStyle('position')=='fixed'){myScroll.start(0,Math.ceil($('bookingwrap').getPosition().y)-($('nav').getSize().y/2));}else{myScroll.start(0,$('bookingwrap').getPosition().y-39);}}}}).hide();$('bookingwrap').store('fx',booking);if($('bookingwrap').getElements('.validation-failed').length>0){booking.show();}
$('book').addEvent('click',function(e){e.preventDefault();booking.toggle();});}
if($('toggle')){$('toggle').toggle();$('togglebtn').addEvent('click',function(e){e.preventDefault();$('toggle').toggle();});}
if($('vehicleimages')){var vowl=new FitState('vehicleimages',{touch:$('vehicleimage').getElement('figcaption'),transWait:0,transPeriod:1000,transition:'sine:out',onStart:function(element){if($('vehiclethumbs')){$('vehiclethumbs').getElements('.item').removeClass('active');$('vehiclethumbs').getElement('.item[data-image="'+element.retrieve('id')+'"]').addClass('active');}}});if($('vehiclethumbs')){$('vehiclethumbs').getElements('.item').addEvent('click',function(e){vowl.move(this.get('data-image'));});}}
resizeFlex();});window.addEvent('load',function(){resizeFlex();if($('mapbox')){L.mapbox.accessToken='pk.eyJ1Ijoic3lkbmV5bHV4dXJ5Y2FycmVudGFscyIsImEiOiJjaXhmNmR6NHUwMDAzMnRsaW5nZ3pkcm5rIn0.DxxP9C4kL6iQVWSr_pEErw';var map=L.mapbox.map('mapbox','sydneyluxurycarrentals.2hgpmh9c',{zoomControl:false,shareControl:false,infoControl:false,attributionControl:false}).setView([-33.9285,151.187],15);map.scrollWheelZoom.disable();new L.Control.Zoom({position:'topleft'}).addTo(map);map.featureLayer.on('mouseover',function(e){e.layer.openPopup();});map.featureLayer.on('mouseout',function(e){e.layer.closePopup();});};});window.addEvent('resize',resizeFlex);function resizeFlex(){if(($('flex'))&&($('wrapper').hasClass('ios'))){$('flex').getElements('.table').each(function(obj){obj.setStyle('height','100%');obj.setStyle('height',$(obj.parentNode).getSize().y);});}}
function isoGrid(){var size=$('iso').getComputedSize(),w=size.width-size.computedLeft-size.computedRight,windowSize=window.getSize().x,columnNum=1,columnWidth=0;switch(true){case(windowSize>1799):columnNum=6;break;case(windowSize>1399):columnNum=5;break;case(windowSize>1184):columnNum=4;break;case(windowSize>968):columnNum=3;break;case(windowSize>752):columnNum=2;break;case(windowSize>479):columnNum=2;break;}
columnWidth=Math.floor(w/columnNum);$('iso').getElements('figure').setStyles({width:columnWidth+'px',paddingBottom:'6px'});$('iso').getElements('figure.full, figure.wide').setStyles({width:(columnWidth*2)+'px'});var element=$('iso').getElement('figure.full');if(element){var h=$('iso').getElement('figure.full').getSize().y;$('iso').getElements('figure:not(.full)').setStyles({paddingBottom:((h/2)-6)+'px'});}
$('iso').retrieve('iso').layout();}
function doSearch(searchobj){var objs=$('iso').getElements('figure');objs.removeClass('none');var searchstring=searchobj.get('value').trim();if(searchstring.length>0){objs.each(function(figure){if(!figure.get('data-title').test(searchstring,'i')){figure.addClass('none');}});}
objs.removeClass('full').removeClass('wide');$('iso').getElements('figure:not(.none)').each(function(obj,i){switch((i+1)%13){case 1:case 3:case 8:case 10:obj.addClass('full');break;case 0:case 2:case 7:obj.addClass('wide');break;}});$('iso').retrieve('iso').options.transitionDuration='0.5s';isoGrid();$('iso').retrieve('iso').options.transitionDuration='0.2s';}
function validateSelect(passed,element){if(element.get('tag')=='select'){if(!passed){element.parentNode.addClass('validation-failed');}else{element.parentNode.removeClass('validation-failed');}}}
window.addEvent('scroll',function(e){var scroll=window.getScroll().y;var maxscroll=window.getScrollSize().y-window.getSize().y-68;switch(true){case(scroll<0):scroll=0;break;case(scroll>maxscroll):scroll=maxscroll;break;}
if(!$('nav-toggle').hasClass('active')){if((scroll!==0)&&((scroll-sp)>=0)){$('nav').addClass('transformy');}else{$('nav').removeClass('transformy');}}
sp=scroll;});!function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e<a.length;)b.call(c,a[e],e,a),e++;else for(e in a)a.hasOwnProperty(e)&&b.call(c,a[e],e,a)}function h(b,c,d){var e="DEPRECATED METHOD: "+c+"\n"+d+" AT \n";return function(){var c=new Error("get-stack-trace"),d=c&&c.stack?c.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;d<a.length;){if(c&&a[d][c]==b||!c&&a[d]===b)return d;d++}return-1}function s(a){return Array.prototype.slice.call(a,0)}function t(a,b,c){for(var d=[],e=[],f=0;f<a.length;){var g=b?a[f][b]:a[f];r(e,g)<0&&d.push(a[f]),e[f]=g,f++}return c&&(d=b?d.sort(function(a,c){return a[b]>c[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g<ma.length;){if(c=ma[g],e=c?c+f:b,e in a)return e;g++}return d}function v(){return ua++}function w(b){var c=b.ownerDocument||b;return c.defaultView||c.parentWindow||a}function x(a,b){var c=this;this.manager=a,this.callback=b,this.element=a.element,this.target=a.options.inputTarget,this.domHandler=function(b){k(a.options.enable,[a])&&c.handler(b)},this.init()}function y(a){var b,c=a.options.inputClass;return new(b=c?c:xa?M:ya?P:wa?R:L)(a,z)}function z(a,b,c){var d=c.pointers.length,e=c.changedPointers.length,f=b&Ea&&d-e===0,g=b&(Ga|Ha)&&d-e===0;c.isFirst=!!f,c.isFinal=!!g,f&&(a.session={}),c.eventType=b,A(a,c),a.emit("hammer.input",c),a.recognize(c),a.session.prevInput=c}function A(a,b){var c=a.session,d=b.pointers,e=d.length;c.firstInput||(c.firstInput=D(b)),e>1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;c<a.pointers.length;)b[c]={clientX:pa(a.pointers[c].clientX),clientY:pa(a.pointers[c].clientY)},c++;return{timeStamp:ra(),pointers:b,center:E(b),deltaX:a.deltaX,deltaY:a.deltaY}}function E(a){var b=a.length;if(1===b)return{x:pa(a[0].clientX),y:pa(a[0].clientY)};for(var c=0,d=0,e=0;b>e;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e<f.length;)d[f[e].identifier]=!0,e++;for(e=0;e<g.length;)d[g[e].identifier]&&h.push(g[e]),b&(Ga|Ha)&&delete d[g[e].identifier],e++;return h.length?[t(f.concat(h),"identifier",!0),h]:void 0}function R(){x.apply(this,arguments);var a=j(this.handler,this);this.touch=new P(this.manager,a),this.mouse=new L(this.manager,a),this.primaryTouch=null,this.lastTouches=[]}function S(a,b){a&Ea?(this.primaryTouch=b.changedPointers[0].identifier,T.call(this,b)):a&(Ga|Ha)&&T.call(this,b)}function T(a){var b=a.changedPointers[0];if(b.identifier===this.primaryTouch){var c={x:b.clientX,y:b.clientY};this.lastTouches.push(c);var d=this.lastTouches,e=function(){var a=d.indexOf(c);a>-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d<this.lastTouches.length;d++){var e=this.lastTouches[d],f=Math.abs(b-e.x),g=Math.abs(c-e.y);if(db>=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(d){b[d]=c?a.CSS.supports("touch-action",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;c<arguments.length;c++){var e=arguments[c];if(e!==d&&null!==e)for(var f in e)e.hasOwnProperty(f)&&(b[f]=e[f])}return b}:Object.assign;var sa=h(function(a,b,c){for(var e=Object.keys(b),f=0;f<e.length;)(!c||c&&a[e[f]]===d)&&(a[e[f]]=b[e[f]]),f++;return a},"extend","Use `assign`."),ta=h(function(a,b){return sa(a,b,!0)},"merge","Use `assign`."),ua=1,va=/mobile|tablet|ip(ad|hone|od)|android/i,wa="ontouchstart"in a,xa=u(a,"PointerEvent")!==d,ya=wa&&va.test(navigator.userAgent),za="touch",Aa="pen",Ba="mouse",Ca="kinect",Da=25,Ea=1,Fa=2,Ga=4,Ha=8,Ia=1,Ja=2,Ka=4,La=8,Ma=16,Na=Ja|Ka,Oa=La|Ma,Pa=Na|Oa,Qa=["x","y"],Ra=["clientX","clientY"];x.prototype={handler:function(){},init:function(){this.evEl&&m(this.element,this.evEl,this.domHandler),this.evTarget&&m(this.target,this.evTarget,this.domHandler),this.evWin&&m(w(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&n(this.element,this.evEl,this.domHandler),this.evTarget&&n(this.target,this.evTarget,this.domHandler),this.evWin&&n(w(this.element),this.evWin,this.domHandler)}};var Sa={mousedown:Ea,mousemove:Fa,mouseup:Ga},Ta="mousedown",Ua="mousemove mouseup";i(L,x,{handler:function(a){var b=Sa[a.type];b&Ea&&0===a.button&&(this.pressed=!0),b&Fa&&1!==a.which&&(b=Ga),this.pressed&&(b&Ga&&(this.pressed=!1),this.callback(this.manager,b,{pointers:[a],changedPointers:[a],pointerType:Ba,srcEvent:a}))}});var Va={pointerdown:Ea,pointermove:Fa,pointerup:Ga,pointercancel:Ha,pointerout:Ha},Wa={2:za,3:Aa,4:Ba,5:Ca},Xa="pointerdown",Ya="pointermove pointerup pointercancel";a.MSPointerEvent&&!a.PointerEvent&&(Xa="MSPointerDown",Ya="MSPointerMove MSPointerUp MSPointerCancel"),i(M,x,{handler:function(a){var b=this.store,c=!1,d=a.type.toLowerCase().replace("ms",""),e=Va[d],f=Wa[a.pointerType]||a.pointerType,g=f==za,h=r(b,a.pointerId,"pointerId");e&Ea&&(0===a.button||g)?0>h&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;a<this.requireFail.length;){if(!(this.requireFail[a].state&(tb|nb)))return!1;a++}return!0},recognize:function(a){var b=la({},a);return k(this.options.enable,[this,b])?(this.state&(rb|sb|tb)&&(this.state=nb),this.state=this.process(b),void(this.state&(ob|pb|qb|sb)&&this.tryEmit(b))):(this.reset(),void(this.state=tb))},process:function(a){},getTouchAction:function(){},reset:function(){}},i(aa,Y,{defaults:{pointers:1},attrTest:function(a){var b=this.options.pointers;return 0===b||a.pointers.length===b},process:function(a){var b=this.state,c=a.eventType,d=b&(ob|pb),e=this.attrTest(a);return d&&(c&Ha||!e)?b|sb:d||e?c&Ga?b|qb:b&ob?b|pb:ob:tb}}),i(ba,aa,{defaults:{event:"pan",threshold:10,pointers:1,direction:Pa},getTouchAction:function(){var a=this.options.direction,b=[];return a&Na&&b.push(lb),a&Oa&&b.push(kb),b},directionTest:function(a){var b=this.options,c=!0,d=a.distance,e=a.direction,f=a.deltaX,g=a.deltaY;return e&b.direction||(b.direction&Na?(e=0===f?Ia:0>f?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime>b.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance<b.threshold,f=a.deltaTime<b.time;if(this.reset(),a.eventType&Ea&&0===this.count)return this.failTimeout();if(d&&f&&c){if(a.eventType!=Ga)return this.failTimeout();var g=this.pTime?a.timeStamp-this.pTime<b.interval:!0,h=!this.pCenter||H(this.pCenter,a.center)<b.posThreshold;this.pTime=a.timeStamp,this.pCenter=a.center,h&&g?this.count+=1:this.count=1,this._input=a;var i=this.count%b.taps;if(0===i)return this.hasRequireFailures()?(this._timer=e(function(){this.state=rb,this.tryEmit()},b.interval,this),ob):rb}return tb},failTimeout:function(){return this._timer=e(function(){this.state=tb},this.options.interval,this),tb},reset:function(){clearTimeout(this._timer)},emit:function(){this.state==rb&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),ha.VERSION="2.0.8",ha.defaults={domEvents:!1,touchAction:gb,enable:!0,inputTarget:null,inputClass:null,preset:[[ea,{enable:!1}],[ca,{enable:!1},["rotate"]],[fa,{direction:Na}],[ba,{direction:Na},["swipe"]],[ga],[ga,{event:"doubletap",taps:2},["tap"]],[da]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}};var ub=1,vb=2;ia.prototype={set:function(a){return la(this.options,a),a.touchAction&&this.touchAction.update(),a.inputTarget&&(this.input.destroy(),this.input.target=a.inputTarget,this.input.init()),this},stop:function(a){this.session.stopped=a?vb:ub},recognize:function(a){var b=this.session;if(!b.stopped){this.touchAction.preventDefaults(a);var c,d=this.recognizers,e=b.curRecognizer;(!e||e&&e.state&rb)&&(e=b.curRecognizer=null);for(var f=0;f<d.length;)c=d[f],b.stopped===vb||e&&c!=e&&!c.canRecognizeWith(e)?c.reset():c.recognize(a),!e&&c.state&(ob|pb|qb)&&(e=b.curRecognizer=c),f++}},get:function(a){if(a instanceof Y)return a;for(var b=this.recognizers,c=0;c<b.length;c++)if(b[c].options.event==a)return b[c];return null},add:function(a){if(f(a,"add",this))return this;var b=this.get(a.options.event);return b&&this.remove(b),this.recognizers.push(a),a.manager=this,this.touchAction.update(),a},remove:function(a){if(f(a,"remove",this))return this;if(a=this.get(a)){var b=this.recognizers,c=r(b,a);-1!==c&&(b.splice(c,1),this.touchAction.update())}return this},on:function(a,b){if(a!==d&&b!==d){var c=this.handlers;return g(q(a),function(a){c[a]=c[a]||[],c[a].push(b)}),this}},off:function(a,b){if(a!==d){var c=this.handlers;return g(q(a),function(a){b?c[a]&&c[a].splice(r(c[a],b),1):delete c[a]}),this}},emit:function(a,b){this.options.domEvents&&ka(a,b);var c=this.handlers[a]&&this.handlers[a].slice();if(c&&c.length){b.type=a,b.preventDefault=function(){b.srcEvent.preventDefault()};for(var d=0;d<c.length;)c[d](b),d++}},destroy:function(){this.element&&ja(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},la(ha,{INPUT_START:Ea,INPUT_MOVE:Fa,INPUT_END:Ga,INPUT_CANCEL:Ha,STATE_POSSIBLE:nb,STATE_BEGAN:ob,STATE_CHANGED:pb,STATE_ENDED:qb,STATE_RECOGNIZED:rb,STATE_CANCELLED:sb,STATE_FAILED:tb,DIRECTION_NONE:Ia,DIRECTION_LEFT:Ja,DIRECTION_RIGHT:Ka,DIRECTION_UP:La,DIRECTION_DOWN:Ma,DIRECTION_HORIZONTAL:Na,DIRECTION_VERTICAL:Oa,DIRECTION_ALL:Pa,Manager:ia,Input:x,TouchAction:V,TouchInput:P,MouseInput:L,PointerEventInput:M,TouchMouseInput:R,SingleTouchInput:N,Recognizer:Y,AttrRecognizer:aa,Tap:ga,Pan:ba,Swipe:fa,Pinch:ca,Rotate:ea,Press:da,on:m,off:n,each:g,merge:ta,extend:sa,assign:la,inherit:i,bindFn:j,prefixed:u});var wb="undefined"!=typeof a?a:"undefined"!=typeof self?self:{};wb.Hammer=ha,"function"==typeof define&&define.amd?define(function(){return ha}):"undefined"!=typeof module&&module.exports?module.exports=ha:a[c]=ha}(window,document,"Hammer");Element.NativeEvents.transitionend=2;Element.NativeEvents.webkitTransitionEnd=2;Element.NativeEvents.oTransitionEnd=2;Element.NativeEvents.msTransitionEnd=2;Element.Events.transitionend={base:Browser.safari||Browser.chrome?"webkitTransitionEnd":(Browser.opera?"oTransitionEnd":(Browser.ie&&Browser.version>8?"msTransitionEnd":"transitionend"))};Event.implement({getPropertyName:function(){return this.event.propertyName},getElapsedTime:function(a){return a?this.event.elapsedTime:(this.event.elapsedTime*1000).toInt()}});Element.implement({supportStyle:function(a){var b=this.style[a];return!!(b||b==="")},supportVendorStyle:function(a){var b=null;return this.supportStyle(a)?a:["webkit","Moz","o","ms"].some(function(c){b=c+a.capitalize();return this.supportStyle(b)},this)?b:null}});Fx.Tween.CSS3=new Class({Extends:Fx.Tween,transitionTimings:{linear:"0,0,1,1","expo:in":"0.71,0.01,0.83,0","expo:out":"0.14,1,0.32,0.99","expo:in:out":"0.85,0,0.15,1","circ:in":"0.34,0,0.96,0.23","circ:out":"0,0.5,0.37,0.98","circ:in:out":"0.88,0.1,0.12,0.9","sine:in":"0.22,0.04,0.36,0","sine:out":"0.04,0,0.5,1","sine:in:out":"0.37,0.01,0.63,1","quad:in":"0.14,0.01,0.49,0","quad:out":"0.01,0,0.43,1","quad:in:out":"0.47,0.04,0.53,0.96","cubic:in":"0.35,0,0.65,0","cubic:out":"0.09,0.25,0.24,1","cubic:in:out":"0.66,0,0.34,1","quart:in":"0.69,0,0.76,0.17","quart:out":"0.26,0.96,0.44,1","quart:in:out":"0.76,0,0.24,1","quint:in":"0.64,0,0.78,0","quint:out":"0.22,1,0.35,1","quint:in:out":"0.9,0,0.1,1"},initialize:function(b,a){a.transition=a.transition||"sine:in:out";this.parent(b,a);if(typeof this.options.transition!="string"){alert("Only short notated transitions (like 'sine:in') are supported by Fx.Tween.CSS3")}this.options.transition=this.options.transition.toLowerCase();this.transition=this.element.supportVendorStyle("transition");this.css3Supported=!!this.transition&&!!this.transitionTimings[this.options.transition]},check:function(){if(!this.boundComplete){return true}return this.parent()},start:function(d,f,e){if(this.css3Supported){if(!this.check(d,f,e)){return this}var b=Array.flatten(arguments);this.property=this.options.property||b.shift();var a=this.prepare(this.element,this.property,b);this.from=a.from;this.to=a.to;this.boundComplete=function(g){if(g.getPropertyName()==this.property){this.element.removeEvent("transitionend",this.boundComplete);this.boundComplete=null;this.fireEvent("complete",this)}}.bind(this);this.element.addEvent("transitionend",this.boundComplete);var c=function(){this.element.setStyle(this.transition,this.property+" "+this.options.duration+"ms cubic-bezier("+this.transitionTimings[this.options.transition]+")");this.element.setStyle(this.property,this.to[0].value+this.options.unit)}.bind(this);if(b[1]){this.element.setStyle(this.transition,"none");this.element.setStyle(this.property,this.from[0].value+this.options.unit);c.delay(0.1)}else{c()}this.fireEvent("start",this);return this}return this.parent(d,f,e)},cancel:function(){if(this.css3Supported){this.element.setStyle(this.transition,"none");this.element.removeEvent("transitionend",this.boundComplete);this.boundComplete=null}this.parent();return this}});var FitState=new Class({Implements:[Events,Options],options:{touch:'',transAction:'fade',transWait:8000,transPeriod:1500,transition:'linear',nextButton:'',prevButton:'',breadCrumb:'',zindex:1},initialize:function(element,options){options=options||{};this.setOptions(options);element=$(element);if(element){var object=this;this.current=0;this.slides=[];this.start=this.start.bind(this);this.complete=this.complete.bind(this);element.getChildren().each(function(obj,i){obj.store('id',i);obj.setStyles({position:'absolute',zIndex:(i==0)?(object.options.zindex+1):object.options.zindex,opacity:(i==0)?1:0});var fx=new Fx.Tween.CSS3(obj,{duration:object.options.transPeriod,transition:object.options.transition,property:(object.options.transAction=='fade')?'opacity':'left'});fx.addEvent('complete',object.complete);fx.addEvent('start',object.start);object.slides.push({element:obj,fx:fx});});this.resize=this.resize.bind(this);this.move=this.move.bind(this);this.attach();if(this.slides.length>1){if($(this.options.touch)){var mc=new Hammer($(this.options.touch));mc.get('swipe').set({threshold:1});mc.on('swipeleft swiperight',function(ev){switch(ev.type){case'swipeleft':object.move('-1');break;case'swiperight':object.move('+1');break;}});}
if($(this.options.nextButton)){$(this.options.nextButton).addEvent('click',function(e){e.preventDefault();object.move('+1');});}
if($(this.options.prevButton)){$(this.options.prevButton).addEvent('click',function(e){e.preventDefault();object.move('-1');});}
if($(this.options.breadCrumb)){this.slides.each(function(obj,j){var span=new Element('span',{'data-slide':j,html:(j+1)}).inject($(object.options.breadCrumb));if(j==0){span.addClass('active');}
span.addEvent('click',function(e){object.move(this.get('data-slide'));});});}
if(this.options.transWait>0){this.timer=this.move.periodical(this.options.transWait);}}}},attach:function(){window.addEvents({'domready':this.resize,'resize':this.resize});},detach:function(){window.removeEvents({'domready':this.resize,'resize':this.resize});},resize:function(){},move:function(o){o=o||'+1';var previous=this.current;switch(o){case'+1':this.current=(this.slides[this.current+1]?this.current+1:0);break;case'-1':this.current=(this.slides[this.current-1]?this.current-1:(this.slides.length-1));break;default:o=parseInt(o);this.current=(this.slides[o]?o:this.current);break;}
if(this.current!==previous){clearInterval(this.timer);var object=this;this.slides.each(function(slide){slide.element.setStyle('z-index',object.options.zindex);slide.fx.cancel();});this.slides[previous].fx.start(0);this.slides[this.current].fx.start(1);}},start:function(object){if(object.element.retrieve('id')==this.current){this.fireEvent('start',object.element);object.element.setStyle('z-index',this.options.zindex+1);if($(this.options.breadCrumb)){$(this.options.breadCrumb).getElements('span').removeClass('active');$(this.options.breadCrumb).getElement('span[data-slide="'+object.element.retrieve('id')+'"]').addClass('active');}}},complete:function(object){if(object.element.retrieve('id')==this.current){this.fireEvent('complete',object.element);clearInterval(this.timer);if(this.options.transWait>0){this.timer=this.move.periodical(this.options.transWait);}}}});Elements.implement({chosen:function(options){return this.each(function(el){if(!el.hasClass("chzn-done")){return new Chosen(el,options);}});}});var Chosen=new Class({Implements:Options,Binds:['test_active_click','container_mousedown','container_mouseup','mouse_enter','mouse_leave','search_results_mouseup','search_results_mouseover','search_results_mouseout','input_blur','keyup_checker','keydown_checker','choices_click','input_focus','activate_field','results_update_field'],options:{allow_single_deselect:false,disable_search_threshold:0},active_field:false,mouse_on_container:false,results_showing:false,result_highlighted:null,result_single_selected:null,choices:0,initialize:function(elmn,options){this.setOptions(options);this.form_field=elmn;this.is_multiple=this.form_field.multiple;this.is_rtl=this.form_field.hasClass('chzn-rtl');this.set_up_html();this.register_observers();this.form_field.addClass('chzn-done');},set_up_html:function(){if(!this.form_field.get('id'))this.form_field.set('id',String.uniqueID());this.container_id=this.form_field.id.replace(/(:|\.)/g,'_')+"_chzn";this.f_width=this.form_field.measure(function(){return this.getSize().x;});this.default_text=this.form_field.get('data-placeholder')?this.form_field.get('data-placeholder'):Locale.get('Chosen.placeholder',this.form_field.multiple);this.container=new Element('div',{'id':this.container_id,'class':'chzn-container'+(this.is_rtl?' chzn-rtl':'')+" chzn-container-"+(this.is_multiple?"multi":"single"),'styles':{'width':this.f_width}});if(this.form_field.get('data-search')){this.container.addClass('chzn-show-search');}
if(this.is_multiple){this.container.set('html','<ul class="chzn-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chzn-drop" style="left:-9000px;"><ul class="chzn-results"></ul></div>');}else{this.container.set('html','<a href="javascript:void(0)" class="chzn-single chzn-default"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chzn-drop" style="left:-9000px;"><div class="chzn-search"><input type="text" autocomplete="off" /><b></b></div><ul class="chzn-results"></ul></div>');}
this.form_field.setStyle('display','none').grab(this.container,'after');this.dropdown=this.container.getElement('div.chzn-drop');var dd_width=this.f_width-this.dropdown.get_side_border_padding();this.search_field=this.container.getElement('input');this.search_results=this.container.getElement('ul.chzn-results');this.search_field_scale();this.search_no_results=this.container.getElement('li.no-results');if(this.is_multiple){this.search_choices=this.container.getElement('ul.chzn-choices');this.search_container=this.container.getElement('li.search-field');}else{this.search_container=this.container.getElement('div.chzn-search');this.selected_item=this.container.getElement('.chzn-single');}
this.results_build();this.set_tab_index();this.form_field.fireEvent('liszt:ready',this);},register_observers:function(){this.container.addEvents({mousedown:this.container_mousedown,mouseup:this.container_mouseup,mouseenter:this.mouse_enter,mouseleave:this.mouse_leave});this.search_results.addEvents({mouseup:this.search_results_mouseup,mouseover:this.search_results_mouseover,mouseout:this.search_results_mouseout});this.form_field.addEvent("liszt:updated",this.results_update_field);this.search_field.addEvents({blur:this.input_blur,keyup:this.keyup_checker,keydown:this.keydown_checker});if(this.is_multiple){this.search_choices.addEvent("click",this.choices_click);this.search_field.addEvent("focus",this.input_focus);}else{this.selected_item.addEvent("focus",this.activate_field);}},unregister_observers:function(){this.container.removeEvents({mousedown:this.container_mousedown,mouseup:this.container_mouseup,mouseenter:this.mouse_enter,mouseleave:this.mouse_leave});this.search_results.removeEvents({mouseup:this.search_results_mouseup,mouseover:this.search_results_mouseover,mouseout:this.search_results_mouseout});this.form_field.removeEvent("liszt:updated",this.results_update_field);this.search_field.removeEvents({blur:this.input_blur,keyup:this.keyup_checker,keydown:this.keydown_checker});if(this.is_multiple){this.search_choices.removeEvent("click",this.choices_click);this.search_field.removeEvent("focus",this.input_focus);}else{this.selected_item.removeEvent("focus",this.activate_field);}
document.removeEvent('click',this.test_active_click);},search_field_disabled:function(){this.is_disabled=this.form_field.get('disabled');if(this.is_disabled){this.container.addClass('chzn-disabled');this.search_field.set('disabled',true);if(!this.is_multiple){this.selected_item.removeEvent("focus",this.activate_field);}
this.close_field();}else{this.container.removeClass('chzn-disabled');this.search_field.set('disabled',false);if(!this.is_multiple){this.selected_item.addEvent("focus",this.activate_field);}}},container_mousedown:function(evt){if(!this.is_disabled){var target_closelink=evt!=null?evt.target.hasClass("search-choice-close"):false;if(evt&&evt.type==="mousedown"){evt.stopPropagation();}
if(!this.pending_destroy_click&&!target_closelink){if(!this.active_field){if(this.is_multiple){this.search_field.set('value','');}
document.addEvent('click',this.test_active_click);this.results_show();}else if(!this.is_multiple&&evt&&(evt.target===this.selected_item||evt.target.getParents('a.chzn-single').length)){evt.preventDefault();this.results_toggle();}
this.activate_field();}else{this.pending_destroy_click=false;}}},container_mouseup:function(evt){if(evt.target.get('tag').toUpperCase()==="ABBR"){return this.results_reset(evt);}},mouse_enter:function(){this.mouse_on_container=true;},mouse_leave:function(){this.mouse_on_container=false;},input_focus:function(evt){if(!this.active_field){setTimeout(this.container_mousedown,50);}},input_blur:function(evt){if(!this.mouse_on_container){this.active_field=false;setTimeout(this.blur_test.bind(this),100);}},blur_test:function(evt){if(!this.active_field&&this.container.hasClass('chzn-container-active')){this.close_field();}},close_field:function(){document.removeEvent('click',this.test_active_click);if(!this.is_multiple){this.selected_item.set('tabindex',this.search_field.get('tabindex'));this.search_field.set('tabindex',-1);}
this.active_field=false;this.results_hide();this.container.removeClass("chzn-container-active");this.winnow_results_clear();this.clear_backstroke();this.show_search_field_default();this.search_field_scale();},activate_field:function(){if(!this.is_multiple&&!this.active_field){this.search_field.set('tabindex',this.selected_item.get('tabindex'));this.selected_item.set('tabindex',-1);}
this.container.addClass('chzn-container-active');this.active_field=true;this.search_field.set('value',this.search_field.get('value'));this.search_field.focus();},test_active_click:function(evt){if(evt.target.getParents('#'+this.container_id).length){this.active_field=true;}else{this.close_field();}},results_build:function(){this.parsing=true;this.results_data=this.form_field.select_to_array();if(this.is_multiple&&this.choices>0){this.search_choices.getElements("li.search-choice").destroy();this.choices=0;}else if(!this.is_multiple){this.selected_item.getElements("span").set('text',this.default_text);this.selected_item.addClass('chzn-default');if(this.form_field.options.length<=this.options.disable_search_threshold){this.container.addClass("chzn-container-single-nosearch");}else{this.container.removeClass("chzn-container-single-nosearch");}}
var content='';this.results_data.each(function(data){if(data.group){content+=this.result_add_group(data);}else if(!data.empty){content+=this.result_add_option(data);if(data.selected&&this.is_multiple){this.choice_build(data);}else if(data.selected&&!this.is_multiple){this.selected_item.getElements("span").set('text',data.text);if(this.options.allow_single_deselect){this.single_deselect_control_build();}}}},this);this.search_field_disabled();this.show_search_field_default();this.search_field_scale();this.search_results.set('html',content);this.parsing=false;},result_add_group:function(group){if(!group.disabled){group.dom_id=this.container_id+"_g_"+group.array_index;return'<li id="'+group.dom_id+'" class="group-result"><div>'+group.label+'</div></li>';}else{return'';}},result_add_option:function(option){if(!option.disabled){option.dom_id=this.container_id+"_o_"+option.array_index;var classes=option.selected&&this.is_multiple?[]:["active-result"];if(option.selected){classes.push('result-selected');}
if(option.group_array_index!=null){classes.push("group-option");}
if(option.classes!==""){classes.push(option.classes);}
var style=option.style.cssText!==''?' style="'+option.style+'"':'';return'<li id="'+option.dom_id+'" class="'+classes.join(' ')+'"'+style+'>'+option.html+'</li>';}else{return'';}},results_update_field:function(){this.result_clear_highlight();this.result_single_selected=null;this.results_build();},result_do_highlight:function(el){if(el){this.result_clear_highlight();this.result_highlight=el;this.result_highlight.addClass("highlighted");var maxHeight=parseInt(this.search_results.getStyle("maxHeight"),10);var visible_top=this.search_results.getScroll().y,visible_bottom=maxHeight+visible_top,high_top=this.result_highlight.getPosition(this.search_results).y+this.search_results.getScroll().y,high_bottom=high_top+this.result_highlight.getCoordinates().height;if(high_bottom>=visible_bottom){this.search_results.scrollTo(0,(high_bottom-maxHeight)>0?high_bottom-maxHeight:0);}else if(high_top<visible_top){this.search_results.scrollTo(0,high_top);}}},result_clear_highlight:function(){if(this.result_highlight){this.result_highlight.removeClass("highlighted");}
this.result_highlight=null;},results_toggle:function(){if(this.results_showing){this.results_hide();}else{this.results_show();}},results_show:function(){if(!this.is_multiple){this.selected_item.addClass("chzn-single-with-drop");this.form_field.fireEvent("show");if(this.result_single_selected){this.result_do_highlight(this.result_single_selected);}}
this.dropdown.addClass('chzn-drop-shown');this.results_showing=true;this.search_field.focus();this.search_field.set('value',this.search_field.get('value'));this.winnow_results();},results_hide:function(){if(!this.is_multiple){this.selected_item.removeClass("chzn-single-with-drop");}
this.form_field.fireEvent("hide");this.result_clear_highlight();this.dropdown.removeClass('chzn-drop-shown');this.results_showing=false;},set_tab_index:function(el){if(this.form_field.get('tabindex')){var ti=this.form_field.get('tabindex');this.form_field.set('tabindex',-1);if(this.is_multiple){this.search_field.set('tabindex',ti);}else{this.selected_item.set('tabindex',ti);this.search_field.set('tabindex',-1);}}},show_search_field_default:function(){if(this.is_multiple&&this.choices<1&&!this.active_field){this.search_field.set('value',this.default_text);this.search_field.addClass("default");}else{this.search_field.set('value',"");this.search_field.removeClass("default");}},search_results_mouseup:function(evt){var target=evt.target.hasClass("active-result")?evt.target:evt.target.getParent(".active-result");if(target){this.result_highlight=target;this.result_select(evt);}},search_results_mouseover:function(evt){var target=evt.target.hasClass("active-result")?evt.target:evt.target.getParent(".active-result");if(target){this.result_do_highlight(target);}},search_results_mouseout:function(evt){if(evt.target.hasClass("active-result")||evt.target.getParent('.active-result')){this.result_clear_highlight();}},choices_click:function(evt){evt.preventDefault();if(this.active_field&&!(evt.target.hasClass("search-choice")||evt.target.getParent('.search-choice'))&&!this.results_showing){this.results_show();}},choice_build:function(item){var choice_id=this.container_id+"_c_"+item.array_index;this.choices+=1;var el=new Element('li',{'id':choice_id})
.addClass('search-choice')
.set('html','<span>'+item.html+'</span><a href="#" class="search-choice-close" rel="'+item.array_index+'"></a>');this.search_container.grab(el,'before');el.getElement("a")
.addEvent('click',this.choice_destroy_link_click.bind(this));},choice_destroy_link_click:function(evt){evt.preventDefault();if(!this.is_disabled){this.pending_destroy_click=true;this.choice_destroy(evt.target);}else{evt.stop();}},choice_destroy:function(link){this.choices-=1;this.show_search_field_default();if(this.is_multiple&&this.choices>0&&this.search_field.value.length<1){this.results_hide();}
this.result_deselect(link.get("rel"));link.getParent('li').destroy();},results_reset:function(evt){this.form_field.options[0].selected=true;this.selected_item.getElement("span").set('text',this.default_text);this.selected_item.addClass('chzn-default');this.show_search_field_default();evt.target.destroy();this.form_field.fireEvent("change");if(this.active_field){this.results_hide();}},result_select:function(evt){if(this.result_highlight){var high=this.result_highlight,high_id=high.id;this.result_clear_highlight();if(this.is_multiple){this.result_deactivate(high);}else{var selected=this.search_results.getElement(".result-selected");if(selected)selected.removeClass("result-selected");this.result_single_selected=high;}
high.addClass("result-selected");var position=high_id.substr(high_id.lastIndexOf("_")+1),item=this.results_data[position];item.selected=true;this.form_field.options[item.options_index].selected=true;if(this.is_multiple){this.choice_build(item);}else{this.selected_item.getElement("span").set('text',item.text);if(item.text==this.default_text){this.selected_item.addClass('chzn-default');}else{this.selected_item.removeClass('chzn-default');}
if(this.options.allow_single_deselect){this.single_deselect_control_build();}}
if(!this.is_multiple||!evt.control)this.results_hide();this.search_field.set('value',"");this.form_field.fireEvent("change");this.search_field_scale();this.close_field();}},result_activate:function(el){el.addClass("active-result");},result_deactivate:function(el){el.removeClass("active-result")},result_deselect:function(pos){var result_data=this.results_data[pos];result_data.selected=false;this.form_field.options[result_data.options_index].selected=false;var result=document.id(this.container_id+"_o_"+pos);result.removeClass("result-selected").addClass("active-result").setStyle('display','block');this.result_clear_highlight();this.winnow_results();this.form_field.fireEvent("change");this.search_field_scale();},single_deselect_control_build:function(){if(this.options.allow_single_deselect&&this.selected_item.getElements("abbr").length<1){return this.selected_item.getElement("span").grab(new Element('abbr',{'class':'search-choice-close'}),'before');}},results_search:function(evt){if(this.results_showing){this.winnow_results();}else{this.results_show();}},winnow_results:function(){this.no_results_clear();var results=0,searchText=this.search_field.get('value')===this.default_text?"":new Element('div',{text:this.search_field.get('value').trim()}).get('html'),regex=new RegExp('^'+searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),'i'),zregex=new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),'i');this.results_data.each(function(option){if(!option.disabled&&!option.empty){if(option.group){document.id(option.dom_id).setStyle('display','none');}else if(!(this.is_multiple&&option.selected)){var found=false,result_id=option.dom_id,result=$(result_id);if(regex.test(option.html)){found=true;results+=1;}else if(option.html.indexOf(" ")>=0||option.html.indexOf("[")===0){var parts=option.html.replace(/\[|\]/g,"").split(" ");if(parts.length){parts.each(function(part){if(regex.test(part)){found=true;results+=1;}});}}
if(found){var text;if(searchText.length){var startpos=option.html.search(zregex);text=option.html.substr(0,startpos+searchText.length)+'</em>'+option.html.substr(startpos+searchText.length);text=text.substr(0,startpos)+'<em>'+text.substr(startpos);}else{text=option.html;}
result.set('html',text);this.result_activate(result);if(option.group_array_index!=null){document.id(this.results_data[option.group_array_index].dom_id).setStyle('display','list-item');}}else{if(this.result_highlight&&result_id===this.result_highlight.id){this.result_clear_highlight();}
this.result_deactivate(result);}}}},this);if(results<1&&searchText.length){this.no_results(searchText);}else{this.winnow_results_set_highlight();}},winnow_results_clear:function(){this.search_field.set('value','');this.search_results.getElements("li").each(function(li){li.hasClass("group-result")?li.setStyle('display','block'):!this.is_multiple||!li.hasClass("result-selected")?this.result_activate(li):void 0;},this);},winnow_results_set_highlight:function(){if(!this.result_highlight){var selected_results=!this.is_multiple?this.search_results.getElements(".result-selected"):[];var do_high=selected_results.length?selected_results[0]:this.search_results.getElement(".active-result");if(do_high!=null){this.result_do_highlight(do_high);}}},no_results:function(terms){var no_results_html=new Element('li',{'class':'no-results'}).set('html',Locale.get('Chosen.noResults')+' "<span></span>"');no_results_html.getElement("span").set('html',terms);this.search_results.grab(no_results_html);},no_results_clear:function(){this.search_results.getElements(".no-results").destroy();},keydown_arrow:function(){if(!this.result_highlight){var first_active=this.search_results.getElement("li.active-result");if(first_active){this.result_do_highlight(first_active);}}else if(this.results_showing){var next_sib=this.result_highlight.getNext("li.active-result");if(next_sib){this.result_do_highlight(next_sib);}}
if(!this.results_showing){this.results_show();}},keyup_arrow:function(){if(!this.results_showing&&!this.is_multiple){this.results_show();}else if(this.result_highlight){var prev_sib=this.result_highlight.getPrevious('li.active-result');if(prev_sib){this.result_do_highlight(prev_sib);}else{if(this.choices>0){this.results_hide();}
this.result_clear_highlight();}}},keydown_backstroke:function(){if(this.pending_backstroke){this.choice_destroy(this.pending_backstroke.getElement("a"));this.clear_backstroke();}else{this.pending_backstroke=this.search_choices.getLast("li.search-choice");this.pending_backstroke.addClass("search-choice-focus");}},clear_backstroke:function(){if(this.pending_backstroke){this.pending_backstroke.removeClass("search-choice-focus");}
this.pending_backstroke=null;},keyup_checker:function(evt){this.search_field_scale();switch(evt.key){case'backspace':if(this.is_multiple&&this.backstroke_length<1&&this.choices>0){this.keydown_backstroke();}else if(!this.pending_backstroke){this.result_clear_highlight();this.results_search();}
break;case'enter':evt.preventDefault();if(this.results_showing){this.result_select(evt);}
break;case'esc':if(this.results_showing){this.results_hide();}
break;case'tab':case'up':case'down':case'shift':case'ctrl':break;default:this.results_search();}},keydown_checker:function(evt){this.search_field_scale();if(evt.key!=='backspace'&&this.pending_backstroke){this.clear_backstroke();}
switch(evt.key){case'backspace':this.backstroke_length=this.search_field.value.length;break;case'tab':if(this.results_showing&&!this.is_multiple){this.result_select(evt);}
this.mouse_on_container=false;break;case'enter':evt.preventDefault();break;case'up':evt.preventDefault();this.keyup_arrow();break;case'down':this.keydown_arrow();break;}},search_field_scale:function(){}});Element.implement({get_side_border_padding:function(){var styles=this.getStyles('padding-left','padding-right','border-left-width','border-right-width'),notNull=Object.filter(styles,function(value){return(typeof(value)=='string');}),mapped=Object.map(notNull,function(s){return s.toInt();}),array=Object.values(mapped),result=0,l=array.length;if(l){while(l--)result+=array[l];}
return result;},select_to_array:function(){var parser=new SelectParser();this.getChildren().each(function(child){parser.add_node(child);});return parser.parsed;}});var SelectParser=new Class({options_index:0,parsed:[],add_node:function(child){if(child.nodeName.toUpperCase()==="OPTGROUP"){this.add_group(child);}else{this.add_option(child);}},add_group:function(group){var group_position=this.parsed.length;this.parsed.push({array_index:group_position,group:true,label:group.label,children:0,disabled:group.disabled});group.getChildren().each(function(option){this.add_option(option,group_position,group.disabled);},this);},add_option:function(option,group_position,group_disabled){if(option.nodeName.toUpperCase()==="OPTION"){if(option.text!==""){if(group_position!=null){this.parsed[group_position].children+=1;}
this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:option.get("value"),text:option.get("text").trim(),html:option.get("html"),selected:option.selected,disabled:group_disabled===true?group_disabled:option.disabled,group_array_index:group_position,classes:option.className,style:option.style.cssText});}else{this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:true});}
this.options_index+=1;}}});