﻿// JScript File
function ValidateForm() 
{
  
  var isValid = true;
  
  if( !IsEmailRequired("emBox","yesBox","email","errorEmailRequired")
    | !IsInputValueMatch("email","email2","errorVerifyEmail")
    | !IsEmailFormatValid("email","errorEmail")
    | !IsPhoneFormatValid("altPhone1","altPhone2","altPhone3","errorAltPhone")
    | !IsPhoneFormatValid("workPhone1","workPhone2", "workPhone3","errorWorkPhone")
    | !IsPhoneFormatValid("homePhone1","homePhone2", "homePhone3","errorHomePhone")
    | !IsZipFormatValid("zip","errorZip")
    | !IsInputValueMatch("account","account2","errorVerifyAccount")
    | !IsAccountFormatValid("account","errorAccountFormat")
    | !IsRequiredFieldValid("account","errorAccount")
    | !IsRequiredFieldValid("lastName","errorLastName")
    | !IsRequiredFieldValid("firstName","errorFirstName")
    )
  {
        
    isValid = false;
  }


  return isValid;
}

function IsAccountFormatValid(inputName, errorName)
{
  var emailExp = new RegExp(/^(\d{8}\-\d{2})+$/);
  
  var input = document.getElementById(inputName);
	var isValid = true;
	
	if( input != null 
	    && input != undefined )
	  if( input.type == "text"
      && !emailExp.test(input.value) 
      && input.value.trim().length != 0)
      {
        isValid = false;
        input.select();
        input.focus();
      }
    
	if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
	
	return isValid;
}

function IsEmailRequired(primaryInputName, secondaryInputName ,emailName,errorName)
{
  var isValid = false;
  var inputPrime = document.getElementById(primaryInputName);
  var inputSec = document.getElementById(secondaryInputName);
  var emailinput = document.getElementById(emailName);
  
  if(inputPrime != undefined 
     && inputPrime != null
     && inputSec != undefined 
     && inputSec != null
     && emailinput != undefined 
     && emailinput != null
    )
  {
    if( (inputPrime.checked || inputSec.checked)
        && emailinput.value.trim().length != 0)
      isValid = true;
    else if(!inputPrime.checked && !inputSec.checked)
      isValid = true;
    else
    {
      isValid = false;
      emailinput.select();
      emailinput.focus();
    }
  }
  
  if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
    
  return isValid;
}

function IsInputValueMatch(primeInputName, secondaryInputName, errorName)
{
  var isValid = false;
  var primeInput = document.getElementById(primeInputName);
  var secondaryInput = document.getElementById(secondaryInputName);
  
  if(primeInput != undefined 
     && primeInput != null 
     && secondaryInput != undefined 
     && secondaryInput != null)
  {
    if(primeInput.value == secondaryInput.value)
      isValid = true;
  }
  
  
  
  if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
  
  return isValid;
  
}


function IsEmailFormatValid(inputName, errorName)
{
  var emailExp = new RegExp(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/);
  
  var input = document.getElementById(inputName);
	var isValid = true;
	
	if( input != null 
	    && input != undefined )
	  if( input.type == "text"
      && !emailExp.test(input.value) 
      && input.value.trim().length != 0)
      {
        isValid = false;
        input.select();
        input.focus();
      }
    
	if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
	
	return isValid;
}

function IsZipFormatValid(inputName, errorName)
{                         
  var zipExp = new RegExp(/(^\d{5}$)|(^\d{5}-\d{4}$)/);
  
  var input = document.getElementById(inputName);
	var isValid = true;
	
	if( input != null 
	    && input != undefined )
	  if( input.type == "text"
      && !zipExp.test(input.value) 
      && input.value.trim().length != 0)
      {
        isValid = false;
        input.select();
        input.focus();
      }
    
	if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
	
	return isValid;
}

function IsPhoneFormatValid(inputName1,inputName2,inputName3, errorName)
{
  var phoneExp = new RegExp(/^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/);
  
  var input1 = document.getElementById(inputName1);
	var input2 = document.getElementById(inputName2);
  var input3 = document.getElementById(inputName3);
  
  var isValid = true;
	
  if( input1 != null 
	    && input1 != undefined
      && input1.type == "text" 
      && input2 != null 
	    && input2 != undefined 
      && input2.type == "text"
      && input3 != null 
	    && input3 != undefined 
      && input3.type == "text")
      {
        
        if(input1.value.trim().length > 0
          || input2.value.trim().length > 0
          || input3.value.trim().length > 0)
        {
          var phone = "(" + input1.value.trim() + ")" + input2.value.trim() + "-" + input3.value.trim();
          
          if(!phoneExp.test(phone) )
          {
            isValid = false;
            input1.select();
            input1.focus();
          }
        }
      }
      
  
      
  
    
	if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
	
	return isValid;
}

function IsRequiredFieldValid(inputName, errorName)
{
  var input = document.getElementById(inputName);
	var isValid = true;
	
	if( input != null 
	    && input != undefined )
	  if( input.type == "text"
      && (input.value == undefined
      || input.value.trim().length == 0))
      {
        isValid = false;
        input.select();
        input.focus();
      }
    
	if(!isValid)
	  DisplayErrorMsg(errorName);
	else
	  HideErrorMsg(errorName);
	
	return isValid;
}

function DisplayErrorMsg(errorName)
{
  var inputError = document.getElementById(errorName);
	
  if( inputError != null 
	    && inputError != undefined)
	{
    inputError.style.display = "inline";
  }
  
}

function HideErrorMsg(errorName)
{
  var inputError = document.getElementById(errorName);
	
  //if field is not valid then we display the error message.
	if( inputError != null 
	    && inputError != undefined)
	{
    inputError.style.display = "none";
  }
  
}

function checkInt(object){
 if(!validateInteger( object.value ))
    object.value = 1;
}

function validateInteger( strValue ) {
  var objRegExp  = /(^-?\d\d*$)/;
  return objRegExp.test(strValue);
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}







