﻿$().ready(function() {
  var patterns = {
    def:"^[a-zA-Zа-яА-Я0-9_іІїЇґҐєЄ]+( +[a-zA-Zа-яА-Я0-9_іІїЇґҐєЄ]+)*$",
    email:"^\\w+([\.-]?\\w+)*@\\w+([\.-]?\\w+)*\.(\\w{2,4})$",
    telephone:"^\\(\\d{3}\\) \\d{3} \\d{2} \\d{2}$",
    zip:"^\\d{5}$",
    birdth_date:"^([1-9]|0(?:[1-9])|3(?:[01])|[1-2]\\d)[.\\-/](0(?:[1-9])|1(?:[012])|[1-9])[.\\-/](0(?:[1-9])|[1-9]\\d{3}|[1-9]\\d)$",
    allow_all:"^.+$",
    allow_empty:"^.*$"
  };
  validateSelect = function(me){
    var ok = (me.val()=='0')?false:true;
    if (ok) me.css("border", "1px solid green");
    else me.css("border", "1px solid red");
    return ok;
  };

  var validate = function(me){    
    var ok = true;
    var pattern;
    
    switch(me.attr("name")){
      case "email": pattern = patterns.email; break;
      case "password": pattern = patterns.allow_all;
      case "house_no": pattern = patterns.allow_all; break;
      case "telephone": pattern = patterns.telephone; break;
      case "zip": pattern = patterns.zip; break;
      case "birdth_date": pattern = patterns.birdth_date; break;
      case "apartment": 
      case "intercom": pattern = patterns.allow_empty; break;
      default: pattern = patterns.allow_all;
    }
    
    var val_check = new RegExp(pattern, "g");
    if (!val_check.test(me.attr("value")))  ok = false;
    
    if (ok) me.css("border", "1px solid green");
    else me.css("border", "1px solid red");
    return ok;
  };

  $("#reg_form select").blur(function(){
    var me = $(this);
    validateSelect(me);
  });

  $("#reg_form input:not([name='show_pass'])").each(function(){
    var me = $(this);
    var ok = true;
    switch (me.attr("name")){
      case "zip": me.mask("99999"); break;
      case "telephone": me.mask("(999) 999 99 99"); break;
      case "birdth_date": me.mask("99.99.9999"); break;
    }
  }).blur(function(){
    var me = $(this);
    validateSelect(me);
  });

  var passw2 = $("#reg_form input[name='password2']");
  var passw  = $("#reg_form input[name='password']");
  passw.change(function(){passw2.attr("value", passw.attr("value"));});
  passw2.change(function(){passw.attr("value", passw2.attr("value"));});
  $("#reg_form input[name='show_pass']").change(function(){
    passw2.toggle().blur();
    passw.toggle().blur();
  });

  $("#submit").click(function(){
    var ok = true;
    $(".step3").find("input,select").each(function(){
      var me = $(this);
      if (me.attr("name")=="district"||me.attr("name")=="city") {
        ok = (validateSelect(me)&&ok);
      } else {
        ok = (validate(me)&&ok);
      }
    });
  if (ok) {
    $("#reg_form input[name$='password2']").remove();
    $("#reg_form").ajaxSubmit({
        dataType:"json",
        success:function(data){location.href="/"+curLang+((data=="1")?"/message~37~"+referrerPath:"/message~38~registration");}
      });
  } else alert("Не все поля правильно заполнены!");
    return false;
  });

  $("#next1").click(function(){
    var ok = true;  
    var currMail = "";
    $(".step1").find("input:not([name='show_pass'])").each(function(){
      var me = $(this);
      if (me.attr("name")=="email") currMail = this.value;
      ok = (validate(me)&&ok);
    });
  if (ok) {
/*Наступний дівчик*/
    $.getJSON("explorer/AjaxCheckEmail~"+currMail, null, function(data, textStatus){
      if (data==1) {
        $(".step1").css("display","none");
        $(".step2").css("display","block");
        $(".selected").removeClass("selected").addClass("passed");
        $(".st_status2").addClass("selected");
        currentStep = 2;
      } else alert ("Такой e-mail уже используется!");
    });
  } else alert("Не все поля правильно заполнены!");
    return false;
  });

  $("#next2").click(function(){
    var ok = true;
    $(".step2").find("input").each(function(){
      var me = $(this);
      ok = (validate(me)&&ok);
    });
  if (ok) {
/*Наступний дівчик*/
    $(".step2").css("display","none");
    $(".step3").css("display","block");
    $(".selected").removeClass("selected").addClass("passed");
    $(".st_status3").addClass("selected");
    currentStep = 3;
  } else alert("Не все поля правильно заполнены!");
    return false;
  });
  
});
var currentStep = 1;
var goto_step = function(i) {
  if (currentStep>=i) {
    $(".selected").removeClass("selected");  
    $(".st_status"+i).addClass("selected");
    $(".pages:visible").css("display","none");
    $(".step"+i).css("display","block");
  }
}
    
    
