﻿function validateContactForm()
{
    var Passed = true;
    var IsValid = true;
    
    // company name    
    IsValid = validateTextField('dl_361414971755680258', 'companyNameErr');
        
    if(!IsValid)
        Passed = false;

    // last name
    IsValid = validateTextField('dl_361414971755680257', 'lastNameErr');

    if (!IsValid)
        Passed = false;
    
    // first name
    IsValid = validateTextField('dl_361414971755680256', 'firstNameErr');

    if (!IsValid)
        Passed = false;
        
    // email
    IsValid = validateEmailTextField('dl_361414971755680260', 'emailErr');
    
    if(!IsValid)
        Passed = false;  
    
    return Passed;        
}

// validate text field
function validateTextField(strTextBoxID, strErrorImageID)
{
    var IsValid = false;
    
    if (document.getElementById(strTextBoxID).value == '')
    {
        IsValid = false;
        document.getElementById(strTextBoxID).className = "inputErr";
        document.getElementById(strErrorImageID).className = "on";
    }
    else
    {
        IsValid = true;
        document.getElementById(strTextBoxID).className = "";
        document.getElementById(strErrorImageID).className = "";
    }
    
    return IsValid;
}

// validate drop down field
function validateDropDownListField(strDropDownListID, strErrorImageID)
{
    var IsValid = false;

    if (document.getElementById(strDropDownListID).value == '-1')
    {
        IsValid = false;
        document.getElementById(strDropDownListID).className = "inputErr"
        document.getElementById(strErrorImageID).className = "on";
    }
    else
    {
        IsValid = true;
        document.getElementById(strDropDownListID).className = "";
        document.getElementById(strErrorImageID).className = "";
    }       
    
    return IsValid;
}

// custom validation of zip code text field
function validateZipCodeTextField(strZipCodeTextFieldID, strErrorImageID)
{
    var IsValid = false;
    var zipCode = document.getElementById(strZipCodeTextFieldID).value
    
    if (zipCode != '')
    {
        if (!IsZipCode(zipCode))
        {
            IsValid = false;
            document.getElementById(strZipCodeTextFieldID).className = "inputErr";
            document.getElementById(strErrorImageID).className = "on";
        }
        else
        {
            IsValid = true;
            document.getElementById(strZipCodeTextFieldID).className = ""
            document.getElementById(strErrorImageID).className = "";
        }
    }
    else
    {
        IsValid = false;
        document.getElementById(strZipCodeTextFieldID).className = "inputErr";
        document.getElementById(strErrorImageID).className = "on";
    }
    
    return IsValid;
}
function IsZipCode(strString)
{
    //  check for valid numeric strings	
    var strValidChars = "0123456789";
    var strChar;
    var blnResult = true;

    if (strString.length == 0) return false;
    
    if (strString.length > 5 || strString.length < 5) return false;

    //  test strString consists of valid characters listed above
    for (i = 0; i < strString.length && blnResult == true; i++)
    {
        strChar = strString.charAt(i);
        if (strValidChars.indexOf(strChar) == -1)
        {
            blnResult = false;
        }
    }
    
    return blnResult;
}

// custom validation function for phone numbers
function validatePhoneNumberTextField(strPhoneTextFieldID, strErrorImageID)
{
    var IsValid = false;
    var phone = document.getElementById(strPhoneTextFieldID).value
    
    if (phone != '')
    {
        if (!IsValidPhoneNumber(phone))
        {
            IsValid = false;
            document.getElementById(strPhoneTextFieldID).className = "inputErr";
            document.getElementById(strErrorImageID).className = "on";
        }
        else
        {
            IsValid = true;
            document.getElementById(strPhoneTextFieldID).className = ""
            document.getElementById(strErrorImageID).className = "";
        }
    }
    else
    {
        IsValid = true;
        document.getElementById(strPhoneTextFieldID).className = ""
        document.getElementById(strErrorImageID).className = "";
    }
    
    return IsValid;
}
function IsValidPhoneNumber(strString)
{
    var objRegExp  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;

    //check for valid us phone with or without space between
    //area code
    return objRegExp.test(strString);
}

// custom validation for text field
function validateEmailTextField(strEmailTextFieldID, strErrorImageID)
{
    var IsValid = false; 
    var email = document.getElementById(strEmailTextFieldID).value
    
    if (email != '')
    {
        if(!IsValidEmail(email))
        {
            IsValid = false;
            document.getElementById(strEmailTextFieldID).className = "inputErr";
            document.getElementById(strErrorImageID).className = "on";
        }
        else
        {
            IsValid = true;
            document.getElementById(strEmailTextFieldID).className = ""
            document.getElementById(strErrorImageID).className = "";
        }
    }
    else
    {
        IsValid = false;
        document.getElementById(strEmailTextFieldID).className = "inputErr"
        document.getElementById(strErrorImageID).className = "on";
    }        
    
    return IsValid;
}
function IsValidEmail(strString)
{
    var objRegExp = /(^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$)/i;

    return objRegExp.test(strString);
}

function validateSelectedModules()
{
    var IsValid = false;

    if (!IsModuleSelected())
    {
        IsValid = false;
        document.getElementById('chkModules_0').className = "inputErr";
        document.getElementById('chkModules_1').className = "inputErr";
        document.getElementById('chkModules_2').className = "inputErr";
        document.getElementById('chkModules_3').className = "inputErr";
        document.getElementById('chkModules_4').className = "inputErr";
        document.getElementById('modulesErr').className = "on";
    }
    else
    {
        IsValid = true;
        document.getElementById('chkModules_0').className = "";
        document.getElementById('chkModules_1').className = "";
        document.getElementById('chkModules_2').className = "";
        document.getElementById('chkModules_3').className = "";
        document.getElementById('chkModules_4').className = "";
        document.getElementById('modulesErr').className = "";
    }
    
    return IsValid;
}

function IsModuleSelected()
{
    var Checked = false;
    
    if (document.getElementById('chkModules_0').checked) Checked = true;
    if (document.getElementById('chkModules_1').checked) Checked = true;
    if (document.getElementById('chkModules_2').checked) Checked = true;
    if (document.getElementById('chkModules_3').checked) Checked = true;
    if (document.getElementById('chkModules_4').checked) Checked = true;

    return Checked;        
}

function ToggleSelectedModules()
{
    if (document.getElementById('chkModules_0').checked)
    {
        document.getElementById('chkModules_1').checked = false;
        document.getElementById('chkModules_1').disabled = true;
        
        document.getElementById('chkModules_2').checked = false;
        document.getElementById('chkModules_2').disabled = true;
        
        document.getElementById('chkModules_3').checked = false;
        document.getElementById('chkModules_3').disabled = true;
        
        document.getElementById('chkModules_4').checked = false;
        document.getElementById('chkModules_4').disabled = true;
    }
    else if(document.getElementById('chkModules_1').checked && document.getElementById('chkModules_2').checked && document.getElementById('chkModules_3').checked && document.getElementById('chkModules_4').checked)
    {
        document.getElementById('chkModules_0').checked = true;
            
        document.getElementById('chkModules_1').checked = false;
        document.getElementById('chkModules_1').disabled = true;
        
        document.getElementById('chkModules_2').checked = false;
        document.getElementById('chkModules_2').disabled = true;
        
        document.getElementById('chkModules_3').checked = false;
        document.getElementById('chkModules_3').disabled = true;
        
        document.getElementById('chkModules_4').checked = false;
        document.getElementById('chkModules_4').disabled = true;
    }
    else
    {
        document.getElementById('chkModules_1').disabled = false;
        document.getElementById('chkModules_2').disabled = false;
        document.getElementById('chkModules_3').disabled = false;
        document.getElementById('chkModules_4').disabled = false;
    }
}

