
var navImages = new Array();						 // a list of all navigation images
var reg = /(_selected|_sibling)*\.gif$/; // replace the state info of the nav images

// allows multiple calls to onload without overwriting the existing onloads
function loadHandler(func) {
	if(window.onload) {
		var f = window.onload;

		return function() {
			f();
			func();
		}
	}
	else return func;
}


// handle the image swap for the previous sibling
function handleSibling(sibling_id, hover, neighbour) {
	var idx = navImages.indexOf(sibling_id);

	if(neighbour) {
		if(idx + 1 < navImages.length) {
			var img     = document.images[navImages[idx]];
			var sibling = document.images[navImages[(idx + 1)]];

			if(sibling.id == currentChannel) {
				img.src = img.src.replace(reg, neighbour);
			}
		}
	}

	if(--idx >= 0) {
		var img = document.images[navImages[idx]];

		if(img.id == currentChannel) {
			hover = (hover == "_sibling.gif") ? "_selected_sibling.gif" : "_selected.gif";
		}

		img.src = img.src.replace(reg, hover);
	}
}


// returns the index position of an element or -1
Array.prototype.indexOf = function(item) {
for(var i = 0; i < this.length; i++) {
		if(this[i] == item) return i;
	}

return -1;
};


window.onload = loadHandler(function() {
// init();
if(!document.getElementById) return;


	// sort out the top nav rollover images
	var d = document.getElementById("header");

	if(!d) return;

	var ul   = d.getElementsByTagName("ul")[0];
	var imgs = ul.getElementsByTagName("img");

	for(var i = 0; i < imgs.length; i++) {
		navImages[navImages.length] = imgs[i].id;

		imgs[i].onmouseover = function() {
			if(this.id == currentChannel) return;
			this.src = this.src.replace(reg, "_selected.gif");
			handleSibling(this.id, "_sibling.gif", "_selected_sibling.gif");
		};
		imgs[i].onmouseout = function() {
			if(this.id == currentChannel) return;
			this.src = this.src.replace(reg, ".gif");
			handleSibling(this.id, ".gif", "_sibling.gif");
		};

		// make this one selected
		if(imgs[i].id == currentChannel) {
			imgs[i].src = imgs[i].src.replace(reg, "_selected.gif");
			handleSibling(imgs[i].id, "_sibling.gif");
		}
	}
});

/** Rollover Start **/


function attachEvent_rollover(ob,eType,f,cap){
       if(ob.addEventListener)
                ob.addEventListener(eType,f,cap);
        else if(ob.attachEvent)
                ob.attachEvent("on"+eType,f);
        else if(navigator.userAgent.toLowerCase().indexOf('mac')!=-1||
                      navigator.userAgent.toLowerCase().indexOf('apple')!=-1)
                eval('ob.on'+eType+'='+f);
      /*   else
               alert("Handler could not be added"); // can't do on zenith*/
}

function init() {
	doc_imgs = document.getElementsByTagName("IMG");
	doc_inputs = document.getElementsByTagName("INPUT");
	for(i=0; i<doc_imgs.length; i++) {
		if(doc_imgs[i].className.substr(0,8) == 'rollover') {
				attachEvent_rollover(doc_imgs[i],'mouseover',rollover,true);
				attachEvent_rollover(doc_imgs[i],'mouseout',rollout,true);
		}
		//alert(doc_imgs[i].className.substr(1,8));

	}
	for(i=0; i<doc_inputs.length; i++) {
		if(doc_inputs[i].className.substr(0,8) == 'rollover') {
				attachEvent_rollover(doc_inputs[i],'mouseover',rollover,true);
				attachEvent_rollover(doc_inputs[i],'mouseout',rollout,true);
		}
	}
}
 
function rollover(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	
	old_src = targ.src;	
	if(!old_src.match("_f2")) {
		new_src = old_src.replace(".gif","_f2.gif");
		targ.src = new_src;
	}
}
 
function rollout(e) {
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	
	old_src = targ.src;	
	new_src = old_src.replace("_f2.gif",".gif");
	targ.src = new_src;
}


function addLoadEvent(f) { //pass the actual func not a string.
    var ol = window.onload;
    if (typeof window.onload!='function'){
        window.onload=f;
    }else{
        window.onload=function() {
            ol();
            f();
        }
    }
}
addLoadEvent(init);

/** ROLLOVER END **/
