to = false;
name = false;
email = false;
phone = false;

function sendContact(){
    if(!document.name || !document.email){
      var string = "Sorry but there are problem in the following fields\n\n";

      if(!document.name)string += "\t>> Your Full Name\n";
      if(!document.email)string += "\t>> Your Email";

      alert(string);
      return false;
    }
}

function setName(){
  var contact = document.getElementById('send_to').value.replace(/\d{1,3}~/,"");
  if(document.name && document.email && document.to){
    document.getElementById('submit').value = 'Send to: "'+contact+'"';
    document.getElementById('submit').className = "valid";
    document.getElementById('submit').disabled = false;
  }else{
    document.getElementById('submit').value = 'invalid Field(s)';
    document.getElementById('submit').className = "invalid";
    document.getElementById('submit').disabled = true;
  }
}

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-3) {  // . 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 validate(field){
  var newClass = field.parentNode.className.replace(" invalid","");
  var newClass = field.parentNode.className.replace(" valid","");

  switch(field.id){
    case "contact_name":
     if(field.value.length > 4 && field.value.indexOf(" ") > 1){
        newClass += " valid";
        document.name = true;
      }else{
        newClass += " invalid";
        document.name = false;
      }
    break;
    case "contact_email":
      if(isValidEmail(document.getElementById(field.id).value)){
        newClass += " valid";
        document.email = true;
      }else{
        newClass += " invalid";
        document.email = false;
      }
    break;
    case "send_to":
      if(field.value != ""){
        newClass += " valid";
        document.to = true;
      }else{
        newClass += " invalid";
        document.to = false;
      }
    break;
  }
  if(document.getElementById('send_to').type == "hidden") document.to = true;
  setName();
  field.parentNode.className = newClass;
}