////////////////////////////////////////////////////////////
//Ajax f.s 2007
/*
<script src="AjaxLib/XML/ObjTree.js"></script>
<script src="AjaxLib/Ajax/Ajax.js"></script>
myAjax= new Ajax.Obj();
myAjax.debug=false;
myAjax.callBack=function(){
	alert(myAjax.result.content.news[0].title);
	myAjax.assignDiv("title",myAjax.result.content.news[0].title);
}
params=[{varName:"title",value:"this is "},{varName:"name",value:"this is !£$%^"}];
myAjax.makeRequest('test.php',params)

*/
//////////////////////////////////////////////////////////
if ( typeof(Ajax) == 'undefined' ) Ajax = function() {};
//  constructor
Ajax.Obj = function () {
    return this;
};
Ajax.Obj.VERSION = "0.01";
Ajax.Obj.debug=false; 
Ajax.Obj.result=false; 
Ajax.Obj.prototype.callBack=function(){}

Ajax.Obj.prototype.makeRequest=function(url,params) {
	
	var httpRequest;
	var param_str="";
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
			// See note below about this line
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e) {
					   try {
							httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
						   } 
						 catch (e) {}
					  }
								   }
	
		if (!httpRequest) {
			alert('Giving up :( Cannot create an XMLHTTP instance');
			return false;
		}
		
		for(i in params){
			
			param_str+=("&"+params[i].varName+"="+encodeURIComponent(params[i].value))
		}
		 if(this.debug){
			alert(param_str)
		 }
		httpRequest.open('POST', url, true);
		
		httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpRequest.setRequestHeader("Content-length", param_str.length);
		httpRequest.setRequestHeader("Connection", "close");
		var ob={};
		ob._this=this;
		httpRequest.onreadystatechange = function() {//Call a function when the state changes.
		if(httpRequest.readyState == 4 && httpRequest.status == 200) {
			ob._this.alertContents(httpRequest); 
		}
	}
	
	httpRequest.send(param_str);

}
	
Ajax.Obj.prototype.alertContents=function (httpRequest) {

	if (httpRequest.readyState == 4) {
		if (httpRequest.status == 200) {
		//onXMLResult(httpRequest,divid);
		this.onTxtResult(httpRequest);
		} else {
			alert('There was a problem with the request.');
		}
	}

}

Ajax.Obj.prototype.onTxtResult=function (httpRequest){
	var xotree = new XML.ObjTree();
	var xml = httpRequest.responseText;
	this.result = xotree.parseXML(xml); 
	
	 if(this.debug){
		alert(httpRequest.responseText);
		alert(this.result.content.response.title);
	}
	this.callBack();
		

}

Ajax.Obj.prototype.assignDiv=function assignDiv(divID,txt){
		elem = document.getElementById(divID);
		elem.innerHTML=txt;
	
	}
	
