var wait_cell_html='<img src="CSS/icons/green_line_wait.gif"/>';
var wait_cell_small_html='<img src="CSS/icons/wait_small_green.gif"/>';
function userfilter(showflag, alcim) {
	if (!alcim)
		alcim="admin";
	
	var el = document.getElementById("filter");
	var btn = document.getElementById("filterbutton");
	if ((el==null) || (btn==null))
		return;
	if (showflag == 1) {
		el.style.display = 'block';
		btn.innerHTML = '<img title="Keresés elrejtése" onclick="userfilter(0,\''+alcim+'\');" style="cursor: pointer; text-align: right; font-size: 80%;" alt="Keresés" src="CSS/icons/icfindclose.png"/>';
	} else {
		lapozas('adm', alcim, 'admin/admin.php', '', '', '','', '', '', '');return false;
	}
}

function userfilterenter(event, alcim) {
	if (!event) 
    event = window.event;
  if (event.keyCode == 13) {
    userfilterbuttonclick(alcim);
		return false;
  }
	return true;
}

function userfilterbuttonclick(alcim){
	var form = document.forms['filterform'];
	var json = '';
	var username_regex = /^[\wáéíöüóőúűÁÉÖÜÓŐÚŰ .-]+$/;

	if ((form.usrstat.value!='') || (form.kit.value != '') || ((alcim=='ceg')&&(!form.alkcnt[0].checked))) {
		if ((form.kit.value != '')&&(!username_regex.test(form.kit.value))) {
			alert("A megadott keresési feltétel érvénytelen. \nA név csak a-z, A-Z, 0-9 karaktereket tartalmazhat.");
		  return;
		}

		var hol = "M";
		if (form.holkeres[0].checked)
		  hol = "E";
		var alk ="";
		if (alcim=='ceg') {
			var alkcnt="M";
			if (form.alkcnt[1].checked)
				alkcnt="V";
			if (form.alkcnt[2].checked)
				alkcnt="N";
			alk = ', "alk":"'+alkcnt+'"';
		}	
		
		var json = '{"stat":"'+form.usrstat.value+'", "kit":"'+form.kit.value+'", "hol":"'+hol+'"'+alk+'}';
	}
	if (!alcim)
		alcim = 'admin'
	
	lapozas('adm', alcim, 'admin/admin.php', '', '', '',json, '', '', '');return false;
}

function usertable_rowclick(id) {
	var rowid = "usrdiv_"+id;
	var usrrow = "usrrow_"+id;
	var tab = document.getElementById("datatable");
	if (!tab)
		return;
	var tdivs = tab.getElementsByTagName('div');
 /* for (var j = 0; j < tdivs.length; j++) {
    var _visible = tdivs[j].style.display != 'none';
		if ((tdivs[j].id != rowid) && (_visible)) {
			Effect.toggle(tdivs[j].id, 'BLIND');
		}
  }
*/
	Effect.toggle(rowid, 'BLIND');
}

function usertable_rowover(rowid) {
	var tre = document.getElementById(rowid);
	if (tre)
		tre.className = 'selrow';
}

function usertable_rowleave(rowid) {
	var tab = document.getElementById("datatable");
	if (tab==null)
		return;
	var trs = tab.getElementsByTagName('tr');
  for (var j = 0; j < trs.length; j++) {
		trs[j].className = '';
  }
}

function composemail(el, userid) {
	var mailid = 'mail_'+userid;
	var div = document.getElementById(mailid);
	if (!div)
		return;
	Effect.toggle(mailid, 'BLIND');
}

function closemailwindow(result, userid, mailcim, rtoid) {
	var mailid = 'mail_'+userid;
	var div = document.getElementById(mailid);
	if (!div)
		return;
	var tas = div.getElementsByTagName('textarea');
	if (!tas[0])
		return;
	
	var uzenet = tas[0].value;
	
	var buttonrow = getTableButtonsDiv(div);
	if (!buttonrow)
		return;
	
	if (result == 1) {		
		var html = buttonrow.innerHTML;
		buttonrow.innerHTML = wait_cell_html;

		var httpObject = getHTTPObject();
		if (httpObject != null) {
			httpObject.onreadystatechange = function setOutput() {
				if (httpObject.readyState == 4) {
					if (httpObject.status == 200) {
						if (httpObject.responseText != 'OK') {
							alert("A kérés feldolgozása közben a kiszolgálón az alábbi történt:\n" + httpObject.responseText);
						}
						buttonrow.innerHTML = html;
						Effect.toggle(mailid, 'BLIND');
					}
				}
			};
			if ((rtoid) && (rtoid!=''))
			  httpObject.open("GET", "admin/sendmail.php?to=" + mailcim + "&rto=" + rtoid + "&m=" + encodeURI(uzenet), true);
			else
				httpObject.open("GET", "admin/sendmail.php?to=" + mailcim + "&m=" +encodeURI(uzenet), true);
			httpObject.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
			httpObject.send(null);
		}
	}
	else 
		Effect.toggle(mailid, 'BLIND');
}

function getTableButtonsDiv(div) {
	var rows =div.getElementsByTagName('tr');
	var row = rows[rows.length-1];
	if (!row)
		return;
	var divs = row.getElementsByTagName('div');
	var buttonrow = divs[0];
	return buttonrow;
}

function getStatuszDiv(rowid){
	var row = document.getElementById(rowid);
	if (!row)
		return null;
	/*
	var cells = row.getElementsByTagName('td');
	var cell = cells[cells.length-1];
	if (!cell)
		return null;
	*/
	var divs = row.getElementsByTagName('div');
	if (divs.length==0)
		return null;
		
	return  divs[divs.length-1];
}

function engedelyezes(userid, idp, oldal, feltetel) {
	userstatuszmod(1, userid, idp, oldal, feltetel);
}
function letiltas(userid, idp, oldal, feltetel) {
	userstatuszmod(2, userid, idp, oldal, feltetel);
}
function userstatuszmod(tipus, id, idp, oldal, feltetel) {
	var celldiv = getStatuszDiv('usrrow_'+id);
	if (!celldiv)
		return;	
	var def_html = celldiv.innerHTML;	
	celldiv.innerHTML = wait_cell_small_html;
	
	var httpObject = getHTTPObject();
  if (httpObject != null) { 
    httpObject.onreadystatechange = function setOutput() {
			if (httpObject.readyState == 4) {
				if (httpObject.status == 200) {    
          if (httpObject.responseText=='OK') {
						var rowid = "usrdiv_"+id;
						var div= document.getElementById(rowid);
						if ((div)&&(div.style.display!='none'))
							lapozas('adm', 'admin', 'admin/admin.php', '', id, oldal, feltetel, '', '', '');
						else
							lapozas('adm', 'admin', 'admin/admin.php', '', '', oldal, feltetel, '', '', '');
          }
          else 
            alert("A kérés feldolgozása közben a kiszolgálón az alábbi történt:\n" + httpObject.responseText);
        }
      }
    };
    httpObject.open("GET", "admin/userstatus.php?uid=" + id + "&at=" + tipus, true);
    httpObject.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    httpObject.send(null);
  }	
}

function ceguserengedelyezes(userid, cegid, idp, oldal, feltetel) {
	ceguserstatuszmod(1, userid,cegid, idp, oldal, feltetel);
}
function ceguserletiltas(userid, cegid, idp, oldal, feltetel) {
	ceguserstatuszmod(2, userid, cegid, idp, oldal, feltetel);
}
function ceguserstatuszmod(tipus, id, cegid, idp, oldal, feltetel) {
	var celldiv = getStatuszDiv('usrrow_'+id);
	if (!celldiv)
		return;	
	var def_html = celldiv.innerHTML;	
	celldiv.innerHTML = wait_cell_small_html;

	var httpObject = getHTTPObject();
  if (httpObject != null) { 
    httpObject.onreadystatechange = function setOutput() {
			if (httpObject.readyState == 4) {
				if (httpObject.status == 200) {    
          if (httpObject.responseText=='OK') {
						var rowid = "usrdiv_"+id;
						var div= document.getElementById(rowid);
						if ((div) && (div.style.display!='none'))
							lapozas('adm', 'alkalm', 'admin/admin.php', '', idp, oldal, feltetel, '', '', '');
						else
							lapozas('adm', 'alkalm', 'admin/admin.php', '', idp, oldal, '', '', '', '');
          }
          else 
            alert("A kérés feldolgozása közben a kiszolgálón az alábbi történt:\n" + httpObject.responseText);
        }
      }
    };
    httpObject.open("GET", "admin/ceguserstatus.php?uid=" + id + "&cid=" + cegid + "&at=" + tipus, true);
    httpObject.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    httpObject.send(null);
  }	
}

function cegengedelyezes(cegid, idp, oldal, feltetel) {
	cegstatuszmod(1, cegid, idp, oldal, feltetel);
}
function cegletiltas(cegid, idp, oldal, feltetel) {
	cegstatuszmod(2, cegid, idp, oldal, feltetel);
}
function cegstatuszmod(tipus, cegid, idp, oldal, feltetel) {
	var celldiv = getStatuszDiv('cegrow_'+cegid);
	if (!celldiv)
		return;	
	var def_html = celldiv.innerHTML;	
	celldiv.innerHTML = wait_cell_small_html;
	
	var httpObject = getHTTPObject();
  if (httpObject != null) { 
    httpObject.onreadystatechange = function setOutput() {
			if (httpObject.readyState == 4) {
				if (httpObject.status == 200) {    
          if (httpObject.responseText=='OK') {
						var rowid = "cegdiv_"+cegid;
						var div= document.getElementById(rowid);
						
						if ((div)&&(div.style.display!='none'))
							lapozas('adm', 'ceg', 'admin/admin.php', '', id, oldal, feltetel, '', '', '');
						else
							lapozas('adm', 'ceg', 'admin/admin.php', '', '', oldal, feltetel, '', '', '');
          }
          else 
            alert("A kérés feldolgozása közben a kiszolgálón az alábbi történt:\n" + httpObject.responseText);
        }
      }
    };
    httpObject.open("GET", "admin/cegstatus.php?cid=" + cegid + "&at=" + tipus, true);
    httpObject.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
    httpObject.send(null);
  }	
}

function check_empty(caption, el) {
	if (el.value=='') {
		alert(caption + ' mező nem maradhat üresen.');
		el.focus();
		return false;
	}
	return true;
}

function check_stringlen(caption, element, maxlen) {
	if (!maxlen)
		return true;
		
	if (element.value.length>maxlen) {
		alert(caption + ' mezőben megadott érték túl hosszú. (max. '+maxlen+') karakter');
		el.focus();
		return false;
	}
	return true;
}

function check_mail(caption, element, maxlen) {
	if (element.value=='')
		return true;
  var	mailregex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;	
	
	if (!mailregex.test(element.value)) {
		alert(caption + ' mezőben érvénytelen a megadott érték.');	
		element.focus();
		return false;
	}
	return check_stringlen(caption, element, maxlen);
}

function check_tel(caption, element, maxlen) {
	if (element.value=='')
		return true;
  var	telregex = /^[0-9 m\.\+\(\)\-\/]+$/;	
	
	if (!telregex.test(element.value)) {
		alert(caption + ' mezőben érvénytelen a megadott érték.');	
		element.focus();
		return false;
	}
	return check_stringlen(caption, element, maxlen);
}

function check_date(caption, element, maxlen) {
	if (element.value=='')
		return true;
  var	dateregex = /(?:19\d{2}|20\d{2})\.(?:0[1-9]|1[0-2])\.(?:0[1-9]|[12][0-9]|3[01])\./;
	if (!dateregex.test(element.value)) {
		alert(caption + ' mezőben érvénytelen a megadott érték.');	
		element.focus();
		return false;
	}
	var str = element.value;
	var ndateArr = str.toString().split('.');
	try {
		var y = parseInt(ndateArr[0],10);
		var m = parseInt(ndateArr[1],10)-1;
		var d = parseInt(ndateArr[2],10);
		
		var d2 = new Date(y,m,d);
		
	 if (m != d2.getMonth()) return false;
   if (d != d2.getDate()) return false;
   if (y != d2.getFullYear()) return false;
	} catch (err) {
		alert(err.description);
		return false;
	}
	if (ndateArr.length!=4)
	  return false;
	if (ndateArr[3]!="")
		return false;
	
	return check_stringlen(caption, element, maxlen);
}

function check_string(caption, element, maxlen) {
	if (element.value=='')
		return true;
  var	strregex = /^[\wáéíöüóőúűÁÉÖÜÓŐÚŰ0-9 _\,\.\-\/\"]+$/;
	
	if (!strregex.test(element.value)) {
		alert(caption + ' mezőben érvénytelen karakter.');	
		element.focus();
		return false;
	}
	return check_stringlen(caption, element, maxlen);
}


function userdata_check(form) {
	if (!check_empty('A telefonszám',form.fotelefon)) 
		return false;
	if (!check_empty('Az email-cím',form.foemail)) 
		return false;
	
	if (!check_mail('Az email-cím',form.foemail,60))
 		return false;

	if (!check_tel('A telefonszám',form.fotelefon,20))
 		return false;

	if (!check_string('Az MMK számok',form.kamarasz,1000))
 		return false;
		
	if (!check_mail('Az email-cím',form.email,60))
 		return false;

	if (!check_tel('A telefonszám',form.telefon,20))
 		return false;
	if (!check_tel('A mobil-telefonszám',form.mobil,20))
 		return false;

	if (!check_string('A webcím',form.web,60))
 		return false;
	if (!check_tel('A faxszám', form.fax,20))
 		return false;

	if (!check_string('A levelezési cím, utcanév',form.levc_cim,60))
 		return false;
	if (!check_string('A levelezési cím, város',form.levc_varos,45))
 		return false;
	if (!check_string('A levelezési cím, irányítószám',form.levc_irsz,10))
 		return false;
	if (!check_string('A számlázási cím, utcanév',form.szmlc_cim,60))
 		return false;
	if (!check_string('A számlázási cím, város',form.szmlc_varos,45))
 		return false;
	if (!check_string('A számlázási cím, irányítószám',form.szmlc_irsz,10))
 		return false;
	
	return true;
}

function userdata_save(id) {
	var divid = 'usrdiv_' + id;
	var div = document.getElementById(divid);
	var form = document.forms['userregdata_' + id];
	if ((!div) || (!form)) 
		return;
	if (!userdata_check(form)) 
		return;
	
	var buttonrow = getTableButtonsDiv(div);
	if (!buttonrow)
		return;
		
	var def_html = buttonrow.innerHTML;
	
	var params = 'ft=1&id='+id+'&';
	
	for (i = 0; i < form.length; i++) {
		var f = form[i];
		if (f.type=='button')
			continue;
		params += f.name + "=" + escape(encodeURI(f.value));
		if (i < form.length - 1) 
			params += "&";
	}

	var onReqSuccess = function () {
		var usrrow = document.getElementById('usrrow_' + id);
		if (!usrrow) 
			return;
		var cells = usrrow.getElementsByTagName('td');
		
//telefon atiras
		replaceCellText(cells,3, form.fotelefon.value);
//email atiras
		var cell = cells[4];
		if (!cell)
		  return;
		var alinks = cell.getElementsByTagName('a');
		if (alinks[0])
			replaceElementText(alinks[0], form.foemail.value);
//jog atiras
		replaceCellText(cells,6, form.jog.options[form.jog.selectedIndex].text);
	}
	
	buttonrow.innerHTML = wait_cell_html;	
	saveonserver("admin/saveuserdata.php", params, divid, buttonrow, def_html, onReqSuccess);
}

function replaceCellText(cells, cellindex, newtext) {
	var cell = cells[cellindex];
	replaceElementText(cell, newtext);
}

function replaceElementText(el, newtext) {
	var hasInnerText = (document.getElementsByTagName("body")[0].innerText != undefined) ? true : false;
	
	if (!el) 
		return;
	
	if (hasInnerText) 
		el.innerText = newtext;
	else 
		el.textContent = newtext;	
}

function cegdata_check(form) {
	if (!check_string('Az cég neve',form.rovidnev,45))
 		return false;
	if (!check_string('Az cég teljes neve',form.teljesnev,255))
 		return false;
	
	if (!check_tel('A telefonszám',form.telefon1,20))
 		return false;
	if (!check_tel('A telefonszám',form.telefon2,20))
 		return false;
	
	if (!check_mail('Az email-cím',form.email,60))
 		return false;
	if (!check_tel('A faxszám', form.fax,20))
 		return false;
	if (!check_string('A webcím',form.weboldal,45))
 		return false;
		
	if (!check_string('A hivatalos cím, utcanév',form.fo_cim,60))
 		return false;
	if (!check_string('A hivatalos cím, város',form.fo_varos,45))
 		return false;
	if (!check_string('A hivatalos cím, irányítószám',form.fo_irsz,10))
 		return false;
	
	if (!check_string('A levelezési cím, utcanév',form.levc_cim,60))
 		return false;
	if (!check_string('A levelezési cím, város',form.levc_varos,45))
 		return false;
	if (!check_string('A levelezési cím, irányítószám',form.levc_irsz,10))
 		return false;
	if (!check_string('A számlázási cím, utcanév',form.szhc_cim,60))
 		return false;
	if (!check_string('A számlázási cím, város',form.szhc_varos,45))
 		return false;
	if (!check_string('A számlázási cím, irányítószám',form.szhc_irsz,10))
 		return false;
	
	if (!check_tel('Az adószám', form.adoszam,15))
 		return false;
	if (!check_tel('A számlaszám', form.szamlaszam,30))
 		return false;
		
	return true;
}

function cegdata_save(id) {
	var divid = 'usrdiv_' + id;
	var div = document.getElementById(divid);
	var form = document.forms['userregdata_' + id];
	if ((!div) || (!form)) 
		return;
	if (!cegdata_check(form)) 
		return;
	
	var buttonrow = getTableButtonsDiv(div);
	if (!buttonrow)
		return;
		
	var def_html = buttonrow.innerHTML;
	
	var params = 'ft=1&id='+id+'&';
	
	for (i = 0; i < form.length; i++) {
		var f = form[i];
		if (f.type=='button')
			continue;
		params += f.name + "=" + escape(encodeURI(f.value));
		if (i < form.length - 1) 
			params += "&";
	}
	
	var onReqSuccess = function () {
		var cegrow = document.getElementById('cegrow_' + id);
		if (!cegrow) 
			return;
		var cells = cegrow.getElementsByTagName('td');

//cegnev atiras
		replaceCellText(cells,2, form.rovidnev.value);
//telefon atiras
		replaceCellText(cells,3, form.telefon1.value);
//email atiras
		var cell = cells[4];
		if (!cell)
		  return;
		var alinks = cell.getElementsByTagName('a');
		if (alinks[0])
			replaceElementText(alinks[0], form.email.value);
	}
	
	buttonrow.innerHTML = wait_cell_html;	
	saveonserver("admin/savecegdata.php", params, divid, buttonrow, def_html, onReqSuccess);
}

function usercegdata_check(form) {
	if (!check_empty('A munkaviszony kezdete', form.mkezd)) 
		return false;
	if (!check_date('A munkaviszony kezdete', form.mkezd, 11)) 
		return false;
	if (!check_date('A munkaviszony vége', form.mvege, 11)) 
		return false;
	if ((form.mvege.value!='')&&(form.mkezd.value >= form.mvege.value)) {
		alert('A munkaviszony vége nem lehet a munkviszony kezdete előtti dátum.');
		form.mvege.focus();
		return false;
	}
	
	if (!check_string('A beosztás',form.beosztas,45))
 		return false;
	if (!check_tel('A telefonszám',form.telefon,20))
 		return false;
	if (!check_tel('A mobil-telefonszám',form.mobil,20))
 		return false;
	if (!check_tel('A faxszám', form.fax,20))
 		return false;
	
	if (!check_mail('Az email-cím',form.email,60))
 		return false;

	return true;
}

function usercegdata_save(uid, cegid) {
	var divid = 'usrdiv_' + uid;
	var div = document.getElementById(divid);
	var form = document.forms['userregdata_' + uid];
	if ((!div) || (!form)) 
		return;
	if (!usercegdata_check(form)) 
		return;
	
	var buttonrow = getTableButtonsDiv(div);
	if (!buttonrow)
		return;
		
	var def_html = buttonrow.innerHTML;
	
	var params = 'ft=1&id='+uid+'&cid='+cegid+'&';
	
	for (i = 0; i < form.length; i++) {
		var f = form[i];
		if (f.type=='button')
			continue;
		params += f.name + "=" + escape(encodeURI(f.value));
		if (i < form.length - 1) 
			params += "&";
	}
	
	buttonrow.innerHTML = wait_cell_html;		
	saveonserver("admin/saveusercegdata.php", params, divid, buttonrow, def_html);
}
	
function saveonserver(srvfile, params, divid, buttonrow, def_html, onsuccess){	
  var httpObject = getHTTPObject();
  if (httpObject != null) {
    httpObject.onreadystatechange = function requestRegSaveStateChange() {			
			if (httpObject.readyState == 4) {
				if (httpObject.status == 200) {
					if (buttonrow) {
						buttonrow.innerHTML=def_html;
					}
					
					if (httpObject.responseText=='OK') {
						if (onsuccess)
							onsuccess();
						alert("Adatok sikeresen elmentve.");
						Effect.toggle(divid, 'BLIND');
					}
					else 
						alert("A módosítás nem sikerült a kiszolgáló válasza:\n"+httpObject.responseText);
				}
			};
		};
    httpObject.open("POST", srvfile, true);
    httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpObject.setRequestHeader("Content-length", params.length);
		httpObject.setRequestHeader("Connection", "close");
    httpObject.send(params);
  }
}
