/*
 *   (C) Copyright Paul Hildebrand 2001 - 2010
 *
 *   $Author: paulh $ 
 *   $Revision: 293 $ 
 *   $Date: 2011-02-27 20:40:40 +0100 (Sun, 27 Feb 2011) $ 
 */

var menuBorderColor = '#9A8678';
var menuBGColor = '#E9E2D0';
var menuSelectedBGColor = '#CAC0A7';
var menuList = new Array();
var timeOutList = new Array();

/**
 * Deze menu items zijn fixed.   
 */
var infoItems = new Array(5);
infoItems[0] = new Array('Algemene voorwaarden','/voorwaarden.php','');
infoItems[1] = new Array('Bandlist / Links','/links.php','');
infoItems[2] = new Array('Meldt nieuws (News submit)','/newssubmit.php','');
infoItems[3] = new Array('ZwareMetalen crew','/artikel/12.html','');
infoItems[4] = new Array('Shop','/artikel/2.html','');

var concertItems = new Array(3);
concertItems[0] = new Array('Concertagenda','/concertagenda.php','');
concertItems[1] = new Array('Podia/zalen overzicht','/podia.php','');
concertItems[2] = new Array('Concert toevoegen','javascript:launchWinConcert(\'/concertagendaform.php\')','');

var artikelItems = new Array(7);
artikelItems[0] = new Array('Nieuwsberichten','/nieuwsoverzicht/666/0/index.html','');
artikelItems[1] = new Array('CD/DVD reviews','/reviews/normal/0/index.html','');
artikelItems[2] = new Array('CD/DVD reviews (pics)','/reviews/icons/0/index.html','');
artikelItems[3] = new Array('Interviews','/interviews/666/0/index.html','');
artikelItems[4] = new Array('Concertreviews','/concerten/666/0/index.html','');
artikelItems[5] = new Array('Columns','/columns/666/0/index.html','');
artikelItems[6] = new Array('Reacties','/reacties/666/0/index.html','');

/**
 * Netscape 4 ondersteun ik officeel niet meer ... 
 * Het menu werkt daarom ook niet vlekkeloos. Maar een paar kleine wijzigingen
 * maken de boel iig leesbaar.
 */
function isNetscape4()
{
   
   if (navigator.appName == 'Netscape' && navigator.appVersion.substr(0,1) == '4' )
      return true;
   return false;
}

function isOpera6()
{
   if (navigator.userAgent.indexOf('Opera 6') != -1)
      return true;
   return false;
}

/**
 * Omdat IE 5 en lager geen push op een array ondersteunt doen we het maar zo.
 */
function push(targetArray, item)
{
    var pushedArray;
    var lastPart = new Array(1);
    lastPart[0] = item;
    pushedArray = targetArray.concat(lastPart);
    return pushedArray;
}

/**
 * Haalt de betreffende div-laag op. 
 * (Sommige oudere browsers ondersteunen helaas geen getElementById vandaar deze functie).
 */
function getDivByID(divName)
{
   var divTag;
   if (document.getElementById)
   {
      divTag = document.getElementById(divName);
   }
   else
   {    
      if (!isNetscape4())
      {
          divTag = eval(divName);
      }
      else
      {
         divTag = eval('document.'+ divName);
      }

   }
   return divTag;
}

function switchOnMenuItem(that)
{
    clearTimeOuts();
    that.bgColor = menuSelectedBGColor;
}

function switchOffMenuItem(that)
{
    that.bgColor = menuBGColor;
}

function openLocation(url, target)
{
    if (target == '')
    {
        document.location.href=url;
    }
    else
    {
        var remoteWin = window.open(url,target,'');
    }
}

function createMenu(index, divName, width, leftPos, topPos)
{   
    menuList = push(menuList,divName);
    var str = '';
    
    
    if (!isNetscape4())
    {
        str += '<div id="' + divName + '"'
            + ' class="menuDivHidden" '
            + ' style="left : ' + leftPos + 'px; top : ' + topPos + 'px; width : ' + width + 'px;" '
            + ' onmouseout="hideDelayedMenu(\'' + divName +  '\');"'            
            + '>';
    }
    else
    {
       str += '<layer id="' + divName + '" name="' + divName + '"'
            + ' visibility="show" z-index="10" '
            + ' left="' + leftPos + '" top="' + topPos + '" width="' + width + '" '
            + ' onmouseout="hideDelayedMenu(\'' + divName +  '\');"'            
            + '>';
    }
            
    str += '<table class="menuTable" width="100%" cellspacing="1" cellpadding="4" bgcolor="' + menuBorderColor + '"'
            + '>';
    var target;
    
    
    for (var i=0; i < menuItems[index].length; i ++)
    {
        target = '';
        if (menuItems[index][i][2] != '')
        {
           target = ' target="' + menuItems[index][i][2]  + '"';
        }

        str += '<tr bgcolor="' + menuBGColor + '">'
             + '<td class="menuItem" onmouseover="switchOnMenuItem(this)" onmouseout="switchOffMenuItem(this)" '
             // + 'onclick="openLocation(menuItems[' + index + '][' + i + '][1],menuItems[' + index + '][' + i + '][2]);" '
             + '>'
             + '<a href="' + menuItems[index][i][1] + '"' + target + ' class="menuLink" '
             + '>' + menuItems[index][i][0] + '</a>'
             + '</td></tr>';
    }
    str += '</table>';
    
    if (!isNetscape4())
    {
        str += '</div>';
    }
    else
    {
        str += '</layer>';    
    }
    
    return str;
}

function clearTimeOuts()
{
    while(timeOutList.length > 0)
    {
       if (timeOutList.pop)
       {
          var removedItem;
          removedItem = timeOutList.pop();
          window.clearTimeout(removedItem);
       }
       else
       {
          // Pokke IE5 ondersteunt geen pop en moet je dus ingewikkelde toeren uithalen :(
          var removedItem = timeOutList.slice(0,1);
          var newArray = timeOutList.slice(1,timeOutList.length);
          timeOutList = newArray;
          window.clearTimeout(removedItem[0]);
       }
    }
}


function showMenu(divName)
{
    // Hide de andere menu's
    for (var i=0; i < menuList.length; i++)
    {
       hideMenu(menuList[i]);
    } 
    var menu = getDivByID(divName);
    
    if (isOpera6())
    {
        menu.style.visibility = 'visible';
    }
    else
    if (isNetscape4())
    {
        menu.visibility = 'show';
    }
    else
    {
        menu.className = 'menuDivVisible';
    }
}

function hideMenu(divName)
{
    var menu = getDivByID(divName);

    if (isOpera6())
    {
        menu.style.visibility = 'hidden';
    }
    else
    if (isNetscape4())
    {
        menu.visibility = 'hide';
    }
    else
    {
        menu.className = 'menuDivHidden';
    }
}

function hideDelayedMenu(divName)
{
    var currentTimeOutId = window.setTimeout('hideMenu("' + divName + '")',800);
    timeOutList = push(timeOutList, currentTimeOutId);
}

// Vanaf hier een aantal algemene Javascript functies:

function loginSubmit()
{
	var bool = window.confirm("Als je permanent ingelogd wil blijven klik dan op OK.\nAls je normaal wilt inloggen druk dan op Annuleren/Cancel.\n\n(Log nooit permanent in op een publiek toegankelijke computer zoals op school\nof in een internet cafe)");
	
	if (bool)
	{
		document.loginform.permanent.value = "on";
	}

	return true;
	
}
