// JavaScript Document

// Edited from MM script to use display property instead of visibility
function blu_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=blu_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function blu_showHideLayers() { //v6.0
  var i,p,v,obj,args=blu_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=blu_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'block':(v=='hide')?'none':v; }
    obj.display=v; }
}

// Form Validation
function _is_required(obj){
	/*
	Parameters:
		String
	Returns:
		boolean
	Purpose:
	 Ensures that incoming value is not blank
	*/
	if(obj.length == 0){
		return false;
	}
	return true;
}
function _is_email(obj){
	/*
	Parameters:
		String
	Returns:
		boolean
	Purpose:
	 	Ensures that incoming value is consistant with "user@domain.com"
	*/
	return /[A-Za-z0-9][A-Za-z0-9\-\.\_]*\@[A-Za-z0-9][A-Za-z0-9\-\.]*\.[A-Za-z]{2,3}$/.test(obj)
}

function _is_phone(obj){
	/*
	Parameters:
		String
	Returns:
		boolean
	Purpose:
		Ensures that incoming value is consistant with "555-555-1234"
	*/
	return /[0-9]{3}\-[0-9]{3}-[0-9]{4}$/.test(obj)
}

function form_submit(obj){
	if(!_is_email(obj.email.value)){
		alert('email is a required field');
		return false;
	}

	if(!_is_required(obj.firstname.value)){
		alert('first name is a required field');
		return false;
	}
	
	if(!_is_required(obj.lastname.value)){
		alert('last name is a required field');
		return false;
	}
	
	if(!_is_phone(obj.phone.value)){
		alert('phone is a required field, i.e."555-555-1234"');
		return false;
	}
}
