var p=null;m=null;pf='dd';zIdxMax=10;ovFns=[];otFns=[];
var bIE=(navigator.userAgent.indexOf('MSIE ')>=0);
var vIE=(!bIE?0:navigator.userAgent.substring(navigator.userAgent.indexOf('MSIE ')+5).split(';')[0]);
function initDDM(pre){
    if(pre!=null)pf=pre;
	var ddms=document.getElementsByTagName('TD');
	var i=0;
	while(i<ddms.length){
		if(ddms[i].id.indexOf(pf+'tm')==0&&ddms[i].onmouseover.toString().indexOf('function mOver')<0){
			var dd=document.getElementById(ddms[i].id.replace(pf+'tm',pf+'sm'));
			if(dd!=null){   //&&dd.onmouseover!=null&&dd.onmouseover.toString().indexOf('function dOver')<0){    //only load once
				dd.onmouseover=dOver;
				dd.onmouseout=dOut;
				dd.childNodes[0].childNodes[0].onmouseover=iOver;
				dd.childNodes[0].childNodes[0].onmouseout=iOut;
				if(ddms[i].onmouseover!=null){
					var f=ddms[i].onmouseover.toString();
					f=f.substr(f.indexOf('{')+2,f.lastIndexOf('}')-f.indexOf('{')-3);
					if(f.indexOf('with (this) {')>0){f=f.substr(f.indexOf('with (this) {')+13);f=f.substr(0,f.lastIndexOf(';')+1);} //handle Google Chrome
					ovFns[ddms[i].id]=f.replace('this','document.getElementById(\''+ddms[i].id + '\')');
				}
				ddms[i].onmouseover=mOver;
				if(ddms[i].onmouseout!=null){
					var f=ddms[i].onmouseout.toString();
					f=f.substr(f.indexOf('{')+2,f.lastIndexOf('}')-f.indexOf('{')-3);
					if(f.indexOf('with (this) {')>0){f=f.substr(f.indexOf('with (this) {')+13);f=f.substr(0,f.lastIndexOf(';')+1);} //handle Google Chrome
					otFns[ddms[i].id]=f.replace('this','document.getElementById(\''+ddms[i].id+'\')');
				}
				ddms[i].onmouseout=mOut;
				ddms[i].style.cursor='pointer';
			}
		}
		i++;
	}
}
function dOver(e){		//over dropdown
	if(p!=null){window.clearTimeout(p);p=null;}
	var o=bIE?window.event.srcElement:e.target;
	if(o.tagName=='TD'&&o.id.indexOf(pf+'tm')==0)return;
	while(o.tagName!='DIV'||o.id.indexOf(pf+'sm')<0){o=o.parentNode;}
	if(o.id.indexOf(m.id)==0&&o!=m)m=o;
	if(m.id.indexOf(o.id)==0&&o!=m){p=window.setTimeout('mHide(document.getElementById(\''+m.id+'\'));',200);}
}
function dOut(e){		//off dropdown
	var o=bIE?window.event.srcElement:e.target;
	while(o.tagName!='DIV'||o.id.indexOf(pf)<0){o=o.parentNode;}
	if(p!=null){window.clearTimeout(p);p=null;}
	p=window.setTimeout('mHideAll(document.getElementById(\''+o.id+'\'))',500);
}
function mOver(e){		//over menu item
	if(p!=null){window.clearTimeout(p);p=null;}
	var o=bIE?window.event.srcElement:e.target;
	while(o.tagName!='TD'||o.id==''){o=o.parentNode;}	//get cell
	if(ovFns[o.id]!=null){eval(ovFns[o.id]);}
	if(m!=null){
		if(m.id.indexOf(o.id)==0)return;
		if(o.id.replace(pf+'tm',pf+'sm').split('_')[0]!=(m.id.split('_')[0]))mHideAll(m); //hide all when switching top level
	}
	m=document.getElementById(o.id.replace(pf+'tm',pf+'sm'));
	m.style.display='';
	if(isSubM(o)||o.className.indexOf('v')==0){
		m.style.left=getObjX(o)+o.offsetWidth+'px';m.style.top=getObjY(o)+'px';
	}else{
		var ww=document.body.clientWidth;
		var mx=getObjX(o);
		if(mx+m.offsetWidth>ww)mx=mx+o.offsetWidth-m.offsetWidth;
		m.style.left=mx+'px';m.style.top=getObjY(o)+o.offsetHeight+'px';
	}
	var bh=document.body.clientHeight;
	if(m.offsetHeight>(bh-m.offsetTop)&&(bh-m.offsetTop)>0){
		//m.style.height=bh-m.offsetTop-2+'px';
		//m.style.overflow='auto';
		if(bIE)m.style.width=m.offsetWidth+(m.offsetWidth-m.scrollWidth)+'px';   //+14;
	}
	var ifr=document.getElementById('ifr'+m.id);
    if(bIE){
        if(vIE<7&&document.getElementsByTagName('SELECT').length>0){
	        if(ifr==null){
		        var sIFR='<IFRAME frameborder="0" id="ifr'+m.id+'" src="" scrolling="no" class="ddSubMenuIFR" style="FILTER:progid:DXImageTransform.Microsoft.Alpha(opacity=100);VISIBILITY:hidden;POSITION:absolute;HEIGHT:'+(m.offsetHeight)+'px;WIDTH:'+(m.offsetWidth)+'px;LEFT:'+m.style.left+'px;TOP:'+m.style.top+'px;Z-INDEX:0;"></IFRAME>';
		        m.insertAdjacentHTML('beforeBegin',sIFR);
		        ifr=document.getElementById('ifr'+m.id);
	        }else{if(zIdxMax)ifr.style.zIndex=zIdxMax;}
        }else{
            if(ifr!=null)ifr.style.visibility='hidden';
            m.style.filter='progid:DXImageTransform.Microsoft.Alpha(opacity=92)';
        }
    }else{if(m.style.opacity=='')m.style.opacity=0.92;}
    if(zIdxMax)m.style.zIndex=(zIdxMax++);
    m.style.visibility='';
	if(bIE&&ifr!=null){ifr.style.left=m.style.left;ifr.style.top=m.style.top;ifr.style.width=m.offsetWidth+'px';ifr.style.height=m.offsetHeight+'px';ifr.style.zIndex=m.style.zIndex;ifr.style.visibility='';}
}
function mOut(e){		//out of menu item
	var o=bIE?window.event.srcElement:e.target;
	if(m==null)return false;
	p=window.setTimeout('mHideAll(document.getElementById(\''+m.id+'\'))',500);
}
function mHide(q){
	if(m!=null&&m!=q){
		while(m.id.indexOf(q.id)==0&&m.id.length>q.id.length){
			if(otFns[m.id.replace(pf+'sm',pf+'tm')]!=null)eval(otFns[m.id.replace(pf+'sm',pf+'tm')]);
			m.style.visibility='hidden';
			m=document.getElementById(m.id.substr(0,m.id.lastIndexOf('_')));
		}
		if(m==q){
			if(m.id.indexOf('_')>0){
				m=document.getElementById(m.id.substr(0,m.id.lastIndexOf('_')));
			}else{m=null;}
		}
	}
  	if(otFns[q.id.replace(pf+'sm',pf+'tm')]!=null)eval(otFns[q.id.replace(pf+'sm',pf+'tm')]);
	var ifr=document.getElementById('ifr'+q.id);
	if(bIE&&ifr!=null){ifr.style.visibility='hidden';}
	q.style.visibility='hidden';
}
function mHideAll(q){
	mHide(document.getElementById(q.id.split('_')[0]));
}
function isSubM(sm){
	while(sm.tagName!='TABLE'){sm=sm.parentNode;}
	if(sm.parentNode.tagName!='DIV')return false;
	if(sm.parentNode.parentNode.tagName!='DIV')return false;
	return (sm.parentNode.parentNode.id.indexOf(pf+'tm')==0);
}
function iOver(e){
	var o=bIE?window.event.srcElement:e.target;
	while(o.parentNode.parentNode.tagName!='TABLE'&&o.parentNode.parentNode.onmouseover==null)o=o.parentNode;
	if(o.tagName!='TR')return;
	if(o.innerText!=''||o.innerHTML.indexOf(' title=')>0)o.className='mItemHover';
}
function iOut(e){
	var o=bIE?window.event.srcElement:e.target;
	while(o.parentNode.parentNode.tagName!='TABLE'&&o.parentNode.parentNode.onmouseout==null)o=o.parentNode;
	if(o.tagName!='TR')return;
	o.className='';
}
function getObjX(obj){
	var x=0;
	if(obj.offsetParent){
		while(obj.tagName!='BODY'&&obj.tagName!='HTML'){x+=obj.offsetLeft;obj=obj.offsetParent;}
	}else{x=obj.x;}
	if(obj.tagName=='BODY')x+=obj.offsetLeft;
	return x;
}
function getObjY(obj){
	var y=0;
	if(obj.offsetParent){
		while(obj.tagName!='BODY'&&obj.tagName!='HTML'){y+=obj.offsetTop;obj=obj.offsetParent;}
	}else{y=obj.y;}
	if(obj.tagName=='BODY')y+=obj.offsetTop;
	return y;
}
function pmOvr(o){
    if(o.childNodes[0].className.indexOf(' mgMenuButton')<0)o.childNodes[0].className+=' mgMenuButton';
}
function pmOut(o){
    o.childNodes[0].className=o.childNodes[0].className.replace(' mgMenuButton','');
}

