var vFilter, hFilter;

vFilter = "progid:DXImageTransform.Microsoft.GradientWipe(duration=0.3,GradientSize=0.75,wipestyle=1,motion=forward)";
hFilter = "progid:DXImageTransform.Microsoft.GradientWipe(duration=0.3,GradientSize=0.75,wipestyle=0,motion=forward)";
//hFilter = "progid:DXImageTransform.Microsoft.Pixelate(duration=0.3)";
//hFilter = "progid:DXImageTransform.Microsoft.Slide(duration=0.3, bands=1, slidestyle=HIDE)";

var hideTimeout = null;

var menuGroups = new Array();
var lastGroup = null;

//var ifEl = document.createElement('IFRAME');

var ifEls = new Array();

for (x=0;x<5;x++) {
	ifEls[x] = document.createElement('IFRAME');
	ifEls[x].style.display = 'none';
	ifEls[x].style.position = 'absolute';
	ifEls[x].style.top = 0;
	ifEls[x].style.left = 0;
	//ifEls[x].style.height = 1;
	//ifEls[x].style.width = 1;	
	ifEls[x].scrolling = 'no';
	//ifEls[x].allowTransparency = true;
	//ifEls[x].backgroundColor = 'red';
	ifEls[x].frameBorder = 0;
	ifEls[x].src = '/Blank.html';
}

function showMenu(el, dir, lvl, grp) {
	window.clearTimeout(hideTimeout);
	
	try
	{
		if (lastGroup != null) {
			if (grp != lastGroup) {
				hideActiveMenu(0);
			}
		}
		
		if (menuGroups[grp] == null) {
			menuGroups[grp] = new Object();
			
			menuGroups[grp].ActiveMenus = new Array();
			menuGroups[grp].ActiveTitles = new Array();
			menuGroups[grp].ActiveLevel = 0;
			//menuGroups[grp].Direction = dir;
		}
		
		var mEl = document.getElementById('d' + el.id);

		if (mEl!=null) {
			
			if (lvl <= menuGroups[grp].ActiveLevel) {
				hideActiveMenu(lvl);
			}
				
			// Check for no-children
			//alert(mEl.firstChild);
			if ((is_nav) || (mEl.childNodes[0].rows.length > 0)) {
				if (mEl != menuGroups[grp].ActiveMenus[menuGroups[grp].ActiveLevel]) {
					el.className = 'menuOver';

					if (is_ie) {
						if (dir=='v') {
							mEl.style.filter = vFilter;
						}
						else {
							mEl.style.filter = hFilter;
						}
						mEl.filters[0].Apply();
						mEl.style.visibility = 'hidden';
					}
					
					mEl.style.position = 'absolute';
					
					if (dir=='v') {
						mEl.style.top = getRealTop(el) + el.offsetHeight;
						mEl.style.left = getRealLeft(el);
					}
					else {
						mEl.style.top = getRealTop(el);
						mEl.style.left = getRealLeft(el) + el.offsetWidth;
					}
					
					mEl.style.display='';
					
					if (dir=='v') {
						if ((getRealLeft(mEl) + mEl.offsetWidth) > document.body.clientWidth) {
							mEl.style.left = getRealLeft(mEl) - ((getRealLeft(mEl) + mEl.offsetWidth) - document.body.clientWidth);
						}
						
						if (is_nav) {
							mEl.style.top = parseInt(mEl.style.top)-1;
						}
					}
					else
					{
						if ((getRealTop(mEl) + mEl.offsetHeight) > document.body.clientHeight+document.body.scrollTop) {
							mEl.style.top = getRealTop(mEl) - mEl.offsetHeight + el.offsetHeight;
							
							if (is_ie) {
								if (lvl>1) {
									mEl.style.top = parseInt(mEl.style.top)+1;
								}
							}
						}
						else {
							
							if (is_ie) {
								if (lvl>1) {
									mEl.style.top = parseInt(mEl.style.top)-1;
								}				
							}
  						if (is_nav) {
								if (lvl>1) {
  	  						mEl.style.top = parseInt(mEl.style.top)-4;
  	  					} else {
  	  						mEl.style.top = parseInt(mEl.style.top)-5;
 	  						}
		  				}
						}
					}			
					
												
					if (is_ie) {
						mEl.style.visibility='visible';
						mEl.filters[0].Play();
					}
					
					//===================================================
					// IFRAME fix for select and dropdown boxes
					//===================================================
					if (is_ie) {
						ifEls[lvl].style.display = 'none';
						ifEls[lvl].style.height = mEl.offsetHeight;
						ifEls[lvl].style.width = mEl.offsetWidth;
						ifEls[lvl].style.top = mEl.style.pixelTop;
						ifEls[lvl].style.left = mEl.style.pixelLeft;
						
						if (ifEls[lvl].parentNode == null) {
							document.body.insertBefore(ifEls[lvl], document.body.children[0]);
						}
						
						ifEls[lvl].style.display = '';
					}
					
					//alert(document.body.children[document.body.children.length-1].tagName);
					//===================================================
					
					menuGroups[grp].ActiveMenus[lvl] = mEl;
					menuGroups[grp].ActiveTitles[lvl] = el;
					
					menuGroups[grp].ActiveLevel = lvl;
					
					lastGroup = grp;
				}
			}
		}
	}
	catch(e)
	{
	
	}
	
	//debug(el.id);
}

function keepMenu(el) {
	window.clearTimeout(hideTimeout);
}

function hideMenu(el) {
	hideTimeout = window.setTimeout(hideActiveMenus, 500);
}

function hideActiveMenus() {
	try
	{
		hideActiveMenu(0);
		menuGroups[lastGroup].ActiveLevel = 0;
	}
	catch(e)
	{
	
	}
}

function hideActiveMenu(lvl) {
	try
	{
		for (var x=menuGroups[lastGroup].ActiveLevel;x>=lvl;x--) {
			if (menuGroups[lastGroup].ActiveMenus[x]!=null) {
				//menuGroups[lastGroup].ActiveMenus[x].style.position = 'absolute';
				//if (is_ie) {
					//alert(menuGroups[lastGroup].Direction);
					//if (menuGroups[lastGroup].Direction=='v') {
					//	menuGroups[lastGroup].ActiveMenus[x].style.filter = "progid:DXImageTransform.Microsoft.GradientWipe(duration=0.3,GradientSize=0.50,wipestyle=1,motion=backward)";
					//}
					//else {
					//	menuGroups[lastGroup].ActiveMenus[x].style.filter = "progid:DXImageTransform.Microsoft.GradientWipe(duration=0.3,GradientSize=0.50,wipestyle=0,motion=backward)";
					//}
					//alert(menuGroups[lastGroup].ActiveMenus[x].style.filter);
					//menuGroups[lastGroup].ActiveMenus[x].filters[0].Apply();
				//}

				//menuGroups[lastGroup].ActiveTitles[x]=null;
				//menuGroups[lastGroup].ActiveMenus[x].style.visibility='hidden';
				//menuGroups[lastGroup].ActiveMenus[x].style.visibility = 'hidden';
				menuGroups[lastGroup].ActiveTitles[x].className = 'fontSmall fontColorDark menuLink';
				menuGroups[lastGroup].ActiveMenus[x].style.display='none';
				menuGroups[lastGroup].ActiveMenus[x] = null;
				ifEls[x].style.display = 'none';
				
				//if (is_ie) {
					//alert(menuGroups[lastGroup].ActiveMenus[x].id);
				//	menuGroups[lastGroup].ActiveMenus[x].filters[0].Play(0.3);
				//}
				
				//menuGroups[lastGroup].ActiveMenus[x].style.display='none';
			}
			menuGroups[lastGroup].ActiveLevel--;
		}
	}
	catch(e)
	{
	
	}
}

function posIFrame(ifEl, mEl) {
	ifEl.style.top = mEl.style.pixelTop;
	ifEl.style.left = mEl.style.pixelLeft;
	ifEl.style.height = mEl.offsetHeight;
	ifEl.style.width = mEl.offsetWidth;
}

function showIFrame(ifEl) {
	if (ifEl.parentNode == null) {
		document.appendChild(ifEl);
	}
	
	ifEl.style.display = '';
}

function hideIFrame(ifEl) {
	ifEl.style.display = 'none';
}

function debug(msg) {
	//alert(msg);
	document.getElementById('debug').style.display = '';
	document.getElementById('debug').innerHTML += msg + '<br />';
}