/**
 *  VisuMass global javascript functions
 *
 *  constr()				Page constructor
 *  attachListeners()		Attach mouseover and mouseout event listeners to navigation
 *  imgOver()				Hover effect
 *  imgOut()				Hover effect
 *  ge()					Shortcut function for document.getElementById()
 *
 *  last modified: May 24, 2007 [jb]
 *  
 */


// event references
var e_moz = 'target';
var e_ie = 'srcElement';

// image array
var nav_out_images;
var nav_over_images;

// image offset
var offset;

// current page
var curpage;

function constr() {
	// preload images
	var img_count = 3;
	nav_out_images = new Array(img_count);
	nav_over_images = new Array(img_count);

	// assign image objects
	for (var i=0; i<img_count; i++) {
		nav_out_images[i] = new Image();
		nav_over_images[i] = new Image();
	}
	
	nav_out_images[0].src = 'images/nav/about.gif';
	nav_out_images[1].src = 'images/nav/donate.gif';
	nav_out_images[2].src = 'images/nav/support.gif';

	nav_over_images[0].src = 'images/nav/about_hover.gif';
	nav_over_images[1].src = 'images/nav/donate_hover.gif';
	nav_over_images[2].src = 'images/nav/support_hover.gif';

	ge('nav_about').setAttribute(offset,0);
	ge('nav_donate').setAttribute(offset,1);
	ge('nav_support').setAttribute(offset,2);
	
	attachListeners();

	if (arguments.length > 1) {
		arguments[1] == 1 ? supportConst() : '';
		arguments[1] == 2 ? homeConst() : '';
	}

	curpage = arguments[0];
}
function attachListeners() {

	var objImages = new Array(ge('nav_about'), ge('nav_donate'), ge('nav_support'));
 
	if (window.addEventListener) { // mozilla
		for (var i=0; i<objImages.length; i++) {
			objImages[i].addEventListener('mouseover', imgOver, false);
			objImages[i].addEventListener('mouseout', imgOut, false);
		}
	}
	else { // ie
		for (var i=0; i<objImages.length; i++) {
			objImages[i].attachEvent('onmouseover', imgOver);
			objImages[i].attachEvent('onmouseout', imgOut);
		}
	}
}
// change image on mouse over
function imgOver(e) {
	// if mozilla use getAttribute, else use array
	e[e_moz] ? e[e_moz].src = nav_over_images[e[e_moz].getAttribute(offset)].src : e[e_ie].src = nav_over_images[e[e_ie][offset]].src;
}

// change image on mouse out
function imgOut(e) {
	// if mozilla use getAttribute, else use array
	var testpage;
	e[e_moz] ? testpage = e[e_moz].getAttribute(offset) : testpage = e[e_ie][offset];
	if (curpage != testpage) {
		e[e_moz] ? e[e_moz].src = nav_out_images[e[e_moz].getAttribute(offset)].src : e[e_ie].src = nav_out_images[e[e_ie][offset]].src;
	}
}

// shortcut for referencing objects by id
function ge(eid) {
	return document.getElementById(eid);
}
