var msxmls = new Array("Msxml2.XMLHTTP.3.0", "Microsoft.XMLHTTP" )

function createRequestObject(){
	var browser=navigator.appName;
	if(window.XMLHttpRequest){return new XMLHttpRequest();} // Mozilla, Safari, ...
	else if(window.ActiveXObject){ // IE
		for(var n in msxmls){
			try{return new ActiveXObject(msxmls[n]);}
			catch(e){ }
		}
	}
	return false;
}

function HTTPsend(fCallBack, u, d){
	document.body.style.cursor='progress';
	var xmlhttp=createRequestObject();
	if(xmlhttp){
		if(u.indexOf('?')>-1){u+='&';}else{u+='?';}u+='rnd='+Math.ceil(Math.random()*10000);

		xmlhttp.open("POST",u);
		xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		xmlhttp.onreadystatechange=function(){
			if(xmlhttp.readyState==4){
				document.body.style.cursor='default';
				try{
					if(xmlhttp.status==200){
						text=xmlhttp.responseText.replace(/^\s+/,"");
						if(text.indexOf('-{')==0)
						{
							var code=text.substr(2,text.indexOf('}-')-2);
							text=text.substr(text.indexOf('}-')+2,text.length);
							eval(fCallBack+"(text,code)");
						}
						else
						{
							eval(fCallBack+"(text)");
						}
						xmlhttp=null;
						try{CollectGarbage();} catch (e) {}
					}else{
						alert(xmlhttp.status+" HTTP Error: "+xmlhttp.statusText+"\n\nPlease check yout connection and try again.");
						xmlhttp=null;
					}
				}catch(e){
					alert("HTTP Error: Unknown\n\nPlease check yout connection and try again.");
					xmlhttp=null;
				}
			}
		}
		xmlhttp.send(d);
		return true;
	}
}

//javascript function to encode:
function mycript(s){var res='';for(i=0;i<s.length;i++){a=s.charCodeAt(i);if(a>0xFF){a-=0x350;}res+='z'+a;}return res;}

