YAHOO.namespace("roll");

YAHOO.roll.imgs = [];
YAHOO.roll.imgroll = new Object();

YAHOO.util.Event.onDOMReady(function() {
	//s = '';
	for (i in YAHOO.roll.imgs) {
		//s += 'image to store: ' + YAHOO.roll.imgs[i][0] + '\n' + YAHOO.roll.imgs[i][1] + '\n' + YAHOO.roll.imgs[i][2] + '\n';
		YAHOO.roll.preloadRollover( YAHOO.roll.imgs[i] );
	}
	//alert('generic onload: will load images:\n' + s);
});

YAHOO.roll.mouseover = function (e, obj) {	
	//alert('mouseover: id is:' + this.id + ', passed param is:' + obj.id);
	obj.src = eval('YAHOO.roll.imgroll.' + obj.id + '_on.src;');
}
YAHOO.roll.mouseout = function (e, obj) {
	//alert('mouseout: id is:' + this.id + ', passed param is:' + obj.id);
	obj.src = eval('YAHOO.roll.imgroll.' + obj.id + '_off.src;');
}
YAHOO.roll.setRollover = function (elementID, imgA, imgB) {
	YAHOO.roll.imgs[YAHOO.roll.imgs.length] = [ elementID, imgA, imgB ];
}
YAHOO.roll.preloadRollover = function (imgs) {
	YAHOO.roll.addImgSource( imgs[0] + '_off', imgs[1] );
	YAHOO.roll.addImgSource( imgs[0] + '_on', imgs[2] );
	el = YAHOO.util.Dom.get( imgs[0] );
	YAHOO.util.Event.addListener(el, "mouseover", YAHOO.roll.mouseover, el );
	YAHOO.util.Event.addListener(imgs[0], "mouseout", YAHOO.roll.mouseout, el );
	//	alert('preloadRollover: image to store: ' + imgs[0] + '\n' + imgs[1] + '\n' + imgs[2] + '\n' + 'element id:' + el.id + '\n');
}
YAHOO.roll.addImgSource = function( sourceName, fileName) {
	imgPath = prefixPath + fileName;
	//alert('will add ' + imgPath + ' as src: ' + srcTag);
	eval( 'YAHOO.roll.imgroll.' + sourceName + ' = YAHOO.roll.newImage(imgPath);' );
}
YAHOO.roll.newImage = function( path ) {
	var i = new Image();
	i.src = path;
	return i;
}


//
// email helpers
//

function doEmLink(emarray,linkid) {
	setMailLink( emarray, linkid, 'xx'+linkid ); 
}


function setMailLink(erp, idPhlink, idLink) {
	var em = '';
	var tmp;
	for(i=0;i<erp.length;i++){
		tmp = erp[i];
		if(Math.floor((tmp/Math.pow(256,3)))>0){
			em += String.fromCharCode(Math.floor((tmp/Math.pow(256,3))));
		};
		tmp = tmp - (Math.floor((tmp/Math.pow(256,3))) * Math.pow(256,3));
		if(Math.floor((tmp/Math.pow(256,2)))>0){
			em += String.fromCharCode(Math.floor((tmp/Math.pow(256,2))));
		};
		tmp = tmp - (Math.floor((tmp/Math.pow(256,2))) * Math.pow(256,2));
		if(Math.floor((tmp/Math.pow(256,1)))>0){
			em += String.fromCharCode(Math.floor((tmp/Math.pow(256,1))));
		};
		tmp = tmp - (Math.floor((tmp/Math.pow(256,1))) * Math.pow(256,1));
		if(Math.floor((tmp/Math.pow(256,0)))>0){
			em += String.fromCharCode(Math.floor((tmp/Math.pow(256,0))));
		};
	};
	var tmp = new Array;
	tmp = em.split('>>><<<');
	em = tmp[0];
	var an = tmp[1];
	var nl = document.createElement('a');
	nl.setAttribute('id', idLink);
	nl.setAttribute('href', 'mailto:' + em);
	document.getElementById(idPhlink).appendChild(nl);
	document.getElementById(idLink).innerHTML = an;
}


