﻿//Removes all leading and trailing spaces
function replaceSpace(str)
{
    return str.replace(/^\s*([\S\s]*?)\s*$/, '$1');
}

//Validates the controls in Guided Tour page
function Validate_Guided_Tour(source, arguments)
{
    var FirstFailedField;
    var flag = 0;

    //Replace spaces in all fields
    document.getElementById("txtFirstName").value = replaceSpace(document.getElementById("txtFirstName").value); 
    document.getElementById("txtLastName").value = replaceSpace(document.getElementById("txtLastName").value); 
    document.getElementById("txtOrganizationName").value = 
    replaceSpace(document.getElementById("txtOrganizationName").value); 
    document.getElementById("txtEmail").value = replaceSpace(document.getElementById("txtEmail").value);
    document.getElementById("txtPhoneNo").value = replaceSpace(document.getElementById("txtPhoneNo").value);  

    //Verify if all the required fields are entered
    if(document.getElementById('valRequiredFirstName').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtFirstName';
        }
    }
    if(document.getElementById('valRequiredLastName').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtLastName';
        }
    }
    if(document.getElementById('valRequiredEmail').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtEmail';
        }
    }
    if(document.getElementById('valRequiredPhone').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtPhoneNo';
        }
    }

    //If the required fields are not entered, display message
    if ( flag == 1)
    {
        arguments.IsValid = false;
        //Start for CR 298685
        alert('Please enter the required field(s).');
        //End for CR 298685
        document.getElementById(FirstFailedField).focus();
    }
    else 
    {
        //validate all the fields
        ValidateFieldsForGuidedTour();
    } 
}

//Validates all the fields in the Guided Tour page
function ValidateFieldsForGuidedTour()
{       
    var bValid = true;
    var bValidPhone = true;
    var sField;

    //Validate first name, last name, organization name, email address and phone number fields
    if(document.getElementById('valRegularExpFirstName').isvalid == false)
    {
        sField = 'txtFirstName';        
        bValid = false;
    }    
    else if(document.getElementById('valRegularExpLastName').isvalid == false)
    {
        sField = 'txtLastName';        
        bValid = false;
    } 
    else if(document.getElementById('valCustomOrg').isvalid == false)
    {
        sField = 'txtOrganizationName';        
        bValid = false;
    }     
    else if(document.getElementById('valRegularExpEmailId').isvalid == false)
    {
        sField = 'txtEmail';        
        bValid = false;
    }   
    else if(document.getElementById('valRegularExpPhone').isvalid == false)
    {
        sField = 'txtPhoneNo';        
        bValid = false;
        bValidPhone = false;
    }    
    if (!bValid)
    {
        //If phone number field has invalid data, display message
        if (!bValidPhone)
        {
            alert("Please enter a valid phone number format XXX-XXX-XXXX.\nStarting digit should be between (2 - 9)"); 
        }       
        else
        {
            //Start for CR 298685
            alert("Please enter the correct data type value(s) for the field(s)."); 
            //End for CR 298685
        }
        document.getElementById(sField).focus();
    }
}

//Validate the controls in Request Info page
function Validate_Request_Info(source, arguments)
{
    var FirstFailedField;
    var flag = 0; 

    //Replace spaces in all fields
    document.getElementById("txtFirstName").value = replaceSpace(document.getElementById("txtFirstName").value); 
    document.getElementById("txtLastName").value = replaceSpace(document.getElementById("txtLastName").value); 
    document.getElementById("txtOrganizationName").value = 
    replaceSpace(document.getElementById("txtOrganizationName").value); 
    document.getElementById("txtTitle").value = replaceSpace(document.getElementById("txtTitle").value);    
    document.getElementById("txtAddress").value = replaceSpace(document.getElementById("txtAddress").value);      
    document.getElementById("txtCity").value = replaceSpace(document.getElementById("txtCity").value);     
    document.getElementById("txtState").value = replaceSpace(document.getElementById("txtState").value);
    document.getElementById("txtZip").value = replaceSpace(document.getElementById("txtZip").value);      
    document.getElementById("txtEmail").value = replaceSpace(document.getElementById("txtEmail").value);
    document.getElementById("txtPhoneNo").value = replaceSpace(document.getElementById("txtPhoneNo").value); 
    document.getElementById("txtMessage").value = replaceSpace(document.getElementById("txtMessage").value);   

    //Validate all the required fields in the page
    if(document.getElementById('valRequiredFirstName').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtFirstName';
        }
    }
    if(document.getElementById('valRequiredLastName').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtLastName';
        }
    }
    if(document.getElementById('valRequiredOrganizationName').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtOrganizationName';
        }
    }    
    if(document.getElementById('valRequiredTitle').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtTitle';
        }
    }
    if(document.getElementById('valRequiredState').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtState';
        }
    }
    if(document.getElementById('valRequiredZip').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtZip';
        }
    }
    if(document.getElementById('valRequiredEmail').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtEmail';
        }
    }
    if(document.getElementById('valRequiredPhone').isvalid == false)
    {
        flag = 1;
        if(!FirstFailedField)
        {
            FirstFailedField = 'txtPhoneNo';
        }
    }
    
    //If the required fields are not entered, display message
    if ( flag == 1)
    {
        arguments.IsValid = false;
        //Start for CR 298685
        alert('Please enter the required field(s).');
        //End for CR 298685
        document.getElementById(FirstFailedField).focus();
    } 
    else 
    {
        //validate all the fields
        ValidateFieldsForRequestInfo();
    } 
}

//Validates all the fields in the Guided Tour page
function ValidateFieldsForRequestInfo()
{       
    var bValid = true;
    var bValidPhone = true;
    var sField;
    
    //Validate first name, last name, organization name, professional title, street address, city,
    //state, zip, email address, phone number and your message fields
    if(document.getElementById('valRegularExpFirstName').isvalid == false)
    {
        sField = 'txtFirstName';        
        bValid = false;
    }    
    else if(document.getElementById('valRegularExpLastName').isvalid == false)
    {
        sField = 'txtLastName';        
        bValid = false;
    }   
    else if(document.getElementById('valCustomOrg').isvalid == false)
    {
        sField = 'txtOrganizationName';        
        bValid = false;
    }    
    else if(document.getElementById('valCustomTitle').isvalid == false)
    {
        sField = 'txtTitle';        
        bValid = false;
    }     
    else if(document.getElementById('valCustomAddress').isvalid == false)
    {
        sField = 'txtAddress';        
        bValid = false;
    }           
    else if(document.getElementById('valCustomCity').isvalid == false)
    {
        sField = 'txtCity';        
        bValid = false;
    }     
    else if(document.getElementById('valCustomState').isvalid == false)
    {
        sField = 'txtState';        
        bValid = false;
    }      
    else if(document.getElementById('valRegularExpZipCode').isvalid == false)
    {
        sField = 'txtZip';        
        bValid = false;
    }   
    else if(document.getElementById('valRegularExpEmailId').isvalid == false)
    {
        sField = 'txtEmail';        
        bValid = false;
    }   
    else if(document.getElementById('valRegularExpPhone').isvalid == false)
    {
        sField = 'txtPhoneNo';        
        bValid = false;   
        bValidPhone = false;
    }     
    else if(document.getElementById('valCustomMessage').isvalid == false)
    {
        sField = 'txtMessage';        
        bValid = false;            
    }      
    if (!bValid)
    {
        //If phone number field has invalid data, display message
        if (!bValidPhone)
        {
            alert("Please enter a valid phone number format XXX-XXX-XXXX.\nStarting digit should be between (2 - 9)"); 
        }
        else
        {
            //Start for CR 298685
            alert("Please enter the correct data type value(s) for the field(s)."); 
            //End for CR 298685
           
        }
        document.getElementById(sField).focus();
    }
}

//Validates organization name, professional title, street address, city, state and your message fields
function ValidateFields(source, arguments)
{
    arguments.IsValid=true;
    var name;    
    if(source.id == "valCustomOrg")
    {
        name = document.getElementById('txtOrganizationName').value;
    }
    else if(source.id == "valCustomTitle")
    {
        name = document.getElementById('txtTitle').value;
    }
    else if(source.id == "valCustomAddress")
    {
        name = document.getElementById('txtAddress').value;
    }
    else if(source.id == "valCustomCity")
    {    
        name = document.getElementById('txtCity').value;
    }
    else if(source.id == "valCustomState")
    {
        name = document.getElementById('txtState').value;
    }    
    else if(source.id == "valCustomMessage")
    {
        name = document.getElementById('txtMessage').value;
    }
    if (name.indexOf('"') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('<') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('>') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('(') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf(')') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('{') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('}') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf('[') != -1)
    {
        arguments.IsValid=false;
    }
    else if (name.indexOf(']') != -1)
    {
        arguments.IsValid=false;
    }
}

//Checks the text length of the controls
function Count(text,length)
{
    var maxlength = new Number(length); // Change number to your max length.
    if (text.value.length > maxlength)
    {
        text.value = text.value.substring(0,maxlength);
    }
}
