// AJAX??
function AJAXRequest() {
	var xmlObj = false;
	var CBfunc,ObjSelf;
	ObjSelf=this;
	try { xmlObj=new XMLHttpRequest; }
	catch(e) {
		try { xmlObj=new ActiveXObject("MSXML2.XMLHTTP"); }
		catch(e2) {
			try { xmlObj=new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e3) { xmlObj=false; }
		}
	}
	if (!xmlObj) return false;
	this.method;
	this.setRequestHeader;
	this.url;
	this.async=true;
	this.content="";
	this.callback=function(cbobj) {alert(cbobj)}
	this.send=function() {
		if(this.content!=""){			
			this.content=FomateContent(this.content);		
			}
		if(!this.method||!this.url) return false;
		if(this.method=="GET"&&this.content!="")
			{
		   this.url=this.url+"?"+this.content;
		   //xmlObj.setRequestHeader("If-Modified-Since","0");
			}
		xmlObj.open (this.method, this.url, this.async);
		if(this.method=="POST") xmlObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		xmlObj.onreadystatechange=function() {
			if(xmlObj.readyState==4) {
				if(xmlObj.status==200) {
					ObjSelf.callback(xmlObj);
				}
			}
		}
		if(this.method=="POST") xmlObj.send(this.content);
		else xmlObj.send(null);
	}
	function FomateContent (o) {
if(o.constructor==String){
   return o;
}
if(o.constructor==Array){
 for(var i=0;i<o.length;i++){
  o[i]=o[i].join("="); 
 }
 o=o.join("&");
 return o;

	}
if(o.constructor==Object){
  var temp=[];
  for(var m in o){
    temp.push(m);
	temp.push("=");
	temp.push(o[m]);
	temp.push("&");

  }
  temp=temp.join("");
  return temp;


 }
}
}