var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 9;

function validateAndSubmit( f ) {
	if ( f.name.value == "" ) {
		alert("Var vänlig och skriv in ert namn.");
		f.name.focus();
	} else if ( f.company.value == "" ) {
		alert("Var vänlig och skriv in ert företags namn.");
		f.company.focus();
	} else if ( f.address.value == "" ) {
		alert("Var vänlig och skriv in er adress.");
		f.address.focus();
	} else if ( f.postalcode.value == "" || !checkPostalCode(f.postalcode.value) ) {
		alert("Var vänlig och skriv in ert postnummer.");
		f.postalcode.focus();
	} else if ( f.city.value == "" ) {
		alert("Var vänlig och skriv in er stad.");
		f.city.focus();
	} else if ( f.phone.value != "" && !checkPhone(f.phone.value) ) {
		alert("Var vänlig och skriv in ett godkännt telefon nummer.");
		f.phone.focus();
	} else if ( f.email.value != "" && !checkEmail(f.email.value) ) {
		alert("Var vänlig och skriv in en godkännd epost adress.");
		f.email.focus();
	} else {
		return true;
	}
	return false;
}
function checkEmail( address ) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(address)) return true;
	return false;
}
function checkPhone( number ) {
	s = stripCharsInBag( number, validWorldPhoneChars );
	return ( isInteger(s) && s.length >= minDigitsInIPhoneNumber );
}
function checkPostalCode( postalcode ) {
	s = stripCharsInBag( postalcode, " " );
	return ( isInteger(s) && s.length == 5 );
}
function isInteger(s) {   
	var i;
	for (i = 0; i < s.length; i++) {
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}
function stripCharsInBag(s, bag) {   
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++) {
		// Check that current character is not whitespace.
		var c = s.charAt(i);
		if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}
