function trim(s) {

    if((s==null)||(typeof(s)!='string')||!s.length) {
        return '';
    }
    return s.replace(/^\s+/,'').replace(/\s+$/,'');

}

function check_blank(field) {

    if (field == '') {
        return false;
    }
    if (trim(field) == '') {
        return false;
    }
    return true;
}

function echeck(str) {

      var at="@";
      var dot=".";
      var lat=str.indexOf(at);
      var lstr=str.length;
      var ldot=str.indexOf(dot);

      if (str.indexOf(at)==-1){
           return false;
      }

      if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
          return false;
      }

      if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
          return false;
      }

      if (str.indexOf(at,(lat+1))!=-1){
          return false;
      }

      if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
          return false;
      }

      if (str.indexOf(dot,(lat+2))==-1){
          return false;
      }

      if (str.indexOf(" ")!=-1){
          return false;
      }

      return true;
}

function validate() {
    
    if (!check_blank(document.contactForm.company.value)) {
	alert("Your company name is required.");
	return false;
    }
    else if (!check_blank(document.contactForm.name.value)) {
        alert("Your name is required.");
        return false;
    }
    else if (!check_blank(document.contactForm.phone.value)) {
        alert ("Your phone number is required.");
        return false;
    }
    else if (!check_blank(document.contactForm.email.value)) {
	alert("Your email address is required.");
	return false;
    }
    else if (!echeck(document.contactForm.email.value)) {
        alert ("Improperly formatted email address.");
        return false;
    }
    else if (!check_blank(document.contactForm.inquiry.value)) {
        alert ("Please do not send an empty inquiry.");
        return false;
    }

    return true;
}

function validateNews() {
    
    if (!check_blank(document.newsForm.name.value)) {
	alert("Your name is required.");
	return false;
    }
    else if (!check_blank(document.newsForm.title.value)) {
        alert("Event title is required.");
        return false;
    }
    else if (!check_blank(document.newsForm.details.value)) {
        alert ("Event details are required.");
        return false;
    }

    return true;
}

function validateMailing() {
    
    if (!check_blank(document.mailingForm.name.value)) {
	alert("Your name is required.");
	return false;
    }
    else if (!check_blank(document.mailingForm.email.value)) {
	alert("Your email address is required.");
	return false;
    }
    else if (!echeck(document.mailingForm.email.value)) {
        alert ("Improperly formatted email address.");
        return false;
    }
    return true;
}

function validateShare() {
    
    if (!check_blank(document.shareForm.name.value)) {
	alert("Your name is required.");
	return false;
    }
    else if (!check_blank(document.shareForm.title.value)) {
	alert("Story title is required.");
	return false;
    }
    else if (!check_blank(document.shareForm.story.value) && !check_blank(document.shareForm.datafile.value)) {
	alert("You must provide a text story or upload a file.");
	return false;
    }
    return true;
}


