var preloadedImages = new Array();

var imageNames = new Object();

var selectionNames = new Object();
var selectedImages = new Object();
var selectionPreserveRollover = new Object();
var rolloverAsSelected = new Object();

function preloadImage(img, name) {
	var nextImg = preloadedImages.length;
	preloadedImages[nextImg] = new Image();
	preloadedImages[nextImg].src = img;
	if (name != null) imageNames[name] = img;
}

function translateSourceURL(url, translate) {
	var append = "";
	
	if (translate == "rollover") {
		append = "_r";
	} else if (translate == "selected") {
		append = "_s";
	} else {
		alert("Invalid 'translate' variable");
		1 / 0;
	}
		
	var lastPeriod = url.lastIndexOf(".");
	if (lastPeriod == -1) {
		return url + append;
	} else {
		return url.substring(0, lastPeriod) + append + url.substring(lastPeriod);
	}	
}

function preloadRollover(img, name) {
	if (name == null) name = img;
	preloadImage(img, name);
	preloadImage(translateSourceURL(img, "rollover"));
}

function preloadSelected(img, name) {
	if (name == null) name = img;
	preloadImage(img, name);
	preloadImage(translateSourceURL(img, "selected"));
}

function preloadSelectRollover(img, name) {
	if (name == null) name = img;
	preloadImage(img, name);
	preloadImage(translateSourceURL(img, "rollover"));
	preloadImage(translateSourceURL(img, "selected"));
}

function defineSelection(name) {
	for (var i = 1; i < arguments.length; i++) {
		selectionNames[arguments[i]] = name;
	}
	selectionPreserveRollover[name] = false;
}

function setSelectionPreserveRollover(name, preserve) {
	selectionPreserveRollover[name] = preserve;
}

function setRolloverAsSelected(name, value) {
	rolloverAsSelected[name] = value;
}	

function select(selectedImage) {
	var selectionGroup = selectionNames[selectedImage];
	if (selectionGroup == null) {
		alert("Cannot locate selection group for \"" + selectedImage + "\".");
		return;
	}
	
	clearSelection(selectionGroup);
	
	var imgSource = imageNames[selectedImage];
	var img = locateImage(selectedImage);
	
	if (rolloverAsSelected[selectionGroup]) {
		img.src = translateSourceURL(imgSource, "rollover");
	} else {	
		img.src = translateSourceURL(imgSource, "selected");
	}
	
	selectedImages[selectionGroup] = selectedImage;
}

function clearSelection(selectionGroup) {
	if (selectionGroup == null) {
		alert("Cannot clear unspecified selection group.");
		return;
	}

	for (imageName in selectionNames) {
		if (selectionNames[imageName] == selectionGroup) {
			var imgSource = imageNames[imageName];
			var img = locateImage(imageName);
			img.src = imgSource;
		}
	}
}

function locateImage(imageName) {
	var img = document.images[imageName];

	if (img == null && document.layers) {
		//Check in all layers, if Netscape 4.x
		var i;
		for (i = 0; i < document.layers.length; i++) {
			img = document.layers[i].document.images[imageName];
			if (img != null) break;
		}
	}
	
	return img;
}
				
function rollover(name, over) {
	var foundImage = false;
	
	if (name == null) {
		alert("Cannot rollover with an unspecified name.");
		return;
	}
	var imgSource = imageNames[name];
	
	if (imgSource == null) {
		//alert("Unable to locate image source \"" + name + "\" for rollover.");
		return;
	}
	
	//Check if it's part of a selection group
	var selectionGroup = selectionNames[name];
	if (!foundImage && selectionGroup != null) {
		if (selectedImages[selectionGroup] == name) {
			if (!over || !selectionPreserveRollover[selectionGroup]) {
				if (rolloverAsSelected[selectionGroup]) {
					imgSource = translateSourceURL(imgSource, "rollover");
				} else {	
					imgSource = translateSourceURL(imgSource, "selected");
				}	
				foundImage = true;
			}	
		}	
	}
	
	if (over && !foundImage) {
		imgSource = translateSourceURL(imgSource, "rollover");
		foundImage = true;
	}	
	
	var img = locateImage(name);
	 
	if (img == null) {
		//alert("Unable to locate image \"" + name + "\" for rollover.");
		return;
	}
	
	img.src = imgSource;
}


function middleLoad(page1) {
  if (parent.frames.length > 0 && parent.middle) {
  parent.middle.location.href=page1;
  update_bottom_val(-99);
  }
}

function update_bottom_val(new_val) {
  if (parent.frames.length > 0 && parent.bottom_fr) {
  parent.bottom_fr.top_frame_menu = new_val;
  }
}

// this array holds the left navigation submenu items

var inner_bar = new Array(5);
inner_bar[0] = "navigbarimg0";
inner_bar[1] = "navigbarimg1";
inner_bar[2] = "navigbarimg2";
inner_bar[3] = "navigbarimg3";
inner_bar[4] = "navigbarimg4";
inner_bar[5] = "navigbarimg5";

var inner_bar_bool = new Array(5);
inner_bar_bool[0] = false;
inner_bar_bool[1] = false;
inner_bar_bool[2] = false;
inner_bar_bool[3] = false;
inner_bar_bool[4] = false;
inner_bar_bool[5] = false;

var inner_bar_img = new Array(5);
inner_bar_img[0] = "sevenwtc_sub";
inner_bar_img[1] = "freedom_tower_sub";
inner_bar_img[2] = "tower_2_sub";
inner_bar_img[3] = "tower_3_sub";
inner_bar_img[4] = "tower_4_sub";
inner_bar_img[5] = "tower_5_sub";


// this function moves around the navigation bar items

function switch_bar(sub_id)
{
//	alert(curr_submenu[submenu_id]);
//	alert(bool_submenu[submenu_id]);
//	var curr_arr = eval(submenu_name);
//	var curr_arr_bool = eval(submenu_name + "_bool");
//	alert(curr_arr[sub_id]);
//	alert(curr_arr_bool[sub_id]);

	
	var move = 0;
	var step = 130;
	var to_start = 0;
	
	for (i = 0; i < inner_bar.length; i++) {	
		//alert(inner_bar[i] + " " + i);
		
		
		if (i != sub_id) {
		  
		move += step;
		
		
			
			if (document.all) {
				if (document.all(inner_bar[i])) {
					document.all[inner_bar[i]].style.pixelLeft = move;
					inner_bar_bool[i] = false;
				}
			}
			else if (document.getElementById) {
				if (document.getElementById(inner_bar[i])) {
					document.getElementById(inner_bar[i]).style.left = move;
					inner_bar_bool[i] = false;
				}
			}
			else if (document.layers) {
				if (document[inner_bar[i]]) {
					document.layers[inner_bar[i]].left = move;
					inner_bar_bool[i] = false;
				}
			}
	
		}
		else {
			if (document.all) {
				if (document.all(inner_bar[i])) {
					document.all[inner_bar[i]].style.pixelLeft = to_start;
					update_bottom_val(i);
					inner_bar_bool[i] = true;
				}
			}
			else if (document.getElementById) {
				if (document.getElementById(inner_bar[i])) {
					document.getElementById(inner_bar[i]).style.left = to_start;
					update_bottom_val(i);
					inner_bar_bool[i] = true;
				}
			}
			else if (document.layers) {
				if (document[inner_bar[i]]) {
					document.layers[inner_bar[i]].left = to_start;
					update_bottom_val(i);
					inner_bar_bool[i] = true;
				}
			}
		
		
		}
	}	
}

function check_roll(img_id, state) 
{
if (!inner_bar_bool[img_id])
rollover(inner_bar_img[img_id], state);
}

function uncheck_all() 
{
	for (i = 0; i < inner_bar.length; i++) {
		if (!inner_bar_bool[i])
			rollover(inner_bar_img[i], false);
	}
}

function set_default_inner_bar_arr() 
{
	for (i = 0; i < inner_bar.length; i++) {
		if (inner_bar_bool[i])
			inner_bar_bool[i] = false;
	}
}

function check_top_frame_image() {
if (parent.frames.length > 0 && parent.top) {
	var curr_img = parent.bottom_fr.top_frame_menu;
	if (curr_img != -99) {
		check_roll(curr_img, true);
		switch_bar(curr_img);
	}
}
}


/*
function hide_show_secondlevsubmenu(submenu_name, skip_submenu_id)
{
   	var curr_arr = eval(submenu_name);
	var curr_arr_bool = eval(submenu_name + "_bool");
	var curr_arr_img = eval(submenu_name + "_img");
   	
   	for (i = 0; i <= curr_arr.length; i++) {			
		if (i == skip_submenu_id) {
			continue;
		}
		
		if (curr_arr_bool[i]) {
			if (document.all) {
				if (document.all(curr_arr[i])) {
					document.all(curr_arr[i]).style.visibility = "hidden";
					rollover(curr_arr_img[i], false);
					curr_arr_bool[i] = false;
				}
			}
			else if (document.getElementById) {
				if (document.getElementById(curr_arr[i])) {
					document.getElementById(curr_arr[i]).style.visibility = "hidden";
					rollover(curr_arr_img[i], false);
					curr_arr_bool[i] = false;
				}
			}
			else if (document.layers) {
				if (document[curr_arr[i]]) {
					document[curr_arr[i]].visibility = "hidden";
					rollover(curr_arr_img[i], false);
					curr_arr_bool[i] = false;
				}
			}
		
		}
   	}	
}
*/


