﻿//-----------------------------------------------------------------------------------------------------------------
	var letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzЁЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮёйцукенгшщзхъэждлорпавыфячсмитьбю_- ";
	var numbers="0123456789";

	function isEmail(strEmail) {
		var name="";
		var server="";
		var strings=new Array();

		if (strEmail=="") {
			alert("Введите E-mail, пожалуйста");
			return false;
		}

		strings=strEmail.split("@");
		if (strings.length==1) {
			alert("E-Mail должен содержать символ @");
			return false;
		} else if (strings.length==2) {
			name=strings[0];
			server=strings[1];
			if(name.length<2)
				{
				alert("Имя не может быть короче 2 символов");
				return false;
				}
		} else {
			alert("E-Mail должен содержать только один символ @");
			return false;
		}
		
		if (!isValid(name,letters+numbers+"._-")) {
			alert("Неверные символы в имени E-Mail");
			return false;
		}
		
		strings=server.split(".");
		if (strings.length<2) {
			alert("Имя домена второго уровня должно присутствовать в E-Mail");
			return false;
		}
		else
		{

			if(strings[0].length<2)
				{
				alert("Имя сервера не может быть короче 2 символов");
				return false;
				}

			if(strings[1].length<2)
				{
				alert("Имя домена первого уровня не может быть короче 2 символов");
				return false;

				}
		}
		

		for (i=0;i<strings.length;i++) {
			if (!isValid(strings[i],letters+numbers)) {
				alert("Неверные символы имени домена второго уровня в E-Mail");
				return false;
			}
		}
		
		return true;
	}

//-----------------------------------------------------------------------------------------------------------------
    function FormatDate(i, delKey,direction) {
      if (i.value.length < 10) {
      	if (delKey!=9) { //tab
    	  	if(delKey!=8 && delKey!=46 && delKey!=16 &&  !(delKey>36 && delKey<41)){ //if the delete, backspace, shift, are not the keys that caused the keyup event.
      			var fieldLen = i.value.length
       			if ((delKey >= 48 && delKey <= 57) || (delKey >= 96 && delKey <=105)) {
       				if (fieldLen == 2 || fieldLen == 5) {
          				i.value = i.value + ".";
    		     	}
       			} else {
       				if (direction == "up") {
         				if (i.value.length == 0) {
          					i.value = ""
    	     			} else {
    		      			i.value = i.value.substring(0,i.value.length-1)
    	   				}
        			}
    	 		}
      			i.focus()
    	  	}
     	} else {
     		if (direction == "down") {
    	 		CheckDate(i)
      		}
      	}
     }
    }
//-----------------------------------------------------------------------------------------------------------------

    function CheckDate(THISDATE) {
    	var err=0
    	a=THISDATE.value
    	if (a.length < 8) err=2
    	b = a.substring(0, 2)// day
    	c = a.substring(2, 3)// '.'
    	d = a.substring(3, 5)// month
    	e = a.substring(5, 6)// '.'
    	f = a.substring(6, 10)// year

    	if (b<1 || b>31) err = 2
    	if (d<1 || d>12) err = 2
    	if (d==4 || d==6 || d==9 || d==11){
    		if (b==31) err=2
    	}
    	if (d==2){
    		var g=parseInt(f/4)
    		if (isNaN(g)) {
    			err=2
    		}
    		if (b>29) err=3
    		if (b==29 && ((f/4)!=parseInt(f/4))) err=13
    	}
    	if (f<1940 || f>2000) err=4;
	
    	if (err==1) {
    		alert('Вы ввели ' + THISDATE.value + ' - в выбранном вами месяце нет 31 числа ... Попробуйте набрать снова!');
    		THISDATE.value = "";
    		THISDATE.focus();
    		THISDATE.select();
    	}
    	if (err==2) {
    		alert('Вы ввели ' + THISDATE.value + ' - Вас не смущает эта дата ? Нам кажется, что допущена ошибка...  Попробуйте набрать снова!');
    		THISDATE.value = "";
    		THISDATE.focus();
    		THISDATE.select();
    	}
    	if (err==3) {
    		alert('Вы ввели ' + THISDATE.value + ' - в феврале не бывает более 29 дней ... Попробуйте набрать снова !');
    		THISDATE.value = "";
    		THISDATE.focus();
    		THISDATE.select();
    	}
    	if (err==4) {
    		alert('Вы ввели ' + THISDATE.value + ' - вы не могли родиться в этом году. Попробуйте набрать снова!');
    		THISDATE.value = "";
    		THISDATE.focus();
    		THISDATE.select();
    	}
    	if (err==13) {
    		alert('Вы ввели ' + THISDATE.value + ' - в этом году в феврале не было 29 числа ... Попробуйте набрать снова!');
    		THISDATE.value = "";
    		THISDATE.focus();
    		THISDATE.select();
    	}
    }
//-----------------------------------------------------------------------------------------------------------------
	function isValid(what,chars) {
		if (what=="") {
			return false;
		}
		bool1=false;
		for (count1=0; (count1<what.length)&&(!bool1);count1++) {
			bool2=false;
			for (count2=0; (count2<chars.length)&&(!bool2);count2++) {
				if (what.charCodeAt(count1)==chars.charCodeAt(count2)) {
					bool2=true;
				}
			}
			if (!bool2) {
				bool1=true;
			}
		}
		return !bool1;
	}

	function Validate(theForm) {
		if (document.images) {		
			if (!isEmail(theForm.email.value)) {
				theForm.email.focus();
				theForm.email.select();
				return false;
			}

			if (theForm.password.value=="") {
				alert("Не введен пароль")
				theForm.password.focus();
				theForm.password.select();
				return false;
			}
		}			
		return true;
	}

