Rollovers = new Object ();

Rollovers.initialize = function (dir, key, ovrPost, ext) {
	if (dir == "") dir = "./";
	else if (dir.charAt (dir.length - 1) != "/") dir += "/";
	
	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 fNameSplit = (elements [i].src).split ("/");
		var imgName = fNameSplit [fNameSplit.length - 1].split (".");
		var imgExt = imgName.pop ();
		imgName = imgName.join (".");
		var imgDir = (fNameSplit.length > 1 ? fNameSplit [fNameSplit.length - 2] : ".") + "/";
		
		if (imgName.indexOf (key) > -1 && imgDir == dir && imgExt == ext) {
			var wkObj = new Object ();
			
			wkObj.ovr = new Image ();
			wkObj.ovr.src = dir + imgName.replace (key, ovrPost) + "." + ext;
			
			wkObj.out = new Image ();
			wkObj.out.src = elements [i].src;
			
			Rollovers [imgName] = wkObj;
			
			elements [i].name = imgName;
			elements [i].onmouseover = new Function ("Rollovers.mouseOver (this);");
			elements [i].onmouseout = new Function ("Rollovers.mouseOut (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;
}

