(function($){var msOldDiv="";var dd=function(element,options){var sElement=element;var $this=this;var options=$.extend({height:120,visibleRows:7,rowHeight:23,showIcon:true,zIndex:9999,mainCSS:"dd",useSprite:false,animStyle:"slideDown",onInit:"",style:""},options);this.ddProp=new Object();var oldSelectedValue="";var actionSettings={};actionSettings.insideWindow=true;actionSettings.keyboardAction=false;actionSettings.currentKey=null;var ddList=false;var config={postElementHolder:"_msddHolder",postID:"_msdd",postTitleID:"_title",postTitleTextID:"_titletext",postChildID:"_child",postAID:"_msa",postOPTAID:"_msopta",postInputID:"_msinput",postArrowID:"_arrow",postInputhidden:"_inp"};var styles={dd:options.mainCSS,ddTitle:"ddTitle",arrow:"arrow",ddChild:"ddChild",ddTitleText:"ddTitleText",disabled:0.3,ddOutOfVision:"ddOutOfVision",borderTop:"borderTop",noBorderTop:"noBorderTop",selected:"selected"};var attributes={actions:"focus,blur,change,click,dblclick,mousedown,mouseup,mouseover,mousemove,mouseout,keypress,keydown,keyup",prop:"size,multiple,disabled,tabindex"};this.onActions=new Object();var elementid=$(sElement).prop("id");if(typeof(elementid)=="undefined"||elementid.length<=0){elementid="msdrpdd"+$.msDropDown.counter++;$(sElement).attr("id",elementid)}var inlineCSS=$(sElement).prop("style");options.style+=(inlineCSS==undefined)?"":inlineCSS;var allOptions=$(sElement).children();ddList=($(sElement).prop("size")>1||$(sElement).prop("multiple")==true)?true:false;if(ddList){options.visibleRows=$(sElement).prop("size")}var a_array={};var currentP=0;var isFilter=false;var oldHeight;var cacheElement={};var getElement=function(ele){if(typeof(cacheElement[ele])=="undefined"){cacheElement[ele]=document.getElementById(ele)}return cacheElement[ele]};var getPostID=function(id){return elementid+config[id]};var getOptionsProperties=function(option){var currentOption=option;var styles=$(currentOption).prop("style");return styles};var matchIndex=function(index){var selectedIndex=$("#"+elementid+" option:selected");if(selectedIndex.length>1){for(var i=0;i '}var sText=$(currentOptOption).text();var sValue=$(currentOptOption).val();var sEnabledClass=($(currentOptOption).prop("disabled")==true)?"disabled":"enabled";a_array[aid]={html:arrow+sText,value:sValue,text:sText,index:currentOptOption.index,id:aid};var innerStyle=getOptionsProperties(currentOptOption);if(matchIndex(currentOptOption.index)==true){aTag+='';aTag+=arrow+''+sText+"";return aTag};var in_array=function(t){var sText=t.toLowerCase();if(sText.length==0){return -1}var a="";for(var i in a_array){var a_text=a_array[i].text.toLowerCase();if(a_text.substr(0,sText.length)==sText){a+="#"+a_array[i].id+", "}}return(a=="")?-1:a};var createATags=function(){var childnodes=allOptions;if(childnodes.length==0){return""}var aTag="";var aidfix=getPostID("postAID");var aidoptfix=getPostID("postOPTAID");childnodes.each(function(current){var currentOption=childnodes[current];if(currentOption.nodeName=="OPTGROUP"){aTag+="
";aTag+=""+$(currentOption).prop("label")+"";var optChild=$(currentOption).children();optChild.each(function(currentopt){var currentOptOption=optChild[currentopt];aTag+=createA(currentOptOption,current,currentopt,"opt")});aTag+="
"}else{aTag+=createA(currentOption,current,"","")}});return aTag};var createChildDiv=function(){var id=getPostID("postID");var childid=getPostID("postChildID");var sStyle=options.style;sDiv="";sDiv+='";return sDiv};var createTitleDiv=function(){var titleid=getPostID("postTitleID");var arrowid=getPostID("postArrowID");var titletextid=getPostID("postTitleTextID");var inputhidden=getPostID("postInputhidden");var sText="";var arrow="";if(getElement(elementid).options.length>0){sText=$("#"+elementid+" option:selected").text();arrow=$("#"+elementid+" option:selected").prop("title")}arrow=(arrow.length==0||arrow==undefined||options.showIcon==false||options.useSprite!=false)?"":'

';var sDiv='
";sDiv+=''+arrow+''+sText+"
";return sDiv};var applyEventsOnA=function(){var childid=getPostID("postChildID");$("#"+childid+" a.enabled").unbind("click");$("#"+childid+" a.enabled").bind("click",function(event){event.preventDefault();manageSelection(this);setValue();if(!ddList){$("#"+childid).unbind("mouseover");setInsideWindow(false);var sText=(options.showIcon==false)?$(this).text():$(this).html();setTitleText(sText);$this.close()}})};var createDropDown=function(){var changeInsertionPoint=false;var id=getPostID("postID");var titleid=getPostID("postTitleID");var titletextid=getPostID("postTitleTextID");var childid=getPostID("postChildID");var arrowid=getPostID("postArrowID");var iWidth=$("#"+elementid).width();iWidth=iWidth+2;var sStyle=options.style;if($("#"+id).length>0){$("#"+id).remove();changeInsertionPoint=true}var sDiv='
";sDiv+=createTitleDiv();sDiv+=createChildDiv();sDiv+=createATags();sDiv+="
";sDiv+="
";if(changeInsertionPoint==true){var sid=getPostID("postElementHolder");$("#"+sid).after(sDiv)}else{$("#"+elementid).after(sDiv)}if(ddList){var titleid=getPostID("postTitleID");$("#"+titleid).hide()}$("#"+id).css("width",iWidth+"px");$("#"+childid).css("width",(iWidth-2)+"px");if(allOptions.length>options.visibleRows){var margin=parseInt($("#"+childid+" a:first").css("padding-bottom"))+parseInt($("#"+childid+" a:first").css("padding-top"));var iHeight=((options.rowHeight)*options.visibleRows)-margin;$("#"+childid).css("height",iHeight+"px")}else{if(ddList){var iHeight=$("#"+elementid).height();$("#"+childid).css("height",iHeight+"px")}}if(changeInsertionPoint==false){setOutOfVision();addRefreshMethods(elementid)}if($("#"+elementid).prop("disabled")==true){$("#"+id).css("opacity",styles.disabled)}applyEvents();$("#"+titleid).bind("mouseover",function(event){hightlightArrow(1)});$("#"+titleid).bind("mouseout",function(event){hightlightArrow(0)});applyEventsOnA();$("#"+childid+" a.disabled").css("opacity",styles.disabled);if(ddList){$("#"+childid).bind("mouseover",function(event){if(!actionSettings.keyboardAction){actionSettings.keyboardAction=true;$(document).bind("keydown",function(event){var keyCode=event.keyCode;actionSettings.currentKey=keyCode;if(keyCode==39||keyCode==40){event.preventDefault();event.stopPropagation();next();setValue()}if(keyCode==37||keyCode==38){event.preventDefault();event.stopPropagation();previous();setValue()}})}})}$("#"+childid).bind("mouseout",function(event){setInsideWindow(false);$(document).unbind("keydown");actionSettings.keyboardAction=false;actionSettings.currentKey=null});$("#"+titleid).bind("click",function(event){setInsideWindow(false);if($("#"+childid+":visible").length==1){$("#"+childid).unbind("mouseover")}else{$("#"+childid).bind("mouseover",function(event){setInsideWindow(true)});$this.open()}});$("#"+titleid).bind("mouseout",function(evt){setInsideWindow(false)});if(options.showIcon&&options.useSprite!=false){setTitleImageSprite()}};var getByIndex=function(index){for(var i in a_array){if(a_array[i].index==index){return a_array[i]}}return -1};var manageSelection=function(obj){var childid=getPostID("postChildID");if($("#"+childid+" a."+styles.selected).length==1){oldSelectedValue=$("#"+childid+" a."+styles.selected).text()}if(!ddList){$("#"+childid+" a."+styles.selected).removeClass(styles.selected)}var selectedA=$("#"+childid+" a."+styles.selected).prop("id");if(selectedA!=undefined){var oldIndex=(actionSettings.oldIndex==undefined||actionSettings.oldIndex==null)?a_array[selectedA].index:actionSettings.oldIndex}if(obj&&!ddList){$(obj).addClass(styles.selected)}if(ddList){var keyCode=actionSettings.currentKey;if($("#"+elementid).prop("multiple")==true){if(keyCode==17){actionSettings.oldIndex=a_array[$(obj).prop("id")].index;$(obj).toggleClass(styles.selected)}else{if(keyCode==16){$("#"+childid+" a."+styles.selected).removeClass(styles.selected);$(obj).addClass(styles.selected);var currentSelected=$(obj).prop("id");var currentIndex=a_array[currentSelected].index;for(var i=Math.min(oldIndex,currentIndex);i<=Math.max(oldIndex,currentIndex);i++){$("#"+getByIndex(i).id).addClass(styles.selected)}}else{$("#"+childid+" a."+styles.selected).removeClass(styles.selected);$(obj).addClass(styles.selected);actionSettings.oldIndex=a_array[$(obj).prop("id")].index}}}else{$("#"+childid+" a."+styles.selected).removeClass(styles.selected);$(obj).addClass(styles.selected);actionSettings.oldIndex=a_array[$(obj).prop("id")].index}}};var addRefreshMethods=function(id){var objid=id;getElement(objid).refresh=function(e){$("#"+objid).msDropDown(options)}};var setInsideWindow=function(val){actionSettings.insideWindow=val};var getInsideWindow=function(){return actionSettings.insideWindow};var applyEvents=function(){var mainid=getPostID("postID");var actions_array=attributes.actions.split(",");for(var iCount=0;iCount");$("#"+elementid).appendTo($("#"+sId))};var setTitleText=function(sText){var titletextid=getPostID("postTitleTextID");$("#"+titletextid).html(sText)};var navigateA=function(w){var where=w;var childid=getPostID("postChildID");var visibleA=$("#"+childid+" a:visible");var totalA=visibleA.length;var currentP=$("#"+childid+" a:visible").index($("#"+childid+" a.selected:visible"));var nextA;switch(where){case"next":if(currentP0){currentP--;nextA=visibleA[currentP]}break}if(typeof(nextA)=="undefined"){return false}$("#"+childid+" a."+styles.selected).removeClass(styles.selected);$(nextA).addClass(styles.selected);var selectedA=nextA.id;if(!ddList){var sText=(options.showIcon==false)?a_array[selectedA].text:$("#"+selectedA).html();setTitleText(sText);setTitleImageSprite(a_array[selectedA].index)}if(where=="next"){if(parseInt(($("#"+selectedA).position().top+$("#"+selectedA).height()))>=parseInt($("#"+childid).height())){$("#"+childid).scrollTop(($("#"+childid).scrollTop())+$("#"+selectedA).height()+$("#"+selectedA).height())}}else{if(parseInt(($("#"+selectedA).position().top+$("#"+selectedA).height()))<=0){$("#"+childid).scrollTop(($("#"+childid).scrollTop()-$("#"+childid).height())-$("#"+selectedA).height())}}};var next=function(){navigateA("next")};var previous=function(){navigateA("previous")};var setTitleImageSprite=function(i){if(options.useSprite!=false){var titletextid=getPostID("postTitleTextID");var index=(typeof(i)=="undefined")?getElement(elementid).selectedIndex:i;var sClassName=getElement(elementid).options[index].className;if(sClassName.length>0){var childid=getPostID("postChildID");var id=$("#"+childid+" a."+sClassName).prop("id");var backgroundImg=$("#"+id).css("background-image");var backgroundPosition=$("#"+id).css("background-position");var paddingLeft=$("#"+id).css("padding-left");if(backgroundImg!=undefined){$("#"+titletextid).find("."+styles.ddTitleText).attr("style","background:"+backgroundImg)}if(backgroundPosition!=undefined){$("#"+titletextid).find("."+styles.ddTitleText).css("background-position",backgroundPosition)}if(paddingLeft!=undefined){$("#"+titletextid).find("."+styles.ddTitleText).css("padding-left",paddingLeft)}$("#"+titletextid).find("."+styles.ddTitleText).css("background-repeat","no-repeat");$("#"+titletextid).find("."+styles.ddTitleText).css("padding-bottom","2px")}}};var setValue=function(){var childid=getPostID("postChildID");var allSelected=$("#"+childid+" a."+styles.selected);if(allSelected.length==1){var sText=$("#"+childid+" a."+styles.selected).text();var selectedA=$("#"+childid+" a."+styles.selected).prop("id");if(selectedA!=undefined){var sValue=a_array[selectedA].value;getElement(elementid).selectedIndex=a_array[selectedA].index}if(options.showIcon&&options.useSprite!=false){setTitleImageSprite()}}else{if(allSelected.length>1){for(var i=0;i46){sText+=String.fromCharCode(keyCode)}var ind=in_array(sText);if(ind!=-1){$("#"+childid).css({height:"auto"});$("#"+childid+" a").hide();$(ind).show();var wf=shouldOpenOpposite();$("#"+childid).css(wf.css);$("#"+childid).css({display:"block"})}else{$("#"+childid+" a").show();$("#"+childid).css({height:oldHeight+"px"})}break}if(has_handler("keydown")==true){getElement(elementid).onkeydown()}});$(document).bind("keyup",function(event){if($("#"+elementid).prop("onkeyup")!=undefined){getElement(elementid).onkeyup()}});$(document).bind("mouseup",function(evt){if(getInsideWindow()==false){$this.close()}});var wf=shouldOpenOpposite();$("#"+childid).css(wf.css);if(wf.opp==true){$("#"+childid).css({display:"block"});$("#"+childid).addClass(wf.border);fireOpenEvent()}else{$("#"+childid)[wf.ani]("fast",function(){$("#"+childid).addClass(wf.border);fireOpenEvent()})}if(childid!=msOldDiv){msOldDiv=childid}}};this.close=function(){var childid=getPostID("postChildID");var top=$("#"+getPostID("postTitleID")).position().top;var wf=shouldOpenOpposite();isFilter=false;if(wf.opp==true){$("#"+childid).animate({height:0,top:top},function(){$("#"+childid).css({height:oldHeight+"px",display:"none"});fireCloseEvent()})}else{$("#"+childid).slideUp("fast",function(event){fireCloseEvent();$("#"+childid).css({zIndex:"0"});$("#"+childid).css({height:oldHeight+"px"})})}setTitleImageSprite();$(document).unbind("keydown");$(document).unbind("keyup");$(document).unbind("mouseup")};this.selectedIndex=function(i){if(typeof(i)=="undefined"){return $this.get("selectedIndex")}else{$this.set("selectedIndex",i)}};this.debug=function(is){if(typeof(is)=="undefined"||is==true){$("."+styles.ddOutOfVision).removeAttr("style")}else{$("."+styles.ddOutOfVision).attr("style","height:0px;overflow:hidden;position:absolute")}};this.set=function(prop,val,isLocal){if(prop==undefined||val==undefined){throw {message:"set to what?"}}$this.ddProp[prop]=val;if(isLocal!=true){switch(prop){case"selectedIndex":setValueByIndex(prop,val);break;case"disabled":$this.disabled(val,true);break;case"multiple":getElement(elementid)[prop]=val;ddList=($(sElement).prop("size")>0||$(sElement).prop("multiple")==true)?true:false;if(ddList){var iHeight=$("#"+elementid).height();var childid=getPostID("postChildID");$("#"+childid).css("height",iHeight+"px");var titleid=getPostID("postTitleID");$("#"+titleid).hide();var childid=getPostID("postChildID");$("#"+childid).css({display:"block",position:"relative"});applyEventsOnA()}break;case"size":getElement(elementid)[prop]=val;if(val==0){getElement(elementid).multiple=false}ddList=($(sElement).prop("size")>0||$(sElement).prop("multiple")==true)?true:false;if(val==0){var titleid=getPostID("postTitleID");$("#"+titleid).show();var childid=getPostID("postChildID");$("#"+childid).css({display:"none",position:"absolute"});var sText="";if(getElement(elementid).selectedIndex>=0){var aObj=getByIndex(getElement(elementid).selectedIndex);sText=aObj.html;manageSelection($("#"+aObj.id))}setTitleText(sText)}else{var titleid=getPostID("postTitleID");$("#"+titleid).hide();var childid=getPostID("postChildID");$("#"+childid).css({display:"block",position:"relative"})}break;default:try{getElement(elementid)[prop]=val}catch(e){}break}}};this.get=function(prop,forceRefresh){if(prop==undefined&&forceRefresh==undefined){return $this.ddProp}if(prop!=undefined&&forceRefresh==undefined){return($this.ddProp[prop]!=undefined)?$this.ddProp[prop]:null}if(prop!=undefined&&forceRefresh!=undefined){return getElement(elementid)[prop]}};this.visible=function(val){var id=getPostID("postID");if(val==true){$("#"+id).show()}else{if(val==false){$("#"+id).hide()}else{return $("#"+id).css("display")}}};this.add=function(opt,index){var objOpt=opt;var sText=objOpt.text;var sValue=(objOpt.value==undefined||objOpt.value==null)?sText:objOpt.value;var img=(objOpt.title==undefined||objOpt.title==null)?"":objOpt.title;var i=(index==undefined||index==null)?getElement(elementid).options.length:index;getElement(elementid).options[i]=new Option(sText,sValue);if(img!=""){getElement(elementid).options[i]["title"]=img}var ifA=getByIndex(i);if(ifA!=-1){var aTag=createA(getElement(elementid).options[i],i,"","");$("#"+ifA.id).html(aTag)}else{var aTag=createA(getElement(elementid).options[i],i,"","");var childid=getPostID("postChildID");$("#"+childid).append(aTag);applyEventsOnA()}};this.remove=function(i){getElement(elementid).remove(i);if((getByIndex(i))!=-1){$("#"+getByIndex(i).id).remove();addRemoveFromIndex(i,"d")}if(getElement(elementid).length==0){setTitleText("")}else{var sText=getByIndex(getElement(elementid).selectedIndex).html;setTitleText(sText)}$this.set("selectedIndex",getElement(elementid).selectedIndex)};this.disabled=function(dis,isLocal){getElement(elementid).disabled=dis;var id=getPostID("postID");if(dis==true){$("#"+id).css("opacity",styles.disabled);$this.close()}else{if(dis==false){$("#"+id).css("opacity",1)}}if(isLocal!=true){$this.set("disabled",dis)}};this.form=function(){return(getElement(elementid).form==undefined)?null:getElement(elementid).form};this.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!"}}}};this.namedItem=function(nm){return getElement(elementid).namedItem(nm)};this.multiple=function(is){if(typeof(is)=="undefined"){return $this.get("multiple")}else{$this.set("multiple",is)}};this.size=function(sz){if(typeof(sz)=="undefined"){return $this.get("size")}else{$this.set("size",sz)}};this.addMyEvent=function(nm,fn){$this.onActions[nm]=fn};this.fireEvent=function(nm){eval($this.onActions[nm])($this)};var updateCommonVars=function(){$this.set("version",$.msDropDown.version);$this.set("author",$.msDropDown.author)};var init=function(){createDropDown();setOriginalProperties();updateCommonVars();if(options.onInit!=""){eval(options.onInit)($this)}};init()};$.msDropDown={version:2.37,author:"Marghoob Suleman",counter:20,create:function(id,opt){return $(id).msDropDown(opt).data("dd")}};$.fn.extend({msDropDown:function(options){return this.each(function(){var mydropdown=new dd(this,options);$(this).data("dd",mydropdown)})}});if(typeof($.fn.prop)=="undefined"){$.fn.prop=function(w){return $(this).attr(w)}}})(jQuery);