function r_init() {
	if (document.getElementById) {
		var mapIds = r_init.arguments;
		var i, j, area, areas;
		for (i = 0; i < mapIds.length; i++) {
			areas = document.getElementById(mapIds[i]).getElementsByTagName("area");	
			for (j = 0; j < areas.length; j++) {
				area = areas[j];
				area.onmousedown = r_swap;
				area.onmouseout = r_swap;
				area.onmouseover = r_swap;
				area.onmouseup = r_swap;
				if(area.className=="selected"){
				    r_draw(area,"selected",j);
				}
			}
		}
	}
}
function r_swap(evt){
	evt = (evt) ? evt : event;
	var elem = (evt.target) ? evt.target : evt.srcElement;
	if(elem.className != "selected"){
	    r_draw(elem,evt.type,null);
	}
	evt.cancelBubble = true;
	return false;
}
function r_draw(elem,evtType,seq) {
	var imgClass = elem.parentNode.name;
	var coords = elem.coords.split(",");
	var clipVal = "rect( "+ coords[1] + "px " +     //y1
							coords[2] + "px " +     //x2
							coords[3] + "px " +     //y2
							coords[0] + "px)";	    //x1					
	var imgStyle;	
	switch (evtType) {
	    case "selected" :
	        clipVal = "rect( "+ coords[1] + "px " +     //y1
							   (seq+1)*104 + "px " +    //x2
							   coords[3] + "px " +      //y2
							   seq*104 + "px)";	    //x1		    
            imgStyle = document.getElementById(imgClass + "Selected").style;
			imgStyle.clip = clipVal;
			imgStyle.visibility = "visible";
			imgStyle.left = ((seq * -8) + 8) + "px";
			imgStyle.zIndex = 999;			
			break;
		case "mouseout" :
			document.getElementById(imgClass + "Over").style.visibility = "hidden";
			break;
		case "mouseover" :		
			imgStyle = document.getElementById(imgClass + "Over").style;
			imgStyle.clip = clipVal;
			imgStyle.visibility = "visible";
			break;
		case "mouseup" :
			if (elem.click) {
				elem.click();
			}
			break;
	}
}