// JavaScript Document
function validateForm() {
	err = '';
	
	if(document.getElementById('felhasznalo').value.length < 5 || document.getElementById('nickChk').value == 1) {
		err = err + '\n* Felhasználónév';	
	}

	if(document.getElementById('jelszo').value.length < 6) {
		err = err + '\n* Jelszó';	
	}

	if(document.getElementById('jelszo').value != document.getElementById('jelszoIsmet').value) {
		err = err + '\n* Jelszó nem egyezik';	
	}

	if(document.getElementById('teljesNev').value.length == 0) {
		err = err + '\n* Neved';	
	}

	if(document.getElementById('email').value.length == 0 || echeck(document.getElementById('email').value) == 1 || document.getElementById('emailChk').value == 1) {
		err = err + '\n* E-mail címed';	
	}

/**/
	var szNap = document.getElementById('szNap').options[document.getElementById('szNap').selectedIndex].value;
	var szHo  = document.getElementById('szHo').options[document.getElementById('szHo').selectedIndex].value;
	var szEv  = document.getElementById('szEv').options[document.getElementById('szEv').selectedIndex].value;
	var myDate;
	
	if(szNap < 10) {szNap = '0' + szNap}
	if(szHo < 10) {szHo = '0' + szHo}
	
	myDate = szNap + '.' + szHo + '.' + szEv;

	if(check_date(myDate) == false) {
		err = err + '\n* Születésnapod';		
	}
	
	// ** //
	
	var nNap = document.getElementById('nNap').options[document.getElementById('nNap').selectedIndex].value;
	var nHo  = document.getElementById('nHo').options[document.getElementById('nHo').selectedIndex].value;
	var nEv  = '1901';
	
	var myNameD;
	
	if(nNap < 10) {nNap = '0' + nNap}
	if(nHo < 10) {nHo = '0' + nHo}
	
	myNameD = nNap + '.' + nHo + '.' + nEv;

	if(check_date(myNameD) == false && myNameD != '0.0.' + nEv) {
		err = err + '\n* Névnapod';		
	}

/**/

	if(IsNumeric(document.getElementById('txtNumber').value) == false || document.getElementById('txtNumber').value.length < 5) {
		err = err + '\n* Biztonsági kód';
	}
	
	if(err != '') {
		alert('Az alábbi adatokat hibásan vagy egyáltalán nem adtad meg:\t\n' + err);
		return false;
	} else {
		document.regForm.submit();
	}
}

function IsNumeric(sText) {
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function echeck(str) {

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	var mess = 0;
	
	if (str.indexOf(at)==-1){
	   return mess = 1;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return mess = 1;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	   return mess = 1;
	}
	if (str.indexOf(at,(lat+1))!=-1){
		return mess = 1;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return mess = 1;
	}
	if (str.indexOf(dot,(lat+2))==-1){
		return mess = 1;
	}
	if (str.indexOf(" ")!=-1){
		return mess = 1;
	}
	
	return mess;					
}

function check_date(dateStr){
	var checkstr = "0123456789";
	//var DateField = field;
	var DateValue = dateStr;
	var DateTemp = "";
	var seperator = ".";
	var day;
	var month;
	var year;
	var leap = 0;
	var err = 0;
	var i;
	
    err = 0;
    //DateValue = DateField.value;
    /* Delete all chars except 0..9 */
    for (i = 0; i < DateValue.length; i++) {
 	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
 	     DateTemp = DateTemp + DateValue.substr(i,1);
 	  }
    }
    DateValue = DateTemp;
    /* Always change date to 8 digits - string*/
    /* if year is entered as 2-digit / always assume 20xx */
    if (DateValue.length == 6) {
       DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
    if (DateValue.length != 8) {
       err = 19;}
    /* year is wrong if year = 0000 */
    year = DateValue.substr(4,4);
    if (year == 0) {
       err = 20;
    }
    /* Validation of month*/
    month = DateValue.substr(2,2);
    if ((month < 1) || (month > 12)) {
       err = 21;
    }
    /* Validation of day*/
    day = DateValue.substr(0,2);
    if (day < 1) {
      err = 22;
    }
    /* Validation leap-year / february / day */
    if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
       leap = 1;
    }
    if ((month == 2) && (leap == 1) && (day > 29)) {
       err = 23;
    }
    if ((month == 2) && (leap != 1) && (day > 28)) {
       err = 24;
    }
    /* Validation of other months */
    if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
       err = 25;
    }
    if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
       err = 26;
    }
    /* if 00 ist entered, no error, deleting the entry */
    if ((day == 0) && (month == 0) && (year == 00)) {
       err = 0; day = ""; month = ""; year = ""; seperator = "";
    }
    /* if no error, write the completed date to Input-Field (e.g. 13.12.2001) */
    if (err == 0) {
	   return true;
    }
    /* Error-message if err != 0 */
	else {
	   return false;
	}
}

/* Ajax */

function chkEmail(email) {
	var xmlHttp;
	try {
	  xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	}
	catch (e) {
	  try {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
	  }
	  catch (e) {
		try {
		  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) {
		  alert("Your browser does not support AJAX!");
		  return false;
		}
	  }
	}
	  
	  xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {
		  document.getElementById('chkEmail').innerHTML=xmlHttp.responseText;
			if(xmlHttp.responseText) {
				document.getElementById('emailChk').value = 1;
			} else {
				document.getElementById('emailChk').value = 0;	
			}
		}
	  }
	  var URL = 'scripts/php/chkEmail.php?email=' + email;
	  xmlHttp.open("GET", URL, true);
	  xmlHttp.send(null); 
}

function chkNick(u) {
	var xmlHttp;
	try {
	  xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
	}
	catch (e) {
	  try {
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer
	  }
	  catch (e) {
		try {
		  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (e) {
		  alert("Your browser does not support AJAX!");
		  return false;
		}
	  }
	}
	  
	  xmlHttp.onreadystatechange=function() {
		if(xmlHttp.readyState==4) {
		  document.getElementById('chkNick').innerHTML=xmlHttp.responseText;
			if(xmlHttp.responseText) {
				document.getElementById('nickChk').value = 1;
			} else {
				document.getElementById('nickChk').value = 0;	
			}
		}
	  }
	  var URL = 'scripts/php/chkNick.php?user=' + u;
	  xmlHttp.open("GET", URL, true);
	  xmlHttp.send(null); 
}