function trim(str) {
	//Pre: a string
	//Post: a string with white spaces, tab, newline  ect.. remove from beginner or end of the string
	str=str.replace(/^\s*(.*)/, "$1");
	str=str.replace(/(.*?)\s*$/, "$1");
	return str;
}

function currencyFormatted(amount) {
	//Pre: the amount to be format
	//Post the formatted amount
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}


function isValidEmail(email) {
	//Pre: email to validate
	//Post: true for valid email false otherwise
	var valid = /^[^@]+@[^@]+.[a-z]{2,}$/i;
	return email.search(valid) != -1;
}

function isValidPhone(phone) { 
	phone = phone.replace(/-/g,"");
	phone = phone.replace(/\(/g,"");
	phone = phone.replace(/\)/g,"");
	phone = phone.replace(/\./g,"");
	phone = phone.replace(/ /g,"");
	var valid = /^[0-9]{7,11}$/i;
	return phone.search(valid) != -1;
} 

function validateForm() {
	var f = eval("document.theform");
	var name = f.name.value=trim(f.name.value);
	var phone = f.phone.value=trim(f.phone.value);
	var email = f.email_address.value=trim(f.email_address.value);
	var subject = f.subject.value=trim(f.subject.value);
	var message = f.message.value=trim(f.message.value);
	var errorMsg="";
	if(name == "") errorMsg +="Name is empty\n";
	if(!isValidPhone(phone)) errorMsg +="Phone number is invalid\n";
	if(!isValidEmail(email)) errorMsg +="Email is invalid\n";
	if(subject == "") errorMsg +="Subject is empty\n";
	if(message == "") errorMsg +="Message is empty\n";
	if(errorMsg == "") return true;
	alert(errorMsg);
	return false;
}
