var request = false;
var target = "";
var params = "";
var hivando = "";

try {
	request = new XMLHttpRequest();
	} catch (trymicrosoft) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (othermicrosoft) {
				try {
					request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (failed) {
					request = false;
		}
	}
}
if (!request) alert("Error initializing	XMLHttpRequest!");

function ajax(url,hova,parameterek,feldolgozo) {
	target = hova;
	params = parameterek;
	request.open("GET", url + '.php' + parameterek, true);
	switch(feldolgozo){
		case "tinyEditor":
			request.onreadystatechange = ajaxProcTinyEditor;
			break;
		case "fancyBox":
			request.onreadystatechange = ajaxProcFancyBox;
			break;
		case "gyartoSelect":
		case "kategoriaSelect":
			request.onreadystatechange = ajaxProcGyartoSelect;
			break;
		case "popUpRePosition":
			request.onreadystatechange = ajaxProcPopUpRePosition;
			break;
		default:
			request.onreadystatechange = ajaxProc;
	} // switch

	request.send(null);
}

function ajaxPOST(url,hova,formID,feldolgozo) {
	target = hova;
	request.open("POST", url + '.php', true);
	contentType = "application/x-www-form-urlencoded; charset=iso-8859-2";
	request.setRequestHeader("Content-Type", contentType);
	switch(feldolgozo){
		case "adminSzervizTetelMentes":
			request.onreadystatechange = ajaxProcAdminSzervizTetelMentes;
			break;
		default:
			request.onreadystatechange = ajaxProc;
	} // switch
	query = createQuery(document.getElementById(formID));
	request.send(query);
}

function ajaxProcPopUpRePosition() {
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;
	var ablakSzama = document.getElementById('ablak_szama').value;
	panelPosition(ablakSzama);
}

function ajaxProc() {
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;
	if (target.substr(0,5) == 'modal') {
		var ablakSzama = parseInt(target.substr(6));
		timedPanelPosition(ablakSzama);
	}
}

function ajaxProcTinyEditor(){
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;
	tinyEditorInit();
	if (target.substr(0,5) == 'modal') {
		var ablakSzama = parseInt(target.substr(6));
		timedPanelPosition(ablakSzama);
	}
}

function ajaxProcFancyBox(){
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;
	fancyBoxInit();
	if (target.substr(0,5) == 'modal') {
		var ablakSzama = parseInt(target.substr(6));
		timedPanelPosition(ablakSzama);
	}
}

function ajaxProcGyartoSelect(){
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;

	/* LISTA SCROLL BEÁLLÍTÁSA */
	if (target == 'gyarto_select') {
		var tipus = 'gyarto';
	} else {
		var tipus = 'kategoria';
	}
	var elemek = document.getElementsByName(tipus+'_elem');
	for (var i=0;i<elemek.length;i++) {
		if (elemek[i].className == 'active') {
			break;
		}
	}
	//alert('Debug!: '+i);
	if (i>4){
		o.parentNode.scrollTop = i*20;
	} else {
		o.parentNode.scrollTop = 0;
	}

	ajax('termekek','termek_select',params+'&step=tipus');
}

function ajaxProcAdminSzervizTetelMentes(){
	if(request.readyState!=4) {return;}
	var o = document.getElementById(target);
	o.innerHTML = request.responseText;
	var ablakSzama = document.getElementById('ablak_szama').value;
	panelPosition(ablakSzama);
	var szervizID = document.getElementById('szerviz_id').value;
	var szervizTetelID = document.getElementById('szerviz_tetel_id').value;
	ajax('szerviz','szerviz_tetel_div','?do=ajax_szerviz_tetel_mentes_lista_frissites&szerviz_id='+szervizID+'&szerviz_tetel_id='+szervizTetelID);
}


function createQuery(form) {
    var elements = form.elements;
    var pairs = new Array();

    for (var i = 0; i < elements.length; i++) {
    	//alert(elements[i].name+'='+elements[i].value);

        if ((name = elements[i].name) && (value = elements[i].value)) {
            if (elements[i].type=='checkbox') {
            	if (elements[i].checked) {
            		pairs.push(name + "=Y");
            	} else {
            		pairs.push(name + "=N");
				}
			} else {
				//value = value.replace(/\u002B/g,"///PLUSZ");
				pairs.push(name + "=" + escape(value));
			}
        }
    }

	form.reset();
    return pairs.join("&");
}
