
function HTTP(){this.readyState=function(){return this._http.readyState;};this._onreadystatechange=function(){};this.setStateChangeListener=function(listener){this._onreadystatechange=listener;};this._async=false;this.isAsync=function(){return this._async;};this.setAsync=function(b){this._async=b;};this._requestMethod="GET";this._requestData="";this._username=null;this._password=null;this._URL="";this.setURL=function(URL){this._URL=URL;};this.getURL=function(){return this._URL;};this.responseText=function(){return this._http?this._http.responseText:"";};this.responseXML=function(){return this._http?this._http.responseXML:"";};this._namespaces="";this.setNamespace=function(name,value){this._namespaces+=" xmlns:"+name+"=\"" + value + "\"";};this._parameters="";this.setParameter=function(name,value){this["_"+name+"Parameter"]=value;if(!this._parameters.match(name)){this._parameters+=" "+name;}};this._headers="";this.setRequestHeader=function(name,value){this["_"+name+"Header"]=value;if(!this._headers.match(name)){this._headers+=" "+name;}};this.setRequestHeader("Content-Type","text/html");this.getResponseHeader=function(name){return this._http?this._http.getResponseHeader(name):"";};this.request=function(){var self=this;var i,name,value,data="",params=this._parameters.split(" ");for(i=1;i<params.length;i++){name=params[i];value=this["_"+name+"Parameter"];if(typeof value=="function"){value=value();}data+=name+"="+encodeURIComponent(value)+"&";}var URL=this._URL;if((this._requestMethod!="POST")&&data){URL+="?"+data;data=null;}this._http=window.ActiveXObject?new ActiveXObject("MSXML2.XMLHTTP"):new XMLHttpRequest;this._http.open(this._requestMethod,URL,this._async,this._username,this._password);var headers=this._headers.split(" ");for(i=1;i<headers.length;i++){name=headers[i];value=this["_"+name+"Header"];if(typeof value=="function"){value=value();}this._http.setRequestHeader(name,value);}if(this._async){this._http.onreadystatechange=this._onreadystatechange;this._http.send(data);}else{this._http.send(data);returnResult();}function returnResult(){if(self._http.responseXML&&self._http.responseXML.hasChildNodes()){self.response(self._http.responseXML);}else{self.response(self._http.responseText);}}};this.response=function(result){if(this.$owner){this.$owner.refresh();}};this.isReady=function(){return this._http.readyState==4;};this.timeout=function(handler,delay){var self=this;var wrapper=function(){handler.call(self);};return window.setTimeout(wrapper,delay?delay:0);};}function AjaxUtil(ctx){if(ctx){this.context=ctx;}else{if(SFT.contextPath){this.context=SFT.contextPath;}}this.bindDic=function(from,to){var id=from.value;var http=new HTTP();var url=this.context+"/sft/ajax/util!dic.action";url+="?dicCat.id="+from.value;http.setURL(url);http.request();var res=http.responseText();to.innerHTML=res;};this.bindUom=function(from,to){var id=from.value;var http=new HTTP();var url=this.context+"/sft/ajax/util!uom.action";url+="?uomCat.id="+from.value;http.setURL(url);http.request();var res=http.responseText();this.bind(res,to);};this.bindSystemDataType=function(from,to){var id=from.value;var http=new HTTP();var url=this.context+"/sft/ajax/util!systemDataType.action";url+="?systemDataType.id="+from.value;http.setURL(url);http.request();var res=http.responseText();this.bind(res,to);};this.bind=function(text,to){var xml=new ActiveXObject("Microsoft.XMLDOM");if(!xml.loadXML(text)){var sErr="\u52a0\u8f7dXML\u6570\u636e\u5931\u8d25[AjaxUtil]!";alert(sErr+text);}else{var nodes=xml.selectNodes("/models/model");var i=0;for(;i<nodes.length;i++){var node=nodes[i];var value=node.selectSingleNode("id").text;var label=node.selectSingleNode("name").text;var option=document.createElement("OPTION");option.text=label;option.value=value;to.options[i]=option;}for(;i<to.options.length;){to.options[i]=null;}}};}


