﻿



//////////////////////////////////
//BEGIN NEW ACCOUNT FUNCTIONS
/////////////////////////////////

function makeStateOptions()
{
    var tmpStateList;
    var tmpReturnString;
    var tmpStateArray;
    var i;
    var selectFlag;

    var tmpStateList = "AL|AK|AZ|AR|CA|CO|CT|DC|DE|FL|GA|HI|ID|IL|IN|IA|KS|KY|LA|ME|MD|MA|MI|MN|MS|MO|MT|NE|NV|NH|NJ|NM|NY|NC|ND|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VT|VA|WA|WV|WI|WY"
    tmpReturnString = tmpReturnString + "<option value=''>&#160;</option>"
    tmpStateArray = tmpStateList.split("|");
    tmpReturnString = '<select id="state" name="state">'

    for (i = 0; i < tmpStateArray.length; i++)
    {
        tmpReturnString = tmpReturnString + "<option value='" + tmpStateArray[i] + "'>" + tmpStateArray[i] + "</option>"
    }
    tmpReturnString = tmpReturnString + "</select>"
    document.getElementById("stateselector").innerHTML = tmpReturnString;

}


//dim userOrigin
//userOrigin = request.QueryString("userorigin")


var http_request = false;


function checkForAccount() {

    var uid = document.getElementById("email").value;
    var pwd = document.getElementById("pass").value;
    var pwdhint = escape(document.getElementById("passhint").value);

    var pwdanswer = document.getElementById("passanswer").value;
    var fname = document.getElementById("fname").value;
    var lname = document.getElementById("lname").value;
    var hposition = document.getElementById("hposition").value;
    var mm = document.getElementById("dob_mm").value;
    var dd = document.getElementById("dob_dd").value;
    var yy = document.getElementById("dob_yyyy").value;
    var dob = mm + "/" + dd + "/" + yy;

    var gender = document.getElementById("gender").value;
    var marryStatus = document.getElementById("marrystatus").value;
    var addr1 = document.getElementById("addr1").value;
    var addr2 = document.getElementById("addr2").value;
    var city = document.getElementById("city").value;
    var st = document.getElementById("state").value;
    var zip = document.getElementById("zip").value;
    var userOrigin = document.getElementById("userorigin").value;
    var phone = ""

    //document.getElementById("homephone_ac").value + "-";
    //phone += document.getElementById("homephone_prefix").value + "-";
    //phone += document.getElementById("homephone_number").value;

    document.getElementById('submitmessage').className = "visible";
    document.getElementById('submitmessage').innerHTML = "One Moment Please...";

    var tmpFields = "uid=" + uid + "&pwd=" + pwd + "&pwdhint=" + pwdhint + "&pwdanswer=" + pwdanswer + "&fname=" + fname;
    tmpFields += "&lname=" + lname + "&hposition=" + hposition + "&dob=" + dob + "&gender=" + gender;
    tmpFields += "&marrystatus=" + marryStatus + "&addr1=" + addr1 + "&addr2=" + addr2 + "&city=" + city + "&st=" + st;
    tmpFields += "&zip=" + zip + "&phone=" + phone + "&origin=" + userOrigin;
    //alert(tmpFields)

    createAccount(tmpFields);
}


function createAccount(fields) {

    if (http_request) {
        //http_request.onreadystatechange = '';
        http_request.abort();
        http_request = false;
    }

    var fullurl = "/includes/f1/f1ProcessNewAccount.aspx?" + fields;

    if (window.XMLHttpRequest) { // Mozilla [11], Safari, IE 7
        http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject) { // IE 6-
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }

    http_request.onreadystatechange = alertContentsNewAccount;
    http_request.open("GET", fullurl, true);
    http_request.send(null);

}

function alertContentsNewAccount() {

    var xml;
    var txt;
    if (http_request.readyState == 4) {
        //alert(http_request.responseText);
        if (http_request.status == 200) {
            // reassign data
            xml = http_request.responseXML;
            txt = http_request.responseText;

            //alert("responseText = " + txt)
            switch (txt) {
                case "accountExist":
                    if (confirm("An account exist with this information already exist. Would you like us to send the password to the email address we have on file?")) {
                        alert("send the password");
                    }
                    break;

                case "uidInUse":
                    document.getElementById("emailerr").innerHTML = "The UserID you have chosen in already in use. <br />Please select a different UserID"
                    document.getElementById("emailerr").className = "visible";
                    //alert("The UserID you have chosen in already in use. Please select a different UserID");
                    break;

                case "accountCreatedSuccessfully":
                    window.location = "/account";
                    break;

                default:
                    alert('ERROR CHECKING ACCOUNT DATABASE');
                    break;
            }
        }
        else {
            alert('There was a problem with the request.');
        }
    }
}


function trim(stringToTrim) {
    return stringToTrim.replace(/^\s+|\s+$/g, "");
}


function validate() {

    //alert("Begin Vaidation");
    document.getElementById("emailerr").className = "hidden";
    document.getElementById("pwderr").className = "hidden";
    document.getElementById("gendererr").className = "hidden";
    document.getElementById("firstnameerr").className = "hidden";
    document.getElementById("lastnameerr").className = "hidden";
    document.getElementById("doberr").className = "hidden";
    document.getElementById("addresserr").className = "hidden";
    document.getElementById("cityerr").className = "hidden";
    document.getElementById("stateerr").className = "hidden";
    document.getElementById("ziperr").className = "hidden";


    var valid = "true";
    var badEmail = "false";
    var badDOB = "false";
    var responseText = "";
    var responseField = "";

    //alert("Validating Email");
    //check email
    //alert("test1");	
    var re = /\./
    if (re.test(document.getElementById("email").value) != true || document.getElementById("email").value.length < 8) {
        badEmail = "true";
    }
    //	alert("test2");	
    var re = /@/
    if (re.test(document.getElementById("email").value) != true) {
        badEmail = "true";
    }
    //alert("test3");	
    if (badEmail == "true") {
        document.getElementById("emailerr").innerHTML = "Please enter a valid email address.";
        document.getElementById("emailerr").className = "visible";
        return false;
    }
    //----	
    //alert("Validating pwd");
    if (document.getElementById("pass").value.length < 4) {
        document.getElementById("pwderr").innerHTML = "Your password must have at least 4 characters";
        document.getElementById("pwderr").className = "visible";
        return false;

    }

    //alert("Validating pwdHinQuestion");
    if (trim(document.getElementById("passhint").value) == "") {
        document.getElementById("pwdHinterr").innerHTML = "You must select a challenge question";
        document.getElementById("pwdHinterr").className = "visible";
        return false;
    }

    //alert("Validating pwdHintAnswer");
    if (trim(document.getElementById("passanswer").value) == "") {
        document.getElementById("pwdAnswererr").innerHTML = "You must enter a password hint answer";
        document.getElementById("pwdAnswererr").className = "visible";
        return false;
    }

    //alert("Validating pwdHintAnswer");
    if (trim(document.getElementById("passanswer").value) != trim(document.getElementById("passanswer2").value)) {
        document.getElementById("pwdAnswererr").innerHTML = "Your password hint entries do not match";
        document.getElementById("pwdAnswererr").className = "visible";
        return false;
    }



    //alert("Validating Gender");
    if (document.getElementById("gender").value == "") {
        document.getElementById("gendererr").innerHTML = "Please select your gender.";
        document.getElementById("gendererr").className = "visible";
        return false;
    }

    //alert("Validating Firstname");
    if (document.getElementById("fname").value == "") {
        document.getElementById("firstnameerr").innerHTML = "Please enter your first name.";
        document.getElementById("firstnameerr").className = "visible";
        return false;
    }


    //alert("Validating lastname");	
    if (document.getElementById("lname").value == "") {
        document.getElementById("lastnameerr").innerHTML = "Please enter your last name.";
        document.getElementById("lastnameerr").className = "visible";
        return false;

    }

    //alert("Validating Household position");
    if (document.getElementById("hposition").value == "") {
        document.getElementById("hpositionerr").innerHTML = "Please select your household position.";
        document.getElementById("hpositionerr").className = "visible";
        return false;
    }

    //alert("Validating DOB");
    //Check DOB	
    var mm = document.getElementById('dob_mm').value;
    var dd = document.getElementById('dob_dd').value;
    var yy = document.getElementById('dob_yyyy').value;
    var tmpReason = "";

    if (yy.length == 2) {
        var yy = '19' + yy;
        document.getElementById('dob_yyyy').value = yy;
    }

    if (mm.length < 1 || !parseInt(mm, 10) || parseInt(mm, 10) > 12) {
        badDOB = "true"
        tmpReason = "bad month"
    }
    if (dd.length < 1 || !parseInt(dd, 10) || parseInt(dd, 10) > 31) {
        badDOB = "true"
        tmpReason = "bad day"
    }
    if (yy.length < 4 || !parseInt(yy, 10)) {
        badDOB = "true"
        tmpReason = "bad year"
    }
    if (parseInt(yy, 10) > 1994) {
        badDOB = "true"
        tmpReason = "too Young"
    }

    if (badDOB == "true") {
        document.getElementById("doberr").innerHTML = "Please enter a valid date of birth. You must be at least 13 to register. -- " + tmpReason;
        document.getElementById("doberr").className = "visible";
        return false;
    }
    //----	
    //alert("Validating address");
    if (document.getElementById("addr1").value == "") {
        document.getElementById("addresserr").innerHTML = "Please enter a valid address.";
        document.getElementById("addresserr").className = "visible";
        return false;
    }

    if (document.getElementById("city").value == "") {
        document.getElementById("cityerr").innerHTML = "Please enter a valid city.";
        document.getElementById("cityerr").className = "visible";
        return false;
    }

    //alert("Validating state");
    if (document.getElementById("state").value == "") {
        document.getElementById("stateerr").innerHTML = "Please enter a valid state.";
        document.getElementById("stateerr").className = "visible";
        return false;
    }

    //alert("Validating zip");
    if (document.getElementById("zip").value == "" || document.getElementById("zip").value.length < 5) {
        document.getElementById("ziperr").innerHTML = "Please enter a valid email zip code.";
        document.getElementById("ziperr").className = "visible";
        return false;
    }

    checkForAccount();
}

//////////////////////////////////
//END NEW ACCOUNT FUNCTIONS
/////////////////////////////////


//////////////////////////////////
//BEGIN LOG IN FUNCTIONS
/////////////////////////////////

var f1Login_http_request = false;
function f1LogIn()
{
    var uid = document.getElementById("uid").value;
    var pwd = document.getElementById("pwd").value;

    var tmpFields = "uid=" + uid + "&pwd=" + pwd;
    makeRequest(tmpFields);
}


function makeRequest(fields)
{
    if (f1Login_http_request)
    {
        f1Login_http_request.abort();
        f1Login_http_request = false;
    }

    var fullurl = "/includes/f1/f1GetToken.aspx?" + fields;
    if (window.XMLHttpRequest)
    { // Mozilla [11], Safari, IE 7
        f1Login_http_request = new XMLHttpRequest();
    } else if (window.ActiveXObject)
    { // IE 6-
        f1Login_http_request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    f1Login_http_request.onreadystatechange = alertContents;
    f1Login_http_request.open("GET", fullurl, true);
    f1Login_http_request.send(null);

}

function alertContents()
{
    var xml;
    var txt;
    var tmpArray;

    if (f1Login_http_request.readyState == 4)
    {
      
        if (f1Login_http_request.status == 200)
        {
            
            // reassign data
            xml = f1Login_http_request.responseXML;
            txt = f1Login_http_request.responseText;
            tmpArray = txt.split("~");

            switch (tmpArray[0])
            {
                case "success":
                    document.getElementById("f1set").value = "true";
                    var type = document.getElementById("f1type").value;
                    var code = document.getElementById("f1code").value;

                    openF1(type, code);
                    document.location = document.location;
                    break;

                case "log in failed":
                    alert("We could not find the user name and password you provided.");
                    break;

                default:
                    alert("ERROR CHECKING ACCOUNT DATABASE. Please try again");
                    break;
            }
        }
        else
        {
            alert("There was a problem with the request. Please try again.");
        }

    }
}

//////////////////////////////////
//END LOG IN FUNCTIONS
/////////////////////////////////




//////////////////////////////////
//START OPEN F1 FUNCTIONS
/////////////////////////////////

function openF1(type, code)
{

    //we need to check here to see if tthe person is logged in
    if (document.getElementById("f1set").value == "true" || type == "loginHelp" || type == "resetPassword")
    {

        var ScreenWidth = window.screen.width;
        var ScreenHeight = window.screen.height;
        var movefromedge = 0;
        placementx = (ScreenWidth / 2) - ((620) / 2);
        placementy = (ScreenHeight / 2) - ((630 + 50) / 2);

        var url = "/openF1.aspx?type=" + type + "&code=" + code;
        //alert(url);
        window.open(url, "f1window", "width=620,height=630,resizeable=1,scrollbars=1,menubar=0,toolbar=0,status=0,location=0,left=" + placementx + ",top=" + placementy + ",screenX=" + placementx + ",screenY=" + placementy);
    }
    else
    {
        document.getElementById("f1type").value = type;
        document.getElementById("f1code").value = code;
        showModal();
    }
}

function showModal()
{
    $("#contact-container").modal({ onOpen: function(dialog)
    {
        dialog.overlay.fadeIn('fast', function()
        {
            dialog.container.fadeIn('fast', function()
            {
                dialog.data.fadeIn('fast');
            });
        });
    }
    });
}

function hideModal()
{
    $("#contact-container").modal({ onClose: function(dialog)
    {
        dialog.data.slideUp('slow', function()
        {
            dialog.container.slideUp('slow', function()
            {
                dialog.overlay.fadeOut('slow', function()
                {
                    $.modal.close(); // must call this!
                });
            });
        });
    }
    });

}


//////////////////////////////////
//END OPEN F1 FUNCTIONS
/////////////////////////////////
