function stripDots(valueToUse)
{
// This function removes any dots which are not part of a number
// ie 1.000.000 becomes 1000000, 1.00.00 becomes 100.00
//
  var pos = 0;
	var numOfDots = 0;
	var i = 0;
	// count dots
	while (valueToUse.indexOf('.', pos) != '-1')
  {
	  pos = valueToUse.indexOf('.', pos) + 1;
	  numOfDots ++;
	}

  // if there is more than one dot or the dot is not 2 chars from end of string
  if ((numOfDots > 1) || (valueToUse.charAt(valueToUse.length-2) != '.'))
  {
  // remove all full stops and numbers inbetween and put into an array
    var newValueArray = valueToUse.split('.');

  // put array back together with no dots
   var newValue;
   newValue = newValueArray.join('');

  // if last array value is two chars long then add dot before chars
   if (newValueArray[newValueArray.length-1].length == '2')
	 {
	   newValue = newValue.slice(0, newValue.slice.length - newValueArray[newValueArray.length-1].length)
     newValue = newValue + '.' + newValueArray[newValueArray.length-1];
   }
  }else
	{
  	newValue = valueToUse;
  }
  return newValue;
}

// Clears fields with predefined help values
function clearHelpText(thisField)
{
  if (thisField.value == thisField.defaultValue)
	{
	thisField.value = ''; 
	thisField.focus();
	}
  if (thisField.defaultValue == 'Address')
	{
	  if (document.getElementById("AddressLineOne").value == 'Address')
	  {
      document.getElementById("AddressLineOne").value = '';
	  }
	  if (document.getElementById("AddressLineTwo").value == 'Address')
	  {
      document.getElementById("AddressLineTwo").value = '';
	  }
	  if (document.getElementById("AddressLineThree").value == 'Address')
	  {
      document.getElementById("AddressLineThree").value = '';
	  }
	}
}

// Show or hide partner fields
function goJoint()
{
  document.getElementById("partnersection").style.display = 'block';
}
function goSingle()
{
  document.getElementById("partnersection").style.display = 'none';
}


// validation scripts
function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   }

function isFilled(elm)
{
    if (elm.value == "" || elm.value == null)
    return false;
    else return true;
}

function removeApost( sStr )
{
    return sStr.replace( /\'/g, '' );
}


function validateform( form )
{

// QuoteACoverAmount
  if ((isFilled(form.QuoteACoverAmount) == false) || (form.QuoteACoverAmount.value == form.QuoteACoverAmount.defaultValue))
	{
   	alert("Please enter the amount of cover you require.");
   	form.QuoteACoverAmount.focus();
   	return false;
  }
	else
	form.QuoteACoverAmount.value = removeApost( form.QuoteACoverAmount.value );

  form.QuoteACoverAmount.value = form.QuoteACoverAmount.value.replace(/,/g,"");

  if (!(IsNumeric(form.QuoteACoverAmount.value)))
	{
    alert('Please make sure the amount of cover you want is numeric');
    form.QuoteACoverAmount.focus();
    return false;
  }

  if (form.QuoteACoverAmount.value < 5000)
  {
    alert('Please make sure the amount of cover you require is at least £5000');
    form.QuoteACoverAmount.focus();
    return false;
  }

// QuoteAYearsOfCover
  if ((isFilled(form.QuoteAYearsOfCover) == false) || (form.QuoteAYearsOfCover.value == form.QuoteAYearsOfCover.defaultValue))
	{
    alert("Please enter the number of years you require to be covered for");
    form.QuoteAYearsOfCover.focus();
    return false;
  }
	else
	  form.QuoteAYearsOfCover.value = removeApost( form.QuoteAYearsOfCover.value );

// Level or reducing cover
	if (!(form.QuoteAReducingCoverforMortgage[0].checked || form.QuoteAReducingCoverforMortgage[1].checked))
	{
		alert("Please enter if you want Level Cover or Decreasing Cover");
   	return false;
	}


// Level or Decreasing Cover - first check to see if field isnt a hidden field
 if (form.CriticalIllness.type != 'hidden')
 { if (!(form.CriticalIllness[0].checked || form.CriticalIllness[1].checked))
	 {
		 alert("Please enter if you would like critical illness cover");
   	 return false;
	 }
 }	

// Title and Name
  if (isFilled(form.Title) == false )
	{
    	alert("Please enter your Title.");
    	return false;
  }
  if ((isFilled(form.ForeName) == false))
	 {
 	   alert("Please enter your forename.");
 	   form.ForeName.focus();
	   return false;
   }
	else
		form.ForeName.value = removeApost( form.ForeName.value );

    if ((isFilled(form.SurName) == false))
	{
    	alert( "Please enter your surname." );
    	form.SurName.focus();
    	return false;
    }
	else
		form.SurName.value = removeApost( form.SurName.value );
		
// Gender
	if (!(form.Gender[0].checked || form.Gender[1].checked))
	{
		alert("Please enter if you are male or female.");
   		return false;
	}
	
// Address 1

    if ((isFilled(form.AddressLineOne) == false))
	{
    	alert("Please enter the first Line of your address.");
    	form.AddressLineOne.focus();
    	return false;
    }
	else
		form.AddressLineOne.value = removeApost( form.AddressLineOne.value );

// Address 2
    /*
    if ((isFilled(form.AddressLineTwo) == false) || (form.AddressLineTwo.value == form.AddressLineTwo.defaultValue))
  	{
    	alert("Please enter the second Line of your address.");
    	form.AddressLineTwo.focus();
    	return false;
    }
	else
	*/
    form.AddressLineTwo.value = removeApost( form.AddressLineTwo.value );
    form.AddressLineThree.value = removeApost( form.AddressLineThree.value );

// Postcode

    if ((isFilled(form.Postcode) == false))
  	{
    	alert("Please enter your postcode.");
    	form.Postcode.focus();
    	return false;
    }
	else
		form.Postcode.value = removeApost( form.Postcode.value );

// DayBorn
    if (isFilled(form.DayBorn) == false || (form.DayBorn.value == form.DayBorn.defaultValue))
	{
    	alert("Please select the day you were born.");
    	form.DayBorn.focus();
   		return false;
    }
	else
		form.DayBorn.value = removeApost( form.DayBorn.value );
// MonthBorn
    if (isFilled(form.MonthBorn) == false || (form.MonthBorn.value == form.MonthBorn.defaultValue))
	{
    	alert("Please select the month you were born.");
    	form.MonthBorn.focus();
    	return false;
	}
	else
		form.MonthBorn.value = removeApost( form.MonthBorn.value );
// YearBorn
    if (isFilled(form.YearBorn) == false || (form.YearBorn.value == form.YearBorn.defaultValue))
	{
    	alert("Please select the year you were born.");
    	form.YearBorn.focus();
    	return false;
    }
	else
		form.YearBorn.value = removeApost( form.YearBorn.value );
	
// Tel - checking tel no
    if ((isFilled(form.Phone1) == false))
	{
    	alert("Please provide a daytime phone number.");
    	form.Phone1.focus();
    	return false;
    }
		
// Tel - checking tel no
    if ((isFilled(form.Phone2) == false) && (isFilled(form.Phone3) == false))
	{
    	alert("Please provide an evening or mobile phone number.");
    	form.Phone2.focus();
    	return false;
    }

// Email - no point checking e-mail if request is for tel
	if( form.Email != null )
	{
	    if( !( form.Email.value.indexOf("@" + "" != -1 ) && form.Email.value.indexOf(".") + "" != -1 && isFilled( form.Email ) ) )
		{
	    	alert("Please provide a valid email address");
    		form.Email.focus();
    		return false;
	    }
	}
	
//End of change GH

// Smoker
	if (!(form.Smoker[0].checked || form.Smoker[1].checked))
	{
		alert("Please indicate if you are a smoker");
    	return false;
	}

	//PARTNER VALIDATION
	if (form.singlejoint[1].checked)
	{
		// ForeName
		if( isFilled( form.pForeName ) == false  || (form.pForeName.value == form.pForeName.defaultValue)) {
			alert( "Please enter your partner's first name" );
			form.pForeName.focus();
			return false;
		}
		if( isFilled( form.pSurName ) == false  || (form.pSurName.value == form.pSurName.defaultValue)) {
			alert( "Please enter your partner's surname" );
			form.pSurName.focus();
			return false;
		}

		// Gender
		if (!(form.PartnerGender[0].checked || form.PartnerGender[1].checked))
		{
			alert("Please enter if your partner is male or female.");
			return false;
		}
		  if (isFilled(form.PartnerDayBorn) == false  || (form.PartnerDayBorn.value == form.PartnerDayBorn.defaultValue))
		{
	    	alert("Please select the day your partner was born.");
	    	form.PartnerDayBorn.focus();
	    	return false;
	    }
	    if (isFilled(form.PartnerMonthBorn) == false  || (form.PartnerMonthBorn.value == form.PartnerMonthBorn.defaultValue))
		{
	    	alert("Please select the month your partner was born.");
	    	form.PartnerMonthBorn.focus();
	    	return false;
		}
	    if (isFilled(form.PartnerYearBorn) == false  || (form.PartnerYearBorn.value == form.PartnerYearBorn.defaultValue))
		{
	    	alert("Please select the year your partner was born.");
	    	form.PartnerYearBorn.focus();
	    	return false;
	    }

		// Smoker
		if (!(form.PartnerSmoker[0].checked || form.PartnerSmoker[1].checked))
		{
			alert("Please enter if your partner is a smoker or not.");
			return false;
		}
	}

	if( isFilled( form.Occupation ) )
		form.Occupation.value = removeApost( form.Occupation.value );

	if( isFilled( form.AddressLineThree ) )
		form.AddressLineThree.value = removeApost( form.AddressLineThree.value );
	
	form.pSurName.value = removeApost( form.pSurName.value );
  
	
	if(form.QuoteAReducingCoverforMortgage[0].checked)
	{
	  form.QuoteACoverMortgageDebt.value = 'no';
	}else
	{
	  form.QuoteACoverMortgageDebt.value = 'yes';
	}

	if (form.singlejoint[0].checked)
	{
    form.pForeName.value = '';
    form.pSurName.value = '';
    form.PartnerGender[0].checked = false;
    form.PartnerGender[1].checked = false;
    form.PartnerDayBorn.value = '';
    form.PartnerMonthBorn.value = '';
    form.PartnerYearBorn.value = '';
    form.PartnersOccupation.value = '';
    form.PartnerSmoker[0].checked = false;
    form.PartnerSmoker[1].checked = false;
	}

 form.QuoteACoverAmount.value = stripDots(form.QuoteACoverAmount.value);

 form.submitbtn.disabled=true;
 form.submit();


}

