function getXMLHttpObj() {
	var obj,isIE;
	
	isIE = true;
	try {
		obj = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e1) {
		try {
			obj = new ActiveXObject("Microsoft.XMLHTTP");
		} catch(e2) {
			isIE = false;
		}
	}
	
	if(!isIE) {
		try {
			obj = new XMLHttpRequest();
		} catch(e3) {
			alert("Please use IE[No XMLHttp Support]");
		}		
	}		

	return obj;
}

function request(method,url,content,headers,statusShowerObjId) {
	var xmlHttp = getXMLHttpObj();
	var statusShower = null;
	var shwoTarget;
	var res;
	
	if(!isKong(statusShowerObjId)) {
		statusShower = document.getElementById(statusShowerObjId);
	}	
	if(statusShower != null) {
		showTarget = "statusShower.value";
	} else {
		showTarget = "window.status";
	}
	eval(showTarget + " = \"Processing...\";");
	
	xmlHttp.open(method,url,false);	

	if(headers != null) {
		for(var i=0;i<headers.length;i++) {
			var h = headers[i];
			try {
				xmlHttp.setRequestHeader(h.header,h.headerValue);
			} catch(E) {
				alert(E);
			} 
		}
	}
	xmlHttp.setRequestHeader("Pragma", "no-cache"); 
	xmlHttp.setRequestHeader("Cache-Control", "no-cache");

	xmlHttp.send(content);
		
	var readyState = xmlHttp.readyState;
	while(readyState != 4) {
		switch(readyStateValue) {
			case 0:
				eval(showTarget + " = \"0...\";");		
				break;
			case 1:
				eval(showTarget + " = \"1...\";");
				break;
			case 2:
				eval(showTarget + " = \"2...\";");
				break;
			case 3:
				eval(showTarget + " = \"3...\";");
				break;
			default:
				eval(showTarget + " = \"d...\";");
				break;
		}	
	
		readyState = xmlHttp.readyState;
	}
	eval(showTarget + " = \"OK\";");
	
	return trim(xmlHttp.responseText);
}

function get_request(url) {
	return request("GET",url,null,null,null);
}

function post_request(url) {
	return request("POST",url,null,null,null);
}

function xml_request(url,content,headers) {
	return request("POST",url,content,headers,null);
}

function processPageCount(pc) {
	var res = 0;
	if (pc<1) {
		res = 1;
	} else {
		if((pc+"").indexOf(".")!=-1) {
			res = parseInt(pc + 1);
		} else {
			res = pc;
		}
	}
	
	return res;
}

function isKong(str) {
	var res = false;
	
	if(str == null || trim(str)=="") {
		res = true;
	} else {
		if(trim(str).length == 0) {
			res = true;
		}
	}

	return res;
}

function trim(i_str) {
	if(i_str == null) {
		return "";
	}
	return i_str.replace(/(^\s*)|(\s*$)/g,"");
}

function getLeft(o) {
	var l = o.offsetLeft;
	var obj = o;
	while (obj.offsetParent) {
		try {
			l += parseInt(obj.offsetParent.offsetLeft);
		} catch(e) {			
		}
		obj = obj.offsetParent;
	}
		
	return l;
}

function getTop(o) {
	var t = o.offsetTop;
	var obj = o;
	while (obj.offsetParent) {
		try {
			t += parseInt(obj.offsetParent.offsetTop);
		} catch(e) {			
		}
		obj = obj.offsetParent;
	}
		
	return t;
}