/*
	display.js
	
	Javascripts for ~~ website
*/
/*
	initRollovers(): Generic image rollover script
	Source:
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
	Modified with info from http://www.wandforge.com/rollover/
	Other modifications per site.
*/
function initRollovers() {
	if (!document.getElementById) { return; }
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');
	for (var i = 0; i < aImages.length; i++) {
		if (aImages[i].className.match("rollover")) {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_over'+ftype);
			aImages[i].setAttribute('hsrc', hsrc);
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_over'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}
// minimized version of Suckerfish Dropdowns.
// requires jQuery
function pseudoHover() {
	jQuery('#nav_menu li').mouseover(function(){ $(this).addClass('over'); });
	jQuery('#nav_menu li').mouseout(function(){ $(this).removeClass('over'); });
}
/*
Correctly handle PNG transparency in Win IE 5.5 & 6.
http://homepage.ntlworld.com/bobosola. Updated 18-Jan-2006.
*/
function pngFix() {
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	if ((version >= 5.5) && (document.body.filters)) {
		for(var i=0; i<document.images.length; i++) {
			var img = document.images[i];
			var imgName = img.src.toUpperCase();
			if (imgName.substring(imgName.length-3, imgName.length) == "PNG") {
				var imgID = (img.id) ? "id='" + img.id + "' " : "";
				var imgClass = (img.className) ? "class='" + img.className + "' " : "";
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
				var imgStyle = "display:inline-block;" + img.style.cssText;
				if (img.align == "left") { imgStyle = "float:left;" + imgStyle; }
				if (img.align == "right") { imgStyle = "float:right;" + imgStyle; }
				if (img.parentElement.href) { imgStyle = "cursor:hand;" + imgStyle; }
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
					+ " style=\"width:" + img.width + "px; height:" + img.height + "px;" + imgStyle 
					+ ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
				img.outerHTML = strNewHTML;
				i = i-1;
			}
		}
	}
	return;
}
// Tests for MSIE version. Returns version whole number
// assumes that 5 is only wanted as a flag to reject too-old versions of IE.
// otherwise, 0==FALSE== not MSIE.
// This is more reliable than browser testing, because browsers installed with multi-IE hacks can misidentify themselves.
// It also works around user-agent spoofing.
// It will misidentify if somebody's upgraded jscript by hand, but that's an edge case.
function isIE() {
	/*@cc_on
		if (@_jscript_version < 5.6) { return 5; }
		if (@_jscript_version >= 5.6 && @_jscript_version < 5.7) { return 6; }
		if (@_jscript_version >= 5.7 && @_jscript_version < 5.8) { return 7; }
		if (@_jscript_version >= 5.8 && @_jscript_version < 5.9) { return 8; }
	@*/
	return 0;
}
function launchAll() {
	initRollovers();
	if (isIE()<=6) {
		pseudoHover();
		pngFix();
	}
	if (isIE()==7) {
		
	}
}
window.onload = launchAll;

/* EOF */
