﻿var errors = new Object();
function formgo(number) {
    if (validatemyform(number) == true) {
        swapImages(number);
        swapDivs(number);
    }
    else {
        var errorAlerts = "";
        for (var eachError in errors) {
            if (errors[eachError] != null) {
                errorAlerts += "* " + errors[eachError] + "\n";
            }
        }
        alert('* Please fill out all required fields (marked in red)\n' + errorAlerts);
    }
}
function validatemyform(number) {
    var valid = false;
    var valid1 = false;
    var valid2 = false;
    var valid3 = false;
    var valid4 = false;
    var valid5 = false;
    var valid6 = false;
    var valid7 = false;
    var valid8 = false;

    if (number == 2) {
        valid1 = validateelement('zipcode', document.getElementById('zipcode'));
        valid2 = validateelement('email', document.getElementById('email'));
        valid3 = true;
        valid4 = validateelement('checked', document.getElementsByName('receive_pay'));
        valid5 = validateelement('checked', document.getElementsByName('monthly_income'));
        valid6 = true;
        valid7 = true;
        valid8 = true;
    }
    if (number == 3) {
        valid1 = validateelement('name', document.getElementById('first_name'));
        valid2 = validateelement('name', document.getElementById('last_name'));
        valid3 = validateelement('length3', document.getElementById('areacode'));
        valid4 = validateelement('length3', document.getElementById('prefix'));
        valid5 = validateelement('length4', document.getElementById('suffix'));
        valid6 = validateelement('checked', document.getElementsByName('gender'));
        valid7 = validateelement('blank', document.getElementById('address1'));
        valid8 = validateelement('db', document.getElementById('db'));
    }
    valid = (valid1 == true && valid2 == true && valid3 == true && valid4 == true && valid5 == true && valid6 == true && valid7 && valid8);
    return valid;
}
function getOptInName() {
    var elements = document.getElementsByTagName('input');
    for (var i = 0; i < elements.length; i++) {
        if (elements[i].name.indexOf("optin") > -1 && elements[i].type != "hidden") {
            alert(elements[i].name);
            return elements[i].name;
        }
    }
}
function makevalid(myelement) {
    try {
        myelement.style.backgroundColor = '';
        //myelement.parentNode.style.backgroundColor = '';
    }
    catch (e) {
        myelement[0].style.backgroundColor = '';
        myelement[0].parentNode.style.backgroundColor = '';
        myelement[1].style.backgroundColor = '';
        myelement[1].parentNode.style.backgroundColor = '';
    }
    return true;
}
function makeinvalid(myelement) {
    try {
        myelement.style.backgroundColor = '#FA9999';
        //myelement.parentNode.style.backgroundColor = '#FA9999';
    }
    catch (e) {
        myelement[0].style.backgroundColor = '#FA9999';
        myelement[0].parentNode.style.backgroundColor = '#FA9999';
        myelement[1].style.backgroundColor = '#FA9999';
        myelement[1].parentNode.style.backgroundColor = '#FA9999';
    }
    return false;
}
function validateelement(type, myelement) {
    var valid = false;
    switch (type) {
        case 'blank':
            if (myelement.value != "")
                valid = true;
            break;
        case 'email':
            var tregExp = /\s+/g;
            myelement.value = myelement.value.replace(tregExp, "");
            if (isEmail(myelement.value))
                valid = true;
            break;
        case 'zipcode':
            if (isZipCode(myelement.value))
                valid = true;
            break;
        case 'name':
            if (isName(myelement.value))
                valid = true;
            break;
        case 'checked':
            if (isChecked(myelement))
                valid = true;
            break;
        case 'length3':
            if (isLength3(myelement))
                valid = true;
            break;
        case 'length4':
            if (isLength4(myelement))
                valid = true;
            break;
        case 'db':
            if (isaDate(myelement.value))
                valid = true;
            break;
    }
    if (valid)
        return makevalid(myelement);
    else
        return makeinvalid(myelement);
}

function isChecked(myelement) {
    var temp = myelement.length;
    if (temp == 1)
        return (myelement[0].checked);
    else
        return (myelement[temp - 1].checked || myelement[temp - 2].checked);
}


function isaDate(d) {
    var isValid = isOverLegalAge(d, 18);
    errors["legalAge"] = null;
    if (!isValid) {
        errors["legalAge"] = "You must be over 18 to continue";
    }
    return isValid;
}


function isName(s) {
    s = s.split(' ').join('');
    if (!JustLetters(s))
        return false;
    if (s.length >= 2) {
        return true;
    }
    return false;
}
function JustLetters(s) {
    s = s.toLowerCase();
    for (var i = 0; i < s.length; i++) {
        var c = s.charAt(i);

        if (c == "-") return true;

        if (c < "a" || c > "z") return false;
    }
    return true;
}
function JustDigits(s) {
    for (var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (c < "0" || c > "9") return false;
    }
    return true;
}
function isLength3(myelement) {
    return (myelement.value.length == 3);
}
function isLength4(myelement) {
    return (myelement.value.length == 4);
}
function isEmail(s) {
    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    if (filter.test(s))
        return true;
    else
        return false;
}
function isZipCode(s) {
    if (!JustDigits(s))
        return false;
    if (s.length == 5) {
        return true;
    }
    return false;
}
function swapDivs(number) {
    var div1 = document.getElementById('formbox1');
    var div2 = document.getElementById('formbox2');
    var div3 = document.getElementById('formbox3');
    switch (number) {
        case 1:
            showsingle(div1);
            hidesingle(div2);
            hidesingle(div3);
            return (false);
        case 2:
            showsingle(div2);
            hidesingle(div1);
            hidesingle(div3);
            return (false);
        case 3:
            showsingle(div3);
            hidesingle(div1);
            hidesingle(div2);
            return (false);
    }
}
function showsingle(div) {
    div.style.visibility = 'visible';
    div.style.display = '';
}
function hidesingle(div) {
    div.style.visibility = 'hidden';
    div.style.display = 'none';
}
function swapImages(number) {
    var img1 = document.getElementById('formheaderimage');
    switch (number) {
        case 1:
            img1.src = "/images/city1p1/form_head1.gif";
            img1.alt = "Complete these 3 easy steps to get your cash advance within 24 hours!";
            return (false);
        case 2:
            img1.src = "/images/city1p1/form_head2.gif";
            img1.alt = "Tell us who you are so your cash lender will know who to send the cash to.";
            return (false);
        case 3:
            img1.src = "/images/city1p1/form_head3.gif";
            img1.alt = "Answer these final questions to pre-qualify for your cash loan!";
            return (false);
    }
}
function deposit(s) {
    var myelement = document.getElementById('receive_pay');
    switch (s) {
        case 'yes':
            myelement.options[1].selected = true;
            break;
        case 'no':
            myelement.options[4].selected = true;
            break;
    }
}
function income(s) {
    var myelement = document.getElementById('monthly_income');
    switch (s) {
        case 'yes':
            myelement.options[3].selected = true;
            break;
        case 'no':
            myelement.options[2].selected = true;
            break;
    }
}
