function onLoad() {
    reloadProtectionImage();
}

/*проверка на то что бы подтверждение пароля была таким же как пароль*/
var passwordTheSame = function(value, options){
    var other_value = document.getElementById('password').value;
    if (value != other_value){
        return false;
    }
    return true;
};

var validPassword = function(value) {
	if(value.length < 5 || value.length > 10) {
		return false;
	}
	else {
		return true;
	}
};

/*проверка логина на валидность*/
var validLogin = function (value) {
    var req = Spry.Utils.loadURL("GET", "xml/check-login-exists?login="+value, false);

    var doc = req.xhRequest.responseXML;
    if (!doc || !doc.firstChild)
    {
        doc = Spry.Utils.stringToXMLDoc(req.xhRequest.responseText);
        if (!doc || !doc.firstChild)
        {
            alert("Failed to get XML document DOM!");
            return;
        }
    }

    return doc.documentElement.getAttribute("result") == "true";
};

/*валидность кода подтверждения*/
var validProtectionValue = function (value) {
    var req = Spry.Utils.loadURL("GET", "xml/check-protection?text="+value, false);

    var doc = req.xhRequest.responseXML;
    if (!doc || !doc.firstChild)
    {
        doc = Spry.Utils.stringToXMLDoc(req.xhRequest.responseText);
        if (!doc || !doc.firstChild)
        {
            alert("Failed to get XML document DOM!");
            return;
        }
    }
    
    if(doc.documentElement.getAttribute("result") == "true") {
        return true;
    } else {
        reloadProtectionImage();
        return false;
    }
};

function reloadProtectionImage() {
    /*очищаем инпут*/
    var elem = Spry.$('protection');
    elem.value = "";
    /*меняем картинку*/
    var img = Spry.$("protectionValueImg"); // document.getElementById("protectionValueImg");
    var d = new Date();
    img.src = "image/protection?"+d.getTime();
}


var isLatinic = function(value) {
    var rx = /^[a-zA-Z\s\-\']*$/;
    if (!rx.test(value)) {
        return false;
    } else {
        return true;
    }

    /* return rx.test(value);*/
};

var isCyrillic = function(value) {
    var rx = /^[а-яА-Яa-zA-Z\s\-\']*$/;
    return rx.test(value);
};

var checkYear = function(value) {
    var parser = new  Nobirds.Utils.Dates.DateParser();
    var enterDate = parser.parse(value);
    if(!enterDate) {
        return false;
    }
    var nowDate = new Date();

    var year = enterDate.getFullYear();
    if (enterDate.getTime() > nowDate.getTime() || year < 1890) {
        return false;
    } else {
        return true;
    }

};
function showAgreement() {
    var window = open("agreementinfo","helppwin","width=640,height=480,scrollbars=yes,menubar=no");
    window.focus();
}

var blockLogin = new Spry.Widget.ValidationTextField("blockLogin", "custom", {validation:validLogin, validateOn:["blur"]});
var blockPassword = new Spry.Widget.ValidationTextField("blockPassword", "none", {validation:validPassword , validateOn:["blur"]});
var passwordDuplication = new Spry.Widget.ValidationTextField("blockRepassword", "custom", {validation: passwordTheSame, validateOn:["blur"]});

var blockCyrillicSourname = new Spry.Widget.ValidationTextField("blockCyrillicSourname", "custom", {validation:isCyrillic, validateOn:["blur"]});
var blockCyrillicName = new Spry.Widget.ValidationTextField("blockCyrillicName", "none", {validation:isCyrillic, validateOn:["blur"]});
var blockCyrillicMiddleName = new Spry.Widget.ValidationTextField("blockCyrillicMiddleName", "none", {validation:isCyrillic, isRequired:false, validateOn:["change","blur"]});

var blockLatinicSourname = new Spry.Widget.ValidationTextField("blockLatinicSourname", "none", {validation: isLatinic, isRequired:false, validateOn:["change","blur"]});
var blockLatinicName = new Spry.Widget.ValidationTextField("blockLatinicName", "none", {validation: isLatinic, isRequired:false, validateOn:["change","blur"]});


var email = new Spry.Widget.ValidationTextField("blockEmail", "email", {useCharacterMasking:true, validateOn:["blur"]});
var blockTelephone  = new Spry.Widget.ValidationTextField("blockTelephone", "none", {isRequired:false, validateOn:["blur"]});
var blockMobileTelephone = new Spry.Widget.ValidationTextField("blockMobileTelephone", "none", {isRequired:false, validateOn:["blur"]});

var blockBirthday = new Spry.Widget.ValidationTextField("blockBirthday", "date", {validation:checkYear, useCharacterMasking:true, format:"dd.mm.yyyy", hint:"дд.мм.гггг", validateOn:["change","blur"]});

var blockProtection = new Spry.Widget.ValidationTextField("blockProtection", "none", {validation: validProtectionValue, validateOn:["blur"]});
var blockAgreement = new Spry.Widget.ValidationCheckbox("blockAgreement", {validateOn:["change"]});
