function validate_SignUpForm(frm) { 
  // debugger;  
  var value = '';
  var errFlag = new Array();
  _qfMsg = '';
	value = frm.elements['FirstName'].value;
  if (value == '' && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - First Name is required.';
  }
 value = frm.elements['FirstName'].value;
  var regex = /^[a-zA-Z\s\.]+$/;
  if (value != '' && !regex.test(value) && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - First Name can contain letters only.';
  }
  value = frm.elements['FirstName'].value;
  if (value != '' && value.length > 255 && !errFlag['FirstName']) {
    errFlag['FirstName'] = true;
    _qfMsg = _qfMsg + '\n - The item Name: can have no more than 255 characters.';
  }
  value = frm.elements['EmailAddress'].value;
  if (value == '' && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - Email is required.';
  }
  value = frm.elements['EmailAddress'].value;
  var regex = /^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/;
  if (value != '' && !regex.test(value) && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - Enter valid email.';
  }
  value = frm.elements['EmailAddress'].value;
  if (value != '' && value.length > 255 && !errFlag['EmailAddress']) {
    errFlag['EmailAddress'] = true;
    _qfMsg = _qfMsg + '\n - The item Email: can have no more than 255 characters.';
  }                                                                                                                 
  if(frm.elements['phone1'] && frm.elements['phone2'] && frm.elements['phone3'])
  {
      if(frm.elements['phone1'].value == '' && frm.elements['phone2'].value == '' && frm.elements['phone3'].value == '' )
      {      
          value = frm.elements['HomePhone'].value;
          if (value == '' && !errFlag['HomePhone']) {
            errFlag['HomePhone'] = true;
            _qfMsg = _qfMsg + '\n - Phone number is required.';
          }
         value = frm.elements['HomePhone'].value;
          if (value != '' && value.length > 20 && !errFlag['HomePhone']) {
            errFlag['HomePhone'] = true;
            _qfMsg = _qfMsg + '\n - The item Best Phone: can have no more than 20 characters.';
          }
      }
      else
      {
      var regexThreeNumbers = /^[0-9]{3}$/;
      var regexFourNumbers = /^[0-9]{4}$/;
      if( !regexThreeNumbers.test(frm.elements['phone1'].value) || !regexThreeNumbers.test(frm.elements['phone2'].value) || !regexFourNumbers.test(frm.elements['phone3'].value))
      {
        errFlag['HomePhone'] = true;
        _qfMsg = _qfMsg + '\n - Phone number is Invalid.';
      }
      }
  }
  else
  {       //for signup form in sidemenu 
          value = frm.elements['HomePhone'].value;
          
          if (value == '' && !errFlag['HomePhone']) {
            errFlag['HomePhone'] = true;
            _qfMsg = _qfMsg + '\n - Phone number is required.';
          }
          else if (value != '' && value.length > 20 && !errFlag['HomePhone']) {
            errFlag['HomePhone'] = true;
            _qfMsg = _qfMsg + '\n - The item Best Phone: can have no more than 20 characters.';
          }
          else
          {
                var regexTenNumbers = /^[0-9]{10}$/;
              if( !regexTenNumbers.test(frm.elements['HomePhone'].value))
              {
                errFlag['HomePhone'] = true;
                _qfMsg = _qfMsg + '\n - Phone number is Invalid.';
              }
          }
  }
  if(frm.elements['ZipCode'])
  {
      value = frm.elements['ZipCode'].value;
      if (value == '' && !errFlag['ZipCode']) {
        errFlag['ZipCode'] = true;
        _qfMsg = _qfMsg + '\n - Zip Code/Postal Code is required.';
      }
      value = frm.elements['ZipCode'].value;
      if (value != '' && value.length > 20 && !errFlag['ZipCode']) {
        errFlag['ZipCode'] = true;
        _qfMsg = _qfMsg + '\n - The item Zip: can have no more than 20 characters.';
      }
  }
  value = frm.elements['DebtAmount'].value;
  if (value == '' && !errFlag['DebtAmount']) {
    errFlag['HomePhone'] = true;
    _qfMsg = _qfMsg + '\n - Debt Amount is required.';
  }
  if (_qfMsg != '') {
    _qfMsg = 'Invalid information entered.' + _qfMsg;
    _qfMsg = _qfMsg + '\nPlease correct these fields.';
    alert(_qfMsg);
    return false;
  }
  return true;
}
var isNN = (navigator.appName.indexOf("Netscape")!=-1);      
function enableAutoTabPhoneNumberBlock(FormName) {
   eval( 'var frm = document.'+FormName);
	oldObject=frm.phone1;
	changeInputType(oldObject,'text','phone1');
	oldObject=frm.phone2;
	changeInputType(oldObject,'text','phone2');
	oldObject=frm.phone3;
	changeInputType(oldObject,'text','phone3');
	oldObject=frm.HomePhone;
	changeInputType(oldObject,'hidden','HomePhone');
	/*frm.phone1.type='text';
	frm.phone2.type='text';
	frm.phone3.type='text';
	frm.HomePhone.type='hidden';
 	*/
 }
function changeInputType(oldObject, oType,Objid) {
  var newObject = document.createElement('input');
  newObject.type = oType;
  if(oldObject.onkeyup) newObject.onkeyup = oldObject.onkeyup;
  if(oldObject.size) newObject.size = oldObject.size;
  if(oldObject.maxlength) newObject.maxlength = oldObject.maxlength;
  if(oldObject.value) newObject.value = oldObject.value;
  if(oldObject.name) newObject.name = oldObject.name;
  if(oldObject.id) newObject.id = oldObject.id;
  newObject.id=Objid;
  newObject.name=Objid;
  if(oldObject.className) newObject.className = oldObject.className;
  oldObject.parentNode.replaceChild(newObject,oldObject);
  return newObject;
}
function disableAutoTabPhoneNumberBlock(FormName) {
  eval( 'var frm = document.'+FormName); 
  frm.HomePhone.type = 'text';
  frm.HomePhone.value = frm.phone1.value +'-'+frm.phone2.value +'-'+frm.phone3.value ;
  if(frm.HomePhone.value== '--')
  frm.HomePhone.value= '';
  frm.phone1.value = frm.phone2.value = frm.phone3.value = '';
  frm.phone1.type = 'hidden';
  frm.phone2.type = 'hidden';
  frm.phone3.type = 'hidden';
  document.getElementById(FormName+'-freeform').style.display = 'none';
  } 
function autoTab(input,len, e) 
{
  var keyCode = (isNN) ? e.which : e.keyCode; 
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) 
  	{
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  	}
  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }
  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
}

