function CheckRequired( myform )
{
  var i, j;

  // list of mandatory fields
  var rqfields = new Array( 'Name', 'Email', 'Phone', 'Business_Name', 'Address', 'Referred_By' );

  //list of names of fields how they should appear in error message
  var rqmessages = new Array( 'Full Name', 'Email Address', 'Phone Number', 'Business Name', 'Business Address', 'How did you hear about us' );
  var checkfields = new Array('BestTimeToCall1,BestTimeToCall2,BestTimeToCall3');

	for( i=0; i<rqfields.length; i++)
	{
		var field = eval( 'myform.'+rqfields[i] );
		if( field != null )
		{
			if( IsRadio( field ) )
			{
				var IsEmpty = true;
				for( j=0; j<field.length; j++ )
				{
					if( field[ j ].checked && field[ j ] != "" && field[ j ]!=0 )
					{
						IsEmpty = false;
				                break;
					}                 
				}
				if( IsEmpty)
				{
					return Empty_Required( field[ 0 ], rqmessages[i] );
				}
			}
			else
			{
				//select
				if( IsSelect( field ) && NotSelected( field ) )
				{
					return Empty_Required( field, rqmessages[i] );
				}
				else
				{
					// Check Box
					if (IsCheckBox(field))
					{
						for (k=0; k<checkfields.length; k++)
						{
							cfield = checkfields[k].split(",");
							for (l=0; l<cfield.length; l++)
							{
								if (rqfields[i] == cfield[l])
								{
									check = false;
									for (m=0; m<cfield.length; m++)
									{
										var field1 = eval( 'myform.' + cfield[m]);
										if (field1.checked == true)
											check = true
									}
									if (!check)
									{
										return Empty_Required( field, rqmessages[i] );
									}
								}
							}
						}
					  }					
				           else
			        	   {
						if( field.value == "" || field.value == 0 )
						{
							// error message - field is empty
							return Empty_Required( field, rqmessages[i] );
						}
					    }
					}
				}
			}
		}
//	}
//	alert(myform.File);

  return true;
}

function IsRadio( field )
{
   return field[0] != null && field[0].type == 'radio'
}
function IsCheckBox( field )
{
   return field != null && field.type == 'checkbox'
	
}

function IsSelect( field )
{
   return field.type.substring( 0, 6 ) == 'select';
}

function NotSelected( select )
{
   var Ind = select.selectedIndex;

   return !( ( Ind > 0 ) && select.options[ Ind ].value!='0' );
}

function Empty_Required( field, Name )
{
   alert ( Name +' is a mandatory field!' );

   field.focus();

   return false;
}

function ValidEmail( email )
{
	var At_Pos	 = email.indexOf( '@' );
	var Dot_Pos	 = email.indexOf( '.' );
	var Last_Dot_Pos = email.lastIndexOf( '.' );

	var Length  = email.length;

	if( Dot_Pos < At_Pos )
        {
                Dot_Pos = Dot_Pos + 1 + email.substr( Dot_Pos + 1 ).indexOf( '.' );
        }
	
	if( Length == 0 || Length > 5 && At_Pos > 0 && Dot_Pos- At_Pos > 1 && Length - Last_Dot_Pos > 2 && email.indexOf( '@', At_Pos + 1 ) < 0 )
	{
		return true;
	}

	window.alert( 'You have entered invalid email!' );
	return false;
}
