//Form Validator
function strip(filter,str){
	var i,curChar;
	var retStr = '';
	var len = str.length;
	for(i=0; i<len; i++){
		curChar = str.charAt(i);
		if(filter.indexOf(curChar)<0) //not in filter, keep it
			retStr += curChar;
	}
	return retStr;
}
function reformat(str){
	var arg;
	var pos = 0;
	var retStr = '';
	var len = reformat.arguments.length;
	for(var i=1; i<len; i++){
		arg = reformat.arguments[i];
		if(i%2==1)
			retStr += arg;
		else{
			retStr += str.substring(pos, pos + arg);
			pos += arg;
		}
	}
	return retStr;
}


function notEmpty(str){
	if(strip(" \n\r\t",str).length ==0)
		return false;
	else
		return true;
}

function validateEMail(str){
	str = strip(" \n\r\t",str);
	if(str.indexOf("@")>-1 && str.indexOf(".")>-1)
		return true;
	else
		return false;
}

function validatePhone(str){
	str = strip("*() -./_\n\r\t\\",str);
	if(str.length == 10 || str.length == 8)
		return true;
	else
		return false;
}


function validator(form){
		el = false;
	error = "";
	
	var element = document.getElementById("name"); 
	var inputElement = document.getElementById("first_name");
	if(notEmpty(form.first_name.value)==false){
		error += "Name is required\n\r";
		element.className.replace(/ error/gi, "");
		element.className += ' error';
		inputElement.className = 'input error';
		if(!el) el = form.first_name;
	} else {
		element.className.replace(/ noerror/gi, "");
		element.className += " noerror";
		inputElement.className = "input noerror";
	}
	
	var element = document.getElementById("telephone");
	var inputElement = document.getElementById("phone");
	if(validatePhone(form.phone.value)==false){
		error += "Telephone is required\n\r";
		element.className.replace(/ error/gi, "");
		element.className += ' error';
		inputElement.className = 'input error';
		if(!el) el = form.phone;
	}else {
		element.className.replace(/ noerror/gi, "");
		element.className += " noerror";
		inputElement.className = "input noerror";
	}
	
	var element = document.getElementById("emailaddress");
	var inputElement = document.getElementById("email_address");
	if(validateEMail(form.email_address.value)==false){
		error += "Email Address is required\n\r";
		element.className.replace(/ error/gi, "");
		element.className += ' error';
		inputElement.className = 'input error';
		if(!el) el = form.email_address;
	}else {
		element.className.replace(/ noerror/gi, "");
		element.className += " noerror";
		inputElement.className = "input noerror";
	}
	
	var element = document.getElementById("your_enquiry"); 
	var inputElement = document.getElementById("enquiry");
	if(notEmpty(form.enquiry.value)==false){
		error += "Your Enquiry is required\n\r";
		element.className.replace(/ error/gi, "");
		element.className += ' error';
		inputElement.className = 'input error';
		if(!el) el = form.enquiry;
	} else {
		element.className.replace(/ noerror/gi, "");
		element.className += " noerror";
		inputElement.className = "input noerror";
	}
	
    if (error != "") {
		alert(error);
		el.focus();
		return false;
	}

}

function validateText(labelField, inputField, errorMessage) {
	var element = document.getElementById(labelField); 
	var inputElement = document.getElementById(inputField);
	if(notEmpty(inputElement.value)==false){
		error += "Name is required\n\r";
		element.className.replace(/ error/gi, "");
		element.className += ' error';
		inputElement.className = 'input error';
		if(!el) el = inputElement;
	} else {
		element.className.replace(/ noerror/gi, "");
		element.className += " noerror";
		inputElement.className = "input noerror";
	}
}


