/**
 * This function loads images for to nav items, including description images
 *
 * @param	topNavList	- comma-separated string of named images on the page
 * @param	dir - path to image dir (ex: "../images/nav/")
 */
function preloadTopNav(topNavList, dir) {
    if (document.images) {
    	var preloadImages = topNavList.split(",");
    	var images = new Array();
    	for (i=0; i < preloadImages.length; i++) {
    		if (preloadImages[i] != "") {
    			images[i] = new Image();
    			images[i].src = dir + preloadImages[i] + "_on.gif";
    			images[i].src = dir + preloadImages[i] + "_descrip.gif";
    		}
    	}
    }
}

/**
 * This function loads images for nav items
 *
 * @param	NavList	- comma-separated string of named images on the page
 * @param	dir - path to image dir (ex: "/images/nav/")
 */
function preload(subNavList, dir) {
    if (document.images) {
		var preloadImages = subNavList.split(",");
		var images = new Array();
		for (i=0; i < preloadImages.length; i++) {
			if (preloadImages[i] != "") {
				images[i] = new Image();
				images[i].src = dir + preloadImages[i] + "_on.gif";
			}
		}
	}
}

function pin(image, dir, imgName, flipDescrip, flipOverlay) { 

	if (document.images) {
		//grab references to the top nav images
		var navImages = new Array ('home','web','hosting','design','jobs','clients','about','contacts');
		var pinThis = (imgName) ? document.images[imgName] : document.images[image];
		
		//loop through and unpin all the top nav images except the one to be pinned
		for (i=0; i < navImages.length; i++) {
			var imageObj = document.images[navImages[i]];
			if (imageObj && pinThis != imageObj) {

				imageObj.src = dir + navImages[i] + '.gif';
			}
		}
		pinThis.src = dir + image + "_on.gif";	
		pinThis.rsrc = dir + image + "_on.gif";	
	}
}


/*
 * This function highlights an image
 *
 * @param	image - the name of the image to be flipped
 * @param	dir - path to image dir (ex: "../images/nav/")
 * @param	imgName - optional, if name attribute is different from the image file name
 * @param	flipDescrip - boolean, set to true (1) to flip the top nav description image
 * @param	flipOverlay - boolean, set to true (1) to flip the top banner overlay image
 */
 
function over(image, dir, imgName, flipDescrip, flipOverlay) { 
	//alert(image + ' ' + dir + ' ' + imgName + ' ' + flipDescrip + flipOverlay);

	if (document.images) {
		var img = (imgName) ? document.images[imgName] : document.images[image];
		var imgSrc = new String(img.src);
		if (imgSrc.indexOf("_pin") == -1) {
			// store reference to old image for the out function
			img.rsrc = img.src;
			img.src = dir + image + "_on.gif";
			if (flipDescrip) {
				var description = document.images.description;
				//store the old description image source
				description.rsrc = description.src;
				description.src = dir + image + "_descrip.gif";
			}
			if (flipOverlay) {
				var overlay = document.images.overlay;
				//store the old overlay image source
				overlay.rsrc = overlay.src;
				overlay.src = dir + image + "_overlay.jpg";
			}
		}
	}
}

/**
 * This function restores an image
 *
 * @param	image - the name of the image to be flopped
 * @param	imgName - optional, if name attribute is different from the image file name
 * @param	flipDescrip - boolean, set to 1 (true)  to flip the top nav description image
 */
function out(image, imgName, flipDescrip, flipOverlay) {

	if (document.images) {
		var img = (imgName) ? document.images[imgName] : document.images[image];
		var imgSrc = new String(img.src);		
		//don't restore if the image is a pinned 2ndary nav item
		if (imgSrc.indexOf("_pin") == -1) {
			// set source to stored reference to the old image
			img.src = img.rsrc;
			if (flipDescrip) {
				var description = document.images.description;
				description.src = description.rsrc;
			}
			if (flipOverlay) {
				var overlay = document.images.overlay;
				overlay.src = overlay.rsrc;
			}
		}
	}

}
/**
 * This function opens a popup
 *
 * @param	URL - the URL of the file to display in the popup
 * @param	Name - the name to display in the titlebar of the popup
 * @param	features - comma-separated key-value list of features for the popup
 */
function openIt(URL,Name,features) { 
	if (features == '') {
		newWindow = window.open(URL,Name);
	} else {
		newWindow = window.open(URL,Name,features);
	}
	newWindow.focus();
}

/**
 * This function loads a new URL when chosing an item from the product locator dropdown menu
 *
 * @param	formObject - the form the jump-to menu lives in
 */
function jumpTo(formObject) {
	var item=formObject.productLocator.selectedIndex
	var url=formObject.productLocator.options[item].value
	//if this an internal link, just open it in the current window
	if (url.indexOf("http") == -1) {
		if (item > 0) {
			top.location=url;
		}
	}
	//if this an external link, open it in a new window
	if (url.indexOf("http") != -1) {
		openIt(url,'newWindow','');
	} 	
}


