// This file contains code for the search box, the top navigation, and side nav rollovers

// Generic image ROLLOVERS (SIDE NAV)

function light (objA) {
	var objImages = objA.getElementsByTagName("img");
	var objImage = objImages[0];
	var oldsrc = objImage.src;	
	var pieces = oldsrc.split("/");
	var filename = pieces[((pieces.length)-1)];
	var newsrc = filename.replace(/\.gif$/, "_lit.gif");
	newsrc = newsrc.replace(/\.jpg$/, "_lit.jpg");
	newsrc = newsrc.replace(/\.png$/, "_lit.png");
	objImage.src = pathToImages + newsrc;
}

function unlight (objA) {
	var objImages = objA.getElementsByTagName("img");
	var objImage = objImages[0];
	var oldsrc = objImage.src;	
	var pieces = oldsrc.split("/");
	var filename = pieces[((pieces.length)-1)];
	var newsrc = filename.replace(/_lit.gif/, ".gif");
	newsrc = newsrc.replace(/_lit.jpg/, ".jpg");
	newsrc = newsrc.replace(/_lit.png/, ".png");
	objImage.src = pathToImages + newsrc;
}


// SEARCH CODE

dc=new Image();
dc.src="/images/search_go_lit.gif";

function lightsearch() 
	{
		gt=document.getElementById("searchgt");
		gt.src="/images/search_go_lit.gif";
	}
	
function unlightsearch() 
	{
		gt=document.getElementById("searchgt");
		gt.src="/images/search_go.gif";
	}




// NAVIGATION CODE

/* Initialize variables*/
var timeoutIdS = 0;
var timeoutIdT = 1;
var im = new Array();
var pathToImages = "/images/";
var litTopObj = "";

/* Preload images */
newim('/images/topNav_about_OVER.gif');
newim('/images/topNav_archive_OVER.gif');
newim('/images/topNav_calendar_OVER.gif');
newim('/images/topNav_education_OVER.gif');
newim('/images/topNav_exhibitions_OVER.gif');
newim('/images/topNav_membership_OVER.gif');
newim('/images/topNav_programs_OVER.gif');
newim('/images/topNav_support_OVER.gif');
newim('/images/topNav_facebook_OVER.jpg');
newim('/images/topNav_twitter_OVER.jpg');
newim('/images/topNav_signup_OVER.gif');
newim('/images/topNav_flickr_OVER.gif');

/* Functions */
function newim(srcfile) {
	im[im.length]=new Image();
	im[im.length-1].src=srcfile;
}

function topNavOver (objAnchor) {
	// light up this image
	// show this subnav
		// topNav_exhibitions_UP.gif >> sn_exhibitions
	var objImage = objAnchor.firstChild;
	navUnlight();
	navLight (objImage);
	
	var imgfile = objImage.src;
	var pieces = imgfile.split("/");
	var filename = pieces[((pieces.length)-1)];
	var sn_id = filename.replace(/topNav_/, "sn_");
	sn_id = sn_id.replace(/_UP.gif/, "");
	sn_id = sn_id.replace(/_OVER.gif/, "");
	objSnSpan = document.getElementById(sn_id);
	showSubnav(objSnSpan);
}

function topNavOut (objAnchor) {
	// unlight this image
	// hide this subnav
	objImage=objAnchor.firstChild;
	setTimer();
}

function subNavOver(objAnchor) {
	// cancel the timer
	// light the related top level nav	
}

function navLight (objImage) {
	// (http://localhost:8031/images/) topNav_programs_UP.gif
	// split image source by slash
	// take the last piece -- that's the file name
	// replace case-sensitive _UP. with _OVER.
	if (litTopObj != objImage) {
		navUnlight();
	}
	var oldsrc = objImage.src;	
	var pieces = oldsrc.split("/");
	var filename = pieces[((pieces.length)-1)];
	var newsrc = filename.replace(/_UP./, "_OVER.");
	objImage.src = pathToImages + newsrc;
	litTopObj = objImage;
}

function navUnlight () {
	// (http://localhost:8031/images/) topNav_programs_UP.gif
	// split image source by slash
	// take the last piece -- that's the file name
	// replace case-sensitive _OVER. with _UP.
	// but not for the default top nav image
	if (litTopObj == "") { return false; }
	objImage = litTopObj;
	if ((typeof defaultSection!="undefined")) {
		defaultTopNav = "img_" + defaultSection;
		if (objImage.id==defaultTopNav) {
			return false;
		}
	}
	var oldsrc = objImage.src;	
	var pieces = oldsrc.split("/");
	var filename = pieces[((pieces.length)-1)];
	var newsrc = filename.replace(/_OVER./, "_UP.");
	objImage.src = pathToImages + newsrc;
}

function getObjSubnav() {
	return document.getElementById("subnav");
}

function showDefaultSubnav() {
	// show the default top nav
	// show the default subnav (make sure it's set)
	// then apply the "redLink" style to the default link (make sure it's set)
	if ((typeof defaultSection!="undefined")) {
		defaultSubnav = "sn_" + defaultSection;
		defaultTopNav = "img_" + defaultSection;
		objImage = document.getElementById(defaultTopNav);
		navLight(objImage);
		objSpan = document.getElementById (defaultSubnav);
		showSubnav(objSpan);
	}
	if ((typeof defaultSubnav!="undefined")) {
		objSpan = document.getElementById (defaultSubnav);
		showSubnav(objSpan);
	}
	if (typeof defaultSubnavLink!="undefined") {
		ouras = objSpan.getElementsByTagName("a");
		for (var i=0; i<ouras.length; i++) {
			oura = ouras.item(i);
			if (oura.firstChild.data==defaultSubnavLink) {
				oura.className="red";
			}
		}
	}
}

function showSubnav (objSpan) {
	// kill the timer
	// hide all subnavs except for ours
	// show ours
	cancelTimer();
	objSubnav = getObjSubnav();
	
	if(!objSubnav){return false;};
	
	spans = objSubnav.getElementsByTagName("span");
	for (var i=0; i<spans.length; i++) {
		ourspan = spans.item(i);
		if (ourspan == objSpan) {
			ourspan.style.display="block";
		} else {
			ourspan.style.display="none";
		}
	}	
}

function hideSubnav () {
	// hide all subnav spans unless a defualt is set
	objSubnav = getObjSubnav();
	spans = objSubnav.getElementsByTagName("span");
	for (var i=0; i<spans.length; i++) {
		span = spans.item(i);
		if ((typeof defaultSection!="undefined")) {
			defaultSubnav = "sn_" + defaultSection;
			if (defaultSubnav == span.id) {
				continue;
			}
		}
		span.style.display="none";
	}
	if ((typeof defaultSection!="undefined")) {
		defaultSubnav = "sn_" + defaultSection;
		span = document.getElementById (defaultSubnav);
		span.style.display="block";
	}
}

function cancelTimer () {
	clearTimeout (timeoutIdS);
	clearTimeout (timeoutIdT);
}

function setTimer () {
	timeoutIdS = setTimeout("hideSubnav();",750);
	timeoutIdT = setTimeout("navUnlight();",750);
}

