//www.futomi.com.dom.event

var dom = new Object();
dom.event = new Object();

dom.event.addEventListener = function(elm, type, func, useCapture) {
  if(! elm) { return false; }
  if(! useCapture) {
    useCapture = false;
  }
  if(elm.addEventListener) {
    elm.addEventListener(type, func, false);
  } else if(elm.attachEvent) {
    elm.attachEvent('on'+type, func);
  } else {
    return false;
  }
  return true;
};

dom.event.removeEventListener = function(elm, type, func, useCapture) {
  if(! elm) { return false; }
  if(! useCapture) {
    useCapture = false;
  }
  if(elm.removeEventListener) {
    elm.removeEventListener(type, func, false);
  } else if(elm.detachEvent) {
    elm.detachEvent('on'+type, func);
  } else {
    return false;
  }
  return true;
};

dom.event.target = function(evt) {
  if(evt && evt.target) {
    if(evt.target.nodeType == 3) {
      return evt.target.parentNode;
    } else {
      return evt.target;
    }
  } else if(window.event && window.event.srcElement) {
    return window.event.srcElement;
  } else {
    return null;
  }
};


// OnLoad

dom.event.addEventListener( window, 'load', initDocument ) ;
function initDocument(){
	var areaList = document.getElementById('areaBase').getElementsByTagName('A') ;
	for( var i=0; i<areaList.length; i++ ){
		dom.event.addEventListener( areaList.item(i), 'mouseover', MenuAct ) ;
		dom.event.addEventListener( areaList.item(i), 'mouseout', Delay_MenuDel ) ;
	}
}


// Map Menu

var targetBox ;
var stopHidden ;
var timerMenuOut ;
var checkTarget ;
var checkBox ;

function MenuAct(evt){
	var target = dom.event.target(evt) ;
	if	( !checkTarget || ( checkTarget && ( checkTarget != target ) ) || ( checkTarget && !checkBox ) ){

		if( checkTarget && ( checkTarget != target ) ){
			stopHidden = 0 ;
			MenuDel() ;
		}
		stopHidden = 1 ;
		checkTarget = target ;
		var ValueX = -6 ;
		var ValueY = 20 ;
		if( target.parentNode.offsetParent.nodeName.toLowerCase() == 'body' ){
			ValueX += target.parentNode.offsetLeft ;
			ValueY += target.parentNode.parentNode.offsetTop ;
		}else{
			var targetX = target.parentNode ;
			var targetY = target.parentNode.parentNode ;
			ValueX += document.getElementById('body').offsetLeft + document.getElementById('contents').offsetLeft + targetX.offsetLeft ;
			ValueY += document.getElementById('main').offsetTop + document.getElementById('contL').offsetTop + targetY.offsetTop ;
		}

		var targetSrc = target.src ;
		var targetNo = targetSrc.match(/area(\d\d)/) ;
		var targetId = 'area' + RegExp.$1 ;
		targetBox = document.getElementById( targetId ) ;

		targetBox.style.top = ValueY + 'px' ;
		targetBox.style.left = ValueX + 'px' ;
		targetBox.style.display = 'block' ;
		checkBox = 1 ;

		dom.event.addEventListener( targetBox, 'mouseover', MenuHold ) ;
		dom.event.addEventListener( targetBox, 'mouseout', Delay_MenuDel ) ;

	}
	if( !stopHidden ){ stopHidden = 1 ;}
}

function MenuHold() {
	stopHidden = 1 ;
}
function Delay_MenuDel() {
	stopHidden = 0 ;
	timerMenuOut = setTimeout( 'MenuDel()', 100 ) ;
}
function MenuDel() {
	if( !stopHidden ){
		targetBox.style.display = 'none' ;
		checkBox = 0 ;
		dom.event.removeEventListener( targetBox, 'mouseover', MenuHold ) ;
		dom.event.removeEventListener( targetBox, 'mouseout', Delay_MenuDel ) ;
	}
	clearTimeout( timerMenuOut );
}


/*
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
*/

function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');
	var sImgNM;


	for (var i = 0; i < aImages.length; i++) {		
		sImgNM = aImages[i].className;
		if(sImgNM.search("imgover") > -1) {
		//if (aImages[i].className == 'imgover') {
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			aImages[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			
			aImages[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);

			}
		}
	}
}

window.onload = initRollovers;

