var AgatLookupWindow={showLookUpWindowFromKey:function(event,elem){var evt=(event)?event:window.event;var input=$(elem);var selectElem=$(input).prev();if($(selectElem).attr("tagName").toUpperCase()=="INPUT")
{return;}
if($(selectElem).next().attr("readOnly")==true){return;}
var doc=$(selectElem).attr("ownerDocument");var popup=AgatPopup.get(doc);var popupSelect;if(popup){popupSelect=popup.getElementsByTagName("SELECT")[0];}else{popupSelect=null;}
var keyCodeUp=38;var keyCodeDown=40;var keyCodeEnter=13;var keyCodeEsc=27;var keyCodeTab=9;switch(evt.keyCode){case keyCodeUp:if(popupSelect){var index=$(popupSelect).attr("selectedIndex");if(popupSelect.length&&index!=0){index=(index==-1)?0:index-1;this.setSelectedIndex(popupSelect,index);}}else{this.show(selectElem,false);}
break;case keyCodeDown:if(popupSelect){var index=$(popupSelect).attr("selectedIndex")
if(index!=popupSelect.length-1){this.setSelectedIndex(popupSelect,index+1);}}else{this.show(selectElem,false);}
break;case keyCodeEnter:case keyCodeEsc:case keyCodeTab:if(popupSelect){AgatPopup.close(doc);}
break;default:if(popupSelect){this.updatePopup(input,selectElem,popupSelect,true);}else{this.show(selectElem,false);}
break;}},updatePopup:function(input,selectElem,popupSelect,filter){var doc=$(selectElem).attr("ownerDocument");var options=this.getOptions(selectElem);popupSelect.innerHTML="";var inputValue=$(input).attr("value");for(var i=0;i<options.length;i++){var origOption=options[i];if(filter&&origOption.text.indexOf(inputValue)!=0){continue;}
var newOption=document.createElement("option");newOption.text=origOption.text;newOption.value=origOption.value;try{popupSelect.add(newOption,null);}
catch(ex){popupSelect.add(newOption);}
if(origOption.text==inputValue){newOption.selected=true;}}},show:function(selectElem,focusOnPopup){var input=$(selectElem).next();return this.showCommon(selectElem,input,focusOnPopup);},setSelectedIndex:function(popupSelect,index){$(popupSelect).attr("selectedIndex",index);var lookupInput=$(popupSelect).attr("lookupInput");var option=$(popupSelect).attr("options")[index];$(lookupInput).attr("value",option.text);},getOptions:function(selectElem){this.handleTfsBind(selectElem);if(selectElem.agat_options)return selectElem.agat_options;var options=[];if($(selectElem).hasAttribute("tfsInternalBind")){var params=AgatUtils.splitParams($(selectElem).attr("tfsInternalBind"),true);if(params.contains("sourcevalues")){var OriginalSelectID=(params.get("sourcevalues"));var selectElem=document.getElementById(OriginalSelectID);if(!selectElem)return;}}
if($(selectElem).attr("options").length>0){for(var i=0;i<$(selectElem).attr("options").length;i++){var option=$(selectElem).attr("options")[i];options.push({value:option.value,text:option.text});}}else if($(selectElem).hasAttribute("tfsLookUpWindowData")){var xml=$(selectElem).attr("tfsLookUpWindowData");xml=xml.replace(/&lt;/g,"<");xml=xml.replace(/&gt;/g,">");var xmlDoc=AgatUtils.parseXMLFromString(xml);for(var i=0;i<xmlDoc.documentElement.childNodes.length;i++){var dataNode=xmlDoc.documentElement.childNodes[i];if(document.evaluate){options.push({text:document.evaluate("description",dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent,value:document.evaluate("value",dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent});}
else{if("selectNodes"in xmlDoc){options.push({text:dataNode.selectNodes("description")[0].text,value:dataNode.selectNodes("value")[0].text});}}}}
selectElem.agat_options=options;return options;},handleTfsBind:function(elem){if(!$(elem).hasAttribute("tfsBind"))return;var params=AgatBind.getBindParams(elem);if(!params)return;var loadOnDemand=((params.contains("loadondemand")&&AgatUtils.parseBool(params.get("loadondemand")))||(params.contains("ondemand")&&AgatUtils.parseBool(params.get("ondemand"))));if(!loadOnDemand)return;if($(elem).attr("tfsLastBind")==params.paramString&&($(elem).attr("tfsLookUpWindowData")||$(elem).attr("options").length>0)){return;}
AgatBind.populateControl(elem,params);$(elem).attr("tfsLastBind",params.paramString);},onSelectChange:function(selectElem,evt){selectElem.agat_options=undefined;},showCommon:function(selectElem,input,focusOnPopup){var doc=$(selectElem).attr("ownerDocument");var elem=document.createElement("select");if($(selectElem).attr("tagName").toLowerCase()=="input"){selectElem=AgatBind.deinputizeSelect(selectElem);}
var options;try{options=this.getOptions(selectElem);}catch(e){throw e;}
this.updatePopup(input,selectElem,elem,!focusOnPopup);var maxItems=10;elem.style.width="100%";elem.size=Math.min(options.length,maxItems);if(elem.size<2)elem.size=2;var inputPosition=AgatPopup.getPositionOf(input);var x=inputPosition.x;var y=inputPosition.y+$(input).attr("offsetHeight");var width=$(input).attr("offsetWidth");if($(selectElem).hasAttribute("tfsStyle")){var params=AgatUtils.splitParams($(selectElem).attr("tfsStyle"));if(params.contains("width")){width=parseInt(params.get("width"),10);}
if(params.contains("height")){}}
$(elem).bind("change",this.clickHandler);elem.lookupInput=input;if(AgatEngine.getGeneralAttribute("tfsUIMode").toLowerCase()=="wizard"){AgatWizard.showWizardLookupBox(input,options,x,y,selectElem);}
else{AgatPopup.show(doc,elem,x,y,width);if(focusOnPopup)input.focus();}
return elem;},acceptSelection:function(selectElem,lookupInput){var doc=$(lookupInput).attr("ownerDocument");if(selectElem.selectedIndex!=-1){var option=selectElem.options[selectElem.selectedIndex];lookupInput.value=option.text;$(lookupInput).attr("tfsValue",option.value);$(lookupInput).trigger('change');}
AgatPopup.close(doc);},bindMethod:function(obj,methodName,args){if(!args)args=[];return function(){var temp=args.slice();for(var i=0;i<arguments.length;i++)temp.push(arguments[i]);return obj[methodName].apply(obj,temp);};},attachLookupPic:function(elem){if($(elem).hasAttribute("tfsDataType")&&$(elem).attr("tfsDataType").toLowerCase()=="lookupwindow"){if(AgatEngine.getGeneralAttribute("tfsUIMode").toLowerCase()=="wizard"){$(elem).next().css("height","40px");$(elem).next().css("font-size","20px");var LookupButton=$(elem).next().next();if($(LookupButton).css("direction").toLowerCase()=="ltr"||$(LookupButton).attr("dir").toLowerCase()=="ltr"){$(LookupButton).css("border-right","solid 1px #7F9DB9");$(LookupButton).css("border-left","0px");$(LookupButton).css("margin-right","0px");$(LookupButton).css("margin-left","-4px");}}
else if($(elem).hasAttribute("tfsSelect")){$(elem).next().next().css("background","url("+
systemPictures+"/"+"lookUpWindowReadonly.gif"+")");}
else{$(elem).next().next().css("background","url("+
systemPictures+"/"+"lookUpWindow.gif"+")");}}},clickHandler:function(evt){if(evt.target.tagName!="OPTION"&&evt.target.tagName!="SELECT")return;var selectElem=evt.currentTarget;var lookupInput=selectElem.lookupInput;if(AgatEngine.getGeneralAttribute("tfsUIMode").toLowerCase()!="wizard"){if($(lookupInput).prev().hasAttribute("tfsSelect")){$(lookupInput).next().css("background","url("+
systemPictures+"/"+"lookUpWindowReadonly.gif"+")");}
else{$(lookupInput).next().css("background","url("+
systemPictures+"/"+"lookUpWindow.gif"+")");}}
var doc=$(lookupInput).attr("ownerDocument");if(selectElem.selectedIndex!=-1){var option=selectElem.options[selectElem.selectedIndex];lookupInput.attr("value",option.text);$(lookupInput).attr("tfsValue",option.value);$(lookupInput).trigger('change');}
AgatPopup.close(doc);},validateLookupWindow:function(input){var selectElem=$(input).prev();var options=this.getOptions(selectElem);var value=input.value;var found=false;for(var i=0;i<options.length;i++){if(options[i].text==value){found=true;$(input).attr("tfsValue",options[i].value);break;}}
if(!found){$(input).attr("tfsValue",-1);if($(selectElem).hasAttribute("tfsSelect")){return false;}}
return true;}}