
var AgatBind={handleBoundControl:function(elem){if($(elem).attr("tagName").toLowerCase()=="input"){var newElem=this.replaceElementTag(elem,"select");elem=newElem;}
if($(elem).hasAttribute("tfsBind")){var params=AgatBind.getBindParams(elem);var LookupWindow=$(elem).hasAttribute("tfsDataType")&&$(elem).attr("tfsDataType").toLowerCase()=="lookupwindow";if(params.contains("onload")&&AgatUtils.parseBool(params.get("onload"))==false){if(!LookupWindow){var newElem=this.inputizeSelect(elem);newElem.readOnly=true;}
return;}
if((params.contains("loadondemand")&&AgatUtils.parseBool(params.get("loadondemand")))||(params.contains("ondemand")&&AgatUtils.parseBool(params.get("ondemand")))){return;}
AgatBind.populateControl(elem,params);if(LookupWindow)
$(elem).attr("tfsLastBind",params.paramString);}},getBindParams:function(elem){var paramString=$(elem).attr("tfsBind");if(paramString.match(/^function{(.*)}$/)){var expr=RegExp.$1;try{paramString=AgatUtils.evalInContentContext(expr,String);}catch(e){throw"Error: couldn't evaluate tfsBind function: "+e;}}
var params=AgatUtils.splitParams(paramString);params.paramString=paramString;return params;},inputizeSelect:function(elem){var newElem=this.replaceElementTag(elem,"input");if(elem.selectedIndex!=-1){var option=elem.options[elem.selectedIndex];newElem.value=option.text;$(newElem).attr("selectedIndexValue",option.value);}
$(newElem).attr("replaceSelect","true");$(newElem).tfsDisable();return newElem;},deinputizeSelect:function(elem){elem.removeAttribute("selectedIndexValue");$(elem).tfsEnable();return this.replaceElementTag(elem,"select");},replaceElementTag:function(elem,newTag){var doc=elem.ownerDocument;var newElem=doc.createElement(newTag);for(var i=0;i<elem.attributes.length;i++){var attr=elem.attributes[i];if(!attr.specified)continue;newElem.setAttribute(attr.name,attr.value);}
elem.parentNode.replaceChild(newElem,elem);return newElem;},populateControl:function(elem,params,doc){var url=params.get("url");var textPath=params.get("text");var valuePath=params.get("value");var listPath=params.get("nodelist");if(!url||!textPath||!valuePath||!listPath){return;}
if(!doc){this.getDataFromWebService(url,elem,params);}
else{var lookupWindow=$(elem).hasAttribute("tfsDataType")&&$(elem).attr("tfsDataType").toLowerCase()=="lookupwindow";if(lookupWindow){elem.agat_options=[];var ar=[];ar.push("&lt;data&gt;");try{var nodes=doc.selectNodes(listPath);var dataNode;for(var i=0;i<nodes.length;i++){dataNode=nodes[i];if(doc.evaluate){var text=doc.evaluate(textPath,dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent;var value=doc.evaluate(valuePath,dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent;}
else if("selectNodes"in doc){var text=dataNode.selectNodes(textPath)[0].text;var value=dataNode.selectNodes(valuePath)[0].text;}
text=text.replace(/^\s+|\s+$/g,"");ar.push("&lt;row&gt;&lt;value&gt;");ar.push(value);ar.push("&lt;/value&gt;");ar.push("&lt;description&gt;");ar.push(text);ar.push("&lt;/description&gt;&lt;/row&gt;");elem.agat_options.push({text:text,value:value});}}catch(e){}
ar.push("&lt;/data&gt;");$(elem).attr("tfsLookUpWindowData",ar.join(""));}else{elem.innerHTML="";try{var nodes=doc.selectNodes(listPath);var dataNode;for(var i=0;i<nodes.length;i++){dataNode=nodes[i];if(doc.evaluate){var text=doc.evaluate(textPath,dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent;var value=doc.evaluate(valuePath,dataNode,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null).singleNodeValue.textContent;}
else if("selectNodes"in doc){var text=dataNode.selectNodes(textPath)[0].text;var value=dataNode.selectNodes(valuePath)[0].text;}
var option=document.createElement("option");option.value=value;option.text=text;try{elem.add(option,null);}
catch(ex){elem.add(option);}}}catch(e){}}}},getDataFromWebService:function(url,elem,params){if(!(/^https?:/.test(url))){return null;}
var xml;$.ajax({async:false,type:"GET",url:url,data:null,success:function(data){if(data){AgatBind.populateControl(elem,params,data);}},Error:function(XMLHttpRequest,textStatus){AgatEngine.displayMsgBox("SUBMIT_HTTP_FAILED",textStatus);}});},tfsDoBind:function(id){var res=$("#"+id);var elem;if(res.length==1){elem=res[0];}
else if(res.length>1){elem=res[AgatEngine.getWindowProperty("glbCurrRecordNumber")-1];}
if($(elem).hasAttribute("tfsLookUpWindow")){elem=elem.previousSibling;}
if(elem.tagName.toLowerCase()=="input"){elem=this.deinputizeSelect(elem);}
var params=this.getBindParams(elem);this.populateControl(elem,params);},tfsCallServer:function(url,data,functionCallBack,context,method,user,password){if(!(/^https?:/.test(url)))throw"bad url";$.ajax({username:user,password:password,async:false,type:"GET",url:url,data:data,success:function(data){var res=data.xml?data.xml:data;AgatUtils.callWindowFunction(functionCallBack,[res,context]);},error:function(XMLHttpRequest,textStatus){AgatEngine.displayMsgBox("SUBMIT_HTTP_FAILED",textStatus);}});}};