////////////////////////////////////////////////////////////////////////////////
// COPYRIGHT NOTICE                                                            /
// Copyright 2010 MLS EARTHview, LLC, All Rights Reserved.               /
//                                                                             /
// This software is the property of MLS EARTHview, LLC. and may NOT be   /
// copied, reused, modified, executed or ANYTHING else without the express     /
// written consent of MLS EARTHview, LLC.  Contact: 254-449-7255         /
////////////////////////////////////////////////////////////////////////////////


/*
if (!document.getElementById('formVer'))
  {
  fVer = document.createElement('input');
  fVer.id = 'formVer';
  fVer.name = 'formVer';
  fVer.type = 'hidden';
  fVer.value = 'fv1-121';
  document.body.appendChild(fVer);
  }

var versionConf = function()
  {
  if (document.getElementById("formVer"))
    {
    a = document.getElementById("formVer");
    if (isNaN(a.value) == true)
      {a.value = 0;}
    else
      {a.value = parseInt(a.value) + 1;}
    }
    setTimeout("versionConf()", 1000);
  }

versionConf();
*/


function validate(form)
  {
  var firstName = form.firstName.value;
  var lastName = form.lastName.value;
  var email = form.email.value;

  if (form.dayPhone)
       {var dayPhone = form.dayPhone.value;}
  else {var dayPhone = '';}
  if (form.evePhone)
       {var evePhone = form.evePhone.value;}
  else {var evePhone = '';}
  if (form.cellPhone)
       {var cellPhone = form.cellPhone.value;}
  else {var cellPhone = '';}

  var phoneRegex = /^[0-9]*$/;
  var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;
  var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;
//  var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);

  if (firstName == "")
    {
    inlineMsg('firstName','Please enter your first name.',2);
    return false;
    }
  else if (!firstName.match(nameRegex))
    {
    inlineMsg('firstName','Please enter your first name.',2);
    return false;
    }

  if (lastName == "")
    {
    inlineMsg('lastName','Please enter your last name.',2);
    return false;
    }
  else if (!lastName.match(nameRegex))
    {
    inlineMsg('lastName','Please enter your last name.',2);
    return false;
    }

  if (email == "")
    {
    inlineMsg('email','<strong>Error</strong><br />Please enter your email address.',2);
    return false;
    }
  else if (!email.match(emailRegex))
    {
    inlineMsg('email','<strong>Error</strong><br />Please enter a valid email address.',2);
    return false;
    }


  var pstripped = '';
  pstripped = dayPhone.replace(/[\(\)\.\-\ ]/g, '');
  if (pstripped == "" || !pstripped.match(phoneRegex) || pstripped.length < 10 || pstripped.length > 10)
    {
    inlineMsg('dayPhone','<strong>Error</strong><br />Please enter a valid phone number with area code.',2);
    return false;
    }

  pstripped = evePhone.replace(/[\(\)\.\-\ ]/g, '');
  if (!pstripped == "" && (!pstripped.match(phoneRegex) || pstripped.length < 10 || pstripped.length > 10))
    {
    inlineMsg('evePhone','<strong>Error</strong><br />Please enter a valid phone number with area code.',2);
    return false;
    }

  pstripped = cellPhone.replace(/[\(\)\.\-\ ]/g, '');
  if (!pstripped == "" && (!pstripped.match(phoneRegex) || pstripped.length < 10 || pstripped.length > 10))
    {
    inlineMsg('cellPhone','<strong>Error</strong><br />Please enter a valid phone number with area code.',2);
    return false;
    }


  return true;
  }



var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

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));
  }


function hideMsg(msg)
  {
  var msg = document.getElementById('msg');
  if (!msg.timer)
    {msg.timer = setInterval("fadeMsg(0)", MSGTIMER);}
  }


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);
    }
  }



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;
  }


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;
  }


if (document.images)
  {
  arrow = new Image(7,80); 
  arrow.src = "http://newdev.mlsearthview.com/common/validateForm/msg_arrow.gif"; 
  }


