/*
(c)Copyright 2003 by Ingo A. Kubbilun (mailto:ingo@kubbilun.de)

UNAUTHORIZED COPYING PROHIBITED.
*/


var menu = null;
var baseURL;

var g_Images = new Array;
var g_imgcnt = 0;

var g_curitemX;
var g_curitemY;

function DeclareImage ( img )
{
  g_Images[g_imgcnt] = new Image();
  g_Images[g_imgcnt++].src = img;
}

function PreloadImages ()
{
  var i,j=0;

  do
  {
    j=0;
    for (i=0;i<g_imgcnt;i++)
      j+=g_Images[i].complete==true ? 1 : 0;
  }
  while (j!=g_imgcnt);
}

function Menu ( imgidx, alt, img0, img1, img2, img3, img4, img5, img6, img7 )
{

  this.imgidx   = imgidx;

  this.alt      = alt;

  this.expanded = false;

  this.images   = new Array(8);

  DeclareImage(img0);
  this.images[0] = img0;
  DeclareImage(img1);
  this.images[1] = img1;
  DeclareImage(img2);
  this.images[2] = img2;
  DeclareImage(img3);
  this.images[3] = img3;
  DeclareImage(img4);
  this.images[4] = img4;
  DeclareImage(img5);
  this.images[5] = img5;
  DeclareImage(img6);
  this.images[6] = img6;
  DeclareImage(img7);
  this.images[7] = img7;

  this.numitems   = 0;
  this.menuitems  = new Array;
}

function MenuItem ( menu, imgidx, link, alt, img0, img1, img2, img3, img4, disabled )
{
  this.imgidx   = imgidx;

  this.link     = link;
  this.alt      = alt;

  this.disabled = disabled;

  this.images   = new Array(5);

  DeclareImage(img0);
  this.images[0] = img0;
  DeclareImage(img1);
  this.images[1] = img1;
  DeclareImage(img2);
  this.images[2] = img2;
  DeclareImage(img3);
  this.images[3] = img3;
  DeclareImage(img4);
  this.images[4] = img4;

  menu.menuitems[menu.numitems++] = this;
}
            
function CreateCS ( mstate, idx )
{
  var i,b,s="";

  for (i=0;i<mstate.length;i++)
  {
    b=mstate[i];
    if (i==idx) b^=true;
    if (b)
      s+='true,';
    else
      s+='false,';
  }
  return s;
}            
              
function replaceBS ( s )
{
  var i,t ="";

  for (i=0;i<s.length;i++)
    if (s.charAt(i)=="\\")
      t+="/";
    else
      t+=s.charAt(i);

  return t;
}

function getbaseURL ( )
{
  var i;

  baseURL = document.URL;
  
  baseURL = replaceBS(baseURL);

  i=baseURL.lastIndexOf("/");
  baseURL=baseURL.substring(0,i)+"/";
}

function DoMenu ()
{
  var s;
  var numparams = arguments.length;
  var i,j,nummenus;
  var imgcnt=0,iBase;
  var mstate,ens;

  if ((numparams) && (arguments[0]==true))
    CreateMenu();

  nummenus = menu.length;

  if (numparams!=(nummenus+5))
  {
    document.close();
    document.open("text/html");
    document.write("");
    document.close();
    return;
  }

  g_curitemX = arguments[nummenus+1];
  g_curitemY = arguments[nummenus+2];

  if (arguments[nummenus+3]==null)
  {
    getbaseURL();
  }
  else
  {
    baseURL = arguments[nummenus+3];
  }

  if (arguments[nummenus+4]==true)
  {
    if (menu[g_curitemX].menuitems[g_curitemY].link.indexOf("//")!=-1)
      top.frames["mainarea"].location.href = menu[g_curitemX].menuitems[g_curitemY].link;
    else
    if (menu[g_curitemX].menuitems[g_curitemY].link.indexOf("mailto:")!=-1)
      top.frames["mainarea"].location.href = menu[g_curitemX].menuitems[g_curitemY].link;
    else
      top.frames["mainarea"].location.href = baseURL+menu[g_curitemX].menuitems[g_curitemY].link;
  }

  s ='';
  s+='<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">';
  s+='<head>';
  s+='<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15">';
  s+='<link rel="stylesheet" type="text/css" href="'+baseURL+'./css/style.css">';
  s+='</head>';
  s+='<body bgcolor="#D6DFF7">';
  s+='<script src="'+baseURL+'./common/menuEN.js" type="text/javascript">';
  s+='</script>';

  // 1.) start table

  s+='<table width="200" border="0" cellspacing="0" cellpadding="0">';
  s+='<colgroup>';
  s+='<col width="10">';
  s+='<col width="180">';
  s+='<col width="10">';
  s+='</colgroup>';

  // 2.) insert top border

  s+='<tr height="12"><td colspan="3"></td></tr>';

  // 3.) insert all menus

  mstate = new Array(nummenus);

  for (i=0;i<nummenus;i++)
  {
    mstate[i] = arguments[i+1];
    menu[i].expanded = ((arguments[i+1]==true) /*|| (g_curitemX==i)*/) ? true : false;
  }
  ens=CreateCS(mstate,-1);
//  alert(ens);

  for (i=0;i<nummenus;i++)
  {
    if (g_curitemX==i) iBase = 4; else iBase = 0;
    if (!menu[i].expanded) iBase += 2;

    ens=CreateCS(mstate,i);

    s+='<tr><td></td><td>';

    s+='<a onClick="DoMenu(true,'+ ens+g_curitemX +','+ g_curitemY +',\''+ baseURL +'\',false);">';

    s+='<img onMouseOver="window.document.images['+
        imgcnt+
       '].src=\''+
       baseURL+menu[i].images[iBase+1]+
       '\';"';

    s+=' onMouseOut="window.document.images['+
       imgcnt+
       '].src=\''+
       baseURL+menu[i].images[iBase]+
       '\';"';
 
    s+=' alt="'+
       menu[i].alt+
       '" src="'+
       baseURL+menu[i].images[iBase]+
       '" width="180" height="23" border="0">';

    s+='</a></td><td></td></tr>';
    imgcnt++;

    if (menu[i].expanded) // menu expanded
    {
      s+='<tr height="4"><td></td><td class="mi"></td><td></td></tr>';

      ens=CreateCS(mstate,-1);

      for (j=0;j<menu[i].numitems;j++)
      {      
        s+='<tr><td></td><td>';

        if (menu[i].menuitems[j].disabled)
        {
          s+='<img src="'+
             baseURL+menu[i].menuitems[j].images[2]+
             '" alt="'+
             menu[i].menuitems[j].alt+
             '" width="180" height="20">';
          imgcnt++;
        }
        else // menuitem enabled
        {
          if ((g_curitemX==i) && (g_curitemY==j))
            iBase=3;
          else
            iBase=0;

          s+='<a onClick="DoMenu(true,'+ ens+i +','+ j +',\''+ baseURL +'\',true);">';

          s+='<img onMouseOver="window.document.images['+
             imgcnt+
             '].src=\''+
             baseURL+menu[i].menuitems[j].images[iBase+1]+
             '\';"';

          s+=' onMouseOut="window.document.images['+
             imgcnt+
             '].src=\''+
             baseURL+menu[i].menuitems[j].images[iBase]+
             '\';"';
 
          s+=' alt="'+
             menu[i].menuitems[j].alt+
             '" src="'+
             baseURL+menu[i].menuitems[j].images[iBase]+
            '" width="180" height="23" border="0"></a>';

          imgcnt++;
        }

        s+='</td><td></td></tr>';
      } // of for j
      s+='<tr height="4"><td></td><td class="mi"></td><td></td></tr>';
    }

    s+='<tr height="12"><td colspan="3"></td></tr>';
  }

//  s+='<tr><td></td><td class="info">&nbsp;</td><td></td></tr>';
//  s+='<tr><td></td><td class="info">&nbsp;<b>Zur:&nbsp;</b><a href="'+baseURL+'./german/index.html" target="_top">Deutschen Version</a></td><td></td></tr>';
//  s+='<tr><td></td><td class="info">&nbsp;</td><td></td></tr>';

  s+='<FORM method=GET action="http://www.google.de/search" target="_top">';
  s+='<tr height="12"><td colspan="3"></td></tr>';
  s+='<tr><td></td><td align="center" class="info"><A target="_top" HREF="http://www.google.de"><IMG SRC="http://www.google.de/logos/Logo_40wht.gif" border="0" ALT="www.google.de" align="absmiddle"></A></td><td></td></tr>';
  s+='<tr height="4"><td></td><td class="info"></td><td></td></tr>';
  s+='<tr><td></td><td align="center" class="info"><INPUT TYPE=text name=q size=18 maxlength=255 value=""></td><td></td></tr>';
  s+='<tr height="12"><td></td><td class="info"></td><td></td></tr>';
  s+='<tr><td></td><td align="center" class="info"><INPUT TYPE=hidden name=hl value=de><INPUT type=submit name=btnG VALUE="Google Search"></td><td></td></tr>';
  s+='<tr height="8"><td></td><td class="info"></td><td></td></tr>';
  s+='</FORM>';

  // 4.) insert bottom border and finish table

  s+='</table>';
  s+='</body>';
  s+='</html>';
  document.close();
  document.open("text/html");
  document.write(s);
  document.close();
}

////////////////////////////////////////////////////////////////////////////////////////////////////////

function CreateMenu ()
{
  menu = new Array(2);

  menu[0] = new Menu(0,
                    "Links to navigate",
                    "./images/ENmh10.png",
                    "./images/ENmh11.png",
                    "./images/ENmh12.png",
                    "./images/ENmh13.png",
                    "./images/ENmh14.png",
                    "./images/ENmh15.png",
                    "./images/ENmh16.png",
                    "./images/ENmh17.png");
					 
  new MenuItem(menu[0],1,
              "home.html",
              "Disclaimer",
              "./images/ENmi110.png",					 
              "./images/ENmi111.png",					 
              "./images/ENmi112.png",					 
              "./images/ENmi113.png",					 
              "./images/ENmi114.png",false);
					 
  new MenuItem(menu[0],2,
              "windows.html",
              "Free Windows Software",
              "./images/ENmi120.png",					 
              "./images/ENmi121.png",					 
              "./images/ENmi122.png",					 
              "./images/ENmi123.png",					 
              "./images/ENmi124.png",false);
					 
  new MenuItem(menu[0],3,
              "linux.html",
              "Free Linux Software",
              "./images/ENmi130.png",					 
              "./images/ENmi131.png",					 
              "./images/ENmi132.png",					 
              "./images/ENmi133.png",					 
              "./images/ENmi134.png",false);

  new MenuItem(menu[0],4,
              "mailto:ingo@pyrillion.org",
              "E-Mail to Ingo A. Kubbilun",
              "./images/ENmi140.png",					 
              "./images/ENmi141.png",					 
              "./images/ENmi142.png",					 
              "./images/ENmi143.png",					 
              "./images/ENmi144.png",false);
					 
  menu[1] = new Menu(5,
            "Downloads",
            "./images/ENmh20.png",
            "./images/ENmh21.png",
            "./images/ENmh22.png",
            "./images/ENmh23.png",
            "./images/ENmh24.png",
            "./images/ENmh25.png",
            "./images/ENmh26.png",
            "./images/ENmh27.png");
					 
  new MenuItem(menu[1],6,
            "expbar.html",
            "Download XP style Explorer Bar",
            "./images/ENmi210.png",					 
            "./images/ENmi211.png",					 
            "./images/ENmi212.png",					 
            "./images/ENmi213.png",					 
            "./images/ENmi214.png",false);

  new MenuItem(menu[1],7,
            "linuxkernelpatch.html",
            "Kernel patch for Intel Compiler",
            "./images/ENmi220.png",					 
            "./images/ENmi221.png",					 
            "./images/ENmi222.png",					 
            "./images/ENmi223.png",					 
            "./images/ENmi224.png",false);
}
