function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

function changeImages() {
	if (document.images && (preloadFlag == true)) {
		for (var i=0; i<changeImages.arguments.length; i+=2) {
			if (changeImages.arguments[i] != imageNames[filename]){
				document[changeImages.arguments[i]].src = eval('parentDir+changeImages.arguments[i+1]');
			}
		}
	}
}
var preloadFlag = false;
var imageNames = new Array();
function preloadImages() {
	if (!parentDir)
		parentDir="";
	if (document.images) {
		map_click_1 = newImage(eval('parentDir+"images/map_highlight.gif"'));
		SunValleyHeader_02_over = newImage(eval('parentDir+"images/SunValleyHeader_02-over.gif"'));
		SunValleyHeader_05_over = newImage(eval('parentDir+"images/SunValleyHeader_05-over.gif"'));
		SunValleyHeader_08_over = newImage(eval('parentDir+"images/SunValleyHeader_08-over.gif"'));
		SunValleyHeader_09_over = newImage(eval('parentDir+"images/SunValleyHeader_09-over.gif"'));
		SunValleyHeader_10_over = newImage(eval('parentDir+"images/SunValleyHeader_10-over.gif"'));
		SunValleyHeader_11_over = newImage(eval('parentDir+"images/SunValleyHeader_11-over.gif"'));
		SunValleyHeader_12_over = newImage(eval('parentDir+"images/SunValleyHeader_12-over.gif"'));
		SunValleyHeader_14_over = newImage(eval('parentDir+"images/SunValleyHeader_14-over.gif"'));
		SunValleyHeader_15_over = newImage(eval('parentDir+"images/SunValleyHeader_15-over.gif"'));
		SunValleyHeader_16_over = newImage(eval('parentDir+"images/SunValleyHeader_16-over.gif"'));
		SunValleyHeader_17_over = newImage(eval('parentDir+"images/SunValleyHeader_17-over.gif"'));
		SunValleyHeader_18_over = newImage(eval('parentDir+"images/SunValleyHeader_18-over.gif"'));
		preloadFlag = true;
	}
}
function setPageHighlight(){	
	imageNames["Default.asp"] = "SunValleyHeader_08";
	imageNames["meetings.asp"] = "SunValleyHeader_09";
	imageNames["getinvolved.asp"] = "SunValleyHeader_10";
	imageNames["groundrules.asp"] = "SunValleyHeader_10";
	imageNames["survey.asp"] = "SunValleyHeader_10";
	imageNames["map.asp"] = "SunValleyHeader_10";
	imageNames["pilotprojects.asp"] = "SunValleyHeader_11";
	imageNames["CalMat.asp"] = "SunValleyHeader_11";
	imageNames["SVPark.asp"] = "SunValleyHeader_11";
	imageNames["SVMiddleSchool.asp"] = "SunValleyHeader_11";
	imageNames["SteamPlant.asp"] = "SunValleyHeader_11";
	imageNames["Tuxford.asp"] = "SunValleyHeader_11";
	imageNames["GravelPlant.asp"] = "SunValleyHeader_11";
	imageNames["PanPacific.asp"] = "SunValleyHeader_11";
	imageNames["Broadous.asp"] = "SunValleyHeader_11";
	imageNames["HallHouse.asp"] = "SunValleyHeader_11";
	imageNames["stakeholders.asp"] = "SunValleyHeader_12";
	imageNames["timeline.asp"] = "SunValleyHeader_14";
	imageNames["resources.asp"] = "SunValleyHeader_15";
	imageNames["success.asp"] = "SunValleyHeader_15";
	imageNames["education.asp"] = "SunValleyHeader_15";
	imageNames["explorers.asp"] = "SunValleyHeader_15";
	imageNames["links.asp"] = "SunValleyHeader_15";
	imageNames["projectfunding.asp"] = "SunValleyHeader_16";
	imageNames["newsletter.asp"] = "SunValleyHeader_17";
	imageNames["plan.asp"] = "SunValleyHeader_18";
	imageNames["faqs.asp"] = "SunValleyHeader_19";
	if (imageNames[filename]){
		document[imageNames[filename]].src = eval('parentDir+"images/"+imageNames[filename]+"-over.gif"');
	}
}
function checkFields(formName){
	var skippedFields = new Array();
	  // any more arguments sent will be fields that the user doesn't want to validate
	for (var i=1; i<checkFields.arguments.length; i++) {
		skippedFields[checkFields.arguments[i].name] = 1;
	}
	var result="The following field(s) need to be filled out:\n\n";
	var errors=0;
	for (var i=0;i<formName.length;i++){
		if (skippedFields[formName.elements[i].name] != 1){ 			// First off, make sure I am not skipping this one
			if (formName.elements[i].type == "text"){			// For text fields
				if (formName.elements[i].value == ""){  		// Is it empty?
					var n=cleanupName(formName.elements[i].name);	// Get modified name for display
					result += n+"\n";				// add the modified form name to the result list
					errors++;
				}
			} else if (formName.elements[i].type == "select-one"){		// For dropdown menus.  different way of checking value in netscape
				if (formName.elements[i].options[formName.elements[i].selectedIndex].value == ""){  		// Is it empty?
					var n=cleanupName(formName.elements[i].name);	// Get modified name for display
					result += n+"\n";				// add the modified form name to the result list
					errors++;
				}
			} else if (formName.elements[i].type == "file"){		// For file fields
				if (formName.elements[i].value == ""){  		// Is it empty?
					var n=cleanupName(formName.elements[i].name);	// Get modified name for display
					result += n+"\n";				// add the modified form name to the result list
					errors++;
				}
			}
		}
	}
	if (errors>0){
		alert(result);
		return false;
	}
	return true;
}
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}
function cleanupName(formName){
	var n=formName.charAt(0).toUpperCase();				// store the first character of formName into n (convert to uppercase)
	for (var a=1;a<formName.length;a++){				// loop thru formName, starting at the 2nd character
		if (formName.charAt(a).search(/[A-Z]/) != -1 || 	// if the character is uppercase or
		    formName.charAt(a).search(/[0-9]/) != -1) {	 	// the character is a number or 
			n+=" "+formName.charAt(a);			//   start a new word by inserting space, then the next character
		} else if (formName.charAt(a).search(/_/) != -1){	// the character is an underscore(_):
			n+=" "+formName.charAt(a+1).toUpperCase();	//   replace the underscore with a space and capatalize the next letter
			a++;
		} else {						// otherwise
			n+=formName.charAt(a);				//   just add the next character
		}
	}
	// Below is specifically for form fields that end in 'id'
	// It just eliminates those letters at the end.  Shouldn't hurt most other uses
	if (n.substring(n.length-2,n.length) == "id"){
		n = n.substring(0,n.length-2);
	}
	return n;
}
