// form validation function //

var substitueFlag = false;

// Regular Expressions //

	var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/;

	var messageRegex = new RegExp(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim);

	var emailRegex = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/;

	var regPhone = "^([0-9]{3})(-)?([0-9]{3})(-)?([0-9]{4}|[0-9]{4})$";

	var regDate = /(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])\/([0-9]{2,4})/i;

	var regPrice = "/(^$)|(^[0-9]+$)|(^[0-9]+\.[0-9][0-9]$)/";



function emptyFields()

{

	return false;	

}

function numbersonly(myfield, e, dec)

{

var key;

var keychar;



if (window.event)

   key = window.event.keyCode;

else if (e)

   key = e.which;

else

   return true;

keychar = String.fromCharCode(key);



// control keys

if ((key==null) || (key==0) || (key==8) || 

    (key==9) || (key==13) || (key==27) )

   return true;



// numbers

else if ((("0123456789").indexOf(keychar) > -1))

   return true;



// decimal point jump

else if (dec && (keychar == "."))

   {

   myfield.form.elements[dec].focus();

   return false;

   }

else

   return false;

}





function validateTalkWithUs(form)
{
	var fname = form.fname.value;
	var lname = form.lname.value;
	var phone = form.phone.value;
	var email = form.email.value;
	
	if(fname == "")
	{
		inlineMsg("fname", "Please enter information");
		return false;
	}
	if(lname == "")
	{
		inlineMsg("lname", "Please enter information");
		return false;
	}
	if(phone == "")
	{
		inlineMsg("phone", "Please enter information");
		return false;
	}
	if(email == "")
	{
		inlineMsg("email", "Please enter information");
		return false;
	}
	if(!email.match(emailRegex)) {
		inlineMsg('email','You have entered an invalid email address.',5);
		return false;
	}
	
	return true;
}

function validateSignUpForm(form)
{
	var fname = form.fname.value;
	var lname = form.lname.value;
	var phone = form.phone.value;
	var email = form.email.value;
	
	if(fname == "")
	{
		inlineMsg("fname", "Please enter information");
		return false;
	}
	if(lname == "")
	{
		inlineMsg("lname", "Please enter information");
		return false;
	}
	if(phone == "")
	{
		inlineMsg("phone", "Please enter information");
		return false;
	}
	if(email == "")
	{
		inlineMsg("email", "Please enter information");
		return false;
	}
	if(!email.match(emailRegex)) {
		inlineMsg('email','You have entered an invalid email address.',5);
		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);

  }

}

function isInteger(s)

{

      var i;

		s = s.toString();

      for (i = 0; i < s.length; i++)

      {

         var c = s.charAt(i);

         if (isNaN(c)) 

	   {

		//alert("Given value is not a number");

		return false;

	   }

      }

      return true;

}



// 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"; 

	}

