/**********************************************************************/
/* moduleMenu()                                                       */
/* description                                                        */
/**********************************************************************/

// constantsssss
var ROLLOUT_MENU_ITEM         = 'Default';
var ROLLOVER_MENU_ITEM        = 'Hover';
var CLICK_MENU_ITEM           = 'Active';

// globals
var activeMenu = new Array();
var qsParm     = new Array();
var autoClick  = false;

function swapMenu(m, ev, level, name){

  // set the default level to the first menu-level.
  if (!level)
    level = 0;

  if (ev == 'clear' && activeMenu[level]){
    for (var n=0;n<activeMenu[level].length;n++)
      activeMenu[level][n].className = name + ROLLOUT_MENU_ITEM;
    return;
  }
  var menuItem = document.getElementById(m);


  // test for the menuItem
  if (!menuItem){
    return false; // couldn't find the menuItem
  }
  if (ev == 'click'){
    var orgClassName = menuItem.className;
    var orgId = menuItem.id;

    // active menuitem is deselected
    if (activeMenu[level]) {
      activeMenu[level][0].className = name + ROLLOUT_MENU_ITEM;
    }

    // selected menuitem is set as the new active menuitem
    activeMenu[level] = new Array(menuItem, name);

    if(name == 'unit')
    {
      if(activeMenu[level][0].id == orgId)
      {
        if(orgClassName == name + ROLLOUT_MENU_ITEM)
        {
          activeMenu[level][0].className = name + CLICK_MENU_ITEM;
        }
        else
        {
          activeMenu[level][0].className = name + ROLLOUT_MENU_ITEM;
        }
      }
      else
      {
        activeMenu[level][0].className = name + CLICK_MENU_ITEM;
      }
    }
    else
    {
      if(autoClick == true)
      {
        if(name == 'compoundItem')
        {
          var topMenu = activeMenu[2][0];
          var allDivs = topMenu.getElementsByTagName("DIV");
          var unitFound = false
          var i=0;
          while(!unitFound && i<allDivs.length)
          {
            if(allDivs[i].contains(activeMenu[level][0]) && allDivs[i].id.substring(0, 4) == 'unit')
            {
              unitFound = true;
            }
            else
            {
              i++;
            }
          }
          if(unitFound)
          {
            // Unit
            allDivs[i].className = 'unit' + CLICK_MENU_ITEM;
          }
          autoClick = false;
        }
      }
      activeMenu[level][0].className = name + CLICK_MENU_ITEM;
    }
  }

  if (activeMenu[level] && menuItem == activeMenu[level][0])
    return;
  if (ev == 'rollover')
    menuItem.className = name + ROLLOVER_MENU_ITEM;
  if (ev == 'rollout')
    menuItem.className = name + ROLLOUT_MENU_ITEM;
}

// this function will loop through all active menu-items on the screen and neutralize their styles
function start(){
  for (var n=0;n<activeMenu.length;n++){
    if (activeMenu[n]){
      activeMenu[n][0].className = activeMenu[n][1] + ROLLOUT_MENU_ITEM;
      activeMenu[n] = null;
    }
  }
}

function swapText(t, el){
  if (!el) return false;
  var elObj = document.getElementById(el);
  // if element doesn't exists return
  if (!elObj) return false;
  elObj.innerHTML = t;
}

function swapLink(id, ev){
  if (!id) return false;
  var elObj = document.getElementById(id);
  if (ev == 'click')
    elObj.click();
}

/**
    Omdat een Iframe niet goed werkt bij safari, wordt in deze functie de breedte en de hoogte gezet voor het Iframe.
*/
function resizeIframe() 
{
  jQuery('.CdContentIframe').height(jQuery(window).height() - 148);
  jQuery('.menuItems').height(jQuery(window).height() - 148);
}

jQuery(document).ready(function () {
  resizeIframe();
});
jQuery(window).resize(function () {
  resizeIframe();
});


function checkQueryString() {
	var gevonden = false;
	qs();
	if (qsParm['url']!=null)
	{
		var eFrame = document.getElementById("CdContentIframe");
  	eFrame.src = qsParm['url'];
	}
	else
	{
	    var foo = location.search.replace("?Portal=1","");
	    if (foo != "") 
	    {
		var requestLink = location.search.replace("?", "");
		    var rest = "";
		    if(requestLink.indexOf("&")>=0){
		        rest = requestLink.substring(requestLink.indexOf("&"));
		        requestLink = requestLink.substring(0,requestLink.indexOf("&"));
		    }
		var elementFrame = document.getElementById("CdContentIframe");
		for (var i = 0; i < document.links.length; i++) {
			if (document.links[i].href.indexOf(requestLink,0) != -1) {
        autoClick = true;
				if (document.links[i].onclick) {
					document.links[i].onclick();
				} else {
					document.links[i].onmousedown();
					document.links[i].onmouseup();
					document.getElementById("");
				}
				elementFrame.src = requestLink;
				gevonden = true;
			} 
		}
    		
		//Als er geen pagina gevonden is, dan naar de default pagina
		if (!gevonden) {
			document.getElementById('mod_menu_0').onmousedown();
			document.getElementById('mod_menu_0').onmouseup();
			//alert("Deze pagina (" + requestLink + ") is niet bekend binnen deze additional. ");
		}
	} else {
		document.getElementById('mod_menu_0').onmousedown();
		document.getElementById('mod_menu_0').onmouseup();
	}
	}
}

function qs() {
var query = window.location.search.substring(1);
var parms = query.split('&');
qsParm['url']= null;
for (var i=0; i<parms.length; i++) {
var pos = parms[i].indexOf('=');
if (pos > 0) {
var key = parms[i].substring(0,pos);
var val = parms[i].substring(pos+1);
qsParm[key] = val;
}
}
} 
