// JavaScript Document

// Validate email against regex

function FRMcheckEmail(el,name) 
{
	var err = new String();
    var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if (document.all || document.getElementById) 
	{
		elid = document.getElementById(el);
        if (!filter.test(elid.value)) 
		{
			err ="<strong>The '" + name + "' field must be a valid email address </strong><br />";
        }
	}
		return err;						  
}

// Validate field is not blank
function FRMnonBlank(el,name)
{
         var err = new String();
         if (document.all || document.getElementById)
         {
          elid = document.getElementById(el);
		  
               if (elid.value == "")
               {
                  err ="<strong> The '" + name + "' field cannot be blank</font> </strong><br />";
               }
          }
   return err;
}

// Validate field is not blank
function FRMnonBlank(el,name)
{
         var err = new String();
         if (document.all || document.getElementById)
         {
          elid = document.getElementById(el);
		  
               if (elid.value == "")
               {
                  err ="<strong> The '" + name + "' field cannot be blank</font> </strong><br />";
               }
          }
   return err;
}

function checkConferenceType()
{
	
	var err = new String();
	
	if(document.forms[0].hwa_conf.checked || document.forms[0].dci.checked) 
	{
		
	} 
	else 
	{
		err ="<strong> Please specify which conference you would like to register for; Highway Africa, DCI or BOTH</font> </strong><br />";
	}
	
	return err;
}

function checkArrivalDate(el,name)
{
	
	var err = new String();
	
	if(document.forms[0].transport.checked) 
	{
		if (document.all || document.getElementById)
         {
          elid = document.getElementById(el);
		  
               if (elid.value == "")
               {
                  err ="<strong> The '" + name + "' field cannot be blank if you require transport from the airport</font> </strong><br />";
               }
          }
	}
	
	return err;
}

function checkDepatureDate(el,name)
{
	
	var err = new String();
	
	if(document.forms[0].transport.checked) 
	{
		if (document.all || document.getElementById)
         {
          elid = document.getElementById(el);
		  
               if (elid.value == "")
               {
                  err ="<strong> The '" + name + "' field cannot be blank if you require transport to the airport</font> </strong><br />";
               }
          }
	}
	
	return err;
}


// Validation engine

function FRMvalidate()

{
         // Init error string
         var err = new String();
         // Do validation, building error string as we go
         //  No error = blank string
         err += FRMnonBlank("title","Title");
         err += FRMnonBlank("fname","First Name");
		 err += FRMnonBlank("sname","Last Name");
		 err += FRMnonBlank("organisation","Organisation");
		 err += FRMcheckEmail("email","Email");
		 err += checkConferenceType();
		 err += checkArrivalDate("f_date4","Arrival Date");
		 err += checkDepatureDate("f_date5","Departure Date");
		
		if (document.all || document.getElementById)
        {
            if (err.length != 0)
            {
               errid = document.getElementById("errtext");
               errid.innerHTML = err;
               return(false);
            }
            else
            {
               validateid = document.getElementById("validated");
               validateid.value = "true";
            }
         }
         return(true);
}



