//the ajax object
function ajaxObject(url, callbackFunction) {
  var that=this;      
  this.updating = false;
  this.abort = function() {
	if (that.updating) {
	  that.updating=false;
	  that.AJAX.abort();
	  that.AJAX=null;
	}
  }
  
  //the update function which makes the call
  this.update = function(passData,postMethod) { 
	if (that.updating) { return false; }
	that.AJAX = null;                          
	if (window.XMLHttpRequest) {              
	  that.AJAX=new XMLHttpRequest();              
	} else {                                  
	  that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
	}                                             
	if (that.AJAX==null) {                             
	  return false;                               
	} else {
	  that.AJAX.onreadystatechange = function() {  
		if (that.AJAX.readyState==4) {             
		  that.updating=false;                
		  that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML);        
		  that.AJAX=null;                                         
		}                                                      
	  }                                                        
	  that.updating = new Date();                              
	  if (/post/i.test(postMethod)) {
		var uri=urlCall+'?'+that.updating.getTime();
		that.AJAX.open("POST", uri, true);
		that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		that.AJAX.setRequestHeader("Content-Length", passData.length);
		that.AJAX.send(passData);
	  } else {
		var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
		that.AJAX.open("GET", uri, true);                             
		that.AJAX.send(null);                                         
	  }              
	  return true;                                             
	}                                                                           
  }
  
  var urlCall = url;        
  this.callback = callbackFunction || function () { };
}

function getStyleObject(objectId) {
	// cross-browser function to get an object's style object given its
	if(document.getElementById && document.getElementById(objectId)) {
	// W3C DOM
	return document.getElementById(objectId).style;
	} else if (document.all && document.all(objectId)) {
	// MSIE 4 DOM
	return document.all(objectId).style;
	} else if (document.layers && document.layers[objectId]) {
	// NN 4 DOM.. note: this won't find nested layers
	return document.layers[objectId];
	} else {
	return false;
	}
}
