var oldstatus = Array();
function reloadCallMeButton(i){
	/*
	This function will check the status of the girl, if its changed, reload
	obj.id is callbutton_11136
	*/

	var d = new Date();
	var t = d.getTime();
	buttons = document.getElementsByTagName("img");
	pin = buttons[i].id.split("_");
	pin = pin[1];
	buttons[i].src = "/CallButton/Small/" + pin + "&t=" + t + '&dont_start_session=1';
}

function updateButtons(){
	var j=0;
	var buttons = document.getElementsByTagName("img");
	for(i=0;i<buttons.length;i++){
		if (buttons[i].className == 'callimage'){
			j++;
			setTimeout("reloadCallMeButton("+i+")", j*1000);
		}
	}
}

function setOldStatus(pin, state) {
	oldstatus[pin] = state;
}







girl_updater = setInterval("updateButtons_Ajax()",7000);

function updateButtons_Ajax_backend_handler_parser(r){
	var l = r.split("\n");
	var x = '';
	var babenumbers = new Array();
	var babenumber = '';
	var state = '';
	for(i=0;i<l.length;i++){
		// x is now in the format: 12345=online
		x 				= l[i];
		x_sp 			= x.split("=");
		babenumber 	= x_sp[0];
		state			= x_sp[1];
		babenumbers[babenumber] = state;
	}
	return babenumbers;
}

function updateButtons_Ajax_backend_handler(str){
	var babenumbers = updateButtons_Ajax_backend_handler_parser(str);
	var k;
	var state;
	var babenumber;
	var cur_state;
	var obj;
	var d = new Date();
	var t = d.getTime();
	var log;
	for( k in babenumbers ) {
		log = '';
		babenumber 	= k;
		if ( babenumber == ''){
			continue;
		}
		state 		= babenumbers[k]
		obj 			= document.getElementById("callbutton_" + babenumber);
		cur_state	= oldstatus[babenumber];
		
		log = "For '"+babenumber+"', state is '"+state+"' but it was '"+cur_state+"'";

		
		if ( cur_state != state ) {
			obj.src = "/CallButton/Small/" + babenumber + "&t=" + t + '&dont_start_session=1';
			/*window.console.log("For '"+babenumber+"', state is '"+state+"' but it was '"+cur_state+"'");*/
			setOldStatus(babenumber, state);
			log = log + " - RELOADING"
		}
		try {
			window.console.log(log);
		} catch (ex) {
		}
	}

}


function updateButtons_Ajax_backend(address){
	var req;
	if(window.XMLHttpRequest) {
		req = new XMLHttpRequest;
	} else {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}
	req.open("GET", address, true);
	req.send(null);
	req.onreadystatechange = function(){
		if (req.readyState == 4)   {
			updateButtons_Ajax_backend_handler(req.responseText);
		}
		return true;
	}
}

function updateButtons_Ajax(){
	var buttons = document.getElementsByTagName("img");
	var req = '/api/babe_get_state?act=getstate';
	var pin = '';
	var found = false;
	for(i=0;i<buttons.length;i++){
		if (buttons[i].className == 'callimage'){
			pin = buttons[i].id.split("_");
			pin = pin[1];
			req = req + "&babenumbers[]=" + pin
			found = true;
		}
	}
	if ( found ) {
		updateButtons_Ajax_backend(req);
	}
}

