/****************************************************
     #      - Navigation Menu Script v1.0 -         #
     #                                              #
     #  (c) 2008 by Thomas Haas, bSys GmbH          #
     #          http://www.bsys.ch/                 #
     #                                              #
     # Any commercial use of this script or parts   #
     # of this script is strictly prohibited.       #
     #                                              #
****************************************************/

var MAXITEMS=100;

function NavItem (MENLEV, VTXT, LL, RBI, RBIALT, QMP)
{
	this.menuLevel         = MENLEV;
	this.displayedText     = VTXT;
	this.linkToLocation    = LL;
	this.rightBarImage     = RBI;
	this.rightBarImageAlt  = RBIALT;
	this.quickMenuPosition = QMP;
}

var NavLink = new Array(MAXITEMS);
var a=0;
var myName = "index.html";
var myTopLevelIndex = 0;
var myIndex = 0;
var pathPrefix = "";
var linkPathPrefix = "";
var myBasePath = "http://www.bsys.ch/";
var firstCopyrightYear = "2003";

// menu toplevel
NavLink[a++]=new NavItem(0, "Accueil", "./index.html","images/company.jpg","ion channel service",1);
NavLink[a++]=new NavItem(0, "L’entreprise", "./company/companyindex.html","images/company.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Contact", "./company/impressum.html","images/company.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Situation", "./company/location.html","images/company.jpg","ion channel service",0);

//NavLink[a++]=new NavItem(0, "Canaux Ioniques", "./ics/icsindex.html","images/company.jpg","ion channel service",0);
NavLink[a++]=new NavItem(0, "Canaux Ioniques", "./ics/ionchannelscreening.html","images/company.jpg","ion channel service",0);
    //NavLink[a++]=new NavItem(1, "Drugbeam&trade;", "./ics/drugbeam.html","images/company.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Patch-Clamp", "./ics/patchclamp.html","images/company.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Liste de Canaux Ioniques", "./ics/ionchannels.html","images/company.jpg","ion channel service",3);
    //NavLink[a++]=new NavItem(1, "Techniques", "./ics/icstechniques.html","images/company.jpg","ion channel service",0);
    //NavLink[a++]=new NavItem(1, "Services", "./ics/icsservices.html","images/company.jpg","ion channel service",0);
    
//NavLink[a++]=new NavItem(0, "Jtest", "./jtest/jtestindex.html","images/company.jpg","ion channel service",0);

NavLink[a++]=new NavItem(0, "HERG", "./herg/herg-safety.html","images/safety.jpg","HERG Safety Testing",0);
    NavLink[a++]=new NavItem(1, "R&eacute;gulation", "./herg/regfacts.html","images/safety.jpg","QT Prolongation",0);
    NavLink[a++]=new NavItem(1, "Prolongation du QT", "./herg/qtprolongation.html","images/safety.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "hERG (NON-BPL)", "./herg/hergtesting.html","images/safety.jpg","HERG safety testing",0);
    NavLink[a++]=new NavItem(1, "hERG BPL", "./herg/glpherg.html","images/safety.jpg","GLP HERG",2);
    NavLink[a++]=new NavItem(1, "Analyse", "./herg/analytics.html","images/safety.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Screening cardiaque", "./herg/cardiacscreen.html","images/safety.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Cellules hERG", "./herg/hergcells.html","images/safety.jpg","HERG Cells CHO HEK TET",0);

//    NavLink[a++]=new NavItem(1, "GLP", "./herg/glp.html","images/company.jpg","ion channel service",0);
//    NavLink[a++]=new NavItem(1, "Procedure", "./herg/procedure.html","images/company.jpg","ion channel service",0);
//    NavLink[a++]=new NavItem(1, "Screenings NON-GLP", "./herg/nonglp.html","images/company.jpg","ion channel service",0);

NavLink[a++]=new NavItem(0,  "Lign&eacute;es cellulaires", "./cells/cellindex.html","images/cells.jpg","Ion channel cell lines",0);
    NavLink[a++]=new NavItem(1, "Lign&eacute;es stables", "./cells/stablelines.html","images/cells.jpg","Ion channel cell lines",0);
    NavLink[a++]=new NavItem(1, "Validation de cibles", "./cells/validation.html","images/cells.jpg","ion channel service",0);
    NavLink[a++]=new NavItem(1, "Lign&eacute;es cellulaires", "./cells/cellist.html","images/cells.jpg","Ion channel cell lines",4);
    //NavLink[a++]=new NavItem(1, "Available Cell Lines", "./cells/availablecells.html","images/cells.jpg","ion channel service",0);
    //NavLink[a++]=new NavItem(1, "Customer design", "./cells/custdes.html","images/cells.jpg","ion channel service",0);

//NavLink[a++]=new NavItem(0, "Building Blocks", "./buildingblocks/buildingblockscreening.html","images/company.jpg","Medicinal Chemistry",5);

NavLink[a++]=new NavItem(0, "Installation d&acute;essai", "./glp/glpcro.html","images/glp.jpg","GLP test facility",0);
    //NavLink[a++]=new NavItem(1, "Test Facility", "./glp/testfac.html","images/glp.jpg","GLP facility",0);
    NavLink[a++]=new NavItem(1, "Etudes BPL", "./glp/glpstudies.html","images/glp.jpg","GLP hERG study",0);

NavLink[a++]=new NavItem(0, "Actualit&eacute;", "./news/newsindex.html","images/news.jpg","ion channel service",6);
    //NavLink[a++]=new NavItem(1, "News", "./news/news1.html","images/company.jpg","ion channel service",0);

//NavLink[a++]=new NavItem(0, "Contact", "./contact/contactindex.html","images/company.jpg","ion channel service",0);
//NavLink[a++]=new NavItem(0, "Contact", "https://ssl1.webland.ch/www472/test/contact/contactindex.html","images/company.jpg","ion channel service",0);

NavLink[a++]=new NavItem(0, "Emploi", "./career/careerindex.html","images/company.jpg","ion channel service",0);

NavLink[a++]=new NavItem(-1, "noitem", "./index.html","images/company.jpg","ion channel service",0);
NavLink[a++]=new NavItem(-1, "noitem", "./index.html","images/company.jpg","ion channel service",0);
NavLink[a++]=new NavItem(-1, "noitem", "./index.html","images/company.jpg","ion channel service",0);
NavLink[a++]=new NavItem(-1, "noitem", "./index.html","images/company.jpg","ion channel service",0);
/*---------------------------------------------------------------*/

function writeMenu()
{
  var strBuf="error.html";
  var absolutePath = false;
  var myAbsolutePath = false;
  var n=0, k=0, hilightSet=0, drawSubTree=false;
  var dimg1, dimg2;

  myName = window.location.href.slice(window.location.href.lastIndexOf("/")+1, window.location.href.length);
  if ( myName.length < 1 ) myName="index.html";

 /* find indices of toplevel link and active page */
  for(n=0; NavLink[n].displayedText != "noitem"; n++)
  {
    if ( NavLink[n].linkToLocation.indexOf('/') != -1 )
       strBuf = NavLink[n].linkToLocation.slice(NavLink[n].linkToLocation.lastIndexOf("/")+1, NavLink[n].linkToLocation.length);
    else
       strBuf = NavLink[n].linkToLocation;

    if( myName == strBuf )
    {
      myIndex = n;
      k=n;
      for(k=n;k>0;k--)  // go back search toplevel entry
      {
        if ( NavLink[k].menuLevel == 0 )
        {
          myTopLevelIndex = k;
          break;
        }
      }
    }
  }
  if ( myTopLevelIndex < 0 ) myTopLevelIndex=0; /* set default */

  strBuf = NavLink[myIndex].linkToLocation;
  if( strBuf.indexOf('https://') != -1 ) myAbsolutePath = true;
  if( strBuf.indexOf('http://')  != -1 ) myAbsolutePath = true;

/* set correct path prefix */
  if ( myName != "index.html" && myName != "index.htm" )
  {
   n = charCount(NavLink[myIndex].linkToLocation,'/');
   if ( myAbsolutePath == true ) n -= 4;
   if ( n < 1  ) n = 1;
   while ( --n > 0 ) pathPrefix += "../";
  }

  if ( myAbsolutePath == true ) linkPathPrefix = myBasePath;
  else linkPathPrefix = pathPrefix;

  // menu spacers
  dimg1='<img src="'+pathPrefix+'images/nothing.gif" alt="spacer" height="1" width="5"  border="0">';
  dimg2='<img src="'+pathPrefix+'images/nothing.gif" alt="spacer" height="1" width="20" border="0">';

/*---- M E N U ----*/
  document.writeln('<table class="menu0" cellspacing="0" cellpadding="0" border="0" summary="Ion channel services: herg, cell lines, GLP">');

  /* show menu items */
  n=0;
  drawSubTree = false;
  while(NavLink[n].displayedText != "noitem" && n<MAXITEMS)
  {
    // always show top-level
    if ( NavLink[n].menuLevel == 0 )
    {
      absolutePath = false;
      strBuf = NavLink[n].linkToLocation;
      if( strBuf.indexOf('https://') != -1 ) absolutePath = true;
      if( strBuf.indexOf('http://')  != -1 ) absolutePath = true;

      document.writeln('<tr><td align="left">');
      if ( absolutePath == true ) document.writeln("<a class=\"menu"+NavLink[n].menuLevel+"\" href=\""+NavLink[n].linkToLocation+"\">"+dimg1+NavLink[n].displayedText+"</a>");
   	  else  document.writeln("<a class=\"menu"+NavLink[n].menuLevel+"\" href=\""+linkPathPrefix+NavLink[n].linkToLocation+"\">"+dimg1+NavLink[n].displayedText+"</a>");
   	  
      document.writeln('</td><td><img src="'+pathPrefix+'images/nothing.gif" alt="ion channel targets" height="3" width="12" border="0"></td></tr>');
	  if ( n==myTopLevelIndex ) drawSubTree=true;
	  else  drawSubTree=false;
    }

    n = n+1;
    //document.writeln(NavLink[n].linkToLocation+'<br>');
    while( drawSubTree==1 && NavLink[n].menuLevel==NavLink[myTopLevelIndex].menuLevel+1 && NavLink[n].displayedText != "noitem" )
    {
      absolutePath = false;
      strBuf = NavLink[n].linkToLocation;
      if( strBuf.indexOf('https://') != -1 ) absolutePath = true;
      if( strBuf.indexOf('http://')  != -1 ) absolutePath = true;

      document.writeln("<tr><td align=\"left\">");
      if ( absolutePath == true )
           document.writeln("<a class=\"menu"+NavLink[n].menuLevel+"\" href=\""+NavLink[n].linkToLocation+"\">"+dimg1+NavLink[n].displayedText+"</a>");
      else document.writeln("<a class=\"menu"+NavLink[n].menuLevel+"\" href=\""+linkPathPrefix+NavLink[n].linkToLocation+"\">"+dimg1+NavLink[n].displayedText+"</a>");

      document.writeln('</td><td><img src="'+pathPrefix+'images/nothing.gif" alt="cardiac safety" height="3" width="12" border="0"></td></tr>');
      n = n+1;
    }

  }
  document.writeln('<tr><td class="menuvspacer"></td><td><img src="'+pathPrefix+'images/nothing.gif" alt="ion channel targets" height="3" width="12" border="0"></td></tr>');
  document.writeln("</table>");
}
/*------------------------------------------------------------------*/

function writeBelowMenu()
{
 document.writeln('<table class="menu0" cellspacing="0" cellpadding="0" border="0" summary="Ion channels herg"><tr>');
 document.writeln('<td class="belowmenuleft">&nbsp;</td>');
 document.writeln('<td class="belowmenuright"><img src="'+pathPrefix+'images/logo_gedreht.gif"></td></tr></table>');
}
/*------------------------------------------------------------------*/

/*---- common parts ----*/
function writePageHeader()
{
// main formatting element
document.writeln('<table border="0" CELLPADDING="0" CELLSPACING="0" valign="top" class="maintable" summary="Ion Channel, screening, HERG, cell lines, HEK, CHO, GLP, ion channel target">');
document.writeln('<tr><td class="pageborder"></td><td class="pagebordertop" COLSPAN="6"></td></tr>');
document.writeln('<tr><td class="pageborderleft" ROWSPAN="3">&nbsp;</td>'); // left border
document.writeln('<td class="pagemenu" rowspan="20" align="left" valign="top">');

writeMenu();
writeBelowMenu();

document.writeln('</td>');
document.writeln('<td class="pagebody" ROWSPAN="1" height="105" align="left">');
document.writeln('<div class="barontopoflogo"><img src="'+pathPrefix+'images/nothing.gif" alt="ion channel screening" height="1" width="1" border="0"></div>');
document.writeln('<div class="logotop"><img src="'+pathPrefix+'images/logo.jpg" alt="ion channel screening" ALIGN="top" border="0"></div>');

writeQuickNavi();

// page content comes here
}
/*------------------------------------------------------------------*/

function pageHeaderEnd()
{
document.writeln('</td>');
document.writeln('<td class="pagespacerright" ROWSPAN="5"></td>');
document.writeln('<td class="pageright" ROWSPAN="3">');
/*-- right column content MUST be written next !!!  --*/
}
/*------------------------------------------------------------------*/

function writeRightColumn(rcimage, width, height)
{
var dateNow   = new Date();

document.writeln('<img src="'+pathPrefix+NavLink[myIndex].rightBarImage+'" alt="'+NavLink[myIndex].rightBarImageAlt+'" border="0">');

document.writeln('<table width="100%" border="0" cellspacing="0" cellpadding="0" summary="Ion channel screening">');
document.writeln('<tr><td class="weiss" bgcolor="#FFFFFF" height="5" colspan="3"></td></tr>');
document.writeln('<tr><td width="10" rowspan="20"></td><td height="10" colspan="2"></td></tr>');

document.writeln('<tr><td class="weiss" align="left" colspan="2"><b>B\'SYS GmbH</b><br>Benkenstrasse 254<br>CH-4108 Witterswil</td></tr>');
document.writeln('<tr><td colspan="2" height="8"></td></tr>');
document.writeln('<tr><td class="weiss" align="left" width="16%">Tel:</td><td class="weiss" align="left">+41 (0)61 721 77 44</td></tr>');
document.writeln('<tr><td class="weiss" align="left">Fax:</td><td class="weiss" align="left">+41 (0)61 721 77 41</td></tr>');

document.writeln('<tr><td colspan="2" height="20">&nbsp;</td></tr>');

document.writeln('<tr><td class="weiss" align="left" colspan="2"><a href="mailto:info@bsys.ch"><b>info@bsys.ch</b></a></td></tr>');

document.writeln('<tr><td colspan="2" height="120">&nbsp;</td></tr>');


document.writeln('<tr><td class="weiss" align="left" colspan="2">This page is W3C&reg; validated</td></tr>');
//document.writeln('<tr><td colspan="2" align="left"><a href="http://validator.w3.org/check?uri=referer" onclick="window.open(this.href); return false;"><img src="'+pathPrefix+'images/w3csmall.png" alt="Valid HTML 4.01 Transitional" height="48" width="72"></a></td></tr>');
document.writeln('<tr><td colspan="2" align="left"><img src="'+pathPrefix+'images/w3csmall.png" alt="Valid HTML 4.01 Transitional" height="48" width="72"></td></tr>');

document.writeln('<tr><td colspan="2" height="50">&nbsp;</td></tr>');
document.writeln('<tr><td class="weiss" align="left" colspan="2">');
document.writeln('&copy; B\'SYS GmbH ');
if( firstCopyrightYear < dateNow.getFullYear() )
     document.write(firstCopyrightYear + "-" + dateNow.getFullYear());
else document.write(dateNow.getFullYear());

document.writeln('</td></tr>');
document.writeln('</table>');
}
/*------------------------------------------------------------------*/

function writePageFooter()
{
document.writeln('</td><td class="pageborderright" ROWSPAN="3">&nbsp;</td></TR>');
/*
document.writeln('<tr>');
document.writeln('<td class="pagebody" rowspan="1" valign="top">');
document.writeln('</td></TR>');
*/
document.writeln('</table>');
}
/*------------------------------------------------------------------*/

function cmpnum(inp1, inp2)
{
return inp1.quickMenuPosition-inp2.quickMenuPosition;
}
/*------------------------------------------------------------------*/

function writeQuickNavi()
{
var q=0, qcnt=0;
var strBuf="error.html";
var qm = new Array(MAXITEMS);

for( q=0; q<MAXITEMS; q++ )
{
    if ( NavLink[q].quickMenuPosition != 0 )
    {
     qm[qcnt]   = new NavItem;
     qm[qcnt++] = NavLink[q];
    }
    if ( NavLink[q].displayedText == "noitem" ) break;
}

qm.sort(cmpnum); // sorieren

//document.writeln('<img src="'+pathPrefix+'images/nothing.gif" alt="blank" height="10" width="1" border="0">');
document.writeln( '<div class="qnbar">');
document.writeln( '<table width="100%" border="0" summary="Ion channel screening hor. navi"><tr>' );

  for ( q=0; q<qcnt; q++ )
  {
    if ( qm[q].quickMenuPosition == 0 ) continue;
    if ( qm[q].displayedText == "noitem" ) break;

    // always show top-level
    absolutePath = false;
    strBuf = qm[q].linkToLocation;
    if( strBuf.indexOf('https://') != -1 ) absolutePath = true;
    if( strBuf.indexOf('http://')  != -1 ) absolutePath = true;

    document.writeln('<td>');
    if ( absolutePath == true ) document.writeln('<a class="qmenu" href="'+qm[q].linkToLocation+'">'+qm[q].displayedText+'</a>');
    else         document.writeln('<a class="qmenu" href="'+linkPathPrefix+qm[q].linkToLocation+'">'+qm[q].displayedText+'</a>');

    document.writeln('</td>');
  }

document.writeln( '</tr></table>' );
document.writeln( '</div>');
}
/*------------------------------------------------------------------*/

function charCount(str, c)
{
 var p=str.length;
 var n=0;
 
 while( --p > 0 ) if ( str.charAt(p) == c ) n++;
 return n;
}
/*------------------------------------------------------------------*/
