function postXMLHTTP(surl,fenctype,cname,fname){function itrim(s){var _str=(s!=null)?""+s:"";while((_str.length>1)&&((_str.charAt(0)==" ")||(_str.charAt(0)=="\t"))){_str=_str.substring(1)}while((_str.length>1)&&((_str.charAt(0)==" ")||(_str.charAt(0)=="\t"))){_str=_str.substring(0,_str.length-1)}if((_str==" ")||(_str=="\t")){_str=""}return _str}function Retobj(retval){this.retval=retval;this.berr=(arguments.length>1)?arguments[1]:false;this.errmsg=(arguments.length>2)?arguments[2]:"";this.errval=(arguments.length>3)?arguments[3]:0;this.logout=(arguments.length>4)?arguments[4]:false}function extractXMLHTTPErrResponse(strInp){var res=false;if(strInp!=null){var strmatch=new RegExp(xmlhttperrstrt+"((\n|\r|.)*)"+xmlhttperrend);var resarr=strmatch.exec(strInp);try{if(resarr.length>1){res=resarr[1]}}catch(e){}}return res}function extractXMLHTTPResponse(strInp){var res=false;if(strInp!=null){var strmatch=new RegExp(xmlhttpstrt+"((\n|\r|.)*)"+xmlhttpend);var resarr=strmatch.exec(strInp);try{if(resarr.length>1){res=resarr[1]}}catch(e){}}return res}var globals_set=false;if((typeof (xmlhttpurlencode)!="undefined")&&(typeof (xmlhttpmultipart)!="undefined")&&(typeof (xmlhttpstrt)!="undefined")&&(typeof (xmlhttpend)!="undefined")&&(typeof (xmlhttperrstrt)!="undefined")&&(typeof (xmlhttperrend)!="undefined")&&(typeof (xmlhttpclr)!="undefined")&&(typeof (xmlhttpfnc)!="undefined")&&(typeof (xmlhttppar)!="undefined")&&(typeof (xmlhttpiniterrval)!="undefined")&&(typeof (xmlhttpiniterrmsg)!="undefined")&&(typeof (xmlhttpconnerrval)!="undefined")&&(typeof (xmlhttpconnerrmsg)!="undefined")&&(typeof (xmlhttpsrvnovalerrval)!="undefined")&&(typeof (xmlhttpsrvnovalerrmsg)!="undefined")&&(typeof (xmlhttpsrvspecerrval)!="undefined")&&(typeof (xmlhttpsrvlogoutval)!="undefined")&&(typeof (xmlhttpsrvlogoutmsg)!="undefined")){globals_set=true}else{return new Retobj("",true,"Incorrect call of postXMLHTTP()! Globals aren't set.")}var parval;var strall="";var j,k;var httperrresp,httpresp;var objres;fenctype=(fenctype.toLowercase!=xmlhttpmultipart)?xmlhttpurlencode:xmlhttpmultipart;strall+=xmlhttpclr+"="+encodeURIComponent(cname)+"&";strall+=xmlhttpfnc+"="+encodeURIComponent(fname)+"&";j=1;for(var i=4;i<arguments.length;i++){parval=arguments[i];if(typeof (parval)!="object"){strall+=xmlhttppar+j+"="+encodeURIComponent(itrim(parval))+"&";j++}else{for(k=0;k<parval.length;k++){strall+=parval[k][0]+"="+encodeURIComponent(parval[k][1])+"&";j++}}}strall=strall.substr(0,strall.length-1);var xmlhttp=getXMLHTTP();if(!xmlhttp){return new Retobj("",true,"Err: "+xmlhttpiniterrmsg,xmlhttpiniterrval)}if(document&&document.body&&document.body.style){document.body.style.cursor="wait"}try{xmlhttp.open("POST",surl,false);xmlhttp.setRequestHeader("Content-Type",fenctype);xmlhttp.send(strall);if(xmlhttp.status==200){httperrresp=extractXMLHTTPErrResponse(xmlhttp.responseText);if(httperrresp===false){httpresp=extractXMLHTTPResponse(xmlhttp.responseText);if(httpresp!==false){objres=new Retobj(httpresp)}else{objres=new Retobj("",true,"Err: "+xmlhttpsrvnovalerrmsg,xmlhttpsrvnovalerrval)}}else{switch(httperrresp){case xmlhttpsrvlogoutval:objres=new Retobj("",true,"Err: "+xmlhttpsrvlogoutmsg,xmlhttpsrvlogoutval,true);break;default:objres=new Retobj("",true,"Err: "+httperrresp,xmlhttpsrvspecerrval)}}}else{objres=new Retobj("",true,"Err: "+xmlhttp.statusText+" ("+xmlhttp.status+")",xmlhttp.status)}}catch(e){objres=new Retobj("",true,"Err: "+xmlhttpconnerrmsg,xmlhttpconnerrval)}finally{if(document&&document.body&&document.body.style){document.body.style.cursor="auto"}}return objres}function getXMLHTTP(){var xmlhttp;try{xmlhttp=new XMLHttpRequest()}catch(e){try{xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){xmlhttp=false}}}return xmlhttp}function frmPostXMLHTTP(surl,cname,fname,frmid,fields){var i,curelem;var frm=document.getElementById(frmid);var fenctype=frm.enctype;var paramarr=new Array();if(typeof (fields)=="object"){for(var i=0;i<fields.length;i++){curelem=document.getElementsByName(fields[i]);if(typeof (curelem)!="object"){continue}for(var j=0;j<curelem.length;j++){makeElementVal(paramarr,curelem[j])}}}else{fields=fields.toLowerCase();if(fields=="name"){for(var i=0;i<frm.elements.length;i++){curelem=frm.elements[i];if(!curelem.getAttribute("name")){continue}makeElementVal(paramarr,curelem)}}else{for(var i=0;i<frm.elements.length;i++){curelem=frm.elements[i];if(!curelem.getAttribute("name")||!curelem.getAttribute(fields)){continue}makeElementVal(paramarr,curelem)}}}if(paramarr.length>0){return postXMLHTTP(surl,fenctype,cname,fname,paramarr)}else{return false}}function makeElementVal(paramarr,curelem){if(((curelem.tagName).toLowerCase()=="select")&&(curelem.getAttribute("multiple")==true)){for(i=0;i<curelem.options.length;i++){if((curelem.options[i]).selected){paramarr.push(new Array(curelem.name,(curelem.options[i]).value))}}}else{paramarr.push(new Array(curelem.name,curelem.value))}return paramarr};