var timerIdDropDown;
var ajaxcomm = 0;
var ajaxtype = 0;
var ajaxArray = new Array();
var ajaxSearchArray = new Array();
ajaxSearchArray[0] = Array("", "", "");

function fCallxmlhttpPost(){
	if(ajaxcomm == 0 && ajaxArray.length>0){
		ajaxcomm = 1;
		param = ajaxArray.shift()
		xmlhttpPost(param[0], param[1], param[2]);
	}else if(ajaxcomm != 0 && ajaxArray.length>0){
		setTimeout("fCallxmlhttpPost()", 500);
	}	
}

function fCallxmlhttpPostSearch(){
	if(ajaxcomm != 1 && ajaxSearchArray[0][0] != ""){
		ajaxcomm = 2;
		param[0] = ajaxSearchArray[0][0];
		param[1] = ajaxSearchArray[0][1];
		param[2] = ajaxSearchArray[0][2];
		
		ajaxSearchArray[0][0] = "";
		ajaxSearchArray[0][1] = "";
		ajaxSearchArray[0][2] = "";
		xmlhttpPostSearch(param[0], param[1], param[2]);
	}else if(ajaxcomm == 1 && ajaxSearchArray[0][0] != ""){
		setTimeout("fCallxmlhttpPostSearch()", 500);
	}	
}

function fGetToken(pStr, pToken){
	var str = new String(pStr);
	return str.split(pToken);
}

function xmlhttpPostSearch(strUrl, strQuery, strCallBack) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strUrl, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4){
			eval(strCallBack + "(self.xmlHttpReq.responseText)");
        }
    }
    self.xmlHttpReq.send(strQuery);
}

function xmlhttpPost(strUrl, strQuery, strCallBack) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strUrl, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4){
			eval(strCallBack + "(self.xmlHttpReq.responseText)");
        }
    }
    self.xmlHttpReq.send(strQuery);
}

function fGetRandomSlang_old(){
	if(ajaxProcess == 0){
		ajaxProcess = 1;
		fGetObject("randomslang").innerHTML = 'frissítek...';
		xmlhttpPost("doajax.php?type=getrandomslang", "cid="+String(cRandomSlang), "commGateGetRandomSlang");
	}else
		setTimeout("fGetRandomSlang()", 2000);
}

function fGetRandomSlang(){
	ajaxArray.push(Array("doajax.php?type=getrandomslang","cid="+String(cRandomSlang),"commGateGetRandomSlang"));	
	fCallxmlhttpPost();
}

function commGateGetRandomSlang(str){
	ajaxcomm = 0;
	var aTmp = fGetToken(str, "<hogymondom>");
	cRandomSlang = aTmp[0];
	tmp = '<div style="cursor:pointer;" onclick="fShowResult(\'' + aTmp[1] + '\');">';
	tmp += '<div class="slang4" style="padding-bottom:5px;">' + aTmp[1] + '</div>';
	tmp += aTmp[2] + ' <span class="menu_link">tovább></span>';
	tmp += '</div>';
	fGetObject("randomslang").innerHTML = tmp;	
	setTimeout("fGetRandomSlang()", 10000);
}

function fVote(vid, sid){
	obj2 = fGetObject("div_bup_" + String(sid));
	if(obj2){
		var tmpc = new String(obj2.innerHTML);
	}else
		var tmpc = new String("images/up4.gif");
		
	if(vid == -1){
		obj = fGetObject("div_bvoteback_" + String(sid));
		if(obj){
			obj.innerHTML = '';
			obj.styledisplay = "none";
		}
		
		obj = fGetObject("div_bvoteback2_" + String(sid));
		if(obj){
			obj.innerHTML = '';
			obj.styledisplay = "none";
		}		
	}else if(vid == 3 && tmpc.indexOf("images/up4.gif") != -1){
		obj = fGetObject("div_bfavorit_" + String(sid));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/favorit1.gif" />';
	}else{
		obj = fGetObject("div_breject_" + String(sid));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/reject3.gif" />';
			
		obj = fGetObject("div_bup_" + String(sid));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/up3.gif" />';
		
		obj = fGetObject("div_bdown_" + String(sid));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/down3.gif" />';	
		
		obj = fGetObject("div_bfavorit_" + String(sid));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/favorit1.gif" />';
	}
		
	//xmlhttpPost("doajax.php?type=vote", "vid="+String(vid)+"&sid="+String(sid), "commGateVote");
	ajaxArray.push(Array("doajax.php?type=vote","vid="+String(vid)+"&sid="+String(sid),"commGateVote"));
	fCallxmlhttpPost();
}

function commGateVote(str){	
	ajaxcomm = 0;
	var aTmp = fGetToken(str, "<hogymondom>");
	if(aTmp[0] == "delok"){
		document.location.reload();
	}else if (aTmp[0] == -1){
		alert("Már szavaztál!");
	}else if(aTmp[1] == 1){
		fGetObject("div_bup_" + String(aTmp[0])).innerHTML = '<img alt="szleng szótár" src="images/up4.gif" />';
		fGetObject("div_bfavorit_" + String(aTmp[0])).innerHTML = '<a href="javascript:fVote(3,' + aTmp[0] + ')"><img alt="szleng szótár" src="images/favorit1.gif" border="0" onmouseover="this.src=\'images/favorit2.gif\'" onmouseout="this.src=\'images/favorit1.gif\'" /></a>';
		tmp = fGetObject("div_nup_" + String(aTmp[0])).innerHTML;
		tmp++;
		fGetObject("div_nup_" + String(aTmp[0])).innerHTML = tmp;
	}else if(aTmp[1] == 2){
		fGetObject("div_bdown_" + String(aTmp[0])).innerHTML = '<img alt="szleng szótár" src="images/down4.gif" />';
		tmp = fGetObject("div_ndown_" + String(aTmp[0])).innerHTML;
		tmp++;
		fGetObject("div_ndown_" + String(aTmp[0])).innerHTML = tmp;
	}else if(aTmp[1] == 3){
		obj = fGetObject("div_bfavorit_" + String(aTmp[0]));
		if(obj)
			obj.innerHTML = '<img alt="szleng szótár" src="images/favorit4.gif" />';
			
		if(fGetObject("div_nfavorit_" + String(aTmp[0]))){
			tmp = fGetObject("div_nfavorit_" + String(aTmp[0])).innerHTML;
			tmp++;
			fGetObject("div_nfavorit_" + String(aTmp[0])).innerHTML = tmp;
		}
		
		obj = fGetObject("div_bup_" + String(aTmp[0]));
		if(obj){
			var tmpc = new String(obj.innerHTML);
			if(tmpc.indexOf("images/up4.gif") == -1){
				obj.innerHTML = '<img alt="szleng szótár" src="images/up4.gif" />';
			
				if(fGetObject("div_nup_" + String(aTmp[0]))){
					tmp = fGetObject("div_nup_" + String(aTmp[0])).innerHTML;
					tmp++;
					fGetObject("div_nup_" + String(aTmp[0])).innerHTML = tmp;
				}
			}
		}
	}else if(aTmp[1] == 4){
		fGetObject("div_bfavorit_" + String(aTmp[0])).innerHTML = '<img alt="szleng szótár" src="images/favorit3.gif" />';
		fGetObject("div_breject_" + String(aTmp[0])).innerHTML = '<img alt="szleng szótár" src="images/reject4.gif" />';
		tmp = fGetObject("div_nreject_" + String(aTmp[0])).innerHTML;
		tmp++;
		fGetObject("div_nreject_" + String(aTmp[0])).innerHTML = tmp;
	}
	
	
	if(aTmp[0] != "delok"){
		fGetObject("div_bvoteback_" + String(aTmp[0])).innerHTML = '<a href="javascript:fVote(-1,' + String(aTmp[0]) + ')"><img alt="szleng szótár" src="images/voteback1.gif" border="0" onmouseover="this.src=\'images/voteback2.gif\'" onmouseout="this.src=\'images/voteback1.gif\'" /></a>';
	
		fGetObject("div_bvoteback2_" + String(aTmp[0])).innerHTML = '&nbsp;&nbsp;szavazat visszavonás<br />&nbsp;&nbsp;T - '+String(aTmp[2]);
	}
}

function commGateSearch(str){	
	var aTmp = fGetToken(str, "<hogymondom>");
	tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600">';
	
	if(aTmp[0] == -9){
		tmp += '<tr class="tsor2"><td style="text-align:center; padding-left:20px;">' + aTmp[1] + '</td></tr>';
		from = 2;
	}else if(aTmp[0] == 'fejlec'){
		tmp += '<tr class="tsor2"><td padding-left:20px;">' + aTmp[1] + '</td></tr>';
		from = 2;
	}else
		from = 0;
	
	if(aTmp[from] == -1)
		tmp += '<tr class="tsor2"><td style="text-align:center; padding-left:20px;">' + aTmp[from+1] + '</td></tr>';
	else{		
		w = 0;
		for(q=from; q<aTmp.length; q++){
			w++;
			if(w%2 == 1)
				tmpc = "tsor2";
			else
				tmpc = "tsor3";
			tmp += '<tr style="border-bottom:1px solid #5E5E5E;"><td>';
			if(aTmp[q] != -1){
				tmp += '<div class="' + tmpc + '" style="padding-left:10px; cursor:pointer;" onmouseover="fChangeClass(this,\'tsor4\')" onmouseout="fChangeClass(this,\'' + tmpc + '\')" onclick="fShowResult(\''+aTmp[q+4]+'\');">';				
				strtmp = String(aTmp[q+3]);
				if(strtmp.substr(0,5) != "<a hr" && strtmp.substr(0,6) != "<table")
					tmp += aTmp[q+2] + "<br />" +aTmp[q+3];
				else
					tmp += aTmp[q+3];
				tmp += '</div>';
			}else
				tmp += '<b>' + aTmp[q+2] + '</b>';			
			tmp += '</td></tr>';
			q = q+4;
		}		
	}
	
	tmp += '</table>';	
	obj2 = fGetObject("result");
	obj2.innerHTML = tmp;
	
	ajaxcomm = 0;
}

function commGateGenSearch(str){
	ajaxcomm = 0;
	commGateSearch(str);
}

function fGenSearch(gentype, tmpid, lsort){	
	for(k=1;k<10;k++){
		obj3 = fGetObject("menu"+String(k));
		if(obj3)
			fChangeClass(obj3,'menu1', 1);
	}
	
	obj2 = fGetObject("result");
	obj3 = fGetObject("text");
	obj3.style.display = "none";
	obj2.style.display = "block";
	tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600"><tr class="tsor2"><td>lista összeállítása...</td></tr></table>';
	obj2.innerHTML = tmp;	
	ajaxArray.push(Array("doajax.php?type=genlist","gentype="+String(gentype)+"&lsort="+String(lsort)+"&tmpid="+String(tmpid),"commGateGenSearch"));
	fCallxmlhttpPost();
}

function fChangeSearch(obj){
	var st = String(obj.value);	
	while(st.substr(0,1) == " "){
		st = st.substring(1,st.length);
	}
	
	while(st.substr(st.length-1,1) == " "){
		st = st.substring(0,st.length-1);
	}
	
	while(st.indexOf("+") != -1){
		pos = st.indexOf("+");
		st = st.substring(0,pos) + "<plus>" + st.substring(pos+1, st.length);
	}
	
	while(st.indexOf("&") != -1){
		pos = st.indexOf("&");
		st = st.substring(0,pos) + "<and>" + st.substring(pos+1, st.length);
	}
	
	while(st.indexOf("'") != -1){
		pos = st.indexOf("'");
		st = st.substring(0,pos) + "<idezojel1>" + st.substring(pos+1, st.length);
	}
	
	while(st.indexOf('"') != -1){
		pos = st.indexOf("'");
		st = st.substring(0,pos) + "<idezojel2>" + st.substring(pos+1, st.length);
	}
	
	if(st.length>0){
		for(k=1;k<10;k++){
			obj3 = fGetObject("menu"+String(k));
			if(obj3)
				fChangeClass(obj3,'menu1', 1);
		}
		
		obj2 = fGetObject("result");
		obj3 = fGetObject("text");
		obj3.style.display = "none";
		obj2.style.display = "block";
		tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600"><tr class="tsor2"><td>frissítés</td></tr></table>';
		obj2.innerHTML = tmp;
		
		//xmlhttpPostSearch("doajax.php?type=1", "search="+st, "commGateSearch");
		ajaxSearchArray[0][0] = "doajax.php?type=1";
		ajaxSearchArray[0][1] = "search="+st;
		ajaxSearchArray[0][2] = "commGateSearch";
		fCallxmlhttpPostSearch();
	}
}

function fChangeField(obj, type){
	obj3 = fGetObject("show");
	obj3.style.display = "none";
	var st = String(obj.value);
	if(st.length > 0){
		var tagid = String(obj.id);	
		
		obj3.style.display = "block";
		
		tmp = getAnchorPosition("div_" + String(obj.name));
		
		obj3.style.left = String(tmp.x) + "px";
		obj3.style.top = String(tmp.y + 25) + "px";
		
		obj2 = fGetObject("show_content");
		obj2.style.display = "block";
		tmp = '<table cellspacing="2" cellpadding="2" border="0" width="100%"><tr class="tsor2"><td>frissítés</td></tr>	</table>';
		obj2.innerHTML = tmp;
		//xmlhttpPost("doajax.php?type=" + type, "tagid=" + tagid + "&strparam="+st, "commGateField");
		ajaxArray.push(Array("doajax.php?type=" + type,"tagid=" + tagid + "&strparam="+st,"commGateField"));
		fCallxmlhttpPost();
	}
}

function commGateField(str){	
	ajaxcomm = 0;
	var aTmp = fGetToken(str, "<hogymondom>");
	tmp = '<table cellspacing="0" cellpadding="0" width="100%"><tr><td width="182" valign="top">';
	tmp += '<table cellspacing="0" cellpadding="0" width="100%" style="border:1px solid #000000;">';
	
	if(aTmp[1] == -1)
		tmp += '<tr class="tsor2"><td><div class="tsor4">' + aTmp[2] + '</div></td></tr></table></td><td>&nbsp;</td></tr></table>';
	else{
		w = 0;
		for(q=1; q<aTmp.length; q++){
			w++;
			if(w%2 == 1)
				tmpc = "tsor2";
			else
				tmpc = "tsor3";
			tmp += '<tr><td>';

			tmp += '<div class="' + tmpc + '" style="padding-left:10px; cursor:pointer;" onmouseover="fChangeClass(this,\'tsor4\')" onmouseout="fChangeClass(this,\'' + tmpc + '\')" onclick="fFillField(\'' + aTmp[0] + '\',\''+aTmp[q]+'\');">';
			tmp += aTmp[q];
			tmp += '</div>';
			tmp += '</td></tr>';
		}
		
		tmp += '</table></td><td valign="top" align="center" width="16"><a href="javascript:fHideShow()"><img src="images/x_off.jpg" onmouseover="this.src=\'images/x_over.jpg\'" onmouseout="this.src=\'images/x_off.jpg\'" border="0" /></a></td></tr></table>';
	}	
	
	obj2 = fGetObject("show_content");
	obj2.innerHTML = tmp;
	if(aTmp[1] == -1)
		timerIdDropDown = setTimeout("fHideShow()", 4000)
}

function fLogin(){	
	//xmlhttpPost("doajax.php?type=login", "uname=" + fGetObject("uname").value + "&upass=" + fGetObject("upass").value, "commGateAlert");
	ajaxArray.push(Array("doajax.php?type=login","uname=" + fGetObject("uname").value + "&upass=" + fGetObject("upass").value,"commGateAlert"));
	fCallxmlhttpPost();
}

function commGateAlert(str){
	ajaxcomm = 0;
	var aTmp = fGetToken(str, "<hogymondom>");
	if(aTmp[0] == 1)
		alert(aTmp[1]);
	else if(aTmp[0] == 2)
		eval(aTmp[1]);
}

function fNewUser(){
	//xmlhttpPost("doajax.php?type=newuser", "uemail=" + document.hform.uemail.value + "&upass=" + document.hform.upass.value + "&unick=" + document.hform.unick.value, "commGateAlert");
	ajaxArray.push(Array("doajax.php?type=newuser","uemail=" + document.hform.uemail.value + "&upass=" + document.hform.upass.value + "&unick=" + document.hform.unick.value,"commGateAlert"));
	fCallxmlhttpPost();
}

function fShowResult(tmp){
	//xmlhttpPost("doajax.php?type=searchlog", "searched=" + fGetObject("search").value + "&slang=" + tmp, "");
	ajaxArray.push(Array("doajax.php?type=searchlog","searched=" + fGetObject("search").value + "&slang=" + tmp,""));
	fCallxmlhttpPost();
	document.location = "showslang.php?slang="+tmp;	
}

function fAddWanted(tmp){
	var strTmp = new String(tmp);
	if(strTmp.length > 60){
		alert("Ilyen hosszú szleneget nem fogadunk, fogalmazd át!");
	}else if(confirm("Hozzáadod a szlenget - " + tmp + " - a keresett szavakhoz?")){
		//xmlhttpPost("doajax.php?type=addwanted", "wanted=" + tmp, "commGateAddWanted");
		ajaxArray.push(Array("doajax.php?type=addwanted","wanted=" + tmp,"commGateAddWanted"));
		fCallxmlhttpPost();
		obj2 = fGetObject("result");
		tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600"><tr class="tsor2"><td>frissítés</td></tr></table>';
		obj2.innerHTML = tmp;
	}
}

function commGateAddWanted(str){
	ajaxcomm = 0;
	if(str = "1")	
		tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600"><tr class="tsor2"><td style="text-align:center; padding-left:20px;">az általad keresett kifejezés bekerült a wanted-ok közé</td></tr></table>';
	else
		tmp = '<table cellspacing="2" cellpadding="2" border="0" width="600"><tr class="tsor2"><td style="text-align:center; padding-left:20px;">kommunikációs hiba</td></tr></table>';
	obj2 = fGetObject("result");
	obj2.innerHTML = tmp;
}
