// NN_FW_showMenu()
//
//   2001.05.16 
//   http://homepage2.nifty.com/nansya/JavaScript/FW_MENU/ nansya@big.or.jp
//   http://www.get-extension.com/fw_depository/           sakai

//
//   This function shows  fireworks4 pop-up menu with relative positon 
//   from image object ,  not with absolute position.
//
//   argv[0]  : fireworks pop-up menu object
//   argv[1]  : image name or 'this'  ('this' is anchor object )
//   argv[2]  : relative X position
//   argv[3]  : relative Y position 
//
// HOW TO
// step 1. add next source  in your  HTML.
//
//  <script language="JavaScript1.2" src="NN_fw_menu.js"></script>
//
// step 2. change your onMouseOver evnt handler.
// 
//   before : onMouseOver="window.FW_showMenu( fw_menu0,  absoluteX, absoluteY );"
//   after  : onMouseOver="NN_FW_showMenu( fw_menu0,  'imageName', relativeX, relativeY );" or
//            onMouseOver="NN_FW_showMenu( fw_menu0,  this , relativeX, relativeY );" 


function NN_FW_showMenu( FWmenuID, targetObj, offsetX, offsetY )
{
	var x, y;

	if(document.layers) {
		// Navigator 4 
		if ( targetObj.href ){
			// text link
			x = targetObj.x ;
			y = targetObj.y ; 
			for(i=0; i<document.layers.length; i++){
				for(j=0; j<document.layers[i].document.links.length; j++){
					if(document.layers[i].document.links[j] == targetObj ){
						x += document.layers[i].left;
						y += document.layers[i].top;
					}
				}
			}

		} else {
			// image link
			var imageObject = document.images[targetObj];
			if (!imageObject){
				for(i=0; i<document.layers.length; i++){
					if(document.layers[i].document.images[targetObj]){
						imageObject = document.layers[i].document.images[targetObj];
						x = imageObject.x ;
						y = imageObject.y ;
						x += document.layers[i].left;
						y += document.layers[i].top;
					}
				}
			}else{
				x = imageObject.x ;
				y = imageObject.y ;
			}
		}
		x -= 1; y-= 1;	 // adjust
	
		x += offsetX;	
		y += offsetY; 	
	} else {		
		// IE , NN6
		var version = navigator.appVersion;

		if ( (document.all && version.indexOf( "MSIE 4", 0 ) >= 0 )){
			 //  IE4.x
			 x = event.x + document.body.scrollLeft ;
			 y = event.y  + document.body.scrollTop ;
		} else {
			if( targetObj.href ){
				// text link
				x = targetObj.offsetLeft;
				y = targetObj.offsetTop;					
				tempEl = targetObj.offsetParent;
				
	
			} else {
				// image link
				var targetObj = document.images[targetObj] ;
				x = eval(targetObj).offsetLeft;
				y = eval(targetObj).offsetTop;	
				tempEl = eval(targetObj).offsetParent;
			}
			while (tempEl != null) {
				x += tempEl.offsetLeft;
				y += tempEl.offsetTop;		
				tempEl = tempEl.offsetParent;
			}
			if ( document.all && navigator.appVersion.indexOf("Mac") >= 0) { 
				// Mac IE 
				y += parseInt(document.body.topMargin );
				x += parseInt(document.body.leftMargin) ;
			}
				
			x += offsetX;	
			y += offsetY; 	
		}
	 }

	window.FW_showMenu( FWmenuID, x, y ); 
}
