/*
this is the non-prototypejs version for ward1 to ward6
*/

var _mcMenuDiv = null;
var _mcMenuDivShadow = null;
var inTime = 0;
var cancelShow = false;
function initMCMenu() {
	
}
function attachMCMenu(p_Link, p_DataBoxID, p_Width, p_Orientation) {
	_createMCMenuDiv();
	//var link = $(p_Link);
	var link = document.getElementById(p_Link);
	var activator = function() {
		cancelShow = false;
		inTime = new Date().getTime();
		
		if(_mcMenuDiv.getAttribute('linkid')==link.id) return;
		_mcMenuDiv.style.visibility='hidden';
		var linkPos = _getElementPosition(link);
		//alert(linkPos.x);
		_mcMenuDiv.setAttribute('linkid', link.id);
		_mcMenuDiv.setAttribute('orient', p_Orientation);
		
		//_mcMenuDiv.update($(p_DataBoxID).innerHTML);
		_mcMenuDiv.innerHTML = document.getElementById(p_DataBoxID).innerHTML;
		
		_mcMenuDiv.style.width = p_Width+'px';
		if(p_Orientation=='right')
			_mcMenuDiv.style.left = (linkPos.x-p_Width+link.offsetWidth)+'px';
		else
			_mcMenuDiv.style.left = (linkPos.x)+'px';
		_mcMenuDiv.style.top = (linkPos.y+link.offsetHeight-4)+'px';
		_mcMenuDiv.setAttribute('mout_time', 0);
		
		/*var items = $$('div.mcmenu_link');
		items.each(function(x) {
			x.onmouseover = function() {
				x.addClassName('mcmenu_item_hover');
			};
			x.onmouseout = function() {
				x.removeClassName('mcmenu_item_hover');
			};
		});*/
		/*var items = document.getElementsByTagName('div');
		var i = 0;
		var item = null;
		for(i=0; i<items.length; i++) {
			item = items[i];
			if(item.className.indexOf('mcmenu_link')!=-1) {
				item.onmouseover = function() {
					//item.className = 'mcmenu_link_hover';
					if(_mcMenuDivShadow.style.visibility!='hidden')
						_mcMenuDivShadow.style.visibility = 'hidden';
					if(_mcMenuDiv.style.visibility!='visible')
						_mcMenuDiv.style.visibility = 'visible';
					_mcMenuDiv.setAttribute('linkid', link.id);
				};
				//item.onmouseout = function() {
				//	item.className = 'mcmenu_link';
				//};
			}
		}*/
		
		//_startShadow();
		_mcMenuDivShadow.style.visibility = 'hidden';
		_mcMenuDiv.style.visibility = 'visible';
		_mcMenuDiv.setAttribute('linkid', link.id);
	};
	var deactivator = function() {
		var outTime = new Date().getTime();
		if(outTime-inTime<=500) {
			cancelShow = true;
		}
		_mcMenuDivShadow.style.visibility = 'hidden';
		_mcMenuDiv.style.visibility = 'hidden';
		_mcMenuDiv.setAttribute('linkid', '');
	}
	var deactivatorIE = function() {
		cancelShow = true;
		setTimeout(function() { 
								if(cancelShow) {
									_mcMenuDivShadow.style.visibility = 'hidden';
									_mcMenuDiv.style.visibility = 'hidden';
									_mcMenuDiv.setAttribute('linkid', '');
								}
							}, 500);
	}
	var reactivator = function() {
		cancelShow = false;
		if(_mcMenuDivShadow.style.visibility!='hidden')
			_mcMenuDivShadow.style.visibility = 'hidden';
		if(_mcMenuDiv.style.visibility!='visible')
			_mcMenuDiv.style.visibility = 'visible';
		_mcMenuDiv.setAttribute('linkid', link.id);
	}
	link.onmouseover = activator;
	link.onmouseout = deactivator;
	_mcMenuDiv.onmouseover = reactivator;
	if(document.all) {
		_mcMenuDiv.onmouseout = deactivatorIE;
	}
	else {
		_mcMenuDiv.onmouseout = deactivator;
	}
}
function _createMCMenuDiv() {
	if(_mcMenuDiv==null) {
		_mcMenuDiv=document.createElement('div');
		//_mcMenuDiv=Element.extend(_mcMenuDiv);
		//_mcMenuDiv.identify();
		_mcMenuDiv.id = "__mcMenuDiv";
		//_mcMenuDiv.addClassName('mcmenu_menu');
		_mcMenuDiv.className = 'mcmenu_menu';
		_mcMenuDiv.style.visibility='hidden';
		document.body.appendChild(_mcMenuDiv);
	}
	if(_mcMenuDivShadow==null) {
		_mcMenuDivShadow=document.createElement('div');
		//_mcMenuDivShadow=Element.extend(_mcMenuDivShadow);
		//_mcMenuDivShadow.identify();
		_mcMenuDivShadow.id = "__mcMenuDivShadow";
		//_mcMenuDivShadow.addClassName('mcmenu_menu_frame');
		_mcMenuDivShadow.className = 'mcmenu_menu_frame';
		_mcMenuDivShadow.style.visibility='hidden';
		document.body.appendChild(_mcMenuDivShadow);
	}
}
function _getElementPosition(e){
	var left = 0;
	var top  = 0;
	while (e.offsetParent){
		left += e.offsetLeft;// + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
		top  += e.offsetTop;//  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
		e     = e.offsetParent;
	}
	left += e.offsetLeft;// + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
	top  += e.offsetTop;//  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
	return {x:left, y:top};
}
function _startShadow() {
	if(cancelShow) {
		_mcMenuDivShadow.style.visibility = 'hidden';
		_mcMenuDiv.style.visibility = 'hidden';
		_mcMenuDiv.setAttribute('linkid', '');
		return;
	}
	_mcMenuDivShadow.style.width='0px';
	_mcMenuDivShadow.style.height='0px';
	if(_mcMenuDiv.getAttribute('orient')=='left') {
		_mcMenuDivShadow.style.left = _mcMenuDiv.style.left;
		_mcMenuDivShadow.style.top = _mcMenuDiv.style.top;
	}
	else {
		_mcMenuDivShadow.style.left = (parseInt(_mcMenuDiv.style.left)+_mcMenuDiv.offsetWidth-20)+'px';
		_mcMenuDivShadow.style.top = _mcMenuDiv.style.top;
	}
	_mcMenuDivShadow.style.visibility = 'visible';
	_shadowAnim();
}
function _shadowAnim() {
	if(cancelShow) {
		_mcMenuDivShadow.style.visibility = 'hidden';
		_mcMenuDiv.style.visibility = 'hidden';
		_mcMenuDiv.setAttribute('linkid', '');
		return;
	}
	var w = parseInt(_mcMenuDivShadow.style.width);
	var h = parseInt(_mcMenuDivShadow.style.height);
	if(w<parseInt(_mcMenuDiv.offsetWidth/4)) {
		w=parseInt(_mcMenuDiv.offsetWidth/4);
		h=parseInt(_mcMenuDiv.offsetHeight/4);
	}
	else if(w<parseInt(_mcMenuDiv.offsetWidth/2)) {
		w=parseInt(_mcMenuDiv.offsetWidth/2);
		h=parseInt(_mcMenuDiv.offsetHeight/2);
	}
	else if(w<parseInt(_mcMenuDiv.offsetWidth-20)) {
		w=parseInt(_mcMenuDiv.offsetWidth-20);
		h=parseInt(_mcMenuDiv.offsetHeight-20);
	}
	else {
		_mcMenuDivShadow.style.visibility = 'hidden';
		_mcMenuDiv.style.visibility = 'visible';
		return;
	}
	if(_mcMenuDiv.getAttribute('orient')=='right') {
		_mcMenuDivShadow.style.left = (parseInt(_mcMenuDiv.style.left)+_mcMenuDiv.offsetWidth-w)+'px';
	}
	_mcMenuDivShadow.style.width=w+'px';
	_mcMenuDivShadow.style.height=h+'px';
	setTimeout(_shadowAnim, 100);
}