//Copyright (c) 2008 Service First Webmasters, Inc. All Rights Reserved.

//mouseover animation for home page
function changeClass(objID,newClass){
	if (testObject(objID)) {
		setClass(objID,newClass);
	}		
}
function changeImage(objID,newImage){
	if (testObject(objID)) {
		setImage(objID,newImage);
	}
}
function setImage(objID,newImage){
	var object = document.getElementById(objID);
	object.src = newImage;
}
//global vars for animation
var fh = null;
var ht = null;
var delay = null;
var obj = null;
	
function animateOpen(objID, finalHeight){
	ht = 0;
	fh = finalHeight;
	delay = 0.1;
	if (testObject(objID)) {
		obj = document.getElementById(objID);
		stepHeight();
	}
}

function stepHeight(){
	
  if (ht >= 0 && ht <= fh) {
	  //alert("in stepHeight if");
	  obj.style.height=ht + "px";
	  ht = ht + 15;
	  setTimeout('stepHeight()',delay);
  } else {
		  //set the finalHeight to it's real value, not the final calculated value;
		obj.style.height=fh + "px";
  }
  	
	return;  
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function setYAH(){
	var numLinks = 50; //the total count of links for which to check if YAH should be applied
	var navObject = null;
	var bNavObject = null;
	var hNavObject = null;
	var here = self.location + "";
	var theQ = here.indexOf("?");
	var simpleHere = here;
	if (theQ >0 ){
		simpleHere = here.substring(0,theQ);
	} 
	var navLinkID = "";
	var bNavLinkID = "";
	var hNavLinkID = "";
	
	//set YAH on the logo div
	navLinkID = "logo";
	if (testObject(navLinkID)) {
			navObject = document.getElementById(navLinkID);
			if (simpleHere.indexOf("index") > 0){//we are at the home page
				setClass(navLinkID,'logoDivYAH');
			}
	}
		
	for (var i = 1; i <= numLinks; i++) {
		navLinkID = "nav" + i;
		bNavLinkID = "bnav" + i;
		hNavLinkID ="hnav" + i;
		if (testObject(navLinkID)) {
			navObject = document.getElementById(navLinkID);
			if (simpleHere == navObject.href){
				setClass(navLinkID,'YAH');
			}
		}
		if (testObject(bNavLinkID)) {
			bNavObject = document.getElementById(bNavLinkID);
			if (simpleHere == bNavObject.href){
				setClass(bNavLinkID,'YAH');
			}
		}
		if (testObject(hNavLinkID)) {
			hNavObject = document.getElementById(hNavLinkID);
			if (simpleHere == hNavObject.href){
				setClass(hNavLinkID,'YAH');
			}
		}
	}
}

function setClass(objectID,newClass){
	var object = document.getElementById(objectID);
	object.className = newClass;
}

function testObject(objectID){
	return document.getElementById(objectID);
}

function newImage(arg) {
	if (document.images) {
		rslt = new Image();
		rslt.src = arg;
		return rslt;
	}
}

//preloadImages();
function preloadImages() {
	if (document.images) {
		TL = newImage("assets/landscape_architecture.jpg");
		TM = newImage("assets/international_design.jpg");
		TR = newImage("assets/architecture.jpg");
		ML = newImage("assets/campus_design.jpg");
		MM = newImage("assets/sustainable_design.jpg");
		ML = newImage("assets/workforce_housing_design.jpg");
		BL = newImage("assets/community_planning.jpg");
		BM = newImage("assets/town_design.jpg");
		BR = newImage("assets/preservation.jpg");
	}
}
function preloadImagesPeople() {
	if (document.images) {
		Marshall = newImage("assets/people/marshall_mcmillan-zapf.jpg");
		Don = newImage("assets/people/don_harwood.jpg");
		David = newImage("assets/people/david_hill.jpg");
		Amy = newImage("assets/people/amy_saunders.jpg");
		Sandy = newImage("assets/people/sandy_thompson.jpg");
		Laurice = newImage("assets/people/laurice_ellsworth.jpg");
		Patrick = newImage("assets/people/patrick_hughes.jpg");
		Joyce = newImage("assets/people/joyce_huskey.jpg");
		Alison = newImage("assets/people/alison_blanton.jpg");
		Ken = newImage("assets/people/ken_beck.jpg");
		Chris = newImage("assets/people/chris_henry.jpg");
		Charlie = newImage("assets/people/charlie_craig.jpg");
		Anne = newImage("assets/people/anne_beckett.jpg");
		Hunter = newImage("assets/people/hunter_green.jpg");
		Greg = newImage("assets/people/greg_webster.jpg");
		ChrisL = newImage("assets/people/chris_lawrie.jpg");
		Melissa = newImage("assets/people/melissa_crumb.jpg");
		Pam = newImage("assets/people/pam_gruver.jpg");
		Molly = newImage("assets/people/molly_meredith.jpg");
		Evie = newImage("assets/people/evie_slone.jpg");
	}
}
function preloadImagesLA() {
	if (document.images) {
		TL = newImage("assets/blue_ridge_music_center.jpg");
		TM = newImage("assets/colonial_green.jpg");
		TR = newImage("assets/hanging_rock_trail.jpg");
		ML = newImage("assets/hotel_roanoke.jpg");
		MM = newImage("assets/martin_luther_king_bridge.jpg");
		ML = newImage("assets/o_winston_link_museum.jpg");
		BL = newImage("assets/rccrt.jpg");
		BM = newImage("assets/riverside_signage.jpg");
		BR = newImage("assets/wvtf.jpg");
	}
}
function preloadImagesIA() {
	if (document.images) {
		TL = newImage("assets/apollo.jpg");
		TM = newImage("assets/lake_jiyang_kayak_park.jpg");
		TR = newImage("assets/zhang_jia_gang_mplan.jpg");
	}
}
function preloadImagesA() {
	if (document.images) {
		TL = newImage("assets/blueberry_ridge_cottages.jpg");
		TM = newImage("assets/davidsons_live_work.jpg");
		TR = newImage("assets/franklin_visitor_center.jpg");
		ML = newImage("assets/mccray_court.jpg");
		MM = newImage("assets/mill_mountain_visitor_center.jpg");
		ML = newImage("assets/millers_hill.jpg");
		BL = newImage("assets/parkstreet_square.jpg");
		BM = newImage("assets/rivers_edge.jpg");
		BR = newImage("assets/vt_peggy_hahn.jpg");
	}
}
function preloadImagesCD() {
	if (document.images) {
		TL = newImage("assets/radford_adams_st_mall.jpg");
		TM = newImage("assets/randolph_college_mplan.jpg");
		TR = newImage("assets/zhang_jia_gang_mplan.jpg");
	}
}
function preloadImagesSD() {
	if (document.images) {
		TL = newImage("assets/ecorridor_tech_park.jpg");
		TM = newImage("assets/madison_field.jpg");
		TR = newImage("assets/riverside_biomedical.jpg");
	}
}
function preloadImagesPL() {
	if (document.images) {
		TL = newImage("assets/abingdon_comp_plan.jpg");
		TM = newImage("assets/apco_cultural_assessment.jpg");
		TR = newImage("assets/blue_ridge_parkway.jpg");
		ML = newImage("assets/fries_downtown_plan.jpg");
		MM = newImage("assets/i81_viewshed_plan.jpg");
		ML = newImage("assets/purcellville_comp_plan.jpg");
		BL = newImage("assets/radford_comp_plan.jpg");
		BM = newImage("assets/roanoke_city_pattern_book.jpg");
		BR = newImage("assets/wise_downtown_plan.jpg");
	}
}
function preloadImagesTD() {
	if (document.images) {
		TL = newImage("assets/beale_street_mp.jpg");
		TM = newImage("assets/hopewell_waterfront.jpg");
		TR = newImage("assets/south_jefferson.jpg");
	}
}
function preloadImagesP() {
	if (document.images) {
		TL = newImage("assets/aep_powerline_corridor.jpg");
		TM = newImage("assets/chatham_historic_district.jpg");
		TR = newImage("assets/fire_station_1.jpg");
		ML = newImage("assets/grandin_theater.jpg");
		MM = newImage("assets/hensley_settlement.jpg");
		ML = newImage("assets/shaftman_performance_hall.jpg");
		BL = newImage("assets/smyth_cty_arch_survey.jpg");
		BM = newImage("assets/twin_oaks_national_reg.jpg");
		BR = newImage("assets/fieldale_historic_survey.jpg");
	}
}
//start of code that allows menus to click on and off
//if you do not have dropdowns or flyouts, delete from here down
var level1On = "";
var level2On = "";
var stopper = false;

function setStopper(){
	stopper = true;// prevents clicks on second and third levels from having an effect on the first level
}
function clearStopper(){
	stopper = false;
}

function setVisible(id, visible){// expects id and either yes or no
	if (testObject(id)){
		var el = document.getElementById(id);
		if (visible == "yes") {
			el.style.display = 'block';
			el.style.visibility = 'visible';
			//WCH.Apply(id);
			//uncomment if you have flyouts that go over dropdowns, checkboxes or radio buttons. Be sure to add the WCH.js link to the head of each page.
		} else {
			el.style.display = 'none';
			el.style.visibility = 'hidden';
			//WCH.Discard(id);
			//uncomment if you have flyouts that go over dropdowns, checkboxes or radio buttons. Be sure to add the WCH.js link to the head of each page.
		}
	}
}

function toggleTopLevel(list,finalHeight) {
//prevent this function from working if stopper is set
//alert("level1On is " + level1On + "; level2On is " + level2On);
	if (!stopper) {
	// turn off the open menus
		if (level1On != "") {
			setVisible(level1On,'no');
			level1On = "";
		}
		if (level2On != "") {
			setVisible(level2On,'no');
			level2On = "";
		}
	//save the incoming list
		level1On = list;
	//turn on the incoming

		setVisible(list,'yes');
		animateOpen(list, finalHeight);
	}
	
//alert("level1On is " + level1On + "; level2On is " + level2On);
}

function toggle2ndLevel(list) {
//prevent this function from working if stopper is set
	if (!stopper) {
	// turn off the open menus
		if (level2On != "") {
			setVisible(level2On,'no');
			level2On = "";
		}
	//save the incoming list
		level2On = list;
	//turn on the incoming
		setVisible(list,'yes');
	// prevent the next click (automatically generated on top level) from doing anything for 1/10 sec.
		setStopper();
		timerID = setTimeout("clearStopper()",100);
	}
}

function hideLists() {
		//alert("level1On is " + level1On + "; level2On is " + level2On);
		if (level1On != "") {
			setVisible(level1On,'no');
			level1On = "";
		}
		if (level2On != "") {
			setVisible(level2On,'no');
			level2On = "";
		}
		//alert("level1On is " + level1On + "; level2On is " + level2On);
}
// level 1 menus and level 2 menus get ids
// click top level and it: 1.) checks to see if any saved menus are open; closes them 2.) saves the new level1 that is now being opened 3.) opens the new level1.
// click second level and it 1.) checks for level 2 saved open and closes it if any 2.) saves new level 2 and opens new level 2
// a settimeout function prevents the click on level 2 from triggering on level 1.
// mouseover level 3 and the stopper flag is set to true, preventing any clicks from happening at level 2 or 1.
// mouseout level 3 and the stopper flag is cleared, allowing clicks to happen. 
// or click level 3 and go to a page.
// or if you have moused out of level 3, you can click the content area and close the 2 saved menus.
// it all happens in js without any hovers.
