// (c)MMIX LUXiTUDE - All rights reserved

var lxscrctlD = 0;
var lxscrctlV = 2009032900;
var lxscrctlS = 0;
var lxscrctlT;
var lxscrctlI = 5000; /* Poll cycle */
var lxscrctlJ = 1000; /* Minimum interval between two events */
var lxscrctlL = 0;
var lxscrctlK = '';
var lxscrctlP = '';
var lxscrctlH = document.location;

var lxscrctlTE0;
var lxscrctlTE1;
var lxscrctlTE2;

function lxscrctlInit() {
	if (!Sarissa || !document.getElementsByTagName) return;
	lxscrctlTE0 = window.setTimeout('lxscrctlLoop()',lxscrctlJ);
	if(!document.lx) {
		document.lx = new Object();
	}
	if(!document.lx.log) {
		document.lx.log = new Array();
	}
	document.lx.scrctl = lxscrctlV;
}

function lxscrctl(k) {
	//alert(k);

	//lxscrctlDebug(k);

	//try {
		lxscrctlS++;
		lxscrctlT = parseInt((new Date()).getTime());

		var doit = true;
		if((lxscrctlT - lxscrctlL) < lxscrctlJ)  {
			doit = false;
		}
		if(k == lxscrctlK) {
			doit = false;
		}

		//lxscrctlDebug(k + '-' + doit);

		if(doit) {

			lxscrctlL = lxscrctlT;
			lxscrctlK = k;
			lxscrctlP = '';

			lxscrctlX =  new XMLHttpRequest();

                        var hr = lxscrctlH+'';
                        var di = hr.indexOf('#');
                        if(di>0) {
                           hr = hr.substring(di+1,512);
                        } else {
                            hr = '';
                        }
                                             

			var uri = '/scrctl/' + k + '?v=' + (lxscrctlV) + '&s=' + (lxscrctlS) + '&t=' + (lxscrctlT) + '&i=' + (lxscrctlI) + '&hr=' + hr;
			lxscrctlX.open('GET',uri);
			lxscrctlX.onreadystatechange = lxscrctlCallback;
			lxscrctlX.send('');

			//lxscrctlDebug("tx:" + uri);
			
		} else {

			lxscrctlP = k;
			if(lxscrctlTE2) {
				window.clearTimeout(lxscrctlTE2);
			}
			lxscrctlTE2 = window.setTimeout('lxscrctlLoop()',lxscrctlJ);

		}

	//} catch(e) {
	//}
}

function lxscrctlCallback() {
	if (lxscrctlX.readyState == 4) {
		if (lxscrctlX.status == 200) {
			try {
				lxscrctlDebug(lxscrctlX.responseText);
				eval(lxscrctlX.responseText);
				//window.status = xmlhttp.responseText;
			} catch(e) {
				// alert("E_AJAX");
			}
		}
	}
}



function lxscrctlLoop() {
	if(lxscrctlP.length > 0) {
		var k = lxscrctlP;
		// alert('pending: ' + k);
		lxscrctlP = '';
		lxscrctlL = 0;
		lxscrctl(k);
	} else if(document.scrctl) {
		lxscrctl(document.scrctl);
		lxscrctlTE1 = window.setTimeout('lxscrctlLoop()',lxscrctlI);
	} else {
		// alert("E_CTL");
	}
}

function lxscrctlDebug(line) {
	if(!lxscrctlD) {
		return false;
	}
        document.lx.log[document.lx.log.length] = line;
        e = document.getElementById('lxLogDiv');
        if(e) {
                var content = '';
                var tail = document.lx.log.length-1;
                var head = tail - 50;
                if(head<0) head = 0;
                for(var i=tail;i>=head;i--) {
                        content += document.lx.log[i] + "<BR>";
                }
                e.innerHTML = "<B>LOG</B><PRE>" + content + "</PRE>";
        }
}


lxscrctlInit();
