var sajax_debug_mode=0;var sajax_request_type="GET";var sajax_target_id="";var sajax_failure_redirect="";function sajax_debug(a){if(sajax_debug_mode){alert(a)}}function sajax_init_object(){sajax_debug("sajax_init_object() called..");var a;var c=new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");for(var b=0;b<c.length;b++){try{a=new ActiveXObject(c[b])}catch(d){a=null}}if(!a&&typeof XMLHttpRequest!="undefined"){a=new XMLHttpRequest()}if(!a){sajax_debug("Could not create connection object.")}return a}var sajax_requests=new Array();function sajax_cancel(){for(var a=0;a<sajax_requests.length;a++){sajax_requests[a].abort()}}function sajax_do_call(func_name,args,url){var i,x,n;var uri;var post_data;var target_id;sajax_debug("in sajax_do_call().."+sajax_request_type+"/"+sajax_target_id);target_id=sajax_target_id;if(typeof(sajax_request_type)=="undefined"||sajax_request_type==""){sajax_request_type="GET"}uri=url;if(sajax_request_type=="GET"){if(uri.indexOf("?")==-1){uri+="?rs="+escape(func_name)}else{uri+="&rs="+escape(func_name)}uri+="&rst="+escape(sajax_target_id);uri+="&rsrnd="+new Date().getTime();for(i=0;i<args.length-1;i++){uri+="&rsargs[]="+escape(args[i])}post_data=null}else{if(sajax_request_type=="POST"){post_data="rs="+escape(func_name);post_data+="&rst="+escape(sajax_target_id);post_data+="&rsrnd="+new Date().getTime();for(i=0;i<args.length-1;i++){post_data=post_data+"&rsargs[]="+escape(args[i])}}else{alert("Illegal request type: "+sajax_request_type)}}x=sajax_init_object();if(x==null){if(sajax_failure_redirect!=""){location.href=sajax_failure_redirect;return false}else{sajax_debug("NULL sajax object for user agent:\n"+navigator.userAgent);return false}}else{x.open(sajax_request_type,uri,true);sajax_requests[sajax_requests.length]=x;if(sajax_request_type=="POST"){x.setRequestHeader("Method","POST "+uri+" HTTP/1.1");x.setRequestHeader("Content-Type","application/x-www-form-urlencoded")}x.onreadystatechange=function(){if(x.readyState!=4){return}sajax_debug("received "+x.responseText);var status;var data;var txt=x.responseText.replace(/^\s*|\s*$/g,"");status=txt.charAt(0);data=txt.substring(2);if(status==""){}else{if(status=="-"){alert("Error: "+data)}else{if(target_id!=""){document.getElementById(target_id).innerHTML=eval(data)}else{try{var callback;var extra_data=false;if(typeof args[args.length-1]=="object"){callback=args[args.length-1].callback;extra_data=args[args.length-1].extra_data}else{callback=args[args.length-1]}callback(eval(data),extra_data)}catch(e){sajax_debug("Caught error "+e+": Could not eval "+data)}}}}}}sajax_debug(func_name+" uri = "+uri+"/post = "+post_data);x.send(post_data);sajax_debug(func_name+" waiting..");delete x;return true};
