﻿/// <reference path="jquery-1.3.2-vsdoc.js" />
/// <reference path="jquery.validate.js" />
/// <reference path="forms.js" />

//http://malsup.com/jquery/form/#api
//http://docs.jquery.com/Plugins/Validation/validate#options
$(document).ready(function() {
    CreateThemedRecaptcha("recaptcha_div");
    ValidateSignUpForm();
    $(".openPopup").popupWindow({ centerBrowser: 1, width: 620, scrollbars: 1 });

    $("#signUpFirstName").focus();


    $('#recaptcha_div, #signUpFirstName, #signUpLastName, #signUpEmail, #signUpEmailConfirm, #signUpPassword, #signUpPasswordConfirm, #signUpPromoCode, .signUpPromoCode').keypress(function(e) {

        OnEnterF(e, OnClickSignUp);
    });

});
function ValidateSignUpForm() {
    $("form.aspnetForm").attr("action", urlPrefix + "services/UserService.asmx/Signup");
    $("form.aspnetForm").validate({
        errorClass: "signUpError",
        rules:
        {
            signUpFirstName:
			{
			    required: true, minlength: 2
			},
            signUpLastName:
			{
			    required: true, minlength: 2
			},
            signUpEmail:
            {
                required: true, email: true
            },
            signUpEmailConfirm: {
                required: true,
                equalTo: "#signUpEmail"
            },
            signUpPassword:
			{
			    required: true, minlength: 4
			},
            signUpPasswordConfirm: {
                required: true,
                equalTo: "#signUpPassword"
            },
            agreeWithTerms: {
                required: true
            }
        },
        messages: {
            signUpFirstName:
			{
			    equalTo: "First name is required"
			},
            signUpLastName:
			{
			    equalTo: "Last name is required"
			},
            signUpEmail:
			{
			    equalTo: "Please enter a valid email address"
			},
            signUpEmailConfirm: {
                equalTo: "Please enter the same email as above"
            },
            signUpPassword: {
                required: "Please provide a password"
            },
            signUpPasswordConfirm: {
                required: "Please provide a password",
                equalTo: "Please enter the same password as above"
            },
            agreeWithTerms: {
                required: "You must agree with Terms of Use and Official Rules"
            }
        },
        invalidHandler: function() {
            $("#img_LoadSignUp").hide();
        },
        submitHandler: $.wsFormSubmitHandler(
        {
            data: function() {
                return {
                    email: $('#signUpEmail').val(),
                    password: $('#signUpPassword').val(),
                    firstName: $('#signUpFirstName').val(),
                    lastName: $('#signUpLastName').val(),
                    referralUserId: $.definedOrDefault($('#referralId').val(), ""),
                    Challenge: Recaptcha.get_challenge(),
                    Response: Recaptcha.get_response(),
                    visitorLogId: globalVisitorId,
                    promoCode: $('.signUpPromoCode').val()
                }
            },
            success: function(result) {
                $("#img_LoadSignUp").hide();
                //alert(result);
                if (result == "success")
                    $.goTo(urlPrefix + "SignUp_ThankYou.aspx");
                else {
                    alert(result);
                    Recaptcha.reload();
                }
            }
        })
    });
}

function OnClickSignUp() {
    $("#img_LoadSignUp").show();
    $('#aspnetForm').submit();
}

function ValidTest() {
    alert($("form.aspnetForm").valid());
}
