// JavaScript Document

/* Menu/Image Validation ****************************/

function addEvent(obj, evType, fn) { 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function switchImage(id,prefix,obj,type) {
	var sfEls = document.getElementById(id).getElementsByTagName("IMG");
	for (var i=0; i<sfEls.length; i++) {	
		if (sfEls[i] == obj) { 
			var num = i + 1;
		}
	}
	
	if (type == 1) {
		obj.src = "images/" + prefix + num + "_over.gif";
	} else {
		obj.src = "images/" + prefix + num + ".gif";
	}
}

var menuHover = function() {
	var sfEls = document.getElementById("menu").getElementsByTagName("IMG");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			switchImage("menu","menu",this,1);
		}
		sfEls[i].onmouseout=function() {
			switchImage("menu","menu",this,0);
		}
	}
}
addEvent(window,'load',menuHover);

var buttonHover = function() {
	if (document.getElementById("leftButtons")) {
		var sfEls = document.getElementById("leftButtons").getElementsByTagName("IMG");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
				switchImage("leftButtons","home_button",this,1);
			}
			sfEls[i].onmouseout=function() {
				switchImage("leftButtons","home_button",this,0);
			}
		}
	}
}
addEvent(window,'load',buttonHover);


// Example:
// simplePreload( '01.gif', '02.gif' ); 
function simplePreload()
{ 
  var args = simplePreload.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++)
  {
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}

var imagePreload = function() {
	simplePreload(
		"images/menu1.gif","images/menu1_over.gif",
		"images/menu2.gif","images/menu2_over.gif",
		"images/menu3.gif","images/menu3_over.gif",
		"images/menu4.gif","images/menu4_over.gif",
		"images/menu5.gif","images/menu5_over.gif",
		"images/menu6.gif","images/menu6_over.gif"
	);	
}
addEvent(window,'load',imagePreload);


/* Form Validation ****************************/

function MM_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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}