Rollovers = new Object ();

Rollovers.initialize = function (key, ovrPost, dwnPost) {
	if (!key)		key = '.out';
	if (!ovrPost)	ovrPost = '.over';
	if (!dwnPost)	dwnPost = '.down';
	
	var elements = new Array ();
	for (var i = 0; i < document.images.length; i++) {
		elements.push (document.images [i]);
	}
	var inputs = document.getElementsByTagName ("input");
	for (var i = 0; i < inputs.length; i++) {
		if (inputs [i].type == "image") {
			elements.push (inputs [i]);
		}
	}
	
	for (var i = 0; i < elements.length; i++) {
		var img = elements [i];
		var imgName = img.src.replace (/\.-/g, '_');
		
		if (img.src.indexOf (key) > -1) {
			var wkObj = new Object ();
			
			wkObj.ovr = new Image ();
			wkObj.ovr.src = img.src.replace (key, ovrPost);
			
			wkObj.dwn = new Image ();
			wkObj.dwn.src = img.src.replace (key, dwnPost);
			
			wkObj.out = new Image ();
			wkObj.out.src = img.src;
			
			Rollovers [imgName] = wkObj;
			
			elements [i].name = imgName;
			elements [i].onmouseover = new Function ("Rollovers.mouseOver (this);");
			elements [i].onmouseout = new Function ("Rollovers.mouseOut (this);");
			elements [i].onmousedown = new Function ("Rollovers.mouseDown (this);");
			elements [i].onmouseup = new Function ("Rollovers.mouseUp (this);");
			if (elements [i].form) {
				elements [i].onfocus = elements [i].onmouseover;
				elements [i].onblur = elements [i].onmouseout;
			}
		}
	}
}

Rollovers.mouseOver = function (elm) {
	elm.src = Rollovers [elm.name].ovr.src;
}

Rollovers.mouseOut = function (elm) {
	elm.src = Rollovers [elm.name].out.src;
}

Rollovers.mouseDown = function (elm) {
	elm.src = Rollovers [elm.name].dwn.src;
}

Rollovers.mouseUp = function (elm) {
	Rollovers.mouseOver (elm);
}
