// JavaScript Document
var xmlHttp;
var _div;

var _engineName;
var _sec;
var _params;
var _divTarget;
var _divLoading;

function showContent(engineName, sec, params, divTarget, divLoading){
	if (divLoading=='') 
		divLoading = divTarget;

	document.getElementById(divLoading).innerHTML = '';
	document.getElementById(divLoading).className = "divAjaxLoading";
	_engineName = engineName;
	_sec = sec;
	_params = params;
	_divTarget = divTarget;
	_divLoading = divLoading;
	//setTimeout("doit()", 100);
	getHTML(engineName, sec, params, divTarget, divLoading)
}
/*
	function name	: getHTML
	desc			: Javascript yang menggunakan HTTP Request (Ajax) untuk melakukan server-side script dan 
					  menampilkan output HTML (jika ada)
	Parameter		: Engine Name : Nama engine/server-side script yang menjalankan eksekusi berada di folder ajaxEngine
					  sec : nama section didalam file engine (jika ada)
					  params : parameter yang dikirim ke dalam engine dengan format 
							Element separator (,)
							Value-Key separator (:)
					  divTarget : nama div/element untuk menampilkan output HTML
					  divLoading : nama div/element untuk menampilkan status loading
*/
function getHTML(engineName, sec, params, divTarget, divLoading) {
	var arrParam = [];
	var url;
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Aplikasi browser yang Anda gunakan tidak mendukung HTTP Request");
		return;
	}
	url="../ajaxEngine/" + engineName + ".php";
	url=url+"?sid="+Math.random();
	url=url+"&sec="+sec;
	if (params!='') {
		arrParam = toArray(params);
		for (var i = 0; i < arrParam.name.length; i++)
			url=url + "&" + arrParam.name[i] + '=' + arrParam.value[i];
	}
	document.cookie = 'engineName=' + engineName;
	document.cookie = 'sec=' + sec;
	document.cookie = 'params=' + params;
	document.cookie = 'divTarget=' + divTarget;
	document.cookie = 'divLoading=' + divLoading;
	_divTarget = divTarget;
	_divLoading = divLoading;
	xmlHttp.onreadystatechange= stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		if (_divLoading=='') 
			_divLoading = _divTarget;
		var output = "";
		var myTargetDiv = document.getElementById(_divTarget);
		var myLoadingDiv = document.getElementById(_divLoading);

		myTargetDiv.className = "";
		myTargetDiv.style.width = "100%";
		myTargetDiv.style.height = "100%";		
		myTargetDiv.style.background = '';
		output = xmlHttp.responseText;
		myTargetDiv.innerHTML = output;
	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
	//Internet Explorer
		try { 
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}
