function isblank(s)
{
	for(var i = 0; i < s.length; i++) {
		var c = s.charAt(i);
		if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
	}
	return true;
}
function verify(f)
{
	var msg;
	var empty_fields = "";
	var errors = "";
	for(var i = 0; i < f.length; i++) {
		var e = f.elements[i];
		if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
			if ((e.value == null) || (e.value == "") || isblank(e.value)) {
				empty_fields += "\n          " + e.name;
				continue;
		}
		
		if (e.numeric || (e.min != null) || (e.max != null)) {
			var v = parseFloat(e.value);
			if (isNaN(v) ||
				((e.min != null) && (v < e.min)) ||
				((e.max != null) && (v > e.max))) {
				errors += "- The field " + e.name + " must be a number";
				if (e.min != null)
					errors += " that is greater than " + e.min;
				if (e.max != null && e.min != null)
					errors += " and less than " + e.max;
				else if (e.max != null)
					errors += " that is less than " + e.max;
				errors += ".\n";
			}
		}
	}
}

if (!empty_fields && !errors) return true;

msg = "__________________________________________________\n\n"
msg += "The form was not submitted because of the following error(s).\n";
msg += "Please correct these error(s) and re-submit.\n";
msg += "__________________________________________________/n/n"

if (empty_fields) {
	msg += "- The following required field(s) are empty:"
			+ empty_fields + "\n";
	if (errors) msg += "/n";
	}
	msg += errors;
	alert(msg);
	return false;
}

// PRELOAD IMAGES
// Use like so:
// <body onLoad="preloadImages('image_1.gif','image_1_over.gif','image_2.gif','image_2_over.gif')">

function preloadImages()
	{
	if (!document.imageArray)
		{
		document.imageArray = new Array();
		}
    var i;
	var j = document.imageArray.length;
	var a = preloadImages.arguments;
	for(i=0; i < a.length; i++)
		{
		document.imageArray[j] = new Image;
		document.imageArray[j].src = a[i];
		j++;
		}	
	}

// IMAGE SWAP WITH STICKY IMAGES
//
// Usage:
// <a href="#" onMouseOver="imgOver('myImage', 'myImage_over.gif')" onMouseDown="imgStick('myImage', 'myImage_down.gif')" onMouseOut="imgOut('myImage')"><img name="myImage" src="myImage.gif"></a>
//
// If you only want one image to stick at a time, call unStickAll first on mouse down:
// ... onMouseDown="unStickAll(); imgStick('myImage', 'myImage_down.gif')" ...
//
// If you want to stick an image onLoad, do:
// onLoad="imgStick('myImage', 'myImage_down.gif')"

function imgOver(imgName, overImgSrc)
	{
	if (document.images[imgName])
	{
		var m = document.images[imgName];
		if (!m.stuck)
 			{
			m.original = m.src;
			m.src = overImgSrc;
			m.over = m.src;
			}
		}
	}
 
function imgOut(imgName)
	{
	if (document.images[imgName])
		{
		var m = document.images[imgName];
		if (!m.stuck)
			{
			m.src = m.original;
			}
		}
	}
 
function imgStick(imgName, downImgSrc)
	{
	if (document.images[imgName])
		{
		var m = document.images[imgName];
		if (!m.stuck)
			{
			if (!m.over)  // in case stick happens without a mouseover
				{
				m.original = m.src;
				m.over = m.src;
				}
			m.src = downImgSrc;
			m.stuck = true;
			}
		else
			{
			m.src = m.over;
			m.stuck = false;
			}
		}
	}
 
function unStickAll()
	{
	for (var i=0; i < document.images.length; i++)
		{
		if (document.images[i])
			{
			var m = document.images[i];
			if (m.original)
				{
				m.src = m.original;
				}
			m.stuck = false;
			}
		}
	}

function show()
	{
	for (var i=0; i<arguments.length; i++)
		{
		var obj = arguments[i];
		if (typeof(obj) != "object") obj = document.getElementById(obj);
//		hideInterferers(obj);
		obj.style.display="";
		}
	}

function hide()
	{
	for (var i=0; i<arguments.length; i++)
		{
		var obj = arguments[i];
		if (typeof(obj) != "object") obj = document.getElementById(obj);
//		showInterferers(obj);
		obj.style.display="none";
		}
	}

function makevis()
	{
	for (var i=0; i<arguments.length; i++)
		{
		var obj = arguments[i];
		if (typeof(obj) != "object") obj = document.getElementById(obj);
//		hideInterferers(obj);
		obj.style.visibility="visible";
		}
	}

function makeinvis()
	{
	for (var i=0; i<arguments.length; i++)
		{
		var obj = arguments[i];
		if (typeof(obj) != "object") obj = document.getElementById(obj);
//		hideInterferers(obj);
		obj.style.visibility="hidden";
		}
	}
// fireworks code

function MM_findObj(n, d) { //v3.0
  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); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v3.0
  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); return x;
}

function MM_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}


