﻿

var txtFirstNameId = "ctl00_ContentPlaceHolder1_txtFirstName"
var txtLastNameId = "ctl00_ContentPlaceHolder1_txtLastName";
var txtZipCodeId = "ctl00_ContentPlaceHolder1_txtZipCode";
var txtEmailId = "ctl00_ContentPlaceHolder1_txtEmail";
var txtStreetAddressId = "ctl00_ContentPlaceHolder1_txtStreetAddress";
var dobMonthId = "ctl00_ContentPlaceHolder1_dob_month";
var dobYearId = "ctl00_ContentPlaceHolder1_dob_year";
var dobDayId = "ctl00_ContentPlaceHolder1_dob_day";
var txtPhoneId = "ctl00_ContentPlaceHolder1_txtPhone";
// var nameRegEx = /^[A-Za-z]+[A-Za-z]+[a-zA-Z]*$/;
var nameRegEx = /.*/;
var emailRegEx = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
var phoneRegEx = /^(\([2-9]|[2-9])(\d{2}|\d{2}\))(-|.|\s)?\d{3}(-|.|\s)?\d{4}$/;
// var zipCodeRegEx = /(^\d{5}(-\d{4})?$)|(^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$)/;
var zipCodeRegEx = /^\d{5}$/;




var COMBO_FORM_TYPE = "combo";
var RADIO_FORM_TYPE = "radio";

String.prototype.Trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
}



function ValidateForm() {

    $("#isZipCodeValid").val("");
    if ($("#" + txtFirstNameId).val() == '') {

        $("#error_moving").css("display", "block");
        $("#error_moving").css("visibility", "visible");
        SetErrorMsg("You haven't filled in your first name");
        return false;
    }

    if ($("#" + txtLastNameId).val() == '') {

        ShowErrorMsg("You haven't filled in your last name", -60);
        return false;
    }

    if ($("#" + txtZipCodeId).val() == '') {
        ShowErrorMsg("You haven't filled in your zip code", -40);
        return false;
    }

    if ($("#" + txtEmailId).val() == '') {
        ShowErrorMsg("You haven't filled in your email", -15);
        return false;
    } else if (!echeck($("#" + txtEmailId).val())) {
        ShowErrorMsg("Your email is not valid", -20);
        return false;

    }


    if ($("#" + dobMonthId).attr("selectedIndex") == 0) {
        ShowErrorMsg("You haven't chosen a birth month", 20);
        return false;

    }
    if ($("#" + dobDayId).attr("selectedIndex") == 0) {
        ShowErrorMsg("You haven't chosen a birth day", 20);
        return false;

    }

    if ($("#" + dobYearId).attr("selectedIndex") == 0) {
        ShowErrorMsg("You haven't chosen a birth year", 20);
        return false;

    }

    return true;

}

function IsStartsWithADigit(value) {

    value = value.replace(/^\s+/, '');
    var firstChar = value.toString().substring(0, 1);
    return (firstChar >= "0" && firstChar <= "9");
}




//
// clears the string s from any characters that are in charsToClear
//

function ClearChars(s, charsToClear) {
    var i;
    var returnString = "";
    for (i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if (charsToClear.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}








function IsRadioItemSelected(radioListName) {

    var radioListItems = document.getElementsByName(radioListName);

    for (var j = 0; j < radioListItems.length; j++) {

        if (radioListItems[j].checked)
            return true;
            
    }

    return false;

}

function IsDropDownItemSelected(ddlId) {

    return ($("#" + ddlId).attr("selectedIndex") != 0);
}

function GetDropDownSelectedValue(ddlId) {

   return document.getElementById(ddlId).options[document.getElementById(ddlId).selectedIndex].value;
    
}


function GetRadioListSelectedValue(radioListName)
{
    var radioListItems = document.getElementsByName(radioListName);
    
    for (var j = 0; j < radioListItems.length; j++) {

        if (radioListItems[j].checked)
            return radioListItems[j].value;
            
    }
    
    return null;
    
}


function IsValidZipCode(elementId) {

    return $("#" + elementId).val().Trim().match(zipCodeRegEx);
}

function IsValidEmail(elementId) {
    $("#" + elementId).val().Trim().match(emailRegEx)
}

function echeck(str) {

    var at = "@"
    var dot = "."
    var lat = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    if (str.indexOf(at) == -1) {
        return false
    }

    if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr) {
        return false
    }

    if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr) {
        return false
    }

    if (str.indexOf(at, (lat + 1)) != -1) {
        return false
    }

    if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot) {
        return false
    }

    if (str.indexOf(dot, (lat + 2)) == -1) {
        return false
    }

    if (str.indexOf(" ") != -1) {
        return false
    }

    return true
}



function SetErrorMsg(msg) {

    $("#errMsg").html(msg);

}


function ClearErrorMsg() {

    $("#error_moving").css("display", "none");
}



function CapitalizeFirstChar(e, id) {

    var keyID = (window.event) ? event.keyCode : e.keyCode;
    if (keyID >= 65 && keyID <= 90) { //Lower case char
        var firstChar = $("#" + id).val().substr(0, 1);
        if (firstChar >= 'a' && firstChar <= 'z') {
            $("#" + id).val(firstChar.toUpperCase() + $("#" + id).val().substr(1))
        }
    }
}

