// JavaScript Document
function AjaxTicker(){
	this.url = '';
	this.loadInto='';
	this.bustCache = true;
  this.ajaxObj = createAjaxObj();
};

AjaxTicker.prototype.initialize=function(){
	if (!this.ajaxObj){
	  alert ("Your browser does not support AJAX!");
	  return;
	}
  var instanceOfTicker = this;
	if(this.bustCache){
		var a = this.url.indexOf('?');
		if(a!=-1)this.url+="&";
		else this.url+="?";
		this.url += ("bustcache="+new Date().getTime());
	}
  this.ajaxObj.onreadystatechange=function(){instanceOfTicker.stateChanged()};
	this.ajaxObj.open("GET",this.url,true);
	this.ajaxObj.send(null);
};

AjaxTicker.prototype.stateChanged=function(){
	var response_Text, gotResponse;
	switch(this.ajaxObj.readyState){
		case 0:
			response_Text="Initializing...";
		break;
		
		case 1:
			response_Text="Request has been set up...";
		break;
		
		case 2:
			response_Text="Request has been sent...";
		break;
		
		case 3:
			response_Text="Request is in process...";
		break;
		
		case 4:
      //if(this.ajaxObj.readyState == "complete"){
			if (this.ajaxObj.status==200 || window.location.href.indexOf("http")==-1){
				response_Text=this.ajaxObj.responseText;
				gotResponse=true;
			}
      else{
        response_Text='Failed';
				gotResponse=false;
      }
		break;	
	};
	
	switch ((typeof(this.loadInto)).toLowerCase()){
		case 'function':
			if(gotResponse)this.loadInto(response_Text);
		break;
	
		case 'string':
			document.getElementById(this.loadInto).innerHTML = response_Text;
		break;
	
		case 'object':
			this.loadInto.innerHTML = response_Text;
		break;
	};
};

function createAjaxObj(){
	var httprequest=false;
		if (window.XMLHttpRequest){ // if Mozilla, Safari etc
			httprequest=new XMLHttpRequest();
			if (httprequest.overrideMimeType)httprequest.overrideMimeType('text/xml');
		}
		else if (window.ActiveXObject){ // if IE
			try {
				httprequest=new ActiveXObject("Msxml2.XMLHTTP");
			} 
			catch (e){
				try{
					httprequest=new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch (e){}
			}
		}
	return httprequest;
};