var xmlhttp, rate_AJAX, pulse_AJAX;

function GetXmlHttpObject(){
	if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	
	if (window.ActiveXObject){ // code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return null;
}

function LBMove(){
	lb = document.getElementById('light');
	fb = document.getElementById('fade');
	
	lb.style.top = ((fb.offsetHeight/2)-(lb.offsetHeight/2) + yScroll);
	lb.style.left = ((fb.offsetWidth/2)-(lb.offsetWidth/2));
}

function LightBox(on){
	lb = document.getElementById('light');
	fb = document.getElementById('fade');
	
	if(on){
		document.body.style.overflow = 'hidden';
		lb.style.display='block';
		fb.style.display='block';
		
		// --------------
		if (self.pageYOffset){
			yScroll = self.pageYOffset;
		}else if (document.documentElement && document.documentElement.scrollTop){  // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop; 
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
		}
		
		fb.style.top = yScroll;
		LBMove();
		// --------------
		
	}else{
		lb.style.display='none';
		fb.style.display='none';
		document.body.style.overflow = 'auto';
		window.scrollTo(0, yScroll);
	}
	
}

function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];
			
			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
} 

function alltrim(sString){
	if(typeof(sString) != "string"){
		return sString;
	}
	
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	
	return sString;
}

function findPos(obj) {
	var curleft = curtop = 0;
	var ret = new Array();
	
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		
		ret["Left"] = curleft;
		ret["Top"] = curtop;
		
		return ret;
	}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function cleanBool(str){
	var value = true;
	
	str = alltrim(str);
	
	if(str == "false"){value = false;}
	if(str == "0"){value = false;}
	if(str == "FALSE"){value = false;}
	
	if(str == "true"){value = true;}
	if(str == "1"){value = true;}
	if(str == "TRUE"){value = true;}
	
	return value;

}

function imgToggle(obj,value){
	
	var offloc = obj.src.search("-off")
	
	if(offloc > 0 && value == false){return;}
	if(offloc == 0 && value == true){return;}

	if(cleanBool(value) == false){
		obj.src = obj.src.replace(".gif","-off.gif");
	}else{
		
		obj.src = obj.src.replace("-off","");
	}
}