// form validation function //function validate(form) {  var name = form.name.value;  var name2 = form.name2.value;  var client_email = form.client_email.value;  var address = form.address.value;  var city = form.city.value;  var phone = form.phone.value;  var zip = form.zip.value;  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;  var name2Regex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;  if(name == "") {    inlineMsg('name','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter your first name.',6);    return false;  }  if(!name.match(nameRegex)) {    inlineMsg('name','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You have entered an invalid name.',6);    return false;  }  if(name2 == "") {    inlineMsg('name2','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter your last name.',6);    return false;  }  if(!name2.match(name2Regex)) {    inlineMsg('name2','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You have entered an invalid name.',6);    return false;  }  if(client_email == "") {    inlineMsg('client_email','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter your e-mail address.',6);    return false;  }  if(!client_email.match(emailRegex)) {    inlineMsg('client_email','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You have entered an invalid e-mail.',6);    return false;  }  if(address == "") {    inlineMsg('address','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter a valid address.',6);    return false;  }  if(city == "") {    inlineMsg('city','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter a valid city.',6);    return false;  }   if(phone == "") {    inlineMsg('phone','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter a valid number.',6);    return false;  }  if(zip == "") {    inlineMsg('zip','<img src="js/error_blink2.gif" width="16" height="16" align="absbottom" />  <strong>Error!</strong><br />You must enter a zip code.',6);    return false;  }  return true;}// START OF MESSAGE SCRIPT //var MSGTIMER = 20;var MSGSPEED = 5;var MSGOFFSET = 3;var MSGHIDE = 3;// build out the divs, set attributes and call the fade function //function inlineMsg(target,string,autohide) {  var msg;  var msgcontent;  if(!document.getElementById('msg')) {    msg = document.createElement('div');    msg.id = 'msg';    msgcontent = document.createElement('div');    msgcontent.id = 'msgcontent';    document.body.appendChild(msg);    msg.appendChild(msgcontent);    msg.style.filter = 'alpha(opacity=0)';    msg.style.opacity = 0;    msg.alpha = 0;  } else {    msg = document.getElementById('msg');    msgcontent = document.getElementById('msgcontent');  }  msgcontent.innerHTML = string;  msg.style.display = 'block';  var msgheight = msg.offsetHeight;  var targetdiv = document.getElementById(target);  targetdiv.focus();  var targetheight = targetdiv.offsetHeight;  var targetwidth = targetdiv.offsetWidth;  var topposition = topPosition(targetdiv) - ((msgheight - targetheight) / 2);  var leftposition = leftPosition(targetdiv) + targetwidth + MSGOFFSET;  msg.style.top = topposition + 'px';  msg.style.left = leftposition + 'px';  clearInterval(msg.timer);  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);  if(!autohide) {    autohide = MSGHIDE;    }  window.setTimeout("hideMsg()", (autohide * 1000));}// hide the form alert //function hideMsg(msg) {  var msg = document.getElementById('msg');  if(!msg.timer) {    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);  }}// face the message box //function fadeMsg(flag) {  if(flag == null) {    flag = 1;  }  var msg = document.getElementById('msg');  var value;  if(flag == 1) {    value = msg.alpha + MSGSPEED;  } else {    value = msg.alpha - MSGSPEED;  }  msg.alpha = value;  msg.style.opacity = (value / 100);  msg.style.filter = 'alpha(opacity=' + value + ')';  if(value >= 99) {    clearInterval(msg.timer);    msg.timer = null;  } else if(value <= 1) {    msg.style.display = "none";    clearInterval(msg.timer);  }}// calculate the position of the element in relation to the left of the browser //function leftPosition(target) {  var left = 0;  if(target.offsetParent) {    while(1) {      left += target.offsetLeft;      if(!target.offsetParent) {        break;      }      target = target.offsetParent;    }  } else if(target.x) {    left += target.x;  }  return left;}// calculate the position of the element in relation to the top of the browser window //function topPosition(target) {  var top = 0;  if(target.offsetParent) {    while(1) {      top += target.offsetTop;      if(!target.offsetParent) {        break;      }      target = target.offsetParent;    }  } else if(target.y) {    top += target.y;  }  return top;}// preload the arrow //if(document.images) {  arrow = new Image(7,80);   arrow.src = "images/msg_arrow.gif"; }