// AJAX FUNCTIONS

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

n4=(document.layers);
n6=(document.getElementById&&!document.all);
ie=(document.all);

if(n4 || n6) {
//	document.captureEvents(Event.MOUSEMOVE);
}

function sndReqArg(arg) {
	/*if( $("#waiting_symbol").length ) {
    	$("#waiting_symbol").hide();
	}*/
	
	var ajax_waiting_symbol = document.getElementById('waiting_symbol');
	
	$("body").bind("mousemove",function(e) {
    	if(!e) var e=window.event;

		if(e.pageX||e.pageY){
			posx=e.pageX;
			posy=e.pageY;
		}
		else if(e.clientX||e.clientY){
			if(document.compatMode == "BackCompat" && (document.body.scrollTop >= 0 || document.body.scrollLeft >= 0) ) {
				posx = e.clientX + document.body.scrollLeft;
				posy = e.clientY + document.body.scrollTop;
			} else {
				posx = e.clientX + document.documentElement.scrollLeft;
				posy = e.clientY + document.documentElement.scrollTop;
			}	  
		}
		ajax_waiting_symbol.style.left = posx + 15 + "px";
		ajax_waiting_symbol.style.top = posy + "px" ;
    });
	//document.getElementById('waiting_symbol').style.display = ''; // show waiting cursor in case load is high
	ajax_waiting_symbol.style.display = '';
	
    http.open('get', arg);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
	
	if(http.readyState == 1) {}
	else if(http.readyState == 2) {}
	else if(http.readyState == 3) {}
    else if(http.readyState == 4){

        var response = http.responseText;

        var update = new Array();
		
		//document.getElementById('waiting_symbol').style.display = 'none';

		if(response.indexOf('|' != -1)) {
			update = response.split('|');
			limit = update.length / 2;

			for(var x=0; x < limit; x++) {
				if(update[x*2] == "hide") {
					try {
						eval('document.getElementById(\'' + update[(x*2)+1] + '\').style.display = \'none\'');
					}	
					catch(err) {}
				}
				else if(update[x*2] == "exec") {
					try {
						eval(update[(x*2)+1]);
					}	
					catch(err) { }
				}
				else {
					try {
						document.getElementById(update[(x*2)]).innerHTML = update[(x*2)+1];
					}	
					catch(err) {}
				}
			} // end for loop
		}
		if(document.getElementById('waiting_symbol')) {
			document.getElementById('waiting_symbol').style.display = 'none';
		}
		$("body").unbind( "onmousemove" );
		/*if( $("#waiting_symbol").length ) {
    		$("#waiting_symbol").show();
		}*/
    }
}

// commented out due to jQuery version below
/*function moveWaitingSymbol(e) {
	if(!e) var e=window.event;

	if(e.pageX||e.pageY){
		posx=e.pageX;
		posy=e.pageY;
	}
	else if(e.clientX||e.clientY){
		if(document.compatMode == "BackCompat" && (document.body.scrollTop >= 0 || document.body.scrollLeft >= 0) ) {
			posx = e.clientX + document.body.scrollLeft;
			posy = e.clientY + document.body.scrollTop;
		} else {
			posx = e.clientX + document.documentElement.scrollLeft;
			posy = e.clientY + document.documentElement.scrollTop;
		}	  
	}
	document.getElementById('waiting_symbol').style.left = posx + 15 + "px";
	document.getElementById('waiting_symbol').style.top = posy + "px" ;
}
//document.onmousemove=moveWaitingSymbol;
*/

(function($) {
	$(document).ready(function(){
		if( !$("#waiting_symbol").length ) {
	    	$("body").prepend('<img id="waiting_symbol" src="http://static2.fafarazzi.com/images/indicator.gif" style="position:absolute;top:0px;left:0px;z-index:1000000;display:none;" />');
		} else {
			$('#waiting_symbol').attr("src",'http://static2.fafarazzi.com/images/indicator.gif');
		}
		
	    //var ajax_waiting_symbol = document.getElementById('waiting_symbol');
	    
	    /*$("body").bind("mousemove",function(e) {
	    	if(!e) var e=window.event;
	
			if(e.pageX||e.pageY){
				posx=e.pageX;
				posy=e.pageY;
			}
			else if(e.clientX||e.clientY){
				if(document.compatMode == "BackCompat" && (document.body.scrollTop >= 0 || document.body.scrollLeft >= 0) ) {
					posx = e.clientX + document.body.scrollLeft;
					posy = e.clientY + document.body.scrollTop;
				} else {
					posx = e.clientX + document.documentElement.scrollLeft;
					posy = e.clientY + document.documentElement.scrollTop;
				}	  
			}
			ajax_waiting_symbol.style.left = posx + 15 + "px";
			ajax_waiting_symbol.style.top = posy + "px" ;
	    });*/
	    //document.onmousemove=moveWaitingSymbol;
	})
})(jQuery);

// END AJAX FUNCTIONS
