(function($){var n="",msOldDiv=n,dd=function(element,options){var V="selectedIndex",b="fast",U="mouseup",T="selected",S=" a.selected",R="a#bookNow",Q="keydown",P="mouseout",O="opacity",N="height",M="padding-bottom",L="px",K="postElementHolder",J="mouseover",I="click",i=" a.enabled",H="postTitleTextID",G="postArrowID",F="postTitleID",E=' style="',D='" class="',C='<div id="',B="postChildID",A="postID",z="</div>",y='<span class="',x='">',w='"',v="disabled",u='" align="absmiddle" /> ',t='<img src="',s="postOPTAID",h=" option:selected",r="#",m="multiple",l="size",k="style",j="id",q=null,p=false,o=true,a=this,sElement=element,$this=a,options=$.extend({height:120,visibleRows:7,rowHeight:23,showIcon:o,zIndex:9999,mainCSS:"dd",useSprite:p,onInit:n,style:n},options);a.ddProp={};var selectedValue=n,actionSettings={};actionSettings.insideWindow=o;actionSettings.keyboardAction=p;actionSettings.currentKey=q;var ddList=p,config={postElementHolder:"_msddHolder",postID:"_msdd",postTitleID:"_title",postTitleTextID:"_titletext",postChildID:"_child",postAID:"_msa",postOPTAID:"_msopta",postInputID:"_msinput",postArrowID:"_arrow",postInputhidden:"_inp"},styles={dd:options.mainCSS,ddTitle:"ddTitle",arrow:"arrow",ddChild:"ddChild",ddTitleText:"ddTitleText",disabled:.3,ddOutOfVision:"ddOutOfVision"},attributes={actions:"focus,blur,change,click,dblclick,mousedown,mouseup,mouseover,mousemove,mouseout,keypress,keydown,keyup",prop:"size,multiple,disabled,tabindex"};a.onActions={};var elementid=$(sElement).attr(j),inlineCSS=$(sElement).attr(k);options.style+=inlineCSS==undefined?n:inlineCSS;var allOptions=$(sElement).children();ddList=$(sElement).attr(l)>0||$(sElement).attr(m)==o?o:p;if(ddList)options.visibleRows=$(sElement).attr(l);var a_array={},getPostID=function(a){return elementid+config[a]},getOptionsProperties=function(b){var a=b,c=$(a).attr(k);return c},matchIndex=function(c){var a=$(r+elementid+h);if(a.length>1){for(var b=0;b<a.length;b++)if(c==a[b].index)return o}else if(a.length==1)if(a[0].index==c)return o;return p},createA=function(a,j,l,k){var c=n,i=k=="opt"?getPostID(s):getPostID("postAID"),g=k=="opt"?i+"_"+j+"_"+l:i+"_"+j,b=n,e=n;if(options.useSprite!=p)e=" "+options.useSprite+" "+a.className;else{b=$(a).attr("title");b=b.length==0?n:t+b+u}var f=$(a).text(),m=$(a).val(),h=$(a).attr(v)==o?v:"enabled";a_array[g]={html:b+f,value:m,text:f,index:a.index,id:g};var d=getOptionsProperties(a);if(matchIndex(a.index)==o)c+='<a href="javascript:void(0);" class="selected '+h+e+w;else c+='<a  href="javascript:void(0);" class="'+h+e+w;if(d!==p&&d!==undefined)c+=" style='"+d+"'";c+=' id="'+g+x;c+=b+y+styles.ddTitleText+x+f+"</span></a>";return c},createATags=function(){var b=allOptions;if(b.length==0)return n;var a=n,d=getPostID("postAID"),c=getPostID(s);b.each(function(d){var c=b[d];if(c.nodeName=="OPTGROUP"){a+="<div class='opta'>";a+="<span style='font-weight:bold;font-style:italic; clear:both;'>"+$(c).attr("label")+"</span>";var e=$(c).children();e.each(function(b){var c=e[b];a+=createA(c,d,b,"opt")});a+=z}else a+=createA(c,d,n,n)});return a},createChildDiv=function(){var c=getPostID(A),b=getPostID(B),a=options.style;sDiv=n;sDiv+=C+b+D+styles.ddChild+w;if(!ddList)sDiv+=a!=n?E+a+w:n;else sDiv+=a!=n?' style="border-top:1px solid #c3c3c3;display:block;position:relative;'+a+w:n;sDiv+=">";return sDiv},createTitleDiv=function(){var f=getPostID(F),e=getPostID(G),d=getPostID(H),g=getPostID("postInputhidden"),c=n,a=n;if(document.getElementById(elementid).options.length>0){c=$(r+elementid+h).text();a=$(r+elementid+h).attr("title")}a=a.length==0||a==undefined||options.showIcon==p||options.useSprite!=p?n:t+a+u;var b=C+f+D+styles.ddTitle+w;b+=">";b+='<span id="'+e+D+styles.arrow+'"></span><span class="'+styles.ddTitleText+'" id="'+d+x+a+y+styles.ddTitleText+x+c+"</span></span></div>";return b},applyEventsOnA=function(){var a=getPostID(B);$(r+a+i).bind(I,function(b){b.preventDefault();manageSelection(this);if(!ddList){$(r+a).unbind(J);setInsideWindow(p);var c=options.showIcon==p?$(this).text():$(this).html();setTitleText(c);$this.close()}setValue()})},createDropDown=function(){var c=" a:first",g=p,e=getPostID(A),d=getPostID(F),l=getPostID(H),a=getPostID(B),m=getPostID(G),f=$(r+elementid).width();f=f+2;var i=options.style;if($(r+e).length>0){$(r+e).remove();g=o}var b=C+e+D+styles.dd+w;b+=i!=n?E+i+w:n;b+=">";b+=createTitleDiv();b+=createChildDiv();b+=createATags();b+=z;b+=z;if(g==o){var k=getPostID(K);$(r+k).after(b)}else $(r+elementid).after(b);if(ddList){var d=getPostID(F);$(r+d).hide()}$(r+e).css("width",f+L);$(r+a).css("width",f-2+L);if(allOptions.length>options.visibleRows){var j=parseInt($(r+a+c).css(M))+parseInt($(r+a+c).css("padding-top")),h=options.rowHeight*options.visibleRows-j;$(r+a).css(N,h+L)}else if(ddList){var h=$(r+elementid).height();$(r+a).css(N,h+L)}if(g==p){setOutOfVision();addRefreshMethods(elementid)}$(r+elementid).attr(v)==o&&$(r+e).css(O,styles.disabled);applyEvents();$(r+d).bind(J,function(){hightlightArrow(1)});$(r+d).bind(P,function(){hightlightArrow(0)});applyEventsOnA();$(r+a+" a.disabled").css(O,styles.disabled);ddList&&$(r+a).bind(J,function(){if(!actionSettings.keyboardAction){actionSettings.keyboardAction=o;$(document).bind(Q,function(b){var a=b.keyCode;actionSettings.currentKey=a;if(a==39||a==40){b.preventDefault();b.stopPropagation();next();setValue()}if(a==37||a==38){b.preventDefault();b.stopPropagation();previous();setValue()}})}});$(r+a).bind(P,function(){setInsideWindow(p);$(document).unbind(Q);actionSettings.keyboardAction=p;actionSettings.currentKey=q});$(r+d).bind(I,function(){setInsideWindow(p);if($(r+a+":visible").length==1)$(r+a).unbind(J);else{$(r+a).bind(J,function(){setInsideWindow(o)});$this.open()}});$(r+d).bind(P,function(){setInsideWindow(p);$(R).colorbox.resize()});options.showIcon&&options.useSprite!=p&&setTitleImageSprite()},getByIndex=function(b){for(var a in a_array)if(a_array[a].index==b)return a_array[a];return-1},manageSelection=function(a){var b=getPostID(B);!ddList&&$(r+b+S).removeClass(T);var e=$(r+b+S).attr(j);if(e!=undefined)var f=actionSettings.oldIndex==undefined||actionSettings.oldIndex==q?a_array[e].index:actionSettings.oldIndex;a&&!ddList&&$(a).addClass(T);if(ddList){var g=actionSettings.currentKey;if($(r+elementid).attr(m)==o)if(g==17){actionSettings.oldIndex=a_array[$(a).attr(j)].index;$(a).toggleClass(T)}else if(g==16){$(r+b+S).removeClass(T);$(a).addClass(T);for(var h=$(a).attr(j),d=a_array[h].index,c=Math.min(f,d);c<=Math.max(f,d);c++)$(r+getByIndex(c).id).addClass(T)}else{$(r+b+S).removeClass(T);$(a).addClass(T);actionSettings.oldIndex=a_array[$(a).attr(j)].index}else{$(r+b+S).removeClass(T);$(a).addClass(T);actionSettings.oldIndex=a_array[$(a).attr(j)].index}}},addRefreshMethods=function(b){var a=b;document.getElementById(a).refresh=function(){$(r+a).msDropDown(options)}},setInsideWindow=function(a){actionSettings.insideWindow=a},getInsideWindow=function(){return actionSettings.insideWindow},applyEvents=function(){var c="mousemove",b="mousedown",a="dblclick";for(var d=getPostID(A),f=attributes.actions.split(","),e=0;e<f.length;e++){var g=f[e],h=has_handler(g);if(h==o)switch(g){case"focus":$(r+d).bind("mouseenter",function(){document.getElementById(elementid).focus()});break;case I:$(r+d).bind(I,function(){$(r+elementid).trigger(I)});break;case a:$(r+d).bind(a,function(){$(r+elementid).trigger(a)});break;case b:$(r+d).bind(b,function(){$(r+elementid).trigger(b)});break;case U:$(r+d).bind(U,function(){$(r+elementid).trigger(U)});break;case J:$(r+d).bind(J,function(){$(r+elementid).trigger(J)});break;case c:$(r+d).bind(c,function(){$(r+elementid).trigger(c)});break;case P:$(r+d).bind(P,function(){$(r+elementid).trigger(P)})}}},setOutOfVision=function(){var a=getPostID(K);$(r+elementid).after("<div class='"+styles.ddOutOfVision+"' style='height:0px;overflow:hidden;position:absolute;' id='"+a+"'></div>");$(r+elementid).appendTo($(r+a))},setTitleText=function(b){var a=getPostID(H);$(r+a).html(b)},next=function(){for(var g=getPostID(H),b=getPostID(B),d=$(r+b+i),c=0;c<d.length;c++){var e=d[c],h=$(e).attr(j);if($(e).hasClass(T)&&c<d.length-1){$(r+b+S).removeClass(T);$(d[c+1]).addClass(T);var a=$(r+b+S).attr(j);if(!ddList){var f=options.showIcon==p?a_array[a].text:a_array[a].html;setTitleText(f)}parseInt($(r+a).position().top+$(r+a).height())>=parseInt($(r+b).height())&&$(r+b).scrollTop($(r+b).scrollTop()+$(r+a).height()+$(r+a).height());break}}},previous=function(){for(var g=getPostID(H),a=getPostID(B),d=$(r+a+i),c=0;c<d.length;c++){var e=d[c],h=$(e).attr(j);if($(e).hasClass(T)&&c!=0){$(r+a+S).removeClass(T);$(d[c-1]).addClass(T);var b=$(r+a+S).attr(j);if(!ddList){var f=options.showIcon==p?a_array[b].text:a_array[b].html;setTitleText(f)}parseInt($(r+b).position().top+$(r+b).height())<=0&&$(r+a).scrollTop($(r+a).scrollTop()-$(r+a).height()-$(r+b).height());break}}},setTitleImageSprite=function(){var b="padding-left",a="background-position";if(options.useSprite!=p){var c=getPostID(H),h=document.getElementById(elementid).options[document.getElementById(elementid).selectedIndex].className;if(h.length>0){var i=getPostID(B),d=$(r+i+" a."+h).attr(j),f=$(r+d).css("background-image"),e=$(r+d).css(a),g=$(r+d).css(b);f!=undefined&&$(r+c).find("."+styles.ddTitleText).attr(k,"background:"+f);e!=undefined&&$(r+c).find("."+styles.ddTitleText).css(a,e);g!=undefined&&$(r+c).find("."+styles.ddTitleText).css(b,g);$(r+c).find("."+styles.ddTitleText).css("background-repeat","no-repeat");$(r+c).find("."+styles.ddTitleText).css(M,"2px")}}},setValue=function(){var c=getPostID(B),a=$(r+c+S);if(a.length==1){var h=$(r+c+S).text(),b=$(r+c+S).attr(j);if(b!=undefined){var g=a_array[b].value;document.getElementById(elementid).selectedIndex=a_array[b].index}options.showIcon&&options.useSprite!=p&&setTitleImageSprite()}else if(a.length>1)for(var i=$(r+elementid+" > option:selected").removeAttr(T),d=0;d<a.length;d++){var b=$(a[d]).attr(j),f=a_array[b].index;document.getElementById(elementid).options[f].selected=T}var e=document.getElementById(elementid).selectedIndex;$this.ddProp.selectedIndex=e},has_handler=function(a){if($(r+elementid).attr("on"+a)!=undefined)return o;var b=$(r+elementid).data("events");return b&&b[a]?o:p},checkMethodAndApply=function(){var b=getPostID(B);if(has_handler("change")==o){var a=a_array[$(r+b+S).attr(j)].text;selectedValue!=a&&$(r+elementid).trigger("change")}has_handler(U)==o&&$(r+elementid).trigger(U);has_handler("blur")==o&&$(document).bind(U,function(){$(r+elementid).focus();$(r+elementid)[0].blur();setValue();$(document).unbind(U)})},hightlightArrow=function(b){var a=getPostID(G);if(b==1)$(r+a).css({backgroundPosition:"0 100%"});else $(r+a).css({backgroundPosition:"0 0"})},setOriginalProperties=function(){for(var a in document.getElementById(elementid))typeof document.getElementById(elementid)[a]!="function"&&document.getElementById(elementid)[a]!==undefined&&document.getElementById(elementid)[a]!==q&&$this.set(a,document.getElementById(elementid)[a],o)},setValueByIndex=function(d,a){if(getByIndex(a)!=-1){document.getElementById(elementid)[d]=a;var b=getPostID(B);$(r+b+S).removeClass(T);$(r+getByIndex(a).id).addClass(T);var c=getByIndex(document.getElementById(elementid).selectedIndex).html;setTitleText(c)}},addRemoveFromIndex=function(d,c){if(c=="d")for(var a in a_array)if(a_array[a].index==d){delete a_array[a];break}var b=0;for(var a in a_array){a_array[a].index=b;b++}};a.open=function(){if($this.get(v,o)==o||$this.get("options",o).length==0)return;var childid=getPostID(B);if(msOldDiv!=n&&childid!=msOldDiv){$(r+msOldDiv).slideUp(b);$(R).colorbox.resize();$(r+msOldDiv).css({zIndex:"0"})}if($(r+childid).css("display")=="none"){$(document).bind(Q,function(b){var a=b.keyCode;if(a==39||a==40){b.preventDefault();b.stopPropagation();next()}if(a==37||a==38){b.preventDefault();b.stopPropagation();previous()}if(a==27||a==13){$this.close();setValue()}$(r+elementid).attr("onkeydown")!=undefined&&document.getElementById(elementid).onkeydown()});$(document).bind("keyup",function(){$(r+elementid).attr("onkeyup")!=undefined&&document.getElementById(elementid).onkeyup()});$(document).bind(U,function(){getInsideWindow()==p&&$this.close()});$(r+childid).css({zIndex:options.zIndex});$(r+childid).slideDown(b,function(){$this.onActions.onOpen!=q&&(eval($this.onActions.onOpen))($this);$(R).colorbox.resize()});if(childid!=msOldDiv)msOldDiv=childid}};a.close=function(){var childid=getPostID(B);$(document).unbind(Q);$(document).unbind("keyup");$(document).unbind(U);$(r+childid).slideUp(b,function(event){checkMethodAndApply();$(r+childid).css({zIndex:"0"});$this.onActions.onClose!=q&&(eval($this.onActions.onClose))($this)});$(R).colorbox.resize()};a.selectedIndex=function(a){$this.set(V,a)};a.set=function(b,a,i){var c="relative";if(b==undefined||a==undefined)throw{message:"set to what?"};$this.ddProp[b]=a;if(i!=o)switch(b){case V:setValueByIndex(b,a);break;case v:$this.disabled(a,o);break;case m:document.getElementById(elementid)[b]=a;ddList=$(sElement).attr(l)>0||$(sElement).attr(m)==o?o:p;if(ddList){var h=$(r+elementid).height(),d=getPostID(B);$(r+d).css(N,h+L);var e=getPostID(F);$(r+e).hide();var d=getPostID(B);$(r+d).css({display:"block",position:c});applyEventsOnA()}break;case l:document.getElementById(elementid)[b]=a;if(a==0)document.getElementById(elementid).multiple=p;ddList=$(sElement).attr(l)>0||$(sElement).attr(m)==o?o:p;if(a==0){var e=getPostID(F);$(r+e).show();var d=getPostID(B);$(r+d).css({display:"none",position:"absolute"});var f=n;if(document.getElementById(elementid).selectedIndex>=0){var g=getByIndex(document.getElementById(elementid).selectedIndex);f=g.html;manageSelection($(r+g.id))}setTitleText(f)}else{var e=getPostID(F);$(r+e).hide();var d=getPostID(B);$(r+d).css({display:"block",position:c})}break;default:try{document.getElementById(elementid)[b]=a}catch(j){}}};a.get=function(a,b){return a==undefined&&b==undefined?$this.ddProp:a!=undefined&&b==undefined?$this.ddProp[a]!=undefined?$this.ddProp[a]:q:a!=undefined&&b!=undefined?document.getElementById(elementid)[a]:void 0};a.visible=function(b){var a=getPostID(A);if(b==o)$(r+a).show();else if(b==p)$(r+a).hide();else return $(r+a).css("display")};a.add=function(j,c){var a=j,d=a.text,i=a.value==undefined||a.value==q?d:a.value,g=a.title==undefined||a.title==q?n:a.title,b=c==undefined||c==q?document.getElementById(elementid).options.length:c;document.getElementById(elementid).options[b]=new Option(d,i);if(g!=n)document.getElementById(elementid).options[b].title=g;var f=getByIndex(b);if(f!=-1){var e=createA(document.getElementById(elementid).options[b],b,n,n);$(r+f.id).html(e)}else{var e=createA(document.getElementById(elementid).options[b],b,n,n),h=getPostID(B);$(r+h).append(e);applyEventsOnA()}};a.remove=function(a){document.getElementById(elementid).remove(a);if(getByIndex(a)!=-1){$(r+getByIndex(a).id).remove();addRemoveFromIndex(a,"d")}if(document.getElementById(elementid).length==0)setTitleText(n);else{var b=getByIndex(document.getElementById(elementid).selectedIndex).html;setTitleText(b)}$this.set(V,document.getElementById(elementid).selectedIndex)};a.disabled=function(a,c){document.getElementById(elementid).disabled=a;var b=getPostID(A);if(a==o){$(r+b).css(O,styles.disabled);$this.close()}else a==p&&$(r+b).css(O,1);c!=o&&$this.set(v,a)};a.form=function(){return document.getElementById(elementid).form==undefined?q:document.getElementById(elementid).form};a.item=function(){if(arguments.length==1)return document.getElementById(elementid).item(arguments[0]);else if(arguments.length==2)return document.getElementById(elementid).item(arguments[0],arguments[1]);else throw{message:"An index is required!"};};a.namedItem=function(a){return document.getElementById(elementid).namedItem(a)};a.multiple=function(a){if(a==undefined)return $this.get(m);else $this.set(m,a)};a.size=function(a){if(a==undefined)return $this.get(l);else $this.set(l,a)};a.addMyEvent=function(b,a){$this.onActions[b]=a};a.fireEvent=function(nm){(eval($this.onActions[nm]))($this)};var updateCommonVars=function(){$this.set("version",$.msDropDown.version);$this.set("author",$.msDropDown.author)},init=function(){createDropDown();setOriginalProperties();updateCommonVars();options.onInit!=n&&(eval(options.onInit))($this)};init()};$.msDropDown={version:2.3,author:"Marghoob Suleman",create:function(b,a){return $(b).msDropDown(a).data("dd")}};$.fn.extend({msDropDown:function(a){return this.each(function(){var b=new dd(this,a);$(this).data("dd",b)})}})})(jQuery);
