/* ******************************************************* */
/* ************     getHttpRequest        **************** */
/* ******************************************************* */
/* Pelda egy 'aFunction'-re a getHttpRequest fuggvenyhez */
/*
function aFunction() { 
	if (objXMLHttp.readyState==4 || objXMLHttp.readyState=="complete") { 
		document.getElementById("contentDiv").innerHTML=objXMLHttp.responseText;
	} 
}
*/
/* 
 * Az 'aUrl' string, mas szerverrol megadott nem mukodik, ugyhogy ha lehet hasznalj relativ eleresi utat.
 * Az 'aFunction' parameter a feldolgozo fuggveny neve, idezojelek nelkul kell megadni!
 * A 'aQuery' parameter egy string, pl: "parameter=ertek&masikparam=masikertek".
 */
function getHttpRequest(aUrl, aFunction, aQuery, aNotSynch) {
	objXMLHttp = GetXmlHttpObject();
	if (objXMLHttp == null){
		return false;
	} 
	if(aNotSynch == null){
		aNotSynch = true
	}
	objXMLHttp.onreadystatechange = aFunction;
	objXMLHttp.open("post", aUrl, aNotSynch);
	
	objXMLHttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
	
	if(aQuery != null && aQuery != ""){
		objXMLHttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	}
		
	objXMLHttp.send(aQuery);
}
function GetXmlHttpObject() { 
	var objXMLHttp=null
	if (window.XMLHttpRequest) {
		/* Firefox/Mozilla/... */
		objXMLHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		/* Internet Explorer */
		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}
/* ******************************************************* */
/* ************  END  getHttpRequest  END **************** */
/* ******************************************************* */

/* Fill a form with data */
function fillForm(aFormName, aKeys, aData) {
	if (!aKeys || !aData || aKeys.length != aData.length || aKeys.length == 0) return false;
	var formObj = document.forms[aFormName];
	if (!formObj) return false;
	var elementsNum = aKeys.length;
	var formElement = false;
	for (i = 0; i < elementsNum; i++) {
		var formElement = formObj[aKeys[i]];
		if (!formElement) continue;
		switch (formElement.type) {
			case 'checkbox':
				if (aData[i] == true) {
					formElement.checked = true;
				} else {
					formElement.checked = false;
				}
				break;
				/* TODO Radio buttonok formObj[aKeys[i]]-vel tombkent jonnek-e ki?
			case 'radio':
				for (j = 0; j < formElement.length; j++) {
					if (formElement[j].value == aData[i]) {
						formElement[j].checked = true;
					} else {
						formElement[j].checked = false;
					}
				}
				break;
				*/
			default:
				formElement.value = aData[i];
				break;
		}
	}
	return true;
}
function serializeForm(aForm, aExceptions) {
	var strForm = "";
	for (i = 0; i < aForm.length; i++){
		if (aForm[i].disabled == true) continue;

		if(((aForm[i].type == "checkbox" && aForm[i].checked) || aForm[i].type != "checkbox") && ((aForm[i].type == "radio" && aForm[i].checked) || aForm[i].type != "radio")){
			if (i > 0) strForm += "&";
			if (aExceptions && aExceptions[aForm[i].name]) {
				strForm += aForm[i].name+"="+aExceptions[aForm[i].name];
			} else {
				if (aForm[i].constructor == Array) {
					for (j=0;j<aForm[i].length;j++) {
						if (j > 0) strForm += "&";
						for(key in aForm[i]) {
							strForm += key+"="+encodeURIComponent(aForm[i][key]);
						}
					}
				} else {
					strForm += aForm[i].name+"="+encodeURIComponent(aForm[i].value);
				}
			}
		}
	}
	return strForm;
}
function fillDataById(aIds, aValues) {
	for (i = 0; i < aIds.length; i++) {
		var obj = eval("document.getElementById('"+aIds[i]+"')");
		if (!obj) continue;
		type = obj.tagName;
		if (type == 'INPUT' || type == 'SELECT') {
			obj.value = aValues[i];
		} else {
			obj.innerHTML = aValues[i];
		}
	}
}
