// nav.js
// Written by Andrew AP
// 2006-05-31 11:45
//
// Attaches mouse rollover behaviors to navigation menu
// Requires:
//				#navigation img@id set to n_{section}
//				images named "cpn_n_{section}_[on/off]-{lang}.png"

var apnav_el_tempimg;
var apnav_a_imgs = new Array();
var apnav_dir_images = "/images/";
//var apnav_dir_images = "/layout/main_06/images/";

function apnav_init() {
	var apnav_el_n = document.getElementById("nav-head");
	var apnav_el_lis = apnav_el_n.getElementsByTagName("li");
	for (var x=0; x<apnav_el_lis.length; x++) {
		apnav_attachBehaviors(apnav_el_lis.item(x));
	}
	apnav_handleImages();
}

function apnav_handleImages() {
	apnav_el_tempimg = document.createElement("img");
	apnav_el_tempimg.onload = function() {apnav_preloadImage();}
	apnav_a_imgs.reverse();
	apnav_preloadImage();
}

function apnav_preloadImage() {
	if(apnav_a_imgs.length > 0) {
		apnav_el_tempimg.src = apnav_a_imgs.pop();
	} else {
		apnav_el_tempimg.onload = null;
	}
}

function apnav_attachBehaviors(el_tgt) {
	// locate top level menu items (those with images)
	//var dir_images = apnav_dir_prefix + "images/";
	var apnav_el_img = el_tgt.getElementsByTagName("img").item(0);
	if(!apnav_el_img) return; // not top level
	//var el_a = apnav_el_img.parentNode();
	
	// obtain image paths
	var id = apnav_el_img.getAttribute("id");
	var f_on = apnav_dir_images + id + "-on" + ".gif";
	var f_off = apnav_dir_images + id + ".gif";
	
	// register image (for preloading)
	apnav_a_imgs.push(f_on);
	
	el_tgt.onmouseover = function() {
		el_tgt.className += " over";
		apnav_el_img.src = f_on;
	}
	el_tgt.onmouseout = function() {
		el_tgt.className = el_tgt.className.replace(" over", "");
		apnav_el_img.src = f_off;
	}
	/*el_a.onfocus = function() {
		el_tgt.src = f_on;
	}
	el_a.onblur = function() {
		el_tgt.src = f_off;
	}*/
}

// perform the intialization when page loads
window.addEventListener?window.addEventListener("load",apnav_init,false):window.attachEvent("onload",apnav_init);