function getXMLHTTP() {
var xmlhttp;
    try {
        xmlhttp = new XMLHttpRequest();
        if (xmlhttp.overrideMimeType) {
            xmlhttp.overrideMimeType('text/xml'); //de így már igen
        }
    } catch (e) {
        try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            }
        catch (e) {
            try {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                alert('A böngésző nem támogatja az AJAX technikát.'+'\n'+'Használjon másik böngészőt!');
            }
        }
    }
    //xmlhttp.overrideMimeType('text/xml'); //konqueror alatt nem működik
    return xmlhttp;
}

function fillselect( objselect, filling ){
//feltölti egy adott lehulló lista objektu (objselect) opcióit (filling).
    var hossz = objselect.options.length;
    var i=0;
    for (i=0;i<hossz;i++){
        objselect.options[0] = null ;
    }
    for (i=0; i<filling.length-1; i++){
        sor = filling[i].split('|');
        objselect.options[i] = new Option(sor[1], sor[0]);
    }
}

function initjellap(){
var xmlHttpReq = getXMLHTTP();
var mainap = new Date();
var i=0;
   for (i=15; i<50; i++){
      ujelem = new Option(mainap.getFullYear()-i,mainap.getFullYear()-i);
      document.jelentkezesilap.szulev.options[i-14]=ujelem;
   }
   for (i=1; i<29; i++) document.jelentkezesilap.szulnap.options[i] = new Option(i,i);
   for (i=0;i<32;i++) document.jelentkezesilap.erettsegievszam.options[i+1]=new Option(mainap.getFullYear()-i,mainap.getFullYear()-i);
   xmlHttpReq.open('GET', 'var/jelentk.php?action=szaklista', true);
   xmlHttpReq.onreadystatechange = function() {
      if (xmlHttpReq.readyState == 4) {
         ures = new Array("0| ");
         fillselect(document.jelentkezesilap.szak1, ures.concat(xmlHttpReq.responseText.split('\n')));
         fillselect(document.jelentkezesilap.szak2, ures.concat(xmlHttpReq.responseText.split('\n')));
      }
   }
   xmlHttpReq.send(null);
   return 0;
}
function szulnapok(evszam,honap){
   var i=0;
   switch (honap){
      case "04":
      case "06":
      case "09":
      case "11": document.jelentkezesilap.szulnap.options.length=31;
                 for (i=30;i>28;i--) document.jelentkezesilap.szulnap.options[i] = new Option(i,i);
                 break;
      case "02": if ((evszam % 4)==0){
                    document.jelentkezesilap.szulnap.options.length=30;
                    document.jelentkezesilap.szulnap.options[29] = new Option(29,29);
                 } else document.jelentkezesilap.szulnap.options.length=29;
                 break;
      default  : document.jelentkezesilap.szulnap.options.length=32;
                 for (i=31;i>28;i--) document.jelentkezesilap.szulnap.options[i] = new Option(i,i);
                 break;
   }
}

function setbuttons(){
var hibastr='';
  if (document.jelentkezesilap.veznev.value=='') hibastr+="Nem adta meg a vezetéknevét!\n";
  if (document.jelentkezesilap.kernev.value=='') hibastr+="Nem adta meg a keresztnevét!\n";
  if (document.jelentkezesilap.anyjaneve.value=='') hibastr+="Nem adta meg az édesanyja nevét!\n";
  if (document.jelentkezesilap.szulirszam.value=='') hibastr+="Nem adta meg a születési helyet!\n";
  if (document.jelentkezesilap.szulev.value=='') hibastr+="Nem adta meg a születési dátum évét!\n";
  if (document.jelentkezesilap.szulho.value=='') hibastr+="Nem adta meg a születési dátum hónapját!\n";
  if (document.jelentkezesilap.szulnap.value=='') hibastr+="Nem adta meg a születési dátum napját\n";
  if (document.jelentkezesilap.tajszam.value=='') hibastr+="Nem adta meg a TAJ számát\n";
  else {
    joe=/[0-9]{9,9}/;
    if ( !joe.test(document.jelentkezesilap.tajszam.value) ) hibastr+="A TAJ szám csak számokból állhat.\n";
  }
  if (document.jelentkezesilap.telefon.value=='') hibastr+="Nem adta meg az értesítési telefonszámát\n";
  else {
    joe=/[0-9]{8,12}/;
    if ( !joe.test(document.jelentkezesilap.telefon.value) ) hibastr+="A telefonszám csak számokból állhat.\n";
  }
  if (document.jelentkezesilap.irszam.value.length!=4) hibastr+="Nem adta meg az állandó lakóhely települést!\n";
  else if(parseInt(document.jelentkezesilap.irszam.value,10)=="NaN") hibastr+="Hibás irányító szám (állandó lakóhely)!\n";
  if (document.jelentkezesilap.lakcim.value=='') hibastr+="Nem adta meg a az állandó lakóhely lakcímét!\n";
  if (document.jelentkezesilap.ertirszam.value.length==4 && document.jelentkezesilap.ertlakcim.value=='') hibastr+="Ha bármit megad értesítési címként akkor töltse ki az összes értesítési információt! \n";
  else if (document.jelentkezesilap.ertirszam.value.length!=4 && document.jelentkezesilap.ertlakcim.value!='') hibastr+="Ha bármit megad értesítési címként akkor töltse ki az összes értesítési információt! \n";
  if (document.jelentkezesilap.erettsegievszam.value!='' &&(document.jelentkezesilap.erettsegisorszam.value=='' || document.jelentkezesilap.erettsegivizsgahely.value=='')) hibastr+="Az érettségi évét, vizsgahely nevét, és sorszámát is meg kell adnia!\n Ha most fog érettségizni, akkor az évszámot se töltse ki!\n";
  else if (document.jelentkezesilap.erettsegisorszam.value!='' &&(document.jelentkezesilap.erettsegievszam.value=='' || document.jelentkezesilap.erettsegivizsgahely.value=='')) hibastr+="Az érettségi évét, vizsgahely nevét, és sorszámát is meg kell adnia!\n Ha most fog érettségizni, akkor az évszámot se töltse ki!\n";
  else if (document.jelentkezesilap.erettsegivizsgahely.value!='' &&(document.jelentkezesilap.erettsegisorszam.value=='' || document.jelentkezesilap.erettsegievszam.value=='')) hibastr+="Az érettségi évét, vizsgahely nevét, és sorszámát is meg kell adnia!\n Ha most fog érettségizni, akkor az évszámot se töltse ki!\n";
  if (document.jelentkezesilap.erettsegievszam.value=='' && document.jelentkezesilap.majderettsegivizsgahely.value=='') hibastr+="Vagy az érettségi adatokat, vagy a jelenlegi intézmény nevét meg kell adni\n";
  if (document.jelentkezesilap.szak1.value=='0') hibastr+="Nem adta meg az elsőként választot szakot!\n";
  if (document.jelentkezesilap.szak2.value=='0') hibastr+="Nem adta meg a második helyen választott szakot!\n";
  if (document.jelentkezesilap.nyelv.value=='') hibastr+="Minden szakon oktatunk idegen nyelvet. Kérjük válasszon!\n";
  if (document.jelentkezesilap.szak1.value==document.jelentkezesilap.szak2.value) hibastr+="A két választott szak nem lehet azonos\n";
  if (document.jelentkezesilap.ellenor.value=='') hibastr+="Ha nem adja meg az ellenőző kódot, jelentkezését sajnos nem tudjuk elektronikusan fogadni.\n Kérjük fáradjon be az iskolánkba!\n";
  if (document.jelentkezesilap.mailfiled.value=='') hibastr+="Nem adta meg az e-mail címet, melyen föl tudjuk venni Önnel a kapcsolatot.\n";
  if (!document.jelentkezesilap.nyilatkozat.checked) hibastr+="Nem fogadta el az önkéntes adatszolgáltatásról és adatainak tárolásáról szóló szabályzatot!\n";
  if (hibastr==''){
    document.jelentkezesilap.sendbutton.disabled=false;
    document.jelentkezesilap.hibagomb.disabled=true;
  } else {
    if (document.jelentkezesilap.hibamutat.value=="igen") alert(hibastr);
    document.jelentkezesilap.sendbutton.disabled=true;
    document.jelentkezesilap.hibagomb.disabled=false;
  }
}


function varosneve(irszam,fieldobj){
var xmlHttpReq = getXMLHTTP();
  if (irszam.length==4){
    xmlHttpReq.open('GET', 'var/jelentk.php?action=varosneve&irszam='+irszam, true);
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            fieldobj.value=xmlHttpReq.responseText;
        }
    }
    xmlHttpReq.send(null);
  }
  else fieldobj.value='--??--';
}

function formData2QueryString(docForm) {

	var strSubmitContent = '';
	var formElem;
	var strLastElemName = '';
	
	for (i = 0; i < docForm.elements.length; i++) {
		
		formElem = docForm.elements[i];
		switch (formElem.type) {
			// Text fields, hidden form elements
			case 'text':
			case 'hidden':
			case 'password':
			case 'textarea':
			case 'select-one':
				strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				break;
				
			// Radio buttons
			case 'radio':
				if (formElem.checked) {
					strSubmitContent += formElem.name + '=' + escape(formElem.value) + '&'
				}
				break;
				
			// Checkboxes
			case 'checkbox':
				if (formElem.checked) {
					// Continuing multiple, same-name checkboxes
					if (formElem.name == strLastElemName) {
						// Strip of end ampersand if there is one
						if (strSubmitContent.lastIndexOf('&') == strSubmitContent.length-1) {
							strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
						}
						// Append value as comma-delimited string
						strSubmitContent += ',' + escape(formElem.value);
					}
					else {
						strSubmitContent += formElem.name + '=' + escape(formElem.value);
					}
					strSubmitContent += '&';
					strLastElemName = formElem.name;
				}
				break;
				
		}
	}
	
	// Remove trailing separator
	strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1);
	return strSubmitContent;
}


function sendjelentkezes(){
var xmlHttpReq = getXMLHTTP();
    xmlHttpReq.open('POST', 'var/jelentk.php?action=save', true);
    xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHttpReq.onreadystatechange = function() {
        if (xmlHttpReq.readyState == 4) {
            //if('HIBA!'!=xmlHttpReq.responseText.substr(0,5)){
                alert("A megadott postafiókba küldtünk egy levelet, melyet megerősítve véglegesítheti jelentkezését.");
            //} else alert(xmlHttpReq.responseText);
            alert(xmlHttpReq.responseText);
        }
    }
    xmlHttpReq.send(formData2QueryString(document.jelentkezesilap));
}


