
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


var d = document, dE = d.documentElement, dB = d.body, dA = d.all;
var modules = new Object();
var library = new Object();

library={
	init:function(){
		if(d.getElementById){
			modules.rollOvers.init('-n','-o','roll');
			var endTime=new Date().getTime();
		}
	},
	end:function(){
		 modules.ie.end();
	}
};

window.onload = library.init;
window.onunload = library.end;
/* Modules --------------------------------------------------------------------------*/

modules.rollOvers = {
	init:function($ext, $hoverExt, $parentId, $target ){
		$ext = (typeof $ext == 'undefined') ? '-n' : $ext;
		$hoverExt = (typeof $hoverExt == 'undefined') ? '-o' : $hoverExt;
		$parentId = (typeof $parentId == 'undefined' || $parentId == '' || !d.getElementById($parentId) ) ? 'nd' : $parentId;
		$target = (typeof $target == 'undefined') ? 'img' : $target;
		if ($parentId != 'nd' && $target == 'img'){ var rollElm = d.getElementById($parentId).getElementsByTagName($target);}
		else if ($parentId != 'nd' && $target == 'all'){ var rollElm = d.all ? d.all : d.getElementById($parentId).getElementsByTagName('*'); }
		else if ($parentId == 'nd' && $target == 'img'){ var rollElm = d.all ? d.all : d.getElementsByTagName('img'); }
		else if ($parentId == 'nd' && $target == 'all'){ var rollElm = d.all ? d.all : d.getElementsByTagName('*'); }
		var preloadImg = new Image();
		var j=0;
		for(var i=0, el; el=rollElm[i]; i++){
			if(el.src){
				j++;
				elExt = el.src.substring(el.src.length-4-$ext.length, el.src.length-4);
				if(elExt == $ext){
					el.source = el.src;
					el.hoverSrc = el.src.substring(0,el.src.length-4-$ext.length) + $hoverExt + el.src.substring(el.src.length-4);
					preloadImg.src = el.hoverSrc;
					if(el.parentNode.nodeName == 'A'){
						el.parentNode.onfocus = function(){ this.firstChild.src = this.firstChild.hoverSrc; }
						el.parentNode.onblur = function(){ this.firstChild.src = this.firstChild.source; }
					}
					el.onmouseover = function(){ this.src = this.hoverSrc; }
					el.onmouseout = function(){ this.src = this.source; }
				}
			}
		}
	}
}

modules.ie={
	end:function(){
		if (d.all && window.attachEvent) {
			var elProps = [
				'data', 'onmouseover', 'onmouseout',
				'onmousedown', 'onmouseup', 'ondblclick',
				'onclick', 'onselectstart', 'oncontextmenu'
			];
			var all = d.all;
			for (var i = 0, el; el = all[i]; i++) {
				for (var j = 0, elProp; elProp = elProps[j]; j++) {
					el[elProp] = null;
				}
			}
		}
	}
}

