function LTrim(str) {
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(0)) != -1) {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
              j++;
              s = s.substring(j, i);
    }
    return s;
}
function RTrim(str) {
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
        var i = s.length - 1;       
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
              i--;
              s = s.substring(0, i+1);
    }
    return s;
}
function Trim(str)  { return RTrim(LTrim(str)); }

function Validate(theForm)
{
  //----------------------------------------------------------------------------
    document.getElementById('BrideFirstNameVal').style.color='';
    document.getElementById('BrideLastNameVal').style.color='';
    document.getElementById('GroomFirstNameVal').style.color='';
    document.getElementById('GroomLastNameVal').style.color='';
    document.getElementById('MainContactVal').style.color='';	
	document.getElementById('EmailVal').style.color='';
	document.getElementById('HomePhoneVal').style.color='';
	document.getElementById('BestTimeVal').style.color='';
	document.getElementById('ContactMethodVal').style.color='';
	document.getElementById('CountryVal').style.color='';
	document.getElementById('WeddingDateVal').style.color='';
	document.getElementById('AltWeddingDateVal').style.color='';
	document.getElementById('WeddingTimeVal').style.color='';
	document.getElementById('ConfirmTimeVal').style.color='';
	document.getElementById('EventsVal').style.color='';
	document.getElementById('TotalBudgetVal').style.color='';
								  
    var FlagValid=0;
  //----------------------------------------------------------------------------
    if (Trim(theForm.BrideFirstName.value)=='') {
        document.getElementById('BrideFirstNameVal').style.color='red';
        FlagValid=1
    }
    if (Trim(theForm.BrideLastName.value)=='') {
        document.getElementById('BrideLastNameVal').style.color='red';
        FlagValid=1
    }
    if (Trim(theForm.GroomFirstName.value)=='') {
        document.getElementById('GroomFirstNameVal').style.color='red';
        FlagValid=1
    }
    if (Trim(theForm.GroomLastName.value)=='') {
        document.getElementById('GroomLastNameVal').style.color='red';
        FlagValid=1
    }
	 if (Trim(theForm.MainContact.value)=='') {
        document.getElementById('MainContactVal').style.color='red';
        FlagValid=1
    }
    if (Trim(theForm.Email.value)=='') {
        document.getElementById('EmailVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.HomePhone.value)=='') {
        document.getElementById('HomePhoneVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.BestTimeToContact.value)=='') {
        document.getElementById('BestTimeVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.ContactMethod.value)=='') {
        document.getElementById('ContactMethodVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.Country.value)=='') {
        document.getElementById('CountryVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.WeddingDate.value)=='') {
        document.getElementById('WeddingDateVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.AlternateWeddingDate.value)=='') {
        document.getElementById('AltWeddingDateVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.WeddingTime.value)=='') {
        document.getElementById('WeddingTimeVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.ConfirmTime.value)=='') {
        document.getElementById('ConfirmTimeVal').style.color='red';
        FlagValid=1
    }
	 if ((theForm.Events1.checked==false)&&(theForm.Events2.checked==false)&&(theForm.Events3.checked==false)&&(theForm.Events4.checked==false)&&(theForm.Events5.checked==false)&&(theForm.Events6.checked==false)&&(theForm.Events7.checked==false)) {
        document.getElementById('EventsVal').style.color='red';
        FlagValid=1
    }
	  if (Trim(theForm.TotalBudget.value)=='') {
        document.getElementById('TotalBudgetVal').style.color='red';
        FlagValid=1
    }
	 //---Email Start-
    var checkStr = theForm.Email.value;
    var ch = checkStr.indexOf('@');
    if (ch==0 || ch==-1) {
        document.getElementById('EmailVal').style.color='red';
        FlagValid=1
    }
    var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzfSOZsozYÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789@.-_'";
    var checkStr = theForm.Email.value;
    var allValid = true;
    for (i=0; i<checkStr.length; i++) {
         ch = checkStr.charAt(i);
         for (j=0; j< checkOK.length; j++)
              if (ch==checkOK.charAt(j))
                  break;
              if (j==checkOK.length) {
                  allValid = false;
                  break;
              }
         }
         if (!allValid) {
             document.getElementById('EmailVal').style.color='red';
             FlagValid=1;
    }
  //---Email End-----
  //--
    if (FlagValid==1)
    {
        alert("Please fill in the required fields in red.");
        return (false);
    }
    return (true);
  //-
}

