//alert('begin ajax: test');
var defaultDivId = "mainPanel";
var divError = "errorPanel";
var ajaxGetContentDivId = null;
var req;
var reqarr = new Array();
var lgfrom=0;
var image;
var warning;
var imagepath;
var tpCenter;
var lfCenter;
var xM = -100;
var yM = -100;
var kern = 16;
var cLoc = "";



/*
function Ajax(lc) {
	//this.req;
	alert(lc);
	this.loc						= lc;
	this.createWEBXMLHttp			= createWEBXMLHttp;
	this.WEBAjaxGET					= WEBAjaxGET;
	this.WEBAjaxPOST				= WEBAjaxPOST;
	this.doPOSTBack					= doPOSTBack;
	this.processStateChangeDoPost	= processStateChangeDoPost;
	this.processStateChange			= processStateChange;
}
/*
Ajax.prototype.createWEBXMLHttp			= createWEBXMLHttp;
Ajax.prototype.WEBAjaxGET				= WEBAjaxGET;
Ajax.prototype.WEBAjaxPOST				= WEBAjaxPOST;
Ajax.prototype.doPOSTBack				= doPOSTBack;
Ajax.prototype.processStateChangeDoPost	= processStateChangeDoPost;
Ajax.prototype.processStateChange		= processStateChange;
*/
/******************************************************************************************/
function createWEBXMLHttp() {
	var oXmlHttp;
	//alert('start createWEBXMLHttp');
	if (window.XMLHttpRequest) { // Non-IE browsers
		oXmlHttp = new XMLHttpRequest();
		return oXmlHttp;
	}
	else {
		var aVersions= new Array(5);
		aVersions[0] = "MSXML2.XMLHttp.5.0";
		aVersions[1] = "MSXML2.XMLHttp.4.0";
		aVersions[2] = "MSXML2.XMLHttp.3.0";
		aVersions[3] = "MSXML2.XMLHttp";
		aVersions[4] = "Microsoft.XMLHttp";

		for (var i = 0; i < aVersions.length; i++) {
			try {
				oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			} catch (oError) {
				//Do nothing
			}
		}
		throw new Error("MSXML is not installed.");
	}
	//alert('end createWEBXMLHttp');
};
/******************************************************************************************/
function WEBAjaxGET(url, dId) {

	ajaxGetContentDivId = dId!=null?dId:defaultDivId;

	req = createWEBXMLHttp();
	req.onreadystatechange = processStateChange;

	if (window.XMLHttpRequest) { // Non-IE browsers
		try {
			header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
            header ("Pragma: no-cache");                          // HTTP/1.0
			req.open("GET", url, true);
		} 
		catch (e) {
			//SHLoading(false);
			alert(e);
		}		
		req.send(null);
	}
	else if (window.ActiveXObject) { // IE
		if (req) {
			req.open("GET", url, true);
			req.send();
		}
	}
};
/******************************************************************************************/
function WEBAjaxPOST(url, params, dId, syn) {	
	ajaxGetContentDivId = dId!=""?dId:defaultDivId;
	//alert(url);alert(params);alert(ajaxGetContentDivId);
	req = createWEBXMLHttp();
	//SHLoading(true);
	//alert(req);
	if (window.ActiveXObject) { // IE
		if (req) {
			req.onreadystatechange = processStateChange;
			req.open("POST", url, syn);
			req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			req.send(params);
		}
	}
	else
		if (window.XMLHttpRequest) { // Non-IE browsers
			try {
				req.onload = processStateChange;
				req.open("POST", url, syn);
				req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				req.send(params);
			}
			catch (e) {
				//SHLoading(false);
				alert("Error: " + e);
			}
		}
};
/******************************************************************************************/
function doPOSTBack(url, params, dId, idx, syn) {
	//alert('begin doPOSTBack');
	//alert(url);alert(params);alert(idx);
	//SHLoading(true);
	reqarr[idx] = createWEBXMLHttp();

	if (window.XMLHttpRequest) { // Non-IE browsers
		try {
			reqarr[idx].onload = function() {processStateChangeDoPost(idx,dId);}
			reqarr[idx].open("POST", url, syn);
			reqarr[idx].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			reqarr[idx].send(params);
		} 
		catch (e) {
			//SHLoading(false);
			alert(e);
		}
	} 
	else if (window.ActiveXObject) { // IE
		if (reqarr[idx]) {
			reqarr[idx].onreadystatechange = function() {processStateChangeDoPost(idx,dId);}
			reqarr[idx].open("POST", url, syn);
			reqarr[idx].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			reqarr[idx].send(params);
		}
	}
	//alert('end doPOSTBack');
};
/******************************************************************************************/
function processStateChangeDoPost(idx,dId) {
	if (reqarr[idx].readyState == 4) { // Complete
		if (reqarr[idx].status == 200) { // OK response
			switch (idx){
				case 0:
					//alert(reqarr[idx].responseXML);
					showPanel(reqarr[idx].responseXML);
					break;
				case 1:
					showTopSell(reqarr[idx].responseXML);
					break;
				case 2:
					document.getElementById(dId).innerHTML = reqarr[idx].responseText;
					//SHLoading(false);
					break;
			}				
		}
		else {
			//SHLoading(false);
			alert("Problem: " + reqarr[idx].statusText);
		}
	}	
}
/******************************************************************************************/
function processStateChange() {
	if (req.readyState == 4) { // Complete
		if (req.status == 200) { // OK response
			//alert(ajaxGetContentDivId+req.responseText);
			//document.write(req.responseText);
			if (req.responseText=="OK") {//For Login Check
				document.location = "index.php";
				return true;
			}
			//alert(ajaxGetContentDivId);
			if (ajaxGetContentDivId=="progressDl") return true;
			//SHLoading(false);
			document.getElementById(ajaxGetContentDivId).innerHTML = req.responseText;
			//alert(req.responseText);
			//alert(cLoc);
			if (cLoc!=""){
				document.location = cLoc;
				dhtmlHistory.add(cLoc, req.responseText);
				//dhtmlHistory.add(cLoc, null);
			}			
		}
		else {
			alert("Problem: " + req.statusText);
		}
	}	
}
/******************************************************************************************/
function SHLoading(st) {
	return true;
	if (document.getElementById) {
		var loading = document.getElementById("divLoading").style;
	} else {
		var loading= eval((document.layers)?"document.divLoading":"document.divLoading.style");
	}
	if (st){
		var posXY = getScrollXY();
		lfCenter = posXY[0] + posXY[2]/2 - 150;
		tpCenter = posXY[1] + posXY[3]/2 - 50;
		if (loading.posLeft) {
			loading.posLeft=lfCenter;
			loading.posTop=tpCenter;
		}
		if (!loading.posLeft) {
			loading.left=lfCenter;
			loading.top=tpCenter;
		}
	}
	else {
		if (loading.posLeft) {
			loading.posLeft=-100;
			loading.posTop=-100;
		}
		if (!loading.posLeft) {
			loading.left=-100;
			loading.top=-100;
		}
	}
}
/******************************************************************************************/
function getScrollXY() {
	var scrOfX = 0, scrOfY = 0, scrOfW = 0, scrOfH = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} 
	else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} 
	else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}

	if( typeof( window.innerWidth ) == 'number' ) {
		//Non-IE
		scrOfW = window.innerWidth;
		scrOfH = window.innerHeight;
	} 
	else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
		//IE 6+ in 'standards compliant mode'
		scrOfW = document.documentElement.clientWidth;
		scrOfH = document.documentElement.clientHeight;
	} 
	else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		scrOfW = document.body.clientWidth;
		scrOfH = document.body.clientHeight;
	}

	return [ scrOfX, scrOfY, scrOfW, scrOfH ];
}
/******************************************************************************************/
function getObjectPosById(id) {
	if (document.getElementById) {
		var obj = document.getElementById(id).style;
	} else {
		var obj = eval((document.layers)?"document."+id:"document."+id+".style");
	}
	if (obj.posLeft) {
		return [ obj.posLeft, obj.posTop];
	}
	if (!obj.posLeft) {
		return [ obj.left, obj.top ];
	}

}
/******************************************************************************************/
function checkScrollBar() {
	checkScrollOrder();
	//window.status=window.location;
	//checkScrollGoTop();
	pos = getObjectPosById("divLoading");
	if (parseInt(pos[0])<=0)
	return;
	//SHLoading(true);
}
/******************************************************************************************/
function checkScrollOrder() {
	var posXY = getScrollXY();
	if (document.getElementById)
		var alertOrd = document.getElementById("alertNewOrders")?document.getElementById("alertNewOrders").style:false;
	else
		if (document.layers)
			var alertOrd = document.alertNewOrders?document.alertNewOrders:(document.alertNewOrders.style?document.alertNewOrders.style:false);
	if (!alertOrd) return false;
	if (alertOrd.posLeft) {
		alertOrd.posTop=posXY[1] + posXY[3] - 120;
	}
	else {
		alertOrd.top=posXY[1] + posXY[3] - 120;
	}
}
/******************************************************************************************/
function checkScrollGoTop() {
	var posXY = getScrollXY();
	if (document.getElementById)
		var gotop = document.getElementById("divGoTop")?document.getElementById("divGoTop").style:false;
	else
		if (document.layers)
			var gotop = document.divGoTop?document.divGoTop:(document.divGoTop.style?document.divGoTop.style:false);
	if (!gotop) return false;
	if (gotop.posLeft) {
		gotop.posTop=posXY[1] + posXY[3] - 50;
	}
	else {
		gotop.top=posXY[1] + posXY[3] - 50;
	}
}
/******************************************************************************************/
function WEBAjaxLoadImage(imgid, _imagepath)
{
	image = getObjectById(imgid);
	image.style.display = "none";

	imagepath = "file:///"+_imagepath.replace(/\\/g,'/');

	warning = getObjectById("warning");
	warning.innerHTML = "Loading ...";
	
	req = createWEBXMLHttp();
	req.onreadystatechange = imagexists;

	if (window.XMLHttpRequest) { // Non-IE browsers
		try {
			req.open("GET", imagepath, true);
		} 
		catch (e) {
			alert(e);
		}		
		req.send(null);
	}
	else if (window.ActiveXObject) { // IE
		if (req) {alert(imagepath)
			req.open("GET", imagepath, true);
			req.send();
		}
	}	
}
/******************************************************************************************/
function imagexists()
{
	if(req.readyState == 4)	{
		if(req.status == 200) {
			warning.style.display="none";
			image.style.display = "block";
			image.src = imagepath;
		}
		else{
			warning.style.display="";
			warning.innerHTML = "Image does not exist";
			image.style.display = "none";
		}
	}
}
function showAllAttObject(obj) {
	document.write("Begin Write Attribute");
	for (i in obj){
		document.write(i + "<BR>");
	}
	document.write("End Write Attribute");
}
//showAllAttObject(document);
/******************************************************************************************/
//document.onmousemove=handlerMM;
//alert('ending ajax');
