﻿    /// <reference path="..\jquery-1.4.1-vsdoc.js" />
$(document).ready(function() {

    var project = $('div.Order').attr('project');

    var UserData = {
        'Email': { callbacks: [
                    { callback: 'required', msg: 'Zadejte E-mail!' },
                    { callback: 'email', msg: 'Opravte špatně zadaný E-mail!'}]
        },
        'FirstName': { callback: 'required', msg: 'Zadejte jméno!' },
        'LastName': { callback: 'required', msg: 'Zadejte příjmení!' },
        'Phone': { callbacks: [
                    { callback: 'required', msg: 'Zadejte telefon!' },
                    { callback: 'phone', msg: 'Opravte špatně zadaný telefon!'}]
        },
        'Street': { callback: 'required', msg: 'Zadejte ulici!' },
        'City': { callback: 'required', msg: 'Zadejte město!' },
        'PostCode': { callbacks: [
                    { callback: 'required', msg: 'Zadejte PSČ!' },
                    { callback: 'zipcode', msg: 'Opravte špatně zadané PSČ!'}]
        }
    };

    var LoginValidate = true;
    $('#UserData').submit(function() {

        $('b.validate').parent().attr('title', '');
        $('b.validate').css('color', 'black');

        LoginValidate = true;
        var $udLogin = $("input[name='UserDataLogin']");
        var $udPassword = $("input[name='UserDataPassword']");
        var $udPasswordCompare = $("input[name='UserDataPasswordCompare']");

        var html = $("<div><span>Chyby ve formuláři:</span><ul></ul></div>");
        html.find("div").addClass("errorlist");
        if ($('div.Order').attr('loged') != '1' | $udLogin.val().length > 0 | $udPassword.val().length > 0) {
            if ($udLogin.val().length < 5) {
                $udLogin.parent().find('b').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udLogin.parent().find('span').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udLogin.parent().attr('title', 'Přihlašovací jméno musí mít nejméně 5 znaků!');
                html.find("ul").append($("<li>Přihlašovací jméno musí mít nejméně 5 znaků!</li>"));
                LoginValidate = false;
            }
            if ($udPassword.val().length < 5) {
                $udPassword.parent().find('b').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udPassword.parent().find('span').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udPassword.parent().attr('title', 'Přihlašovací heslo musí mít nejméně 5 znaků!');
                html.find("ul").append($("<li>Přihlašovací heslo musí mít nejméně 5 znaků!</li>"));
                LoginValidate = false;
            }
            if ($udPassword.val() != $udPasswordCompare.val()) {
                $udPasswordCompare.parent().find('b').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udPasswordCompare.parent().find('span').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
                $udPasswordCompare.parent().attr('title', 'Přihlašovací heslo a jeho potvrzení není stejné!');
                html.find("ul").append($("<li>Přihlašovací heslo a jeho potvrzení není stejné!</li>"));
                LoginValidate = false;
            }
        }

        if (LoginValidate) {
            $.ajaxSetup({ async: false });
            $.post(project + '/ajax/apservis/loginvalidate.aspx',
		        { nocache: (new Date()).getTime(),
		            login: $udLogin.val()
		        },
		        function(data) {
		            if (data == "ok") {
		                LoginValidate = true;
		            }
		            else {
		                $udLogin.parent().find('b').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
		                $udLogin.parent().find('span').css('color', 'red').animate({ opacity: 0.25 }, 200).animate({ opacity: 1 }, 200);
		                $udLogin.parent().attr('title', data);
		                var li = $("<li></li>");
		                li.append(data);
		                html.find("ul").append(li);
		                LoginValidate = false;
		            }
		        }
       	    );
        }

        if (!LoginValidate) {
            $.facebox(html); 
        }

        return LoginValidate;
    });

    var UserDataValidate = true;
    $('#UserData').salidate(UserData, function(elem, error) {
        UserDataValidate = false;
        salid_errorHandler(elem, error);
    });

    $("input[name='UserDataLogin']").val('');
    $("input[name='UserDataPassword']").val('');
    $("input[name='UserDataPasswordCompare']").val('');

});

