﻿/// <reference path="../jquery-1.6.2.js" />
/// <reference path="../jquery.corner.js" />
/// <reference path="../json2.js" />

$(document).ready(function () {

    //$('.cButtons').corner();

    var aSignUp = $('#aSignUp');

    //==============================================
    //set dialogs
    //==============================================
    $('#dvTOS').dialog({
        autoOpen: false,
        width: 640,
        title: 'Terms and Conditions of Use',
        modal: true,
        resizable: false,
        height: 400

    });

    //==============================================
    //focus out
    //==============================================
    $('INPUT[ID*=txtUsername]').focusout(function () {
        var un = $(this).val();
        $('#uNameErr').html("<img src='images/ajax-loaderbert.gif' />").show();

        if ($(this).val().length <= 3) {
            $('#uNameErr').html('').html("<div class=\"sgnErr\">MUST BE GREATER THAN 3 CHARACTERS<\/div>").show();
            $(this).addClass('signUpErrBox');
            return;
        }

        $.ajax({
            type: "POST",
            url: "services/signup.asmx/chkUName",
            data: "{'un':'" + un + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                //var tt = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
                if (msg.d == "NOT AVAILABLE") {
                    $('#uNameErr').html('').html("<div class=\"sgnErr\">ALREADY BEING USED<\/div>").show();
                    $('INPUT[ID*=txtUsername]').addClass('signUpErrBox');
                    return;
                }
                else {
                    $('#uNameErr').html('').html("<div class=\"sgnCor\">VALID<\/div>").show();
                    return;
                }
            },
            error: function (xhr) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);

            }

        });
    });

    $('INPUT[ID*=txtEmail1]').focusout(function () {
        var em = $(this).val();
        $('#eMail1Err').html("<img src='images/ajax-loaderbert.gif' />").show();

        if ($(this).val().length <= 0) {
            $('#eMail1Err').html('').html("<div class=\"sgnErr\">EMAIL REQUIRED<\/div>").show();
            $(this).addClass('signUpErrBox');
            return;
        }

        $.ajax({
            type: "POST",
            url: "services/signup.asmx/chkEmail",
            data: "{'em':'" + em + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                //var tt = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
                if (msg.d == "NOT A VALID EMAIL") {
                    $('#eMail1Err').html('').html("<div class=\"sgnErr\">EMAIL IS NOT VALID<\/div>").show();
                    $('INPUT[ID*=txtEmail1]').addClass('signUpErrBox');
                    return;
                }

                if (msg.d == "ALREADY BEING USED") {
                    $('#eMail1Err').html('').html("<div class=\"sgnErr\">EMAIL IS IN SYSTEM ALREADY (<a href=\"forgot.aspx\">Forgot Password<\/a>)<\/div>").show();
                    $('INPUT[ID*=txtEmail1]').addClass('signUpErrBox');
                    return;
                }

                $('#eMail1Err').html('');


            },
            error: function (xhr) {
                var err = eval("(" + xhr.responseText + ")");
                alert(err.Message);

            }

        });
    });

    $('INPUT[ID*=txtEmail2]').focusout(function () {
        var em1 = $('INPUT[ID*=txtEmail]').val();
        var em2 = $(this).val();
        if (em1 != em2) {
            $('#eMail2Err').html('<div class=\"sgnErr\">EMAILS DO NOT MATCH<\/div>').show();
            $(this).addClass('signUpErrBox');
        } else {
            $('#eMail2Err').html('');
            return;
        }
    });

    $('#txtPassword').focusout(function () {
        if (($(this).val().length <= 5) || ($(this).val().length >= 13)) {
            $('#pWordErr').html('<div class=\"sgnErr\">NEEDS TO BE BETWEEN 6 AND 12 CHARACTERS<\/div>').show();
            $(this).addClass('signUpErrBox');
        }
        else {
            $('#pWordErr').html('').html("<div class=\"sgnCor\">VALID<\/div>").show();
            return;
        }
    });

    //==============================================
    //set clicks
    //==============================================
    $('#spTOS').click(function () {
        $('#dvTOS').dialog('open');
    });

    aSignUp.click(function () {

        var chk = $('#chkAgree');
        var chkErr = $('#chkAgreeErr');

        var txtF = $('INPUT[ID*=txtFname]');
        var txtL = $('INPUT[ID*=txtLname]');
        var txtU = $('INPUT[ID*=txtUsername]');
        var txtP = $('#txtPassword');
        var txtE = $('INPUT[ID*=txtEmail1]');
        var txtE2 = $('INPUT[ID*=txtEmail2]');
        var ddlMonth = $('SELECT[ID*=ddlMonth] option:selected');
        var ddlDay = $('SELECT[ID*=ddlDay] option:selected');
        var ddlYear = $('SELECT[ID*=ddlYear] option:selected');
        var txtZip = $('INPUT[ID*=txtZip]');
        var ddlGender = $('SELECT[ID*=ddlGender] option:selected');
        var chkNews = $('#chkNews').is(':checked');
        //var chkAllowBirth = $('INPUT[ID*=chkAllowBirth]');

        var drpDate = ddlDay.text() + '/' + ddlMonth.text() + '/' + ddlYear.text();
        var cont = true;

        if (txtF.val().length <= 1) {
            $('#fNameErr').html('<div class=\"sgnErr\">MUST BE GREATER THAN 1 CHARACTER<\/div>').show();
            $('#fNameErr').show();
            txtF.addClass('signUpErrBox');
            cont = false;
        }
        if (txtL.val().length <= 1) {
            $('#lNameErr').html('<div class=\"sgnErr\">MUST BE GREATER THAN 1 CHARACTER<\/div>').show();
            txtL.addClass('signUpErrBox');
            cont = false;
        }

        if (txtU.val().length <= 3) {
            $('#uNameErr').html('<div class=\"sgnErr\">MUST BE GREATER THAN 3 CHARACTERS<\/div>').show();
            txtU.addClass('signUpErrBox');
            cont = false;
        }

        if ((txtP.val().length <= 5) || (txtP.val().length >= 13)) {
            $('#pWordErr').html('<div class=\"sgnErr\">NEEDS TO BE BETWEEN 6 AND 12 CHARACTERS<\/div>').show();
            txtP.addClass('signUpErrBox');
            cont = false;
        }

        var chkVerify = true;
        if (txtE.val() == '') {
            $('#eMail1Err').html('<div class=\"sgnErr\">EMAIL REQUIRED<\/div>').show();
            txtE.addClass('signUpErrBox');
            cont = false;
            chkVerify = false;
        }
        if (txtE2.val() == '') {
            $('#eMail2Err').html('<div class=\"sgnErr\">VERIFY EMAIL<\/div>').show();
            txtE2.addClass('signUpErrBox');
            cont = false;
            chkVerify = false;
        }
        if (chkVerify) {
            if (txtE.val() != txtE2.val()) {
                $('#eMail2Err').text('Emails do not match');
                $('#eMail2Err').show();
                txtE2.addClass('signUpErrBox');
                cont = false;
            }
        }

        if (!chk.is(':checked')) {
            chkErr.html('You must accept the agreement to continue');
            return;
        }

        $('#errorDiv').hide();
        if (!cont) {
            $('#errorDiv').show().html('There were errors found.');
            return;
        }

        chkErr.html(' ');

        var signup = {};
        signup['fname'] = txtF.val();
        signup['lname'] = txtL.val();
        signup['uname'] = txtU.val();
        signup['password'] = txtP.val();
        signup['email'] = txtE.val();
        signup['bdate'] = drpDate;
        signup['gender'] = ddlGender.text();
        signup['zip'] = txtZip.val();
        signup['chkNews'] = chkNews;
        var DTO = { 'signup': signup }

        $('#buttonDiv').hide();
        $('#thinkingDiv').show();
       
        $.ajax({
            type: "POST",
            url: "services/signup.asmx/trySignUp",
            data: JSON.stringify(DTO),
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                //var tt = (typeof msg.d) == 'string' ? eval('(' + msg.d + ')') : msg.d;
                $('#thinkingDiv').hide();
                $('#thankyouDiv').show();

               $('INPUT[ID*=txtFname]').val('');
               $('INPUT[ID*=txtLname]').val('');
               $('INPUT[ID*=txtUsername]').val('');
               $('#txtPassword').val('');
               $('INPUT[ID*=txtEmail1]').val('');
               $('INPUT[ID*=txtEmail2]').val('');
               $('INPUT[ID*=txtZip]').val('');

            },
            error: function (xhr) {
                var err = eval("(" + xhr.responseText + ")");

                $('#thinkingDiv').hide();
                $('#buttonDiv').show();
                $('#errorDiv').show().empty().html(err.Message);
            }

        });

    });

    $('.signupTxt').keyup(function () {
        $(this).removeClass('signUpErrBox').addClass('signupTxt');
        $(this).parent('.signupRightcol').siblings('.signupErrcol').html('');
    });

});

