function getElement(name) {
	var element;
	
	if (document.getElementById) {
		element = document.getElementById(name);	
	} else if (document.all) {
		element = document.all[name];                           
	} else if (document.layers)   {
		element = document.layers[name]; 
	}
	
	return element;
}

function LTrim(str) {
	if (str==null){return str;}
	for (var i=0; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i++);
	return str.substring(i,str.length);
}
function RTrim(str) {
	if (str==null){return str;}
	for (var i=str.length-1; str.charAt(i)==" " || str.charAt(i)=="\n" || str.charAt(i)=="\t"; i--);
	return str.substring(0,i+1);
}
function Trim(str) {
	return LTrim(RTrim(str));
}

function isDigit(num) {
	if (num.length>1){return false;}
	var string="1234567890";
	if (string.indexOf(num)!=-1){return true;}
	return false;
}

function check_field(field) {
	var str = Trim(field.value);
		
	if (str == "") {
		return true;
	} else {		
		return false;
	}
}

function check_field_value(field, value) {
	var str = Trim(field.value);
	
	if (str != value) {
		return true;
	} else {		
		return false;
	}
}

function check_field_size(field, size) {
	var str = Trim(field.value);
	
	if (str.length < size) {
		return true;
	} else {		
		return false;
	}
}

function check_version(field) {
	var str = Trim(field.value);
	
	var count = 0;
	
	for(i=0; i<str.length; i++) {
		if (isDigit(str.charAt(i))) {
			count++;
		}
	}
	
	if (count < 4) {
		return true;
	} else {
		return false;
	}
}

function check_email(field) {
	var str = Trim(field.value);
	
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return !filter.test(str);
}

function check_form() {	
	var error = false;
	var error_msg = "";
	var element, field;
	
	var checkboxList = new Array("fld_finding", "fld_sensational", "fld_accomodation", "fld_other");
							
	var i = 0;
	
	//first check the checkboxes
	var selectedChoice = false;
	for (i=0; i<checkboxList.length; i++) {
		if (getElement(checkboxList[i]).checked) {
			selectedChoice = true;			
		}
	}
	
	element = getElement("selecttxt");
	
	if (!selectedChoice) {
		error = true;	
		element.className = "error";
	} else {
		element.className = "ok";
	}
		
	//now check the name field
	element = getElement("nametxt");
	field = getElement("fld_name");
	if (check_field(field)) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}

	//check the email
	element = getElement("emailtxt");		
	field = getElement("fld_email");
	if (check_email(field)) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}
		
	//finally check the textarea
	element = getElement("commentstxt");		
	field = document.forms.contactus.fld_comments;
	if (check_field_size(field, 20)) {
		error = true;
		element.className = "error";
	} else {
		element.className = "ok";
	}	

	if (error) {
		alert ("You did not complete all required fields. The incomplete sections are marked RED.");
	}
	
	return !error;
}

