﻿$(document).ready(function() {
    $("#ctl00_MainContent_txtUserName").change(function() {

        var uname = $("#ctl00_MainContent_txtUserName");
        var msgbox = $("#status");
        if (uname.val().length > 5) {
            $.ajax({
                type: "POST",
                url: "NewUser.aspx/CheckUserName",
                data: "{'args': '" + uname.val() + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    if (msg.d == 'Available') {
                        uname.removeClass("notavailablecss");
                        uname.addClass("availablecss");
                        msgbox.html('<img src="../images/a.png"> <font color="Green"> Available </font>');
                    }
                    else {
                        uname.removeClass("availablecss");
                        uname.addClass("notavailablecss");
                        msgbox.html(msg.d);
                    }
                }
            });
        }
        else {

            uname.addClass("notavailablecss");
            msgbox.html('<font color="#cc0000">User Name must be more than 5 characters</font>');
        }
    });




    $("#ctl00_MainContent_txtEmail").change(function() {
        var uemail = $("#ctl00_MainContent_txtEmail");
        var msgbox = $("#statusEmail");
        var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        var isRealEmail = filter.test(uemail.val());

        if (!isRealEmail) {
            msgbox.html("<img src='../images/n.png'><font color='#cc0000'>Email must be valid format. Ex. 'user@host.com'</font></img>");
            return;
        }


        if (uemail.val().length > 5) {
            $.ajax({
                type: "POST",
                url: "NewUser.aspx/CheckEmail",
                data: "{'args': '" + uemail.val() + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    if (msg.d == 'Available') {
                        uemail.removeClass("notavailablecss");
                        uemail.addClass("availablecss");
                        msgbox.html('<img src="../images/a.png"> <font color="Green"> Available </font>');
                    }
                    else {
                        uemail.removeClass("availablecss");
                        uemail.addClass("notavailablecss");
                        msgbox.html(msg.d);
                    }
                }
            });
        }
        else {

            uname.addClass("notavailablecss");
            msgbox.html('<font color="#cc0000">Email must be more than 5 characters</font>');
        }
    });





    $("#ctl00_MainContent_submit").click(function() {
        var uname = $("#ctl00_MainContent_txtUserName");
        var msgbox = $("#ctl00_MainContent_msgDiv");
        var fname = $("#ctl00_MainContent_txtFirstName");
        var lname = $("#ctl00_MainContent_txtLastName");
        var compName = $("#ctl00_MainContent_txtbxCompanyName");

        var pw = $("#ctl00_MainContent_txtConfirmPassword");
        var rpw = $("#ctl00_MainContent_txtPassword");
        var email = $("#ctl00_MainContent_txtEmail");
        var secQuestion = $("#ctl00_MainContent_drpDwnSecurityQuestion");
        var secAnswer = $("#ctl00_MainContent_txtSecAnswer");
        var jobTitle = $("#ctl00_MainContent_txtbxTitle");
        var WebSite = $("#ctl00_MainContent_txtWebSite");

        var statJobTitle = $("#statusJobTitle");
        var statUname = $("#status");
        var statPass = $("#statusPass");
        var statEmail = $("#statusEmail");
        var statAnswer = $("#statusSecAnswer");
        var statFname = $("#statusFirstName");
        var statLname = $("#statusLastName");
        var error = false;
        var statComp = $("#statusCompanyName");
        var statWebSiste = $("#statuswebsite");

        //Username must be 5 chars or more
        if (uname.val() < 5) {
            statUname.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter a User name.</font></img>");
            error = true;
        }
        //Check to see if the passwords match
        if (pw.val().length < 5 || rpw.val().length < 5 || pw.val() != rpw.val()) {
            statPass.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter Matching Passwords.</font></img>");
            error = true;
        }
        //must enter email address
        if (email.val().length < 5) {
            statEmail.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter a Valid Email Address.</font></img>");
            error = true;
        }
        //Check email format
        var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        var isRealEmail = filter.test(email.val());

        if (!isRealEmail) {
            statEmail.html("<img src='../images/n.png'><font color='#cc0000'>Email must be valid format. Ex. 'user@host.com'</font></img>");
            error = true;
        }

        //must enter security answer
        if (secAnswer.val().length < 1) {
            statAnswer.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter Security Question Answer.</font></img>");
            error = true;
        }


        //Must Enter Company Name
        if (compName.val().length < 1) {
            statComp.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter Company Name</font></img>");
            error = true;
        }

        if (jobTitle.val().length < 1) {
            statJobTitle.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter Your Job Title</font></img>");
            error = true
        }

        if (fname.val().length < 1) {
            statFname.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter your First Name</font></img>");
            error = true
        }

        if (lname.val().length < 1) {
            statLname.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter your Last Name</font></img>");
            error = true
        }

        if (WebSite.val().length < 1) {
            statWebSiste.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter your Company Website Address</font></img>");
            error = true
        }

        //If any of the checks error, kill the function
        if (error)
            return;


        if (uname.val().length > 5) {
            $.ajax({
                type: "POST",
                url: "NewUser.aspx/CreateAccount",
                data: "{'arg1': '" + uname.val() + "','arg2': '" + pw.val() + "','arg3': '" + email.val() + "','arg4': '" + secQuestion.val() + "','arg5': '" + secAnswer.val() + "','arg6': '" + fname.val() + "','arg7': '" + lname.val() + "','arg8': '" + compName.val() + "','arg9': '" + jobTitle.val() + "','arg10': '" + WebSite.val() + "'}", //'{ a: 2, b: 3 }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    if (msg.d == 'Success') {
                        var btnSubmit = document.getElementById("ctl00_MainContent_submit");
                        btnSubmit.style.visibility = "hidden";
                        $('#signup-modal-content').modal();

                    }
                    else {

                        msgbox.html('Oh No!!! Failed to Create User Account, Please except our apologies!<br /> We are working furiously to correct this problem!');
                    }
                }
            });
        }
        else {

            uname.addClass("notavailablecss");
            msgbox.html('<font color="#cc0000">User Name must be more than 5 characters</font>');
        }
    });


    $.extend($.modal.defaults, {
        overlayClose: true



    });

    $("#ctl00_btnlogin").click(function() {


        $('#signin-modal-content').modal({
            maxHeight: 200,
            maxWidth: 300,




            onClose: function(dialog) {
                dialog.data.fadeOut('fast', function() {
                    dialog.container.slideUp('fast', function() {
                        dialog.overlay.fadeOut('fast', function() {
                            $.modal.close(); // must call this!
                        });
                    });
                });
            },


            onOpen: function(dialog) {
                dialog.overlay.fadeIn('fast', function() {
                    dialog.data.hide();
                    dialog.container.fadeIn('fast', function() { dialog.data.fadeIn('fast'); });
                });
            }
        });
    });




    //----------------------------------------------------------------------


    $("#ctl00_MainContent_Save").click(function() {
        var uname = $("#ctl00_MainContent_txtbxUserName");
        var msgbox = $("#ctl00_MainContent_msgDiv");
        var fname = $("#ctl00_MainContent_txtbxFirstName");
        var lname = $("#ctl00_MainContent_txtbxLastName");
        var compName = $("#ctl00_MainContent_txtbxCompanyName");
        var oldpw = $("#ctl00_MainContent_txtbxOldPass");
        var npw = $("#ctl00_MainContent_txtbxNewPass");
        var rpw = $("#ctl00_MainContent_txtbxNewPassConfirm");
        var bio = $("#ctl00_MainContent_txtbxBio");

        var email = $("#ctl00_MainContent_txtEmail");

        var statOldPass = $("#statusOldPw");
        var statUname = $("#status");
        var statPass = $("#statusPass");

        var statEmail = $("#statusEmail");
        var statPostBack = $("#statusPostBack");

        var error = false;

        if (oldpw.val().length < 5) {
            statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>Must Enter Password to update Settings</font></img>");
            error = true;
        }


        if (npw.val().length > 0 || rpw.val().length > 0) {

            if (oldpw.val().length < 5) {
                statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>You must enter old password to create new Password</font></img>");
                error = true;
            }
        }


        //must enter email address
        if (email.val().length < 5) {
            statEmail.html("<img src='../images/n.png'><font color='#cc0000'>You Must Enter a Valid Email Address.</font></img>");
            error = true;
        }

        //Check email format
        var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
        var isRealEmail = filter.test(email.val());

        if (!isRealEmail) {
            statEmail.html("<img src='../images/n.png'><font color='#cc0000'>Email must be valid format. Ex. 'user@host.com'</font></img>");
            error = true;
        }


        //If any of the checks error, kill the function
        if (error)
            return;

        $.ajax({
            type: "POST",
            url: "UserSettings.aspx/UpdateUser",
            data: "{'uname': '" + uname.val() + "','oldPassword': '" + oldpw.val() + "','password': '" + npw.val() + "','email': '" + email.val() + "','firstname': '" + fname.val() + "','lastname': '" + lname.val() + "','bio': '" + bio.val() + "','compName': '" + compName.val() + "'}", //'{ a: 2, b: 3 }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                if (msg.d == 'Success') {
                    statPostBack.html('<b>Information Updated</b>');

                }
                else {

                    statPostBack.html(msg.d);
                }
            }
        });

    });




    $("#ctl00_MainContent_txtbxNewPassConfirm").change(function() {
        var oldpw = $("#ctl00_MainContent_txtbxOldPass");
        var npw = $("#ctl00_MainContent_txtbxNewPass");
        var rpw = $("#ctl00_MainContent_txtbxNewPassConfirm");
        var statNewPass = $("#statusNewPass");
        var statOldPass = $("#statusOldPw");

        if (oldpw.val().length < 1) {
            statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>Must Enter Old Password to Change</font></img>");
            return;
        }
        else {
            statOldPass.html("");
        }


        if (npw.val() != rpw.val()) {

            statNewPass.html("<img src='../images/n.png'><font color='#cc0000'>Passwords Do Not Match</font></img>");
        }
        else {
            statNewPass.html('<img src="../images/a.png"> <font color="Green"> Passwords Match</font>');
        }
    });


    $("#ctl00_MainContent_txtbxNewPass").change(function() {
        var oldpw = $("#ctl00_MainContent_txtbxOldPass");
        var npw = $("#ctl00_MainContent_txtbxNewPass");
        var rpw = $("#ctl00_MainContent_txtbxNewPassConfirm");
        var statNewPass = $("#statusNewPass");
        var statOldPass = $("#statusOldPw");

        if (oldpw.val().length < 1) {
            statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>Must Enter Old Password to Change</font></img>");
            return;
        }
        else {
            statOldPass.html("");
        }


        if (npw.val() != rpw.val()) {

            statNewPass.html("<img src='../images/n.png'><font color='#cc0000'>Passwords Do Not Match</font></img>");
        }
        else {
            statNewPass.html('<img src="../images/a.png"> <font color="Green"> Passwords Match</font>');
        }
    });



    $("#ctl00_MainContent_txtbxOldPass").change(function() {
        var oldpw = $("#ctl00_MainContent_txtbxOldPass");
        var statOldPass = $("#statusOldPw");



        if (oldpw.val().length > 5) {
            statOldPass.html("");
        }

        else if (oldpw.val().length < 5) {
            statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>Password must be more than 5 characters</font></img>");
        }

        else if (oldpw.val().length < 1) {
            statOldPass.html("<img src='../images/n.png'><font color='#cc0000'>Must Enter Old Password to Change</font></img>");
        }


    });




});

//This function closes a modal windows and redirects to the homepage
function close_onclick() {
   
     window.location= "../default.aspx";
}
