// (c) 2004 Pixelthis Limited
// Javascript dropdown menu class
function pixImagemap_hide(){
	var mnd = this.getElementSafe(this.rolloverImage);
	if (mnd){
		mnd.src = this.blankImage;
	}
}
function pixImagemap_show(){
	var mnd = this.getElementSafe(this.name+'_div');
	if (mnd){
		mainimg = this.getImageCoord(this.mainImage);
		if (mainimg){
			mnd.style.top = mainimg.y;
			mnd.style.left = mainimg.x;
			mnd.style.display = 'block';
		}
	}
}
function pixImagemap_doOver( itm ){
	this.activeItem=itm;
	if (this.ready){
		var imgdiv = this.getElementSafe(this.rolloverImage);
		if (imgdiv){
			imgdiv.src = this.items[itm];
		}
	}
}
function pixImagemap_doOut(){
	this.hide();
}
function pixImagemap_doLink(){
	if (this.activeItem>-1){
		window.location.href = this.items[this.activeItem][3];
	}
}
function pixImagemap_getImageCoord(nvn){
   elm = this.getElementSafe(nvn);
   if ( document.layers ) return elm; // NS4 images contain x and y values
   if (elm){
	   var rd = { x:0 ,y:0, height:elm.height };
	   do { rd.x += parseInt( elm.offsetLeft );
			rd.y += parseInt( elm.offsetTop );
			elm = elm.offsetParent;
	   } while ( elm );
	   return rd
   }else{
		return null;
   }
} //end getXYcoord ( string ) -> object{x,y}
function pixImagemap_getElementSafe( id ){
	if (document.getElementById){ 
		return document.getElementById(id); 
	}else if (document.all){ 
		return document.all[id]; 
	}else if (document.layers){ 
		return document.layers[id]; 
	}else{
		return false;
	}
}
function pixImagemap_addItem(imgname){	
	// Add item to array
	var indx = this.items.length;
	this.items[indx] = imgname;
}
function pixImagemap_preload(){
	var itcnt = this.items.length;
	var i;
	for (i=0; i<itcnt; i++){
		// Preload image
		var im = new Image();
		im.src = this.items[i];
	}
}
function pixImagemap_activate(){
	// Position div above main image
	this.show();
	// swap in the blank image
	this.hide();
	// preload rollover images
	this.preload();
	// set ready flag
	this.ready=true;
}
function pixImagemap(aName, aImage, aRollover){
	// Properties
	this.name=aName;
	this.mainImage=aImage;
	this.rolloverImage=aRollover;
	this.items = new Array();
	this.ready=false;
	this.activeItem=-1;
	this.blankImage = 'images/spacer.gif';
	// Methods
	this.activate=pixImagemap_activate;
	this.preload=pixImagemap_preload;
	this.hide=pixImagemap_hide;
	this.show=pixImagemap_show;
	this.addItem=pixImagemap_addItem;
	this.getElementSafe=pixImagemap_getElementSafe;
	this.getImageCoord=pixImagemap_getImageCoord;
	this.doOver=pixImagemap_doOver;
	this.doOut=pixImagemap_doOut;
	this.doLink=pixImagemap_doLink;
}