(function($){var l="undefined",n="",msOldDiv=n,dd=function(element,options){var Z="selectedIndex",Y="block",e="fast",X="none",d=" a.selected",W=".",V="previous",U="next",j="mouseup",T=" a.",S="keydown",R="mouseout",Q="opacity",P="height",O="padding-bottom",N="px",M="postElementHolder",L="mouseover",K="click",J="postTitleTextID",I="postArrowID",H="postTitleID",G=' style="',F='" class="',E='<div id="',D="postChildID",C="postID",B="</div>",A='<span class="',z='">',y='"',x="disabled",w='" align="absmiddle" /> ',v='<img src="',u="postOPTAID",h=" option:selected",t="#",s="multiple",k="size",r="style",m="id",i="selected",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,animStyle:"slideDown",onInit:n,style:n},options);a.ddProp={};var oldSelectedValue=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",borderTop:"borderTop",noBorderTop:"noBorderTop",selected:i},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).prop(m);if(typeof elementid==l||elementid.length<=0){elementid="msdrpdd"+$.msDropDown.counter++;$(sElement).attr(m,elementid)}var inlineCSS=$(sElement).prop(r);options.style+=inlineCSS==undefined?n:inlineCSS;var allOptions=$(sElement).children();ddList=$(sElement).prop(k)>1||$(sElement).prop(s)==o?o:p;if(ddList)options.visibleRows=$(sElement).prop(k);var a_array={},currentP=0,isFilter=p,oldHeight,cacheElement={},getElement=function(a){if(typeof cacheElement[a]==l)cacheElement[a]=document.getElementById(a);return cacheElement[a]},getPostID=function(a){return elementid+config[a]},getOptionsProperties=function(b){var a=b,c=$(a).prop(r);return c},matchIndex=function(c){var a=$(t+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(u):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).prop("rel");b=b.length==0?n:v+b+w}var f=$(a).text(),m=$(a).val(),h=$(a).prop(x)==o?x:"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="'+styles.selected+" "+h+e+y;else c+='<a  href="javascript:void(0);" class="'+h+e+y;if(d!==p&&d!==undefined)c+=" style='"+d+"'";c+=' id="'+g+z;c+=b+A+styles.ddTitleText+z+f+"</span></a>";return c},in_array=function(e){var a=e.toLowerCase();if(a.length==0)return-1;var b=n;for(var c in a_array){var d=a_array[c].text.toLowerCase();if(d.substr(0,a.length)==a)b+=t+a_array[c].id+", "}return b==n?-1:b},createATags=function(){var b=allOptions;if(b.length==0)return n;var a=n,d=getPostID("postAID"),c=getPostID(u);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).prop("label")+"</span>";var e=$(c).children();e.each(function(b){var c=e[b];a+=createA(c,d,b,"opt")});a+=B}else a+=createA(c,d,n,n)});return a},createChildDiv=function(){var c=getPostID(C),b=getPostID(D),a=options.style;sDiv=n;sDiv+=E+b+F+styles.ddChild+y;if(!ddList)sDiv+=a!=n?G+a+y:n;else sDiv+=a!=n?' style="border-top:1px solid #c3c3c3;display:block;position:relative;'+a+y:n;sDiv+=">";return sDiv},createTitleDiv=function(){var f=getPostID(H),e=getPostID(I),d=getPostID(J),g=getPostID("postInputhidden"),c=n,a=n;if(getElement(elementid).options.length>0){c=$(t+elementid+h).text();a=$(t+elementid+h).prop("rel")}a=a.length==0||a==undefined||options.showIcon==p||options.useSprite!=p?n:v+a+w;var b=E+f+F+styles.ddTitle+y;b+=">";b+='<span id="'+e+F+styles.arrow+'"></span><span class="'+styles.ddTitleText+'" id="'+d+z+a+A+styles.ddTitleText+z+c+"</span></span></div>";return b},applyEventsOnA=function(){var b=" a.enabled",a=getPostID(D);$(t+a+b).unbind(K);$(t+a+b).bind(K,function(b){b.preventDefault();manageSelection(this);setValue();if(!ddList){$(t+a).unbind(L);setInsideWindow(p);var c=options.showIcon==p?$(this).text():$(this).html();setTitleText(c);$this.close()}})},createDropDown=function(){var g=" a:first",f=p,d=getPostID(C),c=getPostID(H),l=getPostID(J),a=getPostID(D),m=getPostID(I),e=$(t+elementid).width();e=e+2;var i=options.style;if($(t+d).length>0){$(t+d).remove();f=o}var b=E+d+F+styles.dd+y;b+=i!=n?G+i+y:n;b+=">";b+=createTitleDiv();b+=createChildDiv();b+=createATags();b+=B;b+=B;if(f==o){var k=getPostID(M);$(t+k).after(b)}else $(t+elementid).after(b);if(ddList){var c=getPostID(H);$(t+c).hide()}$(t+d).css("width",e+N);$(t+a).css("width",e-2+N);if(allOptions.length>options.visibleRows){var j=parseInt($(t+a+g).css(O))+parseInt($(t+a+g).css("padding-top")),h=options.rowHeight*options.visibleRows-j;$(t+a).css(P,h+N)}else if(ddList){var h=$(t+elementid).height();$(t+a).css(P,h+N)}if(f==p){setOutOfVision();addRefreshMethods(elementid)}$(t+elementid).prop(x)==o&&$(t+d).css(Q,styles.disabled);applyEvents();$(t+c).bind(L,function(){hightlightArrow(1)});$(t+c).bind(R,function(){hightlightArrow(0)});applyEventsOnA();$(t+a+" a.disabled").css(Q,styles.disabled);ddList&&$(t+a).bind(L,function(){if(!actionSettings.keyboardAction){actionSettings.keyboardAction=o;$(document).bind(S,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()}})}});$(t+a).bind(R,function(){setInsideWindow(p);$(document).unbind(S);actionSettings.keyboardAction=p;actionSettings.currentKey=q});$(t+c).bind(K,function(){setInsideWindow(p);if($(t+a+":visible").length==1)$(t+a).unbind(L);else{$(t+a).bind(L,function(){setInsideWindow(o)});$this.open()}});$(t+c).bind(R,function(){setInsideWindow(p)});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(D);if($(t+b+T+styles.selected).length==1)oldSelectedValue=$(t+b+T+styles.selected).text();!ddList&&$(t+b+T+styles.selected).removeClass(styles.selected);var e=$(t+b+T+styles.selected).prop(m);if(e!=undefined)var f=actionSettings.oldIndex==undefined||actionSettings.oldIndex==q?a_array[e].index:actionSettings.oldIndex;a&&!ddList&&$(a).addClass(styles.selected);if(ddList){var g=actionSettings.currentKey;if($(t+elementid).prop(s)==o)if(g==17){actionSettings.oldIndex=a_array[$(a).prop(m)].index;$(a).toggleClass(styles.selected)}else if(g==16){$(t+b+T+styles.selected).removeClass(styles.selected);$(a).addClass(styles.selected);for(var h=$(a).prop(m),d=a_array[h].index,c=Math.min(f,d);c<=Math.max(f,d);c++)$(t+getByIndex(c).id).addClass(styles.selected)}else{$(t+b+T+styles.selected).removeClass(styles.selected);$(a).addClass(styles.selected);actionSettings.oldIndex=a_array[$(a).prop(m)].index}else{$(t+b+T+styles.selected).removeClass(styles.selected);$(a).addClass(styles.selected);actionSettings.oldIndex=a_array[$(a).prop(m)].index}}},addRefreshMethods=function(b){var a=b;getElement(a).refresh=function(){$(t+a).msDropDown(options)}},setInsideWindow=function(a){actionSettings.insideWindow=a},getInsideWindow=function(){return actionSettings.insideWindow},applyEvents=function(){var d="mousemove",c="mousedown",b="dblclick";for(var a=getPostID(C),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":$(t+a).bind("mouseenter",function(){getElement(elementid).focus()});break;case K:$(t+a).bind(K,function(){$(t+elementid).trigger(K)});break;case b:$(t+a).bind(b,function(){$(t+elementid).trigger(b)});break;case c:$(t+a).bind(c,function(){$(t+elementid).trigger(c)});break;case j:$(t+a).bind(j,function(){$(t+elementid).trigger(j)});break;case L:$(t+a).bind(L,function(){$(t+elementid).trigger(L)});break;case d:$(t+a).bind(d,function(){$(t+elementid).trigger(d)});break;case R:$(t+a).bind(R,function(){$(t+elementid).trigger(R)})}}},setOutOfVision=function(){var a=getPostID(M);$(t+elementid).after("<div class='"+styles.ddOutOfVision+"' style='height:0px;overflow:hidden;position:absolute;' id='"+a+"'></div>");$(t+elementid).appendTo($(t+a))},setTitleText=function(b){var a=getPostID(J);$(t+a).html(b)},navigateA=function(j){var f=" a:visible",h=j,b=getPostID(D),e=$(t+b+f),g=e.length,c=$(t+b+f).index($(t+b+" a.selected:visible")),d;switch(h){case U:if(c<g-1){c++;d=e[c]}break;case V:if(c<g&&c>0){c--;d=e[c]}}if(typeof d==l)return p;$(t+b+T+styles.selected).removeClass(styles.selected);$(d).addClass(styles.selected);var a=d.id;if(!ddList){var i=options.showIcon==p?a_array[a].text:$(t+a).html();setTitleText(i);setTitleImageSprite(a_array[a].index)}if(h==U)parseInt($(t+a).position().top+$(t+a).height())>=parseInt($(t+b).height())&&$(t+b).scrollTop($(t+b).scrollTop()+$(t+a).height()+$(t+a).height());else parseInt($(t+a).position().top+$(t+a).height())<=0&&$(t+b).scrollTop($(t+b).scrollTop()-$(t+b).height()-$(t+a).height())},next=function(){navigateA(U)},previous=function(){navigateA(V)},setTitleImageSprite=function(i){var f="padding-left",e="background-position";if(options.useSprite!=p){var a=getPostID(J),k=typeof i==l?getElement(elementid).selectedIndex:i,h=getElement(elementid).options[k].className;if(h.length>0){var j=getPostID(D),b=$(t+j+T+h).prop(m),d=$(t+b).css("background-image"),c=$(t+b).css(e),g=$(t+b).css(f);d!=undefined&&$(t+a).find(W+styles.ddTitleText).attr(r,"background:"+d);c!=undefined&&$(t+a).find(W+styles.ddTitleText).css(e,c);g!=undefined&&$(t+a).find(W+styles.ddTitleText).css(f,g);$(t+a).find(W+styles.ddTitleText).css("background-repeat","no-repeat");$(t+a).find(W+styles.ddTitleText).css(O,"2px")}}},setValue=function(){var c=getPostID(D),a=$(t+c+T+styles.selected);if(a.length==1){var h=$(t+c+T+styles.selected).text(),b=$(t+c+T+styles.selected).prop(m);if(b!=undefined){var g=a_array[b].value;getElement(elementid).selectedIndex=a_array[b].index}options.showIcon&&options.useSprite!=p&&setTitleImageSprite()}else if(a.length>1)for(var d=0;d<a.length;d++){var b=$(a[d]).prop(m),f=a_array[b].index;getElement(elementid).options[f].selected=i}var e=getElement(elementid).selectedIndex;$this.ddProp.selectedIndex=e},has_handler=function(a){if($(t+elementid).prop("on"+a)!=undefined)return o;var b=$(t+elementid).data("events");return b&&b[a]?o:p},checkMethodAndApply=function(){var b=getPostID(D);if(has_handler("change")==o){var a=a_array[$(t+b+d).prop(m)].text;$.trim(oldSelectedValue)!==$.trim(a)&&oldSelectedValue!==n&&$(t+elementid).trigger("change")}has_handler(j)==o&&$(t+elementid).trigger(j);has_handler("blur")==o&&$(document).bind(j,function(){$(t+elementid).focus();$(t+elementid)[0].blur();setValue();$(document).unbind(j)})},hightlightArrow=function(b){var a=getPostID(I);if(b==1)$(t+a).css({backgroundPosition:"0 100%"});else $(t+a).css({backgroundPosition:"0 0"})},setOriginalProperties=function(){for(var a in getElement(elementid))typeof getElement(elementid)[a]!="function"&&getElement(elementid)[a]!==undefined&&getElement(elementid)[a]!==q&&$this.set(a,getElement(elementid)[a],o)},setValueByIndex=function(d,a){if(getByIndex(a)!=-1){getElement(elementid)[d]=a;var b=getPostID(D);$(t+b+T+styles.selected).removeClass(styles.selected);$(t+getByIndex(a).id).addClass(styles.selected);var c=getByIndex(getElement(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++}},shouldOpenOpposite=function(){var b=getPostID(D),e=getPostID(C),a=$(t+e).position(),i=$(t+e).height(),l=$(window).height(),k=$(window).scrollTop(),c=$(t+b).height(),g={zIndex:options.zIndex,top:a.top+i+N,display:X},f=options.animStyle,h=p,d=styles.noBorderTop;$(t+b).removeClass(styles.noBorderTop);$(t+b).removeClass(styles.borderTop);if(l+k<Math.floor(c+i+a.top)){var j=a.top-c;if(a.top-c<0)j=10;g={zIndex:options.zIndex,top:j+N,display:X};f="show";h=o;d=styles.borderTop}return{opp:h,ani:f,css:g,border:d}},fireOpenEvent=function(){$this.onActions.onOpen!=q&&(eval($this.onActions.onOpen))($this)},fireCloseEvent=function(){checkMethodAndApply();$this.onActions.onClose!=q&&(eval($this.onActions.onClose))($this)};a.open=function(){if($this.get(x,o)==o||$this.get("options",o).length==0)return;var a=getPostID(D);if(msOldDiv!=n&&a!=msOldDiv){$(t+msOldDiv).slideUp(e);$(t+msOldDiv).css({zIndex:"0"})}if($(t+a).css("display")==X){oldSelectedValue=a_array[$(t+a+d).prop(m)].text;var b=n;oldHeight=$(t+a).height();$(t+a+" a").show();$(document).bind(S,function(c){var d=c.keyCode;if(d==8){c.preventDefault();c.stopPropagation();b=b.length==0?n:b.substr(0,b.length-1)}switch(d){case 39:case 40:c.preventDefault();c.stopPropagation();next();break;case 37:case 38:c.preventDefault();c.stopPropagation();previous();break;case 27:case 13:$this.close();setValue();break;default:if(d>46)b+=String.fromCharCode(d);var e=in_array(b);if(e!=-1){$(t+a).css({height:"auto"});$(t+a+" a").hide();$(e).show();var f=shouldOpenOpposite();$(t+a).css(f.css);$(t+a).css({display:Y})}else{$(t+a+" a").show();$(t+a).css({height:oldHeight+N})}}has_handler(S)==o&&getElement(elementid).onkeydown()});$(document).bind("keyup",function(){$(t+elementid).prop("onkeyup")!=undefined&&getElement(elementid).onkeyup()});$(document).bind(j,function(){getInsideWindow()==p&&$this.close()});var c=shouldOpenOpposite();$(t+a).css(c.css);if(c.opp==o){$(t+a).css({display:Y});$(t+a).addClass(c.border);fireOpenEvent()}else $(t+a)[c.ani](e,function(){$(t+a).addClass(c.border);fireOpenEvent()});if(a!=msOldDiv)msOldDiv=a}};a.close=function(){var a=getPostID(D),b=$(t+getPostID(H)).position().top,c=shouldOpenOpposite();isFilter=p;if(c.opp==o)$(t+a).animate({height:0,top:b},function(){$(t+a).css({height:oldHeight+N,display:X});fireCloseEvent()});else $(t+a).slideUp(e,function(){fireCloseEvent();$(t+a).css({zIndex:"0"});$(t+a).css({height:oldHeight+N})});setTitleImageSprite();$(document).unbind(S);$(document).unbind("keyup");$(document).unbind(j)};a.selectedIndex=function(a){if(typeof a==l)return $this.get(Z);else $this.set(Z,a)};a.debug=function(a){if(typeof a==l||a==o)$(W+styles.ddOutOfVision).removeAttr(r);else $(W+styles.ddOutOfVision).attr(r,"height:0px;overflow:hidden;position:absolute")};a.set=function(b,a,i){var e="relative";if(b==undefined||a==undefined)throw{message:"set to what?"};$this.ddProp[b]=a;if(i!=o)switch(b){case Z:setValueByIndex(b,a);break;case x:$this.disabled(a,o);break;case s:getElement(elementid)[b]=a;ddList=$(sElement).prop(k)>0||$(sElement).prop(s)==o?o:p;if(ddList){var h=$(t+elementid).height(),c=getPostID(D);$(t+c).css(P,h+N);var d=getPostID(H);$(t+d).hide();var c=getPostID(D);$(t+c).css({display:Y,position:e});applyEventsOnA()}break;case k:getElement(elementid)[b]=a;if(a==0)getElement(elementid).multiple=p;ddList=$(sElement).prop(k)>0||$(sElement).prop(s)==o?o:p;if(a==0){var d=getPostID(H);$(t+d).show();var c=getPostID(D);$(t+c).css({display:X,position:"absolute"});var f=n;if(getElement(elementid).selectedIndex>=0){var g=getByIndex(getElement(elementid).selectedIndex);f=g.html;manageSelection($(t+g.id))}setTitleText(f)}else{var d=getPostID(H);$(t+d).hide();var c=getPostID(D);$(t+c).css({display:Y,position:e})}break;default:try{getElement(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?getElement(elementid)[a]:void 0};a.visible=function(b){var a=getPostID(C);if(b==o)$(t+a).show();else if(b==p)$(t+a).hide();else return $(t+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?getElement(elementid).options.length:c;getElement(elementid).options[b]=new Option(d,i);if(g!=n)getElement(elementid).options[b].title=g;var f=getByIndex(b);if(f!=-1){var e=createA(getElement(elementid).options[b],b,n,n);$(t+f.id).html(e)}else{var e=createA(getElement(elementid).options[b],b,n,n),h=getPostID(D);$(t+h).append(e);applyEventsOnA()}};a.remove=function(a){getElement(elementid).remove(a);if(getByIndex(a)!=-1){$(t+getByIndex(a).id).remove();addRemoveFromIndex(a,"d")}if(getElement(elementid).length==0)setTitleText(n);else{var b=getByIndex(getElement(elementid).selectedIndex).html;setTitleText(b)}$this.set(Z,getElement(elementid).selectedIndex)};a.disabled=function(a,c){getElement(elementid).disabled=a;var b=getPostID(C);if(a==o){$(t+b).css(Q,styles.disabled);$this.close()}else a==p&&$(t+b).css(Q,1);c!=o&&$this.set(x,a)};a.form=function(){return getElement(elementid).form==undefined?q:getElement(elementid).form};a.item=function(){if(arguments.length==1)return getElement(elementid).item(arguments[0]);else if(arguments.length==2)return getElement(elementid).item(arguments[0],arguments[1]);else throw{message:"An index is required!"};};a.namedItem=function(a){return getElement(elementid).namedItem(a)};a.multiple=function(a){if(typeof a==l)return $this.get(s);else $this.set(s,a)};a.size=function(a){if(typeof a==l)return $this.get(k);else $this.set(k,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.37,author:"Marghoob Suleman",counter:20,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)})}});if(typeof $.fn.prop==l)$.fn.prop=function(a){return $(this).attr(a)}})(jQuery);
