function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}

function validare_formular(frm) {
	if (frm.title.value == "") {
		alert("Please complete TITLE");
        return false;
	}
	else if (frm.name.value == "") {
		alert("Please complete NAME");
        return false;
	}
	else if (frm.surname.value == "") {
		alert("Please complete SURNAME");
        return false;
	}
	else if (frm.tel.value == "") {
		alert("Please complete TEL NO");
        return false;
	}
	else if (!isValidEmail(frm.email.value)) {
        alert("The email address IS NOT VALID");
        return false;
    }
	else if (frm.fax.value == "") {
		alert("Please complete FAX");
        return false;
	}
	else if (frm.job.value == "") {
		alert("Please complete JOB TITLE");
        return false;
	}
	else if (frm.organisation.value == "") {
		alert("Please complete ORGANISATION");
        return false;
	}
	else if (frm.address.value == "") {
		alert("Please complete ADDRESS");
        return false;
	}
	else if (frm.postcode.value == "") {
		alert("Please complete POSTCODE");
        return false;
	}
	else if (frm.country.value == "") {
		alert("Please complete COUNTRY");
        return false;
	}
	else if (valButton(frm.RadioGroup2) == null) {
		alert("Please select A PAYING METHOD");
        return false;
	}
	else
	{
    	return true;
	}
}
