﻿login_modal_form = function(){
    $('#ajax-login-form form').validate({
        rules: {
            Username: {
                required: true
                // email: true
            },
            Password: {
                required: true
            }
        },
        messages: {
            Username: "Please enter your e-mail",
            Password: "Please enter your password"
        },
        submitHandler: function(form){
            $.cookie("loginClicked", "true");
            form.submit();
        }
    });
};

function register_modal_form_step_2(){
    $('.register-form-step1').hide();
    $('.register-form-step2').show();
    $('#ajaxform-register-submit').live('click', function(e){
        var other = true;
        if ($("#signup_Other").is(":checked") && $("#signup_Other_text").val() == "") 
            other = false;
        if (other) {
            $("#signup_Other_text").removeClass("error");
            var data = $('.ajaxform-register form').serialize();
            var url = $('.ajaxform-register form').attr('action');
            load_page(url, data, function(){
                load_page(window.sign_up_callback_url, "", function(){
                    $(".modal-close, #ajaxbackground").live("click", function(){
                        location.reload();
                    })
                })
            }, "POST");
        }
        else {
            $("#signup_Other_text").addClass("error")
        }
    });
};

register_modal_form = function(){

    var register_validator = $('.ajaxform-register form').validate({
        focusInvalid: false,
        focusCleanup: true,
        rules: {
            signup_Name: "required",
            signup_Surname: "required",
            signup_Business_name: "required",
            signup_Adress: "required",
            signup_Zipcode: "required",
            signup_City: "required",
            signup_Phone: "required",
            signup_Country: "required",
            signup_Email: {
                required: true,
                email: true,
                remote: {
                    url: "/Files/Validate.ashx",
                    data: {
                        value: function(){
                            return $('#signup_Email').val();
                        },
                        check: 'email',
                        singleresult: 0
                    }
                }
            },
            signup_Email_Confirm: {
                required: true,
                equalTo: '#signup_Email'
            },
            signup_Password: {
                required: true
            },
            signup_Password_Confirm: {
                required: true,
                equalTo: '#signup_Password'
            }
        },
        messages: {
            signup_Name: "Please enter your name",
            signup_Surname: "Please enter your surname",
            signup_Business_name: "Please enter your Business name",
            signup_Adress: "Please enter your address",
            signup_Zipcode: "Please enter your zipcode",
            signup_City: "Please enter your city",
            signup_Country: "Please enter your country",
            signup_Email: {
                required: "Please enter your e-mail",
                email: "This is not an email",
                remote: "Email is already in use"
            },
            signup_Email_Confirm: {
                equalTo: "Emails are not identical",
                required: "Please confirm your e-mail"
            },
            signup_Password: "Please enter your password",
            signup_Password_Confirm: "Please confirm your password"
        },
        errorPlacement: function(error, element){
            if (element.attr("name") == "signup_Email" || element.attr("name") == "signup_Email_Confirm") 
                element.after(error)
        },
        submitHandler: function(form){
            register_modal_form_step_2();
        }
    });
    
    $('#signup_Other').click(function(){
        if ($(this).is(":checked")) {
            $('#signup_Other_text').attr('disabled', false);
        }
        else {
            $('#signup_Other_text').attr('disabled', true);
        }
    });
};


profileupdate_modal_form = function(){

    var existing_email = $('#signup_Email').val();
    $('#signup_Email').change(function(){
        if ($(this).val() != existing_email) 
            $(this).rules("add", {
                remote: {
                    url: "/Files/Validate.ashx",
                    data: {
                        value: function(){
                            return $('#signup_Email').val();
                        },
                        check: 'email',
                        singleresult: 0
                    }
                }
            })
        else 
            $(this).rules("remove", "remote")
    });
    var register_validator = $('.ajaxform-register form').validate({
        focusInvalid: false,
        focusCleanup: true,
        rules: {
            signup_Name: "required",
            signup_Surname: "required",
            signup_Business_name: "required",
            signup_Adress: "required",
            signup_Zipcode: "required",
            signup_City: "required",
            signup_Country: "required",
            signup_Email: {
                required: true,
                email: true
            },
            signup_Email_Confirm: {
                required: true,
                equalTo: '#signup_Email'
            }
        },
        messages: {
            signup_Name: "Please enter your name",
            signup_Surname: "Please enter your surname",
            signup_Business_name: "Please enter your Business name",
            signup_Adress: "Please enter your address",
            signup_Zipcode: "Please enter your zipcode",
            signup_City: "Please enter your city",
            signup_Country: "Please enter your country",
            signup_Email: {
                required: "Please enter your e-mail",
                email: "This is not an email",
                remote: "Email is already in use"
            },
            signup_Email_Confirm: {
                equalTo: "Emails are not identical",
                required: "Please confirm your e-mail"
            }
        },
        errorPlacement: function(error, element){
            if (element.attr("name") == "signup_Email" || element.attr("name") == "signup_Email_Confirm") 
                element.after(error)
        },
        submitHandler: function(){
            register_modal_form_step_2();
        }
    });
    
    $('#signup_Other').click(function(){
        if ($(this).is(":checked")) {
            $('#signup_Other_text').attr('disabled', false);
        }
        else {
            $('#signup_Other_text').attr('disabled', true);
        }
    });
};

forgot_passw_modal_form = function(){
    $('.ajaxform-forgotpassword form').validate({
        rules: {
            Username: {
                required: true,
                email: true
            }
        },
        messages: {
            Username: "Please enter your e-mail"
        },
        submitHandler: function(form){
            data = $(form).serialize();
            $.ajax({
                url: login_modal_form_url,
                data: data,
                type: 'POST'
            });
            $('#username_info').text($('#Username').val());
            $('.ajaxform-content-desc, .ajaxform-forgotpassword form').hide();
            $('.ajaxform-forgot-password-hide').show();
            return false;
        }
    });
};

$(document).ready(function(){

    // Override default error message
    jQuery.validator.messages.required = "";
    
    // login form mode selection
    var ExtUserForm_on_page = $("form[name=ExtUserForm]").size();
    if (ExtUserForm_on_page) {
        $('#login-button').parent('li').hide();
    };
    
    // login wrong window
    if ($.cookie("loginClicked") == "true" && $("#login-button").size() > 0) {
        load_page(login_failed);
        $(".modal-close").live("click", function(){
            $("#login-button").click();
            $(".modal-close").die("click");
        })
    };
    $.cookie("loginClicked", "false");
    
    
    $('#login-button').bind('click', function(){
    
        load_page(window.login_modal_form_url, '', login_modal_form);
        return false;
    });
    
    // sign up form
    $('.register-form-link').live('click', function(){
        load_page(register_modal_form_url, '', register_modal_form);
        return false;
    });
    
    
    $("#ajaxform-register-back").live("click", function(){
        $(".register-form-step2").hide();
        $(".register-form-step1").show();
    });
    
    // profile edit form
    $('.edit-profile-link').live('click', function(){
        load_page(edit_profile_modal_form_url, '', profileupdate_modal_form);
        return false;
    });
    
    // forgot password
    $('.forgot-passw-form-link').live('click', function(){
        load_page(forgot_passw_modal_form_url, '', forgot_passw_modal_form);
        return false;
    });
    $('.logoff-link').live('click', function(){
        $.ajax({
            url: '/Admin/Access/Access_Logoff.aspx',
            complete: function(){
                window.location = window.location.href;
            }
        });
        
        return false;
    });
    
});



