﻿Agility.RegisterNamespace("AgilityWebsite.Controls.AgilitySignup");

(function (AgilitySignup) {

    var _dialog = null;

    AgilitySignup.Init = function (parameters) {
        
        var select = document.getElementById('selectWebsiteType_Signup');

        _dialog = $("#AgilitySignupDialog").dialog({ autoOpen: false, modal: false, title: parameters.Title, width: 614, close: function (event, ui) {

            $("#txtFirstName_Signup").val("");
            $("#txtLastName_Signup").val("");

            $("#txtEmailAddress_Signup").val("");
            $("#txtEmailAddressConfirm_Signup").val("");

            $("#AgilitySignupDialog .Main").show();
            $("#AgilitySignupDialog .LoadingMessage").hide();
            $("#AgilitySignupDialog .ThankYouMessage").hide();

            $("#AgilitySignupDialog").parent().find(".ui-dialog-titlebar .ui-dialog-titlebar-close").show();

            $("#FirstNameError_Signup").hide();
            $("#LastNameError_Signup").hide();
            $("#EmailAddressError_Signup").hide();
            $("#EmailAddressConfirmError_Signup").hide();
        } 
        });

        $("#AgilitySignUpButton").bind("click", function () {

            var valid = true;

            if ($("#txtFirstName_Signup").val().replace(/ /g, "").length > 0) {

                $("#FirstNameError_Signup").hide();
            } else {

                $("#FirstNameError_Signup").show();
                valid = false;
            }

            if ($("#txtLastName_Signup").val().replace(/ /g, "").length > 0) {

                $("#LastNameError_Signup").hide();
            } else {

                $("#LastNameError_Signup").show();
                valid = false;
            }

            if (AgilityWebsite.Common.ValidateEmailAddress($("#txtEmailAddress_Signup").val())) {

                $("#EmailAddressError_Signup").hide();
            } else {

                $("#EmailAddressError_Signup").show();
                valid = false;
            }

            if ($("#txtEmailAddress_Signup").val() == $("#txtEmailAddressConfirm_Signup").val()) {

                $("#EmailAddressConfirmError_Signup").hide();
            } else {

                $("#EmailAddressConfirmError_Signup").show();
                valid = false;
            }

            var radios = select.getElementsByTagName('input');
            for (var i = 0; i < radios.length; i++) {
                if (radios[i].checked) {
                    radios = escape(radios[i].value);
                    valid = true;
                    break;
                } else {
                    valid = false;
                }
            }

            if (valid) {

                $("#AgilitySignupDialog .Main").hide();
                $("#AgilitySignupDialog").parent().find(".ui-dialog-titlebar .ui-dialog-titlebar-close").hide();
                $("#AgilitySignupDialog .LoadingMessage").show();

                $.ajax({
                    url: WcfServiceUrl + "/RequestDemo?firstName=" +  $("#txtFirstName_Signup").val() + "&lastName=" + $("#txtLastName_Signup").val() + "&emailAddress=" + $("#txtEmailAddress_Signup").val() + "&websiteType=" + radios,
                    dataType: "json",
                    success: function(data) {
               
                        //alert(data);                
                    },
                    complete: function() {
    
                        $("#AgilitySignupDialog .LoadingMessage").hide();
                        $("#AgilitySignupDialog").parent().find(".ui-dialog-titlebar .ui-dialog-titlebar-close").show();
                        $("#AgilitySignupDialog .ThankYouMessage").show();
                    },
                    error : function(xhr, ajaxOptions, thrownError) {
                
                        //alert(xhr.responseText);
                    }
                });                
            }
        });

        $("#CloseSignup").bind("click", function () {

            _dialog.dialog("close");
        });

        AgilityWebsite.Controls.AgilitySignup.Bind();
    };

    AgilitySignup.Bind = function () {

        $.each($(".SignUpForAgility"), function () {
        
            $(this).unbind("click", AgilityWebsite.Controls.AgilitySignup.OpenDialog);
            $(this).bind("click", AgilityWebsite.Controls.AgilitySignup.OpenDialog);
        });
    };

    AgilitySignup.OpenDialog = function() {
        _dialog.dialog("open");
        return false;
    };

})(AgilityWebsite.Controls.AgilitySignup);
