/*************************************************************************
*	@ ajaxpage , ajaxpost
*	@ author : B , 10/01/2008
*	@ mash_figaro@hotmail.com
*	@ Version 1.0 , Support // Mozilla / Safari / IE7 / Opera
**************************************************************************/
var bustcachevar=1;//bust potential caching of external pages after initial request? (1=yes, 0=no)
var cache="";
var loadingtext="<div align=center><blink><b class=font_normal style1>Loading...</b></blink><br><im" + "g src=\"loading.gif\" alt=\"+Loading...\"></div>";

function createXMLHTTPObject() { 
	var xmlhttp = false;
	  try {
		  xmlhttp = new XMLHttpRequest();
	  } catch (e) {
		var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP' );
		var success = false;
		for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
		  try {
			  xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
			  success = true;
			} catch (e) {}
		}
		if (!success) {
		  throw new Error('Unable to create XMLHttpRequest.');
		}
	 }
	 return xmlhttp;
}
// Handle while loading 
function loadpage(page_request, containerid){
	if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
		document.getElementById(containerid).innerHTML=page_request.responseText;
	}else{
		document.getElementById(containerid).innerHTML=loadingtext;
	}
}
// call ajax method get
function ajaxpage(url, containerid){
	var page_request = createXMLHTTPObject();
	page_request.onreadystatechange=function(){
		loadpage(page_request, containerid);
	};
	if (bustcachevar){ //if bust caching of external page
		cache=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
	}
	page_request.open('GET', url+cache, true);
	page_request.send(null);
}
function getRequestBody(pForm) {
	var nParams = new Array();
	for (var i=0 ; i < pForm.elements.length; i++) {
		var pParam = encodeURIComponent(pForm.elements[i].name);
		pParam += "=";
		pParam += encodeURIComponent(pForm.elements[i].value);
		nParams.push(pParam);
	} 
	return nParams.join("&");        
}
// call ajax method post
// Ex. ajaxpost('cal.php','divContainer',this.form);
function ajaxpost(url,containerid,pForm){
	var page_request = false;
	page_request = createXMLHTTPObject();	
	page_request.onreadystatechange=function(){
			loadpage(page_request, containerid);
	};
	if (bustcachevar){ //if bust caching of external page
		cache=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime();
	}
	var pBody = getRequestBody(pForm); 
	page_request.open('POST', url+cache, true);
	page_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	page_request.send(pBody);
}