// JavaScript Document

function validate_required(field)
{
	with (field)
	{
		if (value==null||value=="")
		{
			return false;
		} else {
			field.focus();
			return true;
		}
	}
}
function validate_expression(field, expr)
{
	var ex = '';
	switch (expr) {
		case 'alpha':
			ex = /^[a-zA-Z ]+$/;
			break;
		case 'number':
			ex  = /^[0-9]+$/;
			break;
		case 'alphanum':		
			ex = /^[0-9a-zA-Z ]+$/;
			break;
		case 'email':
			ex = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-Z0-9]{2,4}$/;	
			break;
		default: // alpha
			ex = /^[a-zA-Z ]+$/;
			break;
	}

	var val = field.value.replace(/ /,'');
	if (val.match(ex)) {
		return true;	
	} else {
		field.focus();
		return false;
	}
}

function compare_values(field_a, field_b) {
	if (field_a.value == field_b.value) {
		return true;
	} else {
		field_a.focus();
		return false;
	}
}

function confirm_delete(obj_name, id, page) {
	if (confirm("Are you sure you want to delete " + obj_name + "?")) {
		window.location.href = page + "?id=" + id + "&action=remove";
	}
}

/* BEGIN FORM VALIDATIONS */
function checkContactForm(form) {
	retval = true;
	msg = '';
	if(!validate_required(form.firstName)) {
		retval = false;
		msg = msg + 'First Name\n';
		form.firstName.focus();
	}
	if(!validate_required(form.lastName)) {
		retval = false;
		msg = msg + 'Last Name\n';
		form.lastName.focus();
	}
	if(!validate_required(form.emailAddress) || !validate_expression(form.emailAddress, 'email')) {
		retval = false;
		msg = msg + 'Email Address\n';
		form.emailAddress.focus();
	}
	
	if(msg.length > 0) {
		alert('Please complete or correct the following:\n' + msg);
	}
	
	return retval;
}
function checkVisionForm(form) {
	retval = true;
	msg = '';
	if(!validate_required(form.firstName)) {
		retval = false;
		msg = msg + 'First Name\n';
		form.firstName.focus();
	}
	if(!validate_required(form.lastName)) {
		retval = false;
		msg = msg + 'Last Name\n';
		form.lastName.focus();
	}
	if(!validate_required(form.emailAddress) || !validate_expression(form.emailAddress, 'email')) {
		retval = false;
		msg = msg + 'Email Address\n';
		form.emailAddress.focus();
	}
	if(!validate_required(form.phone)) {
		retval = false;
		msg = msg + 'Phone Number\n';
		form.phone.focus();
	}
	if(!validate_required(form.address)) {
		retval = false;
		msg = msg + 'Address\n';
		form.address.focus();
	}
	if(!validate_required(form.city)) {
		retval = false;
		msg = msg + 'City\n';
		form.city.focus();
	}
	if(!validate_required(form.state)) {
		retval = false;
		msg = msg + 'State\n';
		form.state.focus();
	}
	if(!validate_required(form.zipcode)) {
		retval = false;
		msg = msg + 'Zipcode\n';
		form.zipcode.focus();
	}
	
	if(msg.length > 0) {
		alert('Please complete or correct the following:\n' + msg);
	}
	
	return retval;
}
function checkHearingForm(form) {
	retval = true;
	msg = '';
	if(!validate_required(form.firstName)) {
		retval = false;
		msg = msg + 'First Name\n';
		form.firstName.focus();
	}
	if(!validate_required(form.lastName)) {
		retval = false;
		msg = msg + 'Last Name\n';
		form.lastName.focus();
	}
	if(!validate_required(form.emailAddress) || !validate_expression(form.emailAddress, 'email')) {
		retval = false;
		msg = msg + 'Email Address\n';
		form.emailAddress.focus();
	}
	if(!validate_required(form.phone)) {
		retval = false;
		msg = msg + 'Phone Number\n';
		form.phone.focus();
	}
	if(!validate_required(form.address)) {
		retval = false;
		msg = msg + 'Address\n';
		form.address.focus();
	}
	if(!validate_required(form.city)) {
		retval = false;
		msg = msg + 'City\n';
		form.city.focus();
	}
	if(!validate_required(form.state)) {
		retval = false;
		msg = msg + 'State\n';
		form.state.focus();
	}
	if(!validate_required(form.zipcode)) {
		retval = false;
		msg = msg + 'Zipcode\n';
		form.zipcode.focus();
	}
	
	if(msg.length > 0) {
		alert('Please complete or correct the following:\n' + msg);
	}
	
	return retval;
}
function checkRxForm(form) {
	retval = true;
	msg = '';
	if(!validate_required(form.firstName)) {
		retval = false;
		msg = msg + 'First Name\n';
		form.firstName.focus();
	}
	if(!validate_required(form.lastName)) {
		retval = false;
		msg = msg + 'Last Name\n';
		form.lastName.focus();
	}
	if(!validate_required(form.emailAddress) || !validate_expression(form.emailAddress, 'email')) {
		retval = false;
		msg = msg + 'Email Address\n';
		form.emailAddress.focus();
	}
	if(!validate_required(form.phone)) {
		retval = false;
		msg = msg + 'Phone Number\n';
		form.phone.focus();
	}
	if(!validate_required(form.address)) {
		retval = false;
		msg = msg + 'Address\n';
		form.address.focus();
	}
	if(!validate_required(form.city)) {
		retval = false;
		msg = msg + 'City\n';
		form.city.focus();
	}
	if(!validate_required(form.state)) {
		retval = false;
		msg = msg + 'State\n';
		form.state.focus();
	}
	if(!validate_required(form.zipcode)) {
		retval = false;
		msg = msg + 'Zipcode\n';
		form.zipcode.focus();
	}
	
	if(msg.length > 0) {
		alert('Please complete or correct the following:\n' + msg);
	}
	
	return retval;
}
function checkOrderForm(form) {
	retval = true;
	msg = '';
	if(!validate_required(form.firstName)) {
		retval = false;
		msg = msg + 'First Name\n';
		form.firstName.focus();
	}
	if(!validate_required(form.lastName)) {
		retval = false;
		msg = msg + 'Last Name\n';
		form.lastName.focus();
	}
	if(!validate_required(form.emailAddress) || !validate_expression(form.emailAddress, 'email')) {
		retval = false;
		msg = msg + 'Email Address\n';
		form.emailAddress.focus();
	}
	if(!validate_required(form.phone)) {
		retval = false;
		msg = msg + 'Phone Number\n';
		form.phone.focus();
	}
	if(!validate_required(form.address)) {
		retval = false;
		msg = msg + 'Address\n';
		form.address.focus();
	}
	if(!validate_required(form.city)) {
		retval = false;
		msg = msg + 'City\n';
		form.city.focus();
	}
	if(!validate_required(form.state)) {
		retval = false;
		msg = msg + 'State\n';
		form.state.focus();
	}
	if(!validate_required(form.zipcode)) {
		retval = false;
		msg = msg + 'Zipcode\n';
		form.zipcode.focus();
	}
	
	if(msg.length > 0) {
		alert('Please complete or correct the following:\n' + msg);
	}
	
	return retval;
}
/* END FORM VALIDATIONS */


/* BEGIN GALLERY SCROLL */
function setImage(elem, pos) {
	elem.src = './assets/images/headshot/' + imgs[pos] + '.jpg';	
	elem.alt = caps[pos];
}
function setHref(elem, pos) {
	elem.href = './aboutus/staff/' + refs[pos] + '.html';
}
function scrollBack() {
	var start = document.getElementById('imgStart');
	//var end = document.getElementById('imgEnd');
	var img0 = document.getElementById('imgScroll0');
	var img1 = document.getElementById('imgScroll1');
	var img2 = document.getElementById('imgScroll2');
	var img3 = document.getElementById('imgScroll3');
	var lnk0 = document.getElementById('lnkScroll0');
	var lnk1 = document.getElementById('lnkScroll1');
	var lnk2 = document.getElementById('lnkScroll2');
	var lnk3 = document.getElementById('lnkScroll3');
	var pos = start.value;

	if(pos == 0)
		pos = imgs.length;
	pos--;
	setImage(img0, pos);
	setHref(lnk0, pos);
	start.value = pos;
	pos++;

	if(pos >= (imgs.length))
		pos = 0;
	setImage(img1, pos);
	setHref(lnk1, pos);
	pos++;

	if(pos >= (imgs.length))
		pos = 0;
	setImage(img2, pos);
	setHref(lnk2, pos);
	pos++;
	
	if(pos >= (imgs.length))
		pos = 0;	
	setImage(img3, pos);
	setHref(lnk3, pos);

}
function scrollAhead() {
	var start = document.getElementById('imgStart');
	//var end = document.getElementById('imgEnd');
	var img0 = document.getElementById('imgScroll0');
	var img1 = document.getElementById('imgScroll1');
	var img2 = document.getElementById('imgScroll2');
	var img3 = document.getElementById('imgScroll3');
	var lnk0 = document.getElementById('lnkScroll0');
	var lnk1 = document.getElementById('lnkScroll1');
	var lnk2 = document.getElementById('lnkScroll2');
	var lnk3 = document.getElementById('lnkScroll3');
	var pos = start.value;
	if(pos >= imgs.length-1)
		pos = -1;
	pos++;

	setImage(img0, pos);
	setHref(lnk0, pos);
	start.value = pos;
	pos++;

	if(pos > imgs.length-1)
		pos = 0;
	setImage(img1, pos);
	setHref(lnk1, pos);
	pos++;

	if(pos > imgs.length-1)
		pos = 0;
	setImage(img2, pos);
	setHref(lnk2, pos);
	pos++;

	if(pos > imgs.length-1)
		pos = 0;
	setImage(img3, pos);
	setHref(lnk3, pos);

}
/* END GALLERY SCROLL */


/* BEGIN PRELOAD IMAGES FUNCTIONS */
function MM_swapImgRestore()
{
  var i;
  if(document.MM_sr) for(i=0; i < document.MM_sr.length; i++)
    if(document.MM_sr[i] && document.MM_sr[i].oSrc)
	  document.MM_sr[i].src = document.MM_sr[i].oSrc;
}

function MM_preloadImages()
{
  var i,j;

  if(!document.MM_p) document.MM_p = new Array();

  for(i = 0, j = document.MM_p.length; i < MM_preloadImages.arguments.length; i++) if(MM_preloadImages.arguments[i].indexOf("#") != 0)
  {
    document.MM_p[j] = new Image;
    document.MM_p[j].src = MM_preloadImages.arguments[i];
    j++;
  }
}

function MM_swapImage(o, m)
{
  var x = document.getElementById(o);
  document.MM_sr = new Array;
  if(x)
  {
    document.MM_sr[0] = x;
    x.oSrc = x.src;
    x.src = m;
  }
}

function MM_swapImages(o, m)
{
  var x,i,j;
  document.MM_sr = new Array;
  if(o.length != m.length) return;
  for(i = 0, j = 0; i < o.length; i++)
  {
    x = document.getElementById(o[i]);
    if(x)
    {
      document.MM_sr[j] = x;
      x.oSrc = x.src;
      x.src = m[i];
	  j++;
    }
  }
}
/* END PRELOAD IMAGES FUNCTIONS */

window.onload = function()
{
   var ids = new Array("nav");

   for(var i = 0; i < ids.length; i++)
   {
       var sfEls = document.getElementById(ids[i]).getElementsByTagName("LI");
       for (var i = 0; i < sfEls.length; i++) {
           sfEls[i].onmouseover = function() {
               if(!this.oldClassName)
                   this.oldClassName = this.className.replace(new RegExp("\\bsfhover\\b"), "");
               this.className += " sfhover";
           }
           sfEls[i].onmouseout = sfEls[i].onclick = function() {
               this.className = this.oldClassName;
           }
       }
   }
   	imgList = '';
	if(imgs) {
		for(i = 0; i < imgs.length; i++) {
			imgList = imgList + "'/assets/images/headshot/" + imgs[i] + ".jpg',";
		}
		imgList = imgList.substring(0, (imgList.length-1));
		MM_preloadImages(imgList);
	}
}