$(document).ready(function() {
  
  function infoProc(input){
    $('#infoDiv').removeClass().addClass("ui-state-error ui-corner-all");
    $('#infoImg').removeClass().addClass("ui-icon ui-icon-alert");
    $("#infoText").html(input);
    $(".popupCenterTop").slideDown("slow");
      var fadUt = setTimeout(function(){
      $(".popupCenterTop").slideUp("slow");
      },5000);
    }

  function infoProc2(input){
    $('#infoDiv').removeClass().addClass("ui-state-highlight ui-corner-all");
    $('#infoImg').removeClass().addClass("ui-icon ui-icon-info");
    $("#infoText").html(input);
    $(".popupCenterTop").slideDown("slow");
    }

  $('.regInput').blur(function() {
    $(this).removeClass("regInputError");
  });

  var ck_name = /^[A-Za-z0-9 áéiíoóöőuúüűÁÉIÍOÓÖŐUÚÜŰä\-\+\.\,\&]{3,40}$/;
  var ck_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
  var ck_tel = /^[0-9 \-\+\(\)\\\/]{7,40}$/;
  var ck_irszam = /^[0-9]{4}$/; 
  var ck_varos = /^[A-Za-z0-9 áéiíoóöőuúüűÁÉIÍOÓÖŐUÚÜŰä\-]{2,20}$/;
  var ck_utca = /^[A-Za-z0-9 áéiíoóöőuúüűÁÉIÍOÓÖŐUÚÜŰä\-\.\,\\\/]{5,40}$/;
  var ck_password =  /^[A-Za-z0-9_ áéiíoóöőuúüűÁÉIÍOÓÖŐUÚÜŰä\-]{6,20}$/;

// #############################################################################################

  $('.regInput').keyup(function(e) {
    //alert(e.keyCode);
    if(e.keyCode == 13) {
    var error = 0;
    //$(this).blur();
    var ertek = $(this).val();
    var id = $(this).attr("id");
    if (id == 'regUsername')
      {
      if (!ck_name.test(ertek)) {
        infoProc("Meg kell adni a valós nevet!<br /><i>(Nem lehetnek speciális karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regEmail").focus();
        }
      }
    if (id == 'regEmail')
      {
      if (!ck_email.test(ertek)) {
        infoProc("Meg kell adni a valós e-mail címet!<br /><i>(Csak ékezet nélküli karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
          $.ajax({
            type: "POST",
            async: false,
            url: "inc/regist_email_q.php",
            data: {email : ertek},
            success: function(data){
              if (data == 1)
                {
                infoProc("Erre az e-mail címre már lett regisztrálva!<br /><i>(Elfelejtett jelszó esetén jobb felső sarokban található az <a href=\"index.php?content=elfelejtett\">Elfelejtett jelszó</a> gomb)</i>");
                $("#regEmail").addClass("regInputError");
                } else {
                 $("#regEmail").removeClass("regInputError");
                $("#regEmailIsm").focus();
                }
              }
            });
        }
      }
    if (id == 'regEmailIsm')
      {
      var regEmail = $("#regEmail").val();
      if (!ck_email.test(ertek)) {
        infoProc("Ismételd meg az e-mail címet!<br /><i>(Csak ékezet nélküli karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        if (ertek != regEmail)
          {
          infoProc("Az e-mail és az e-mail cím ismétlés nem egyezik!");
          $(this).addClass("regInputError");
          } else {
          $(this).removeClass("regInputError");
          $("#regTel").focus();
          }
        }
      }
    if (id == 'regTel')
      {
      if (!ck_tel.test(ertek)) {
        infoProc("Meg kell adni a valós telefonszámot!<br /><i>(pl. +3630 123-45-67)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regIrszam").focus();
        }
      }
    if (id == 'regIrszam')
      {
      if (!ck_irszam.test(ertek)) {
        infoProc("Meg kell adni az irányítószámot!<br /><i>(Csak szám lehet)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regVaros").focus();
        }
      }
    if (id == 'regVaros')
      {
      if (!ck_varos.test(ertek)) {
        infoProc("Meg kell adni a város nevét!<br /><i>(Nem lehetnek speciális karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regUtca").focus();
        }
      }
    if (id == 'regUtca')
      {
      if (!ck_utca.test(ertek)) {
        infoProc("Meg kell adni az utca, házszámot (ha van emelet/ajtót)!<br /><i>(Nem lehetnek speciális karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regJelszo").focus();
        }
      }
    if (id == 'regJelszo')
      {
      if (!ck_password.test(ertek)) {
        infoProc("Meg kell adni a jelszót!<br /><i>(Minimum 6, maximum 20 karakter<br />Nem lehetnek speciális karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        $(this).removeClass("regInputError");
        $("#regJelszoIsm").focus();
        }
      }
    if (id == 'regJelszoIsm')
      {
      var regJelszo = $("#regJelszo").val();
      if (!ck_password.test(ertek)) {
        infoProc("Ismételd meg a jelszót!<br /><i>(Minimum 6, maximum 20 karakter<br />Nem lehetnek speciális karakterek)</i>");
        $(this).addClass("regInputError");
        } else {
        if (ertek != regJelszo)
          {
          infoProc("Jelszó és a jelszó ismétlés nem egyezik!");
          $(this).addClass("regInputError");
          } else {
          $(this).removeClass("regInputError");
          $(this).blur();
          }
        }
      }

    return false;
    }
  });

// #############################################################################################

  $(".dialogOpen").click(function(){
    var eleres = $(this).attr("id");
      $.ajax({
          type: "POST",
          async: false,
          url: "inc/static_content_query.php",
          data: {id : eleres},
          success: function(data){
            $("#dialogText").html(data);
            }
          });
    $( "#dialog" ).dialog( "open" );
    return false;
    });  

		$( "#dialog" ).dialog({
			autoOpen: false,
			height: 500,
			width: 900,
			modal: false,
			buttons: {
				"Elfogadom": function() {
				  $('#regAszf').attr('checked', true);
          $( this ).dialog( "close" );
				},
				"Nem fogadom el": function() {
				  $('#regAszf').attr('checked', false);
					$( this ).dialog( "close" );
				}
			}
		});

// #############################################################################################
		
	$("#regSubmit").button();
	
	$("#regSubmit").click(function(){
	
	  var regUsername = $("#regUsername").val();
	  var regEmail = $("#regEmail").val();
	  var regEmailIsm = $("#regEmailIsm").val();
	  var regTel = $("#regTel").val();
	  var regIrszam = $("#regIrszam").val();
	  var regVaros = $("#regVaros").val();
	  var regUtca = $("#regUtca").val();
	  var regJelszo = $("#regJelszo").val();
	  var regJelszoIsm = $("#regJelszoIsm").val();
	  var errorN = 0;
	  var errorTxt = "A következő adatok megadása kötelező:<br />";

      if (!ck_name.test(regUsername)) {
        errorTxt += "<br />&bull; Meg kell adni a valós nevet! <i>(Nem lehetnek speciális karakterek)</i>";
        $("#regUsername").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regUsername").removeClass("regInputError");
        }
      if (!ck_email.test(regEmail)) {
        errorTxt += "<br />&bull; Meg kell adni a valós e-mail címet! <i>(Csak ékezet nélküli karakterek)</i>";
        $("#regEmail").addClass("regInputError");
        errorN += 1;
        } else {
          $.ajax({
            type: "POST",
            async: false,
            url: "inc/regist_email_q.php",
            data: {email : regEmail},
            success: function(data){
              if (data == 1)
                {
                errorTxt += "<br />&bull; Erre az e-mail címre már lett regisztrálva! <i>(Elfelejtett jelszó esetén jobb felső sarokban található az <a href=\"index.php?content=elfelejtett\">Elfelejtett jelszó</a> gomb)</i>";
                $("#regEmail").addClass("regInputError");
                errorN += 1;
                } else {
                 $("#regEmail").removeClass("regInputError");
                }
              }
            });
        }
      if (!ck_email.test(regEmailIsm)) {
        errorTxt += "<br />&bull; Ismételd meg az e-mail címet! <i>(Csak ékezet nélküli karakterek)</i>";
        $("#regEmailIsm").addClass("regInputError");
        errorN += 1;
        } else {
        if (regEmailIsm != regEmail)
          {
          errorTxt += "<br />&bull; Az e-mail és az e-mail cím ismétlés nem egyezik!";
          $("#regEmailIsm").addClass("regInputError");
          errorN += 1;
          } else {
          $("#regEmailIsm").removeClass("regInputError");
          }
        }
      if (!ck_tel.test(regTel)) {
        errorTxt += "<br />&bull; Meg kell adni a valós telefonszámot! <i>(pl. +3630 123-45-67)</i>";
        $("#regTel").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regTel").removeClass("regInputError");
        }
      if (!ck_irszam.test(regIrszam)) {
        errorTxt += "<br />&bull; Meg kell adni az irányítószámot! <i>(Csak szám lehet)</i>";
        $("#regIrszam").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regIrszam").removeClass("regInputError");
        }
      if (!ck_varos.test(regVaros)) {
        errorTxt += "<br />&bull; Meg kell adni a város nevét! <i>(Nem lehetnek speciális karakterek)</i>";
        $("#regVaros").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regVaros").removeClass("regInputError");
        }
      if (!ck_utca.test(regUtca)) {
        errorTxt += "<br />&bull; Meg kell adni az utca, házszámot (ha van emelet/ajtót) <i>(Nem lehetnek speciális karakterek)</i>";
        $("#regUtca").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regUtca").removeClass("regInputError");
        }
      if (!ck_password.test(regJelszo)) {
        errorTxt += "<br />&bull; Meg kell adni a jelszót! <i>(Minimum 6, maximum 20 karakter<br />Nem lehetnek speciális karakterek)</i>";
        $("#regJelszo").addClass("regInputError");
        errorN += 1;
        } else {
        $("#regJelszo").removeClass("regInputError");
        }
      if (!ck_password.test(regJelszoIsm)) {
        errorTxt += "<br />&bull; Ismételd meg a jelszót! <i>(Minimum 6, maximum 20 karakter<br />Nem lehetnek speciális karakterek)</i>";
        $("#regJelszoIsm").addClass("regInputError");
        errorN += 1;
        } else {
        if (regJelszoIsm != regJelszo)
          {
          errorTxt += "<br />&bull; Jelszó és a jelszó ismétlés nem egyezik!";
          $("#regJelszoIsm").addClass("regInputError");
          errorN += 1;
          } else {
          $("#regJelszoIsm").removeClass("regInputError");
          }
        }
  		if($('#regAszf').attr('checked')){
  			//do something.
  		  }else{
          errorTxt += "<br />&bull; Nem fogadtad el az Általános Szerződési Feltételeket!";
          errorN += 1;
  		  }

    if (errorN > 0)
      {
      infoProc(errorTxt);
      } else {
      infoProc2("Regisztráció folyamatban.<br /><img src=\"image/info_loader.gif\" border=\"0\" /> Kis türelmet kérünk...");
      $.ajax({
        type: "POST",
        async: false,
        url: "inc/regist_save.php",
        dataType: 'json',
        data: {regUsername : regUsername , regEmail : regEmail , regTel : regTel , regIrszam : regIrszam , regVaros : regVaros , regUtca : regUtca , regJelszo : regJelszo},
        success: function(data){
          if(data.status=="OK")
            {
            var fadUt = setTimeout(function(){
              $(".popupCenterTop").slideUp("slow");
              $(".termekCenter").html(data.print);
              },2000);
            } else {
            infoProc(data.print);
            }
          }
        });
      }

    });


});

