// JavaScript Document

var IsValidated = "Yes";

function Validate_and_Submit(myForm, formName) {	

	 IsValidated = "Yes";
	
	 switch(formName) {
		case 'subscribe':
		   checkEmail(myForm, 0);
		   checkEmpty(document.forms[0].name, 0);				
		break;
		
		case 'participate':
			checkEmail(myForm, 1);
		    checkEmpty(document.forms[0].presenter_name, 1);	
			checkEmpty(document.forms[0].job_title, 1);	
			checkEmpty(document.forms[0].organisation, 1);	
			checkEmpty(document.forms[0].address, 1);	
			checkEmpty(document.forms[0].telephone, 1);	
			checkEmpty(document.forms[0].session_title, 1);	
			checkEmpty(document.forms[0].session_description, 1);	
			checkEmpty(document.forms[0].audience_level, 1);	
			checkEmpty(document.forms[0].speaker_biography, 1);	
		break;
		
		case 'Contact_Us':
		   checkEmail(myForm);
		   checkEmpty(document.forms[0].name, 0);	
		   checkEmpty(document.forms[0].subject, 0);	
		   checkEmpty(document.forms[0].message, 0);	
		break;
		
		default:
			//do nothing, we're not checking a relavant form.
		break;			
	}	
	
	if(IsValidated != "No"){
		myForm.submit();
	}		
}

function checkEmpty(myField, isParticipate) {
	
 var strPos = '';
 var isFound = "No";
 
 if(myField.value.substr(0,1) == '<') {
	  isFound = "No";
 }
 else {
 for(i = 0; i < myField.value.length; i++) {
	strPos = myField.value.substr(i,1);
	
	if(strPos != ' '){
	  isFound = "Yes";
	  break;
	  }
	}
 }
 
 if(isFound == "No") {	 
	setTheStage(myField, isParticipate);
	return false;
  } 
  else {
	  return true;
  }
}

function checkEmail(myForm, isParticipate) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(myForm.email.value)){ 
 return true;
}
else {
	IsValidated = "No";
	setTheStage(document.forms[0].email, isParticipate);
	return false;
	}
}

function setTheStage(badField, isParticipate) {
	
	//Need to use RGB for Macs, not hex
	badField.style.backgroundColor = 'rgb(255,204,0)'; 
	
	switch(badField.name) {
		
		case 'email':
			badField.value='<Please enter valid ' + badField.name + '>';		
		break;
		
		case 'presenter_name':
			badField.value='<Please enter presenter name>';		
		break;
		
		case 'job_title':
			badField.value='<Please enter job title>';		
		break;
		
		case 'telephone':
			badField.value='<Enter phone #>';		
		break;

		case 'session_title':
			badField.value='<Please enter session title>';		
		break;
		
		case 'session_description':
			badField.value='<Please enter session description>';		
		break;
		
		case 'audience_level':
			badField.value='<Please enter audience level>';		
		break;
		
		case 'speaker_biography':
			badField.value='<Please enter speaker biography>';		
		break;
		
		default:
			badField.value='<Please enter ' + badField.name + '>';
		break;					
	}	

	//Jump to top of page if this is particpate form
	if(isParticipate == 1) {
		document.location = '#top';
	}
	
	IsValidated = "No";
	
}

function clearTheStage(myField) {
	var isFound = "No";
	
  if(myField.value.substr(0,1) == '<') {
	  isFound = "No";
 	}
 else {
 	for(i = 0; i < myField.value.length; i++) {
		strPos = myField.value.substr(i,1);
	
	if(strPos != ' '){
	  isFound = "Yes";
	  break;
	  }
	}
 }
 
 if(isFound == "No") {	 
	myField.style.backgroundColor = 'rgb(255,255,255)';
    myField.value='';
	myField.focus();
  } 
  else {
	  return true;
  }
}
