﻿function validate(FirstName, LastName, Email, Phone, Comments) {
    if (document.getElementById(FirstName).value == "") {
        document.getElementById(FirstName).focus();
        alert("Please enter first name.");
        return false;
    }
    else if (document.getElementById(LastName).value == "") {
        document.getElementById(LastName).focus();
        alert("Please enter last name.");
        return false;
    }
    else if (document.getElementById(Email).value == "") {
        document.getElementById(Email).focus();
        alert("Please enter email address.");
        return false;
    }

    if (!checkEmail(document.getElementById(Email))) {
        document.getElementById(Email).focus();
        alert("Please enter valid email address.");
        return false;
    }
    else if (document.getElementById(Phone).value == "") {
        document.getElementById(Phone).focus();
        alert("Please enter phone number.");
        return false;
    }
//    else if (!checkPhone(document.getElementById(Phone))) {
//        document.getElementById(Phone).focus();
//        alert("Please enter valid phone number.");
//        return false;
//    }
    else if (document.getElementById(Comments).value != "") {
        var substr = document.getElementById(Comments).value;
        if (substr.length > 255) {
            document.getElementById(Comments).focus();
            alert("Comments can not be more than 255 characters.");
            return false;
        }
    }
}

function ValidateContract(FullName, Email, Inquary) {
    if (document.getElementById(FullName).value == "") {
        document.getElementById(FullName).focus();
        alert("Please enter full name.");
        return false;
    }
    else if (document.getElementById(Email).value == "") {
        document.getElementById(Email).focus();
        alert("Please enter email address.");
        return false;
    }
    if (!checkEmail(document.getElementById(Email))) {
        document.getElementById(Email).focus();
        alert("Please enter valid email address.");
        return false;
    }
    else if (document.getElementById(Inquary).value == 0) {
        document.getElementById(Inquary).focus();
        alert("Please select nature of inquiry.");
        return false;
    }
}

function ValidateStart(FullName, Email, Inquary, Phone) {
    if (document.getElementById(FullName).value == "") {
        document.getElementById(FullName).focus();
        alert("Please enter full name.");
        return false;
    }
    else if (document.getElementById(Email).value == "") {
        document.getElementById(Email).focus();
        alert("Please enter email address.");
        return false;
    }
    if (!checkEmail(document.getElementById(Email))) {
        document.getElementById(Email).focus();
        alert("Please enter valid email address.");
        return false;
    }
    else if (document.getElementById(Inquary).value == 0) {
        document.getElementById(Inquary).focus();
        alert("Please select nature of inquiry.");
        return false;
    }
    else if (document.getElementById(Phone).value == "") {
        document.getElementById(Phone).focus();
        alert("Please enter phone number.");
        return false;
    }
//    else if (!checkPhone(document.getElementById(Phone))) {
//        document.getElementById(Phone).focus();
//        alert("Please enter valid phone number.");
//        return false;
//    }
}


function validateNetwork(FirstName, LastName, Address, City, State, ZipCode, Phone, Email, Agree, Itunes, AppUrl, password, conpassword) {
    if (document.getElementById(FirstName).value == "") {
        document.getElementById(FirstName).focus();
        alert("Please enter first name.");
        return false;
    }
    else if (document.getElementById(LastName).value == "") {
        document.getElementById(LastName).focus();
        alert("Please enter last name.");
        return false;
    }
    else if (document.getElementById(Address).value == "") {
        document.getElementById(Address).focus();
        alert("Please enter address.");
        return false;
    }
    else if (document.getElementById(City).value == "") {
        document.getElementById(City).focus();
        alert("Please enter city.");
        return false;
    }
    else if (document.getElementById(State).value == 0) {
        document.getElementById(State).focus();
        alert("Please select state.");
        return false;
    }
    else if (document.getElementById(City).value == "") {
        document.getElementById(City).focus();
        alert("Please enter city.");
        return false;
    }
    else if (document.getElementById(ZipCode).value == "") {
        document.getElementById(ZipCode).focus();
        alert("Please enter zipcode.");
        return false;
    }

    else if (!ValidateZipCode(document.getElementById(ZipCode))) {
        alert("Please enter valid zipcode.");
        return false;
    }
    else if (document.getElementById(Phone).value == "") {
        document.getElementById(Phone).focus();
        alert("Please enter phone number.");
        return false;
    }
//    else if (!checkPhone(document.getElementById(Phone))) {
//        document.getElementById(Phone).focus();
//        alert("Please enter valid phone number.");
//        return false;
//    }
    else if (document.getElementById(Email).value == "") {
        document.getElementById(Email).focus();
        alert("Please enter email.");
        return false;
    }
    else if (!checkEmail(document.getElementById(Email))) {
        document.getElementById(Email).focus();
        alert("Please enter valid email.");
        return false;
    }
    else if (document.getElementById(password).value == "") {
        document.getElementById(password).focus();
        alert("Please enter password.");
        return false;
    }
    else if (document.getElementById(password).value != "") {
        var substr = document.getElementById(password).value;
        if (substr.length < 6) {
            document.getElementById(password).focus();
            alert("Password should contain more than 5 charecters.");
            return false;
        }
    }
    
    if (document.getElementById(conpassword).value == "") {
        document.getElementById(conpassword).focus();
        alert("Please enter confirm password.");
        return false;
    }
    if (document.getElementById(Itunes).checked) {        
        if (document.getElementById(AppUrl).value == "") {
            document.getElementById(AppUrl).focus();
            alert("Please enter application name.");
            return false;
        }
    }

    if (document.getElementById(Agree).checked == false) {
        document.getElementById(Agree).focus();
        alert("Please read and agree to the terms of service.");
        return false;
    }
}

function CheckValidation(FullName, Address, City, State, ZipCode, Email, ValidCard, ExpCard) {
    if (document.getElementById(FullName).value == "") {
        document.getElementById(FullName).focus();
        alert("Please enter cardholder name.");
        return false;
    }
    else if (document.getElementById(Address).value == "") {
        document.getElementById(Address).focus();
        alert("Please enter address.");
        return false;
    }
    else if (document.getElementById(City).value == "") {
        document.getElementById(City).focus();
        alert("Please enter city.");
        return false;
    }
    else if (document.getElementById(State).value == 0) {
        document.getElementById(State).focus();
        alert("Please select State.");
        return false;
    }
    else if (document.getElementById(City).value == "") {
        document.getElementById(City).focus();
        alert("Please enter city.");
        return false;
    }
    else if (document.getElementById(ZipCode).value == "") {
        document.getElementById(ZipCode).focus();
        alert("Please enter zipcode.");
        return false;
    }

    if (!ValidateZipCode(document.getElementById(ZipCode))) {
        alert("Please enter valid zipcode.");
        return false;
    }
    else if (document.getElementById(Email).value == "") {
        document.getElementById(Email).focus();
        alert("Please enter email address.");
        return false;
    }
    else if (!checkEmail(document.getElementById(Email))) {
        document.getElementById(Email).focus();
        alert("Please enter valid email address.");
        return false;
    }
    if (document.getElementById(ValidCard).value != "") {
        var strCC = document.getElementById(ValidCard).value;
        if (!cardval(strCC)) {
            alert("Please enter a valid credit card number.");
            document.getElementById(ValidCard).focus();
            return false;
        }
    }
    if (document.getElementById(ValidCard).value != "") {
        if (document.getElementById(ExpCard).value == "") {
            alert("Please enter expiration date.");
            document.getElementById(ExpCard).focus();
            return false;
        }
    }
    if (document.getElementById(ExpCard).value != "") {
        var ExpCC = document.getElementById(ExpCard).value;
        var ExpMon = ExpCC.substring(0, 2);
        var Expyy = ExpCC.substring(2, 4);
        if (ExpCC.length < 4) {
            alert("Please enter a valid expiration date.");
            document.getElementById(ExpCard).focus();
            return false;
        }
        else if (ExpMon > 12) {
            alert("Please enter a valid expiration date.");
            document.getElementById(ExpCard).focus();
            return false;
        }
        else {

            var today = new Date();
            var Currentyear = today.getFullYear();
            var CurrentMonth = today.getMonth() + 1;
            var Currentday = today.getDate();
            curYear = Currentyear.toString().slice(2);
            if (Expyy < curYear) {
                alert("Please enter a valid expiration date.");
                document.getElementById(ExpCard).focus();
                return false;
            }
            if (Expyy == curYear && ExpMon < CurrentMonth) {
                alert("Please enter a valid expiration date.");
                document.getElementById(ExpCard).focus();
                return false;
            }

        }
    }
}

function cardval(s) {
    // remove non-numerics
    var v = "0123456789";
    var w = "";
    for (i = 0; i < s.length; i++) {
        x = s.charAt(i);
        if (v.indexOf(x, 0) != -1)
            w += x;
    }
    // validate number
    j = w.length / 2;
    if (j < 6.5 || j > 8 || j == 7) return false;
    k = Math.floor(j);
    m = Math.ceil(j) - k;
    c = 0;
    for (i = 0; i < k; i++) {
        a = w.charAt(i * 2 + m) * 2;
        c += a > 9 ? Math.floor(a / 10 + a % 10) : a;
    }
    for (i = 0; i < k + m; i++) c += w.charAt(i * 2 + 1 - m) * 1;
    return (c % 10 == 0);
}


function CheckValidUrl(strUrl) {
    if (strUrl != '') {
        var v = new RegExp();
        v.compile("^(?:http:\/\/)?(?:[\w-][\w-]+\.)+\\.[A-Za-z0-9-_&\?\/.=]+\\.[A-Za-z\?\/.=]{2,6}");
        if (!v.test(strUrl)) {
            return false;
        } else {
            return true;
        }
    }
    return true;
}

function ValidateZipCode(ZipCode) {
    var number = ZipCode.value;
    if (number.match(/^\d{5}$/)) {
        if (number === '00000')
            return false;
        else
            return true;
    }
    else {
        return false;
    }
}
function checkEmail(email) {
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    str = email.value;
    if (str.match(emailRegEx)) {
        return true;
    } else {
        return false;
    }
}

function checkPhone(Phone) {

    var number = Phone.value;
    if (!number.match(/\d{3}\-\d{3}\-\d{4}/)) {
        return false;
    }
    else {
        return true;
    }

}
function limitText(limitField, limitCount, limitNum) {
    if (document.getElementById(limitField).value.length > limitNum) {
        document.getElementById(limitField).value = document.getElementById(limitField).value.substring(0, limitNum);
    } else {
        document.getElementById(limitCount).innerHTML = limitNum - document.getElementById(limitField).value.length;
    }

}

function SearchtextBox(e) {
    if (document.getElementById(e).value != "")
        document.getElementById(e).value = "";
}

// Dot net controls validation
function validateKeypressedIsNumeric(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("0123456789. ").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

// Dot net controls validation
function validateKeypressedIsNumericDot(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("0123456789.").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function validateKeypressedIsNumberOnly(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function validateKeypressedIsPhoneNumberOnly(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("0123456789").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}


function validateKeypressedIsAlphaNumeric(evt) {

    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   

    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789#-,/(). ").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}
function validateKeypressedIsAlpha(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);

    if ((key == null)|| (key == 9) || (key == 13) || (key == 27)) {
            return false;
        }
    else if ((key == 0) || (key == 8)) {
           return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function validateKeypressedIsAlphaWithSpace(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW ").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}
function validateKeypressedIsRangeAlpha(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789 -").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function validateKeypressedIsAlphaSpecial(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW&\".' ").indexOf(keychar) > -1)) {
        return true;

    }
    else
        return false;
}

function validateKeypressedIsAlphaNumericSpecial(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789 /:.").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function validEmailCharaters(evt) {
    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox
    keychar = String.fromCharCode(key);
    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789@._-").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}

function capWords(elementID) {
    var inputString = document.getElementById(elementID);

    var outputString = document.getElementById(elementID); // The output text field
    var tmpStr, tmpChar, preString, postString, strlen;
    tmpStr = inputString.value.toLowerCase();
    stringLen = tmpStr.length;
    if (stringLen > 0) {
        for (i = 0; i < stringLen; i++) {
            if (i == 0) {
                tmpChar = tmpStr.substring(0, 1).toUpperCase();
                postString = tmpStr.substring(1, stringLen);
                tmpStr = tmpChar + postString;
            }
            else {
                tmpChar = tmpStr.substring(i, i + 1);
                if (tmpChar == " " && i < (stringLen - 1)) {
                    tmpChar = tmpStr.substring(i + 1, i + 2).toUpperCase();
                    preString = tmpStr.substring(0, i + 1);
                    postString = tmpStr.substring(i + 2, stringLen);
                    tmpStr = preString + tmpChar + postString;
                }
            }
        }
    }
    outputString.value = tmpStr;
}

function Length(sText) {
    var Length;
    sText = sText.replace(/\s+/g, '');
    if (sText.length > 5) {
        Length = true;
    }
    else {
        Length = false;
    }

    return Length;
}
function validateKeypressedIsPassword(evt) {

    var keychar;
    var key;
    if (window.event)
        key = window.event.keyCode; // IE
    else
        key = evt.which; // Firefox   

    keychar = String.fromCharCode(key);

    if ((key == null) || (key == 9) || (key == 13) || (key == 27)) {
        return false;
    }
    else if ((key == 0) || (key == 8)) {
        return true;
    }
    else if ((("abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789`~!@#$%^&*()-_=+\|[]{};:',.<>?/\"").indexOf(keychar) > -1)) {
        return true;
    }
    else
        return false;
}
function HasUpperLower(sText) {
    var ValidChars = " abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789";
    var HasUpperLower;
    var Char;
    var UChar = 0;
    var LChar = 0;

    for (i = 0; i < sText.length; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) > 0) {

            if (Char == Char.toUpperCase()) {
                if (UChar == 0) {
                    UChar = 1;
                }
            }
            else {
                if (LChar == 0) {
                    LChar = 1;
                }
            }
        }
    }
    if ((UChar == 1) && (LChar == 1)) {
        HasUpperLower = true;
    }
    else {
        HasUpperLower = false;
    }

    return HasUpperLower;
}


function HasUpperLowerChar(sText) {
    var ValidChars = "abcdefghijklmnopqrstuvxyzwABCDEFGHIJKLMNOPQRSTUVXYZW0123456789";
    var HasUpperLower;
    var Char;
    var UChar = 0;
    var LChar = 0;
    for (i = 0; i < sText.length; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) > 0) {

            if (Char == Char.toUpperCase()) {
                if (UChar == 0) {
                    UChar = 1;
                }
            }
            else {
                if (LChar == 0) {
                    LChar = 1;
                }
            }
        }
    }
    if ((UChar == 1) || (LChar == 1)) {
        HasUpperLower = true;
    }
    else {
        HasUpperLower = false;
    }

    return HasUpperLower;
}


function HasSpecialChar(sText) {
    var ValidChars = "`~!@#$%^&*()-_=+\|[]{};:',.<>?/\"";
    var HasSpecialChar;
    var Char;

    for (i = 0; i < sText.length; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) > 0) {
            HasSpecialChar = true;
            break;
        }
        else {
            HasSpecialChar = false;
        }
    }
    return HasSpecialChar;
}

function CheckPassword(passwordValue) {

    fnPasswordStrength(passwordValue);
    if (passwordValue == '') {
        document.getElementById("passwordstrength").style.display = "none";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '';
    }
}

function fnPasswordStrength(passwordValue) {

    if ((Length(passwordValue) == true)
        && (HasUpperLower(passwordValue) == true)
		&& (HasSpecialChar(passwordValue) == true)) {
        document.getElementById("passwordstrength").style.display = "block";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '#4AE817';
        document.getElementById('passwordtext').innerHTML = "Very Strong";
    }
    else if ((Length(passwordValue) == true)
            && (HasUpperLower(passwordValue) == true)) {
        document.getElementById("passwordstrength").style.display = "block";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '#ffff00';
        document.getElementById('passwordtext').innerHTML = "Normal";
    }
    else if ((Length(passwordValue) == true)
            && (HasSpecialChar(passwordValue) == true)) {
        document.getElementById("passwordstrength").style.display = "block";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '#6AC3D0';
        document.getElementById('passwordtext').innerHTML = "Strong";
    }
    else if ((Length(passwordValue) == true)
        && (HasUpperLower(passwordValue) == true)
        && (HasSpecialChar(passwordValue) == true)) {
        document.getElementById("passwordstrength").style.display = "block";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '#6AC3D0';
        document.getElementById('passwordtext').innerHTML = "Strong";
    }
    else if ((Length(passwordValue) == true)
            && (HasUpperLowerChar(passwordValue) == true)) {
        document.getElementById("passwordstrength").style.display = "block";
        document.getElementById('btnPasswordStrength').style.backgroundColor = '#ff0000';
        document.getElementById('passwordtext').innerHTML = "Weak";
    }
}

function ComparePassword(Password, ConfirmPassword) {
    if (document.getElementById(Password).value != "") {
        var Pass = document.getElementById(Password).value;
        var ConPass = document.getElementById(ConfirmPassword).value;
        if (document.getElementById(ConfirmPassword).value != "") {
            if (Pass != ConPass) {
                document.getElementById(ConfirmPassword).value = "";
                document.getElementById(ConfirmPassword).focus();
                alert("Password does not match.");
                return false;
            }
        }
    }
}

function mask(f) {
    var numb = f.value;
    for (var i = 0; i < numb.length; i++) {
        var numb = numb.replace("-", "");
    }
    if (numb.length < 10) {
        f.value = numb;
        return;
    }
    if (numb.match(/\d{3}\-\d{3}\-\d{4}/)) {
        return;
    }
    tel = '';
    var val = numb.split('');
    for (var i = 0; i < val.length; i++) {
        if (i == 2) { val[i] = val[i] + '-' }
        if (i == 5) { val[i] = val[i] + '-' }
        tel = tel + val[i]
    }
    f.value = tel;
} 