
function ajax_submit(fId,divId,url) {

	new Ajax.Updater(divId,url, {
		method:'post',
		parameters: $(fId).serialize(true),
		evalScripts:true
	});
	return false;
}

function ajax_load_url(divId,url) {

	new Ajax.Updater(divId,url, {
		method:'post',
		evalScripts:true
	});
	return true;
}
/*
function ajax_load_url(divId,url) {
	new Ajax.Request(url,
	{
		method:'post',
		evalJS:true,
		onSuccess: function(transport){

			$(divId).innerHTML=transport.responseText;
			transport.responseText.evalScripts;
			return true;
		},
		onFailure: function(){ errorMessage('Ajax problem...'); }
	});
}
*/

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;
}




function runAjaxComm(comm,html_id,value)
{
	var xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support the XMLHttpRequest object.")
		return
	}

	var url="ajax.php"
	url=url+"?type="+comm
	url=url+"&value="+value
	url=url+"&sid="+Math.random()
	xmlHttp.open("GET", url,true);
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			document.getElementById(html_id).innerHTML=xmlHttp.responseText
			//setReqEntryText()
		}
	}
	xmlHttp.send(null)


}

function runAjaxModule(html_id,module,params)
{
	var xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support the XMLHttpRequest object.")
		return
	}

	var url=module+"/ajax/1/"
	url=url+"&sid="+Math.random();
	xmlHttp.open("GET", url,true);
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			$(html_id).update(xmlHttp.responseText);
		}
	}
	xmlHttp.send(null)


}

function runAjaxCommSelect(comm,html_id,value)
{
	var xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support the XMLHttpRequest object.")
		return
	}

	var url="ajax.php"
	url=url+"?type="+comm
	url=url+"&value="+value
	url=url+"&sid="+Math.random()
	xmlHttp.open("GET", url,true);
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			select_innerHTML(document.getElementById(html_id),xmlHttp.responseText);

			//setReqEntryText()
		}
	}
	xmlHttp.send(null)


}



function select_innerHTML(objeto,innerHTML){
	/******
	* select_innerHTML - innerHTML to add option(s) to select(s)
	* Problem: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
	* Creative Commons license
	* Versão: 1.0 - 06/04/2006
	* Author: Micox - Náiron J.C.G - micoxjcg@yahoo.com.br - elmicoxcodes.blogspot.com
	* Parametros:
	* objeto(tipo object): the select
	* innerHTML(tipo string): the new innerHTML
	*******/
	objeto.innerHTML = ""
	//creating phantom element to receive temp innerHTML
	var selTemp = document.createElement("micoxselect")
	var opt;
	selTemp.id="micoxselect1"
	document.body.appendChild(selTemp)
	selTemp = document.getElementById("micoxselect1")
	selTemp.style.display="none"

	if(innerHTML.toLowerCase().indexOf("<option")<0){//if not option, convert do option
		innerHTML = "<option>" + innerHTML + "</option>"
	}
	innerHTML = innerHTML.replace(/<option/g,"<span").replace(/<\/option/g,"</span")
	selTemp.innerHTML = innerHTML
	//alert(innerHTML)
	//transfering childs of phantom element to options
	for(var i=0;i<selTemp.childNodes.length;i++){
		if(selTemp.childNodes[i].tagName){
			opt = document.createElement("OPTION")
			for(var j=0;j<selTemp.childNodes[i].attributes.length;j++){
				opt.setAttributeNode(selTemp.childNodes[i].attributes[j].cloneNode(true))
			}
			opt.value = selTemp.childNodes[i].getAttribute("value")
			opt.text = selTemp.childNodes[i].innerHTML
			if(document.all){ //IEca
				objeto.add(opt)
			}else{
				objeto.appendChild(opt)
			}
		}
	}
	//clear phantom
	document.body.removeChild(selTemp)
	selTemp = null
}

var sUrl="?";


function refreshSession()
{
	var xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Your browser does not support the XMLHttpRequest object.")
		return
	}

	var url="touch.php"
	xmlHttp.open("GET", url,true);
	xmlHttp.onreadystatechange=function() {
		if (xmlHttp.readyState==4) {
			document.getElementById("sessinfo").innerHTML=xmlHttp.responseText;

			if (xmlHttp.responseText=='logout') {
				clearInterval(sessInterval);
				window.location.href=sUrl;
			}

		}
	}
	xmlHttp.send(null)


}


function kklGetHeartBeat() {
	var hbreq=new Ajax.Request(rootUrl+'kklAjaxHB/ajax/1/',
	{
		method:'get',
		parameters: {},
		onSuccess: function(transport,json){
			var json = transport.responseText.evalJSON();
			//$('footer').innerHTML= transport.responseText;

			if (json.havemessages) {
				kklShowMessages();
			}
			if (json.errors) {
				$('footer').innerHTML=$('footer').innerHTML+json.errors;
			}
			return true;

		},
		onFailure: function(){ alert('Something went wrong...') }
	});

	return true;
}

function kklRunHeartBeat() {
	hbInterval=setInterval("kklGetHeartBeat();", 5 * 1000);
	return true;
}

function kklShowMessages() {

	new Ajax.Request(rootUrl+'kklMessage/ajax/1/',
	{
		method:'get',
		parameters: {},
		onSuccess: function(transport){
			var response = transport.responseText ;

			if (!response)
			return true;

			set_overlay(1);

			document.documentElement.onscroll = set_overlay;
			document.onscroll = set_overlay;

			$('kklMsgBox').style.display = "block";
			$('kklMsgBoxClose').style.display = 'block';
			$('kklMsgBoxContent').update(response);

			//			$('overlay').onclick = hideBox;

			$('kklMsgBoxContent').update(response);
			setTimeout("center($('kklMsgBox'));", 50);

			return true;
		},
		onFailure: function(){ alert('Something went wrong...') }
	});

}

/**
Resize div by height of window to fill it
**/
function resizeDiv(div) {
	var m = document.getElementById(div);
	var windowHeight = getWindowHeight();
	m.style.height = (windowHeight - 80) + "px";
}

function errorMessage(text) {
	set_overlay(1);

	document.documentElement.onscroll = set_overlay;
	document.onscroll = set_overlay;

	$('kklMsgBox').style.display = "block";
	$('kklMsgBoxClose').style.display = 'block';
	$('kklMsgBoxContent').update(text);

	//			$('overlay').onclick = hideBox;

	$('kklMsgBoxContent').update(response);
	setTimeout("center($('kklMsgBox'));", 50);
}

function debugMessage(text) {
	document.getElementById('messagediv').innerHTML=text;
	
}

function addOnload(fn)
{
	var oldOnLoad=window.onload;
	if(typeof window.onload!='function')
	{window.onload=fn}
	else
		{window.onload=function(){
			oldOnLoad();
			fn();
		};
	}
}