var xmlHttp=createXmlHttpRequestObject();

var cache=new Array();



//-------------create XMLHttpRequest() or ActiveXObject()-------------

function createXmlHttpRequestObject()

{

	var xmlHttp;

	try

	{

		xmlHttp=new XMLHttpRequest();

	}

	catch(e)

	{

		var xmlHttpVersion=new Array("MSXML2.XMLHTTP.6.0",

									 "MSXML2.XMLHTTP.5.0",

									 "MSXML2.XMLHTTP.4.0",

									 "MSXML2.XMLHTTP.3.0",

									 "MSXML2.XMLHTTP",

									 "Microsort.XMLHTTP"

									 );



		for(var i=0; i<xmlHttpVersion.length &&  !xmlHttp; i++)

		{

			try

			{

				xmlHttp=new ActiveXObject(xmlHttpVersion[i]);

			}

			catch(e){}

		}



	}

	if(!xmlHttp)

	{

		alert("creating xmlHttp Object error.");

	}

	else

	{

		return xmlHttp;

	}

}



//-------------Load multi ajax url, post value and div id-------------

function ajax(url, divid, loading){

	//#################check url#################

	var url_pos							= url.indexOf(";");

	var first_url							= url;	

	var first_postvalue			= '';

	var first_pos						= '';

	var next_url						= '';	

	if (url_pos>0){

		first_url							= url.substr(0, url_pos);

		next_url							= url.substr(url_pos+1);

	}

	//first url post value

	first_pos								= first_url.indexOf("?");

	if (first_pos> 0) {

		first_postvalue				= first_url.substr(first_pos+1);

	}

	//#################check div#################

	var divid_pos					= divid.indexOf(";");

	var first_divid						= divid;	

	var first_dividpos				= '';

	var next_divid					= '';	

	if (divid_pos>0){

		first_divid						= divid.substr(0, divid_pos);

		next_divid						= divid.substr(divid_pos+1);

	}



	xmlHttp.open("POST", first_url, true);

	xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

    xmlHttp.setRequestHeader("Content-length", first_postvalue.length);

    xmlHttp.setRequestHeader("Connection", "close");

	xmlHttp.onreadystatechange = function () { handleServerResponseLoading(xmlHttp, first_divid, next_url, next_divid, loading); };

	xmlHttp.send(first_postvalue);

}

//-------------onreadystatechange when xmlHttp.status==200 (with loading)-------------

function handleServerResponseLoading(xmlHttp, first_divid, next_url, next_divid, loading)

{		

	if(xmlHttp)

	{

		if(xmlHttp.readyState==4)

		{

			if (xmlHttp.status == 200) {

				try {

					var response = xmlHttp.responseText;

					document.getElementById(first_divid).innerHTML = response;

					//load next multi ajax

					if (next_url!='' && next_divid!=''){

						ajax(next_url,next_divid,loading);

					}					

				} 

				catch (e) {

					alert("Server response data error.");

				}

			}

		}else if (xmlHttp.readyState>=1 && xmlHttp.readyState<4 && loading==1){				

				document.getElementById(first_divid).innerHTML= '<img src="../images/loading1.gif" width="32" height="32" border="0"  alt="" />';

		}else if (xmlHttp.readyState>=1 && xmlHttp.readyState<4 && loading==2){				

				document.getElementById(first_divid).innerHTML= '<img src="../images/loading2.gif" width="50" height="50" border="0"  alt="" />';

		}else if (xmlHttp.readyState>=1 && xmlHttp.readyState<4 && loading==3){				

				document.getElementById(first_divid).innerHTML= '<img src="../images/loading3.gif" width="48" height="52" border="0"  alt="" />';

		}

	}

}

