
// (c)MMIX LUXiTUDE - All rights reserved

var lxjxV = 20090410;
var lxjxD = 1;
var lxjxX;
var lxjxT = 0;
var lxjxS = 0;
var lxjxQ = new Array;
var lxjxP = false;


function lxjxInit() {
        if (!Sarissa || !document.getElementsByTagName) return;
        if(!document.lx) {
                document.lx = new Object();
        }
        if(!document.lx.log) {
                document.lx.log = new Array();
        }
        document.lx.jx = lxjxV;
	lxjxCron();
}

var lxjxXX = new Array;
var lxjxXI = 0;
var lxjxTO = new Object;

function jxexec(elt,u,q,showBusy) {
	// alert('init' + u + '-' + q);
	var jxcmd = "jx('" + u + "','" + q + "'," + showBusy + ",'" + elt + "')";
	lxjxQ[lxjxQ.length] = jxcmd;
	lxjxDebug("enqueue: " + jxcmd);

	 // alert('post' + u + '-' + q);
}




function jx(u,q,showBusy,d) {
	if(showBusy) {
		document.write("<img src='/images/busy.gif' border='0'>");
	}

      var lxjxX =  new XMLHttpRequest();
      lxjxS++;
      lxjxT = parseInt((new Date()).getTime());

	lxjxXI++;
	if(lxjxXI>100) {
		lxjxXI = 0;
	}
	lxjxXX[lxjxXI] = lxjxX;

      var uri = '/' + u + '/?v=' + (lxjxV) + '&s=' + (lxjxS) + '&t=' + (lxjxT);
      if(q) {
	uri += '&q=' + q;
      }
      if(d) {
	uri += '&d=' + d;
      }
      lxjxDebug('jx:/' + uri);
      lxjxX.open('GET',uri);
      lxjxX.onreadystatechange = function() {
      	if (lxjxX.readyState == 4) {
                if (lxjxX.status == 200) {
                        try {
                                //lxjxDebug(lxjxX.responseText);
                                eval(lxjxX.responseText);
                        } catch(e) {
                                // alert("E_AJAX");
                        }
                }
		lxjxP = false;
		lxjxDebug("pending=false");
        }
      };
      lxjxP = true;
      lxjxX.send('');

}

	


function lxjxUpdate(k,v) {
	//alert(k + '=' + v);
	var e = document.getElementById(k);
	e.innerHTML = v;
	lxjxX
	lxjxFlush();
}


var lxjxC;
function lxjxCron() {
	// lxjxDebug("lxjxCron()");
	lxjxFlush();
	lxjxC = window.setTimeout('lxjxCron();',100);
}	

function lxjxFlush() {
	if(!lxjxP) {
		if(lxjxQ.length>0) {
			var jxcmd = lxjxQ[0];
	
			var jxq = new Array;
			for(i=1;i<lxjxQ.length;i++) {
				jxq[i-1] = lxjxQ[i];
			}
			lxjxQ = jxq;

			lxjxDebug("dequeue: " + jxcmd);
			eval(jxcmd);
		}
	} 
}
	

function lxjxDebug(line) {
        if(!lxjxD) {
                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>";
        }
}


window.setTimeout('lxjxInit()',50);

