String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
 
function isValid(parm,val) {
  if (parm == "") return false;
  for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) == -1) return false;
  }
  return true;
}

function isNum(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}

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 validateFormFields(f) {
  if (f.contactName.value.trim() == '') {
    alert ("Name field can not be blank.");
    f.contactName.focus();
    f.contactName.select();
    return false;
  }
/*
  if (f.contactCompany.value.trim() == '') {
    alert ("Company field can not be blank.");
    f.contactCompany.focus();
    f.contactCompany.select();
    return false;
  }
*/
  if (f.contactAddress.value.trim() == '') {
    alert ("Address field can not be blank.");
    f.contactAddress.focus();
    f.contactAddress.select();
    return false;
  }
  
  if (f.contactCity.value.trim() == '') {
    alert ("City field can not be blank.");
    f.contactCity.focus();
    f.contactCity.select();
    return false;
  }
  
  if (f.contactState.value.trim() == '') {
    alert ("State field can not be blank.");
    f.contactState.focus();
    f.contactState.select();
    return false;
  }
  
  if (f.contactZip.value.trim() == '') {
    alert ("Zip code field can not be blank.");
    f.contactZip.focus();
    f.contactZip.select();
    return false;
  }
  
  if (f.contactPhone.value.trim() == '') {
    alert ("Phone field can not be blank.");
    f.contactPhone.focus();
    f.contactPhone.select();
    return false;
  }
/*
  if (f.contactMobile.value.trim() == '') {
    alert ("Mobile field can not be blank.");
    f.contactMobile.focus();
    f.contactMobile.select();
    return false;
  }
  
  if (f.contactFax.value.trim() == '') {
    alert ("Fax field can not be blank.");
    f.contactFax.focus();
    f.contactFax.select();
    return false;
  }
  
  if (f.contactEmail.value.trim() == '') {
    alert ("Email field can not be blank.");
    f.contactEmail.focus();
    f.contactEmail.select();
    return false;
  }
  
  if (f.contactMessage.value.trim() == '') {
    alert ("Message field can not be blank.");
    f.contactMessage.focus();
    f.contactMessage.select();
    return false;
  }

  if (!isAlpha(f.contactName.value)) {
    alert ("Name field contains invalid characters.");
    f.contactName.focus();
    f.contactName.select();
    return false;
  }
  
  if (!isAlpha(f.contactCity.value)) {
    alert ("City field contains invalid characters.");
    f.contactCity.focus();
    f.contactCity.select();
    return false;
  }
  
  if (!isAlpha(f.contactState.value)) {
    alert ("City field contains invalid characters.");
    f.contactCity.focus();
    f.contactCity.select();
    return false;
  }
*/
  if (f.contactEmail.value.trim() != '') {
    if (echeck(f.contactEmail.value) == false){
      alert ("Email field is not correctly formatted.");
      f.contactEmail.focus();
      f.contactEmail.select();
      return false;
    }
  }

  return true;
}

function validateContactFields(f) {
  if (f.first_name.value.trim() == '') {
    alert ("First name can not be blank.");
    f.first_name.focus();
    f.first_name.select();
    return false;
  }

  if (f.last_name.value.trim() == '') {
    alert ("Last name can not be blank.");
    f.last_name.focus();
    f.last_name.select();
    return false;
  }
  
  if (f.phone.value.trim() == '') {
    alert ("Phone number can not be blank.");
    f.phone.focus();
    f.phone.select();
    return false;
  }
  
  if (f.email.value.trim() == '') {
    alert ("Email address can not be blank.");
    f.email.focus();
    f.email.select();
    return false;
  }
  
  if (f.message.value.trim() == '') {
    alert ("Message can not be blank.");
    f.message.focus();
    f.message.select();
    return false;
  }
  
  if (!isAlpha(f.first_name.value)) {
    alert ("First name contains invalid characters.");
    f.first_name.focus();
    f.first_name.select();
    return false;
  }
  if (!isAlpha(f.last_name.value)) {
    alert ("Last name contains invalid characters.");
    f.last_name.focus();
    f.last_name.select();
    return false;
  }
  
  if (echeck(f.email.value) == false) {
    alert ("Email address is not correctly formatted.");
    f.email.focus();
    f.email.select();
    return false;
  }

  return true;
}



function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showBlog() {
  var windowReference = window.open(blog,"blogwin","width=640px,height=850px,left=0px,resizable,scrollbars,status=0,toolbar=0,top=0px,"); 
}

function openWindow(url) {
  //window.open(url,"awin");
  myRef = window.open(url,'awin', 'left=0,top=00,toolbar=1,location=1,resizable=1,menubar=1,scrollbars=1,status=1');
}


window.onLoad="MM_preloadImages('images/home_2.jpg','images/bio_2.jpg','images/services_2.jpg','images/education_2.jpg','images/blog_2.gif','images/contact_2.gif')";

