function jsmxConstructor(){this.isJSMX=true;this.async=true;this.debug=false;this.strict=true;this.waitDiv="JSMX_loading";this.http=http;this.onWait=_popWait;this.onWaitEnd=_killWait;this.onError=_onError;this.onDebug=_onDebug}var jsmx=new jsmxConstructor();function http(c,b,d,a){var k=(this.isJSMX)?this:jsmx;var i=(!a)?"":_toQueryString(a);var g=false;var b=(c.toLowerCase()=="get")?_addQS(b,i):b;var f=false;k.cb=d;try{var j=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");j.onreadystatechange=function(){switch(j.readyState){case 1:if(!g){f=true;k.onWait(k.waitDiv);g=true}break;case 2:break;case 3:break;case 4:k.onWaitEnd(k.waitDiv);if(j.status==200){var n=true;try{var l=_parseResponse(j)}catch(m){if(k.strict){k.onError(j,k,1);n=false}else{var l=j.responseText}}if(n){k.cb(l)}}else{k.onError(j,k,2)}if(k.debug){k.onDebug(j.responseText)}delete j;break}};j.open(c,_noCache(b),k.async);if(c.toLowerCase()=="post"){j.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}j.send(i);if(!f){k.cb(_parseResponse(j))}}catch(h){k.onError(j,k,3)}}function _parseResponse($$){var str=_cleanString($$.responseText);var xml=$$.responseXML;if(str.indexOf("<wddxPacket")==0){return _parseWDDX(str)}if(xml!=null&&xml.childNodes.length){return xml}try{return eval("("+str+")")}catch(e){return _parseClsc(str)}}function _cleanString(b){str=leftTrim(b);var a=str.indexOf("HTTP/1");if(a>-1){str=str.substring(a,str.length);a=str.indexOf(String.fromCharCode(13,10,13,10));if(a>-1){str=str.substring(a+2,str.length)}}return str}function _parseClsc(str){eval(str);var r=eval(str.split("=")[0].replace(/\s/g,""));return r}function leftTrim(a){var b=/\S/i;a=a.substring(a.search(b),a.length);return a}function _parseWDDX(c){var a=xmlStr2Doc(c);var b=a.getElementsByTagName("data");return _parseWDDXnode(b[0].firstChild)}function xmlStr2Doc(c){var a;if(typeof(DOMParser)=="undefined"){a=new ActiveXObject("Microsoft.XMLDOM");a.async="false";a.loadXML(c)}else{var b=new DOMParser();a=b.parseFromString(c,"application/xml")}return a}function _parseWDDXnode(b){var a;switch(b.tagName){case"string":a=_parseWDDXstring(b);break;case"number":a=parseFloat(b.firstChild.data);break;case"boolean":a=b.getAttribute("value");break;case"dateTime":a=Date(b.firstChild.data);break;case"array":a=_parseWDDXarray(b);break;case"struct":a=_parseWDDXstruct(b);break;case"recordset":a=_parseWDDXrecordset(b);break;case"binary":a=b.firstChild.data;break;case"char":a=_parseWDDXchar(b);break;case"null":a="";break;default:a=b.tagName;break}return a}function _parseWDDXstring(c){var b=c.childNodes;var d="";for(var a=0;a<b.length;a++){if(typeof(b[a].data)!="undefined"){d+=b[a].data}else{d+=_parseWDDXnode(b[a])}}return d}function _parseWDDXchar(a){switch(a.getAttribute("code")){case"0d":return"\r";case"0c":return"\f";case"0a":return"\n";case"09":return"\t"}}function _parseWDDXarray(d){var b=d.childNodes;var a=new Array();for(var c=0;c<b.length;c++){a[c]=_parseWDDXnode(b[c])}return a}function _parseWDDXstruct(c){var a=c.childNodes;var d=new Object();for(var b=0;b<a.length;b++){d[a[b].getAttribute("name").toLowerCase()]=_parseWDDXnode(a[b].childNodes[0])}return d}function _parseWDDXrecordset(h){var g=new Object();var b=h.getElementsByTagName("field");var e;var d;var c;for(var a=0;a<b.length;a++){e=b[a].childNodes;c=new Array();for(var f=0;f<e.length;f++){c[c.length]=_parseWDDXnode(e[f])}g[b[a].getAttribute("name").toLowerCase()]=c}return g}function _toQueryString(a){if(typeof(a)=="string"){return a}if(typeof(a)=="object"){if(typeof a.elements=="undefined"){return _object2queryString(a)}else{return _form2queryString(a)}}}function _object2queryString(b){var a=new Array();for(x in b){a[a.length]=_escape_utf8(x)+"="+_escape_utf8(b[x])}return a.join("&")}function _form2queryString(d){var g=new Object();var a=new Array();for(var b=0;b<d.elements.length;b++){try{elm=d.elements[b];nm=elm.name;if(nm!=""){switch(elm.type.split("-")[0]){case"select":for(var c=0;c<elm.options.length;c++){if(elm.options[c].selected){if(typeof(g[nm])=="undefined"){g[nm]=new Array()}g[nm][g[nm].length]=_escape_utf8(elm.options[c].value)}}break;case"radio":if(elm.checked){if(typeof(g[nm])=="undefined"){g[nm]=new Array()}g[nm][g[nm].length]=_escape_utf8(elm.value)}break;case"checkbox":if(elm.checked){if(typeof(g[nm])=="undefined"){g[nm]=new Array()}g[nm][g[nm].length]=_escape_utf8(elm.value)}break;default:if(typeof(g[nm])=="undefined"){g[nm]=new Array()}g[nm][g[nm].length]=_escape_utf8(elm.value);break}}}catch(f){}}for(x in g){a[a.length]=x+"="+g[x].join(",")}return a.join("&")}function _noCache(a){return _addQS(a,"noCache="+new Date().getTime())}function _addQS(c,d){if(d.length>0){var b=new Array();var a=c.split("?");var e=a[0];if(a[1]){b=a[1].split("&")}b[b.length]=d;c=e+"?"+b.join("&")}return c}function _popWait(b){proc=document.getElementById(b);if(proc==null){var a=document.createElement("div");a.id=b;document.body.appendChild(a)}}function _killWait(a){proc=document.getElementById(a);if(proc!=null){document.body.removeChild(proc)}}function _onError(c,b,a){var d;switch(a){case 1:d=(b.debug)?c.responseText:"Parsing Error: The value returned could not be evaluated.";break;case 2:d=(b.debug)?c.responseText:"There was a problem retrieving the data:\n"+c.status+" : "+c.statusText;break;case 3:d="Unsupported browser detected.";return;break}if(!b.debug){alert(d)}}function _onDebug(a){var b=window.open("","error");b.document.write(a);b.focus()}function _escape_utf8(f){if(f==""||f==null){return""}f=f.toString();var d="";for(var e=0;e<f.length;e++){var g=f.charCodeAt(e);var b=[];if(g>65536){b[0]=240|((g&1835008)>>>18);b[1]=128|((g&258048)>>>12);b[2]=128|((g&4032)>>>6);b[3]=128|(g&63)}else{if(g>2048){b[0]=224|((g&61440)>>>12);b[1]=128|((g&4032)>>>6);b[2]=128|(g&63)}else{if(g>128){b[0]=192|((g&1984)>>>6);b[1]=128|(g&63)}else{b[0]=g}}}if(g==10||g==13){d+="%0"+g.toString(16)}else{if(b.length==1&&g>=48&&g<127&&g!=92){d+=f.charAt(e)}else{for(var a=0;a<b.length;a++){d+="%"+b[a].toString(16)}}}}return d}function $(a){return document.getElementById(a)};