var flyout = new Object();

flyout.addEvent = function(elmnt, evType, fn, useCapture){
	if(elmnt.addEventListener){
		elmnt.addEventListener(evType, fn, useCapture);
		return true;
	} else if(elmnt.attachEvent){
		var r = elmnt.attachEvent('on'+evType, fn);
		return r;
	} else {
		elmnt['on'+evType] = fn;
	}
}

flyout.getTriggerElement = function(evnt){
	if(window.event && window.event.srcElement)
		return window.event.srcElement;
	if(evnt && evnt.target)
		return evnt.target;
	return null;
}


flyout.init = function(){
	items = document.getElementById('flyout').getElementsByTagName('li');
	for(i=0; i<items.length; i++){
		if(items[i].parentNode.className.match('level')){
			link = items[i].getElementsByTagName('a')[0];
			flyout.addEvent(link, 'mouseover', flyout.fly, false);
		}
		 
	}
	
 	 flyout.IE = document.all?true:false;
	//alert(flyout.IE);
	//if (!flyout.IE) document.captureEvents(Event.MOUSEMOVE);
	document.onmousemove = flyout.trackmouse;
	//flyout.tempX = 0;
	//flyout.tempY = 0;
	flyout.minX = document.getElementById('flyout').offsetLeft;
	flyout.maxX = 833 + flyout.minX;
	flyout.minY = document.getElementById('flyout').offsetTop;
	flyout.maxY = document.getElementById('flyout').offsetHeight + flyout.minY;
}


flyout.cleanup = function(elmnt){
        //alert("clearn");
	items = elmnt.parentNode.childNodes;
	for(i=0; i<items.length; i++){
		if(items[i] != elmnt  && items[i].className != 'nofly'){
			items[i].className = null;
		}
	}
}

flyout.closesubs = function(elmnt){
	items = elmnt.getElementsByTagName('li');
	for(i=0; i<items.length; i++){
		if(items[i].parentNode.className.match('level')){
			if( items[i].className != 'nofly'){
				items[i].className = null;
			}
		}
	}
}


flyout.trackmouse = function(e){
  if (flyout.IE) {
		flyout.tempX = event.clientX + document.body.scrollLeft
    flyout.tempY = event.clientY + document.body.scrollTop
  } else {
    flyout.tempX = e.pageX
    flyout.tempY = e.pageY
  }  
  if (flyout.tempX < 0){flyout.tempX = 0}
  if (flyout.tempY < 0){flyout.tempY = 0}  

	if(flyout.tempX < flyout.minX || flyout.tempX > flyout.maxX || flyout.tempY < flyout.minY || flyout.tempY > flyout.maxY){
		flyout.closesubs(document.getElementById('flyout'));
		
	}
  return true
}

//not work in Mac    options(Win/Mac/x11/linux)
/*
if (navigator.appVersion.indexOf("Mac") == -1) {

     flyout.addEvent(window, 'load', flyout.init, false);
}
*/

if (browserCheck().indexOf("Safari",0) == -1) {

     flyout.addEvent(window, 'load', flyout.init, false);
}



// only work in Windows

//if (navigator.appVersion.indexOf("Win") != -1) {

     //flyout.addEvent(window, 'load', flyout.init, false);
//}
 
