//check fields Salim Dirani & Joseph Yammin, 18/may/2006
//checks all fields for validation.

//this function remove the white white spaces form the beginning and the end of a string.
function whiteTrim(string){
	//remove the white spaces from the beginning.
	while(string.substring(0,1) == " "){
		string = string.substring(1,string.length)
	}
	//remove the white spaces from the end
	while(string.substring(string.length-1, string.length) == " "){
		string = string.substring(0, string.length-1);
	}
	
	return string;
	
}
//check if the field is empty
function isEmpty(string){
	string = whiteTrim(string);
	if(string == "" || string == null){
	return true;
	}
	return false;
}
//check if the e-mail is valid
function isEmail(string){
	string = whiteTrim(string);
	var re = /^[a-z]{1}(\.?\w+)*@[a-z0-9](\.?[0-9a-z-]+)*\.[a-z]{2,4}$/i;
	var isValid =re.test(string);
	if (isValid == true){
		return true;
	}else{
	return false;	
	}
}
//check if the password is six characters long
function isPassword(string){
	string = whiteTrim(string);
	var re = /^[\w-?!.,]+$/i;
	var isValid = re.test(string);
	if(string.length >= 6){
		if(isValid == true){
			return true;
		}else{
			return false;
		}
	}
	return false;
}
//check for other field
function isName(string){
	string = whiteTrim(string);
	var re = /^[\w-]+$/i;
	var isValid = re.test(string);
		if(isValid == true){
			return true;
		}else{
			return false;
		}
	return false;
}
//escape the single and double quotes
function isTextarea(string){
string = whiteTrim(string);
string = string.replace('"', '\"');
string = string.replace("'", "\'");
return string;
}
//insert a warrning message in case an invalid input
function insertMessage(string, form){
	var newItem = document.createElement("span");
	newItem.setAttribute("class","alert");
	newItem.appendChild(document.createTextNode(string))
	form.parentNode.replaceChild(newItem,form.parentNode.firstChild);
}
//remove the warrning message
function removeMessage(form){
	if(form.parentNode.firstChild.firstChild){
	form.parentNode.firstChild.removeChild(form.parentNode.firstChild.firstChild);
	}
	
}
//this is the main function 
function checkFields(form){
	var bSubmit;
	forml = form.length;
	
	for(i=0;i<forml;i++){
		
		formType = form[i].type;
		
		if(formType == "checkbox" || formType == "radio" || formType == "button" || formType == "hidden" || formType == "submit"){
			continue;
			}
			if(formType == "text"){
				var fieldvalue = form[i].name;
				switch(fieldvalue){
					case "emailT":
					var empty = isEmpty(form[i].value)
					var valid = isEmail(form[i].value)
					if(empty == true){
						var message = "Please enter an email befor procceding"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "Invalid email address"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
						removeMessage(form[i]);
					}
					break;
					case "username":
					var empty = isEmpty(form[i].value)
					var valid = isName(form[i].value)
					if(empty == true){
						var message = "You must choose a Username before procceding"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "special characteres are not allowed"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
							removeMessage(form[i]);
							}
					break;
					case "firstnameT":
					var empty = isEmpty(form[i].value)
					var valid = isName(form[i].value)
					if(empty == true){
						var message = "You must enter your First Name before procceding"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "special characteres are not allowed"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
							removeMessage(form[i]);
							}
					break;
					case "searchT":
					var empty = isEmpty(form[i].value)
					var valid = isName(form[i].value)
					if(empty == true){
						var message = "Please enter a keyword and then press search"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "Special characteres are not allowed"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
							removeMessage(form[i]);
							}
					break;
					case "lastnameT":
					var empty = isEmpty(form[i].value)
					var valid = isName(form[i].value)
					if(empty == true){
						var message = "You must enter your Last Name before procceding"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "special characteres are not allowed"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
							removeMessage(form[i]);
							}
					break;
					case "password":
					var empty = isEmpty(form[i].value)
					var valid = isPassword(form[i].value)
					if(empty == true){
						var message = "You must choose a password before procceding"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else if(valid == false){
						var message = "special characteres are not allowed";
						message += " and must be at least 6 characters";
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
							removeMessage(form[i]);
							}
					break;
					
					case "occupationT":
					var empty = isEmpty(form[i].value)
					if(empty == true){
						var message = "You must select your occupation, please"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
						removeMessage(form[i]);
					}
					break;
					
					case "countryT":
					var empty = isEmpty(form[i].value)
					if(empty == true){
						var message = "You must select your country, please"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
						removeMessage(form[i]);
					}
					break;
					
					case 'default':
					var valid = isName(form[i].value)
					if(valid == false){
						var message = "special characteres are not allowed";
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
						removeMessage(form[i]);
					}
					break;
					}
				
				}else if(form[i].name == "textarea"){
					var taValue = isTextarea(form[i].value);
					var empty = isEmpty(form[i].value);
					if(empty == true){
						var message = "You must type something here, please"
						insertMessage(message, form[i]);
						bSubmit = false;
					}else{
						removeMessage(form[i]);
					}
				}
		}
		if(bSubmit == false){
			scroll(0,300);
			return false;
			}
			return true;
	}
