function InitImages(imageClientID, mapClientID, imgURLs)
{
	var images = imgURLs.split(',');
	var temp = new ImagePreloader(imageClientID, mapClientID, images, onPreload);
}

function onPreload(imageClientID, mapClientID, aImages, nImages)
{
   var d=document;
	if(d.images)
	{ 
		if(!d.HashMapModules) 
		{
			d.HashMapModules= new Hashtable();
		}
		if(!d.HashMapModules.containsKey(mapClientID)) 
		{
			d.HashMapModules.put(mapClientID, new Hashtable());
		}
		d.HashMapModules.get(mapClientID).put('arrImages', aImages);
		initMaps(imageClientID, mapClientID);
	}
}
  

function initMaps(imageClientID, mapClientID)
{

	if (document.getElementById)
	{
		var d=document;
				
		//var imgCtl = dnn.getVar(mapClientID+'ctlImage');
		//var imgURLs = dnn.getVar(mapClientID+'imgURLs').split(',');
		if(!d.HashMapModules) 
		{
		    var hash = new Hashtable();
			d.HashMapModules= hash;
			
		}
		if(!d.HashMapModules.containsKey(mapClientID)) 
		{
			var hashMap = new Hashtable();
			d.HashMapModules.put(mapClientID, hashMap);
		}
		
		d.HashMapModules.get(mapClientID).put('imgCtl', imageClientID);
		var imageRolloverID = dnn.getVar(mapClientID + 'imgRolloverCtl');
		d.HashMapModules.get(mapClientID).put('imgRolloverCtl', imageRolloverID);

		

		var i, j, map, area, areas;
/*
		var imgArray = d.HashMapModules.get(mapClientID).get('arrImages');
		var ctlImage2Swap = dnn.dom.getById(imgCtl);
		for (j = 0; j < imgArray.length; j++)
		{
			ctlImage2Swap.src = imgArray[j].src;
		}
*/
		map = dnn.dom.getById(mapClientID);
		areas = dnn.dom.getByTagName("area", map);
		//areas = document.getElementById(mapClientID).getElementsByTagName("area");
		
		for (j = 0; j < areas.length; j++)
		{	
				area = areas[j];
			
				//dnn.dom.attachEvent(area, 'onmouseover', imgSwap);
				//dnn.dom.attachEvent(area, 'onmousedown', imgSwap);
				//dnn.dom.attachEvent(area, 'onmouseout', imgSwap);
		
           area.onmouseout = imgSwap;
           area.onmouseover = imgSwap;
           area.onmousedown = imgSwap;
		}
	}
}


// image swapping event handling
function imgSwap(evt) {
	
	evt = (evt) ? evt : event;
	
	var elem = (evt.target) ? evt.target : evt.srcElement;
	var d=document; 

	var mapClientID = elem.parentNode.name;
	var imageID = dnn.getVar(elem.id + 'OverImgNb');
	var clipVal = dnn.getVar(elem.id + 'clip');
	if (imageID == null) imageID=1;
	switch (evt.type) {
		case "mouseout" :
			swapImagBack(mapClientID)
			break;
		case "mouseover" :
			swapImage(mapClientID,imageID,clipVal);
			break;
		case "mousedown" :
			swapImage(mapClientID,imageID,clipVal);
			break;
		case "mouseup" :
			swapImage(mapClientID,imageID,clipVal);
			break;
			// guarantee click in IE
			if (elem.click) {
				elem.click();
			}
			break;
	}
	evt.cancelBubble = true;
	return false;
}
/**/

function swapImagBack(mapClientID) 
{ //v3.0
	var OriginalImage = document.HashMapModules.get(mapClientID).get('arrImages')[0];
	var imgRolloverCtl = document.HashMapModules.get(mapClientID).get('imgRolloverCtl');
	var ctlImage2Swap = dnn.dom.getById(imgRolloverCtl);

	if (ctlImage2Swap!=null)
	{
		var imgStyle;
		imgStyle = ctlImage2Swap.style;
		imgStyle.visibility = "hidden";
		//ctlImage2Swap = OriginalImage;
	}
}


/**/
function swapImage(mapClientID,ImgNb,clipVal)
{ //v3.0

    var imgRolloverCtl = document.HashMapModules.get(mapClientID).get('imgRolloverCtl');
	var newImage = document.HashMapModules.get(mapClientID).get('arrImages')[ImgNb];
	var ctlImage2Swap = dnn.dom.getById(imgRolloverCtl);
	if (ctlImage2Swap!=null)
	{
		ctlImage2Swap.src = newImage.src;
		var imgStyle;
		imgStyle = ctlImage2Swap.style;
        imgStyle.clip = clipVal;
        imgStyle.visibility = "visible";

		//ctlImage2Swap = newImage;
	}
}

/**/




