function toggle(obj,objname,flag){
	obj=document.getElementById(objname);
		if (flag) {
		   obj.style.display=flag
		}else {
		   obj.style.display=(obj.style.display=='none')?'block':'none'
		}
}
function TrackCount(fieldObj,countFieldName,maxChars)
{
  var countField = eval("fieldObj.form."+countFieldName);
  var diff = maxChars - fieldObj.value.length;

  // Need to check & enforce limit here also in case user pastes data
  if (diff < 0)
  {
    fieldObj.value = fieldObj.value.substring(0,maxChars);
    diff = maxChars - fieldObj.value.length;
  }
  countField.value = diff;
}

function LimitText(fieldObj,maxChars)
{
  var result = true;
  if (fieldObj.value.length >= maxChars)
    result = false;
  
  if (window.event)
    window.event.returnValue = result;
  return result;
}

function openZipLoc(pID) {
    var childwin = window.open('/ziphelp.php?pID=' + pID,'SelectZip', 'width=350,height=205,toolbar=no,scrollbars=no,resizeable=no,status=no');
    childwin.focus();
}

function validateForm()
{
    var msg = 'Attention, all fields are mandatory.';
    if(document.form1.ldFirstName.value == "")
    {
        alert(msg);
        document.form1.ldFirstName.focus();
        return false;
    }
    if(document.form1.ldLastName.value == "")
    {
        alert(msg);
        document.form1.ldLastName.focus();
        return false;
    }
    if(document.form1.ldAddress.value == "")
    {
        alert(msg);
        document.form1.ldAddress.focus();
        return false;
    }   
    if(document.form1.ldZip.value == "")
    {
        alert(msg);
        document.form1.ldZip.focus();
        return false;
    }  
    else
     {
        if(!validateUSZip(document.form1.ldZip.value))
        {
            alert('Please, verify your ZipCode');
            document.form1.ldZip.focus();
            return false;
        }
    }
    if(document.form1.ldDayPhone.value == "")
    {
        alert(msg);
        document.form1.ldDayPhone.focus();
        return false;
    }   
    else
    {
        if(!validateUSPhone(document.form1.ldDayPhone.value))
        {
            alert('Please, verify your Phone number');
            document.form1.ldDayPhone.focus();
            return false;
        }
    }
    if(document.form1.ldEmail.value == "")
    {
        alert(msg);
        document.form1.ldEmail.focus();
        return false;
    }
    else
    {
        if(!validateEmail(document.form1.ldEmail.value))
        {
            alert('Please, verify the email address');
            document.form1.ldEmail.focus();
            return false;
        }
    }
    if(document.form1.bZip1.value == "")
    {
        alert(msg);
        document.form1.bZip1.focus();
        return false;
    }
    else
     {
        if(!validateUSZip(document.form1.bZip1.value))
        {
            alert('Please, verify your ZipCode');
            document.form1.bZip1.focus();
            return false;
        }
    }
       
    return true;
}

function validateEmail(strValue) 
{
    var objRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    //check for valid email
    return objRegExp.test(strValue);
}

function validateUSPhone( strValue ) {
/************************************************
DESCRIPTION: Validates that a string contains valid
US phone pattern.
Ex. (999) 999-9999 or (999)999-9999

PARAMETERS:
strValue - String to be tested for validity

RETURNS:
True if valid, otherwise false.
*************************************************/
    var str = strValue.replace(/[^\d]+/g, ''); 
    
    if(str.length==10)
    {
        var objRegExp  = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/
        //check for valid us phone with or without space between
        //area code
        return objRegExp.test(str);
    }
    else
    {
        return false;
    }
}

function validateUSZip( strValue ) {
/************************************************
DESCRIPTION: Validates that a string a United
States zip code in 5 digit format or zip+4
format. 99999 or 99999-9999

PARAMETERS:
strValue - String to be tested for validity

RETURNS:
True if valid, otherwise false.
*************************************************/
    var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;

    //check for valid US Zipcode
    return objRegExp.test(strValue);
}
function  validateNumeric( strValue ) {
/******************************************************************************
DESCRIPTION: Validates that a string contains only valid numbers.

PARAMETERS:
strValue - String to be tested for validity

RETURNS:
True if valid, otherwise false.
******************************************************************************/
    var objRegExp  =  /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;

    //check for numeric characters
    return objRegExp.test(strValue);
}

