// Define look and structure of navigation:

if ( typeof(force) == 'undefined' ) { force = '' }
var folded = false;  // folded or unfolded view (true|false)

// Define look of active level
// (will be used to replace %status% in template)
var on = '-high';
var off = '-low';

// String to mark parent level with child level present (only used if folded = true)
// (will be used to replace %plus% in template)
var etc = '+ ';

var baseurl = 'http://www.curling-basel.ch/';

// Define navigation (level|file|link|descr)
var navigation = new Array(
	'0|-|SAISON|Saison',
	'1|saison.shtm|Saisonplan|Saisonplan',
	'1|rinks.shtm|Rinkbelegung|Rinkbelegung',
	'1|bcm.shtm|Basler Meisterschaft|Basler Meisterschaft',
	'0|-|HALLE|Halle',
	'1|halleninfo.htm|Halleninformation|Halleninformation',
	'1|betrieb.htm|Betriebsordnung|Betriebsordnung',
	'1|organigramm.htm|Organigramm|Organigramm',
	'1|tarife.htm|Tarife|Tarife',
	'1|historie.htm|Historie|Historie',
	'0|-|TURNIERE|Turniere',
	'1|turnierplan.shtm|Turnierplan|Turnierplan',
	'0|-|ANGEBOTE|Angebote',
	'1|kurse.htm|Kurse|Kurse',
	'1|plausch.htm|Plauschcurling|Plauschcurling',
	'1|shop.htm|Curlingshop|Curlingshop',
	'1|http://lsarac58.home.solnet.ch/|Restaurant Arlésienne|Restaurant Arlésienne',
	'0|-|CLUBS|Clubs',
	'1|adressen/adressen.php|Kontaktadressen|Kontaktadressen',
	'1|adressen/curlers.php|Personensuche|Personensuche',
// NEU für Adress-DB: obige Zeile auskommentieren, untere beide Zeilen einkommentieren
//	'1|adressen/adressen.php|Kontaktadressen|Kontaktadressen',
//	'1|adressen/curlers.php|Personensuche|Personensuche',
	'1|links.shtm|Links|Links',
	// '1|topteams.htm|CRB Top Teams|CRB Top Teams',
	'1|nachwuchs.htm|Nachwuchs|Nachwuchs'
);

var template = new Array(
	'<tr>\n<td width="10"><img src="/pics/blank.gif" height="1" width="10"></td>\n<td width="140" class="navi0"><b>%link%</b></td>\n</tr>',
	'<tr>\n<td width="10" class="navi1%status%"><img src="/pics/blank.gif" height="1" width="10"></td>\n<td width="140" class="navi1%status%"><img src="/pics/navi%status%.gif" width="8" height="9"><a href="%url%" class="navi_item">%link%</a></td>\n</tr>',
	'<tr>\n<td width="10" class="navi1%status%"><img src="/pics/blank.gif" height="1" width="10"></td>\n<td width="140" class="navi1%status%"><img src="/pics/blank.gif" width="8" height="9"><img src="/pics/navi%status%.gif" width="8" height="9"><a href="%url%" class="navi_item">%link%</a></td>\n</tr>'
);

var level_begin = new Array(
	'',
	'',
	''
);

var level_end = new Array(
	'',
	'<tr>\n<td width="150" colspan="2"><img src="/pics/blank.gif" height="10" width="10"></td>\n</tr>',
	'<tr>\n<td width="150" colspan="2"><img src="/pics/blank.gif" height="10" width="10"></td>\n</tr>'
);

// Will be printed prior and after navigation
var html_prefix = '<table cellpadding="0" cellspacing="0" border="0" width="150">\n';
var html_suffix = '</table>\n';
var html_separator = '';


// *******************************************************************
// you shouldn't have to change anything below this point
// *******************************************************************

// some defaults
var active = -1;
var activelevel = 0;
var plus;
var path = '';
var path_separator = " &gt; ";
var level = new Array(navigation.length);
var nparent = new Array(navigation.length);
var isparent = new Array(navigation.length);
var myparent = new Array(navigation.length);
var curr_parent = new Array(navigation.length);

var doc = document.location.href;

get_parent();

// add a call to this function in your HTML file where navigation is to be inserted
function print_navigation() {

  // get_parent();

  document.write(html_prefix);

  for (i=0;i<navigation.length;i++) {

    var page = navigation[i].split('|');

    level[i] = page[0]; // store level of current item

    if ( isparent[i] && folded )
      plus = etc;
    else
      plus = '&nbsp;';

    if ( active == i )
      itemstatus = on;
    else
      itemstatus = off;

    // if ( i > 0 && level[i] > level[i-1] && i == active+1 ) { // we go to a higher level
    if ( i > 0 && level[i] > level[i-1] ) { // we go to a higher level
      activelevel++;
      // alert('begin'+activelevel);
      document.write(level_begin[activelevel]);
    }

    // if ( i > 0 && level[i] < level[i-1] && i > active && level[i] < activelevel ) { // we go to a lower level
    if ( i > 0 && level[i] < level[i-1] && level[i] < activelevel ) { // we go to a lower level
      // alert('end'+activelevel);
      document.write(level_end[activelevel]);
      activelevel = level[i];
    }

    if ( !folded || level[i] == 0 || ( level[i] > 0 && i >= nparent[level[i]] && level[i] <= activelevel ) ) { // entry is visible

      reg1 = /%status%/g;
      out = template[level[i]].replace(reg1, itemstatus);

      reg2 = /%url%/g;
      if ( page[1].substr(0, 7) == 'http://' ) {
        out = out.replace(reg2, page[1]);
      }
      else {
        out = out.replace(reg2, baseurl+page[1]);
      }

      reg3 = /%link%/g;
      out = out.replace(reg3, page[2]);

      reg4 = /%descr%/g;
      out = out.replace(reg4, page[3]);

      reg5 = /%ct%/g;
      out = out.replace(reg5, i);

      reg6 = /%plus%/g;
      out = out.replace(reg6, plus);

      reg7 = /%par%/g;
      out = out.replace(reg7, myparent[i]);

      document.write(out);

      if ( i<navigation.length-1 )
        document.write(html_separator);
    }
  }
  document.write(html_suffix);
}


// parse navigation tree and set a number of variable accordingly
function get_parent() {

  curr_parent[0] = -1;

  for (i=0;i<navigation.length;i++) {

    var page = navigation[i].split('|');
    level[i] = page[0];

    if ( i > 0 && level[i] > level[i-1] ) {  // we go to a higher level
      isparent[i-1] = true;
      curr_parent[level[i]] = i-1;
      if ( active < 0 || i == active + 1 ) {
        nparent[level[i]] = i-1;
      }
    }
    myparent[i] = curr_parent[level[i]];
	
    // var result = doc.toLowerCase().match(page[1].toLowerCase());
    // alert('doc='+baseurl+doc+' - force='+baseurl+force+' - page='+baseurl+page[1]);

    if (doc.toLowerCase() == baseurl+page[1].toLowerCase() || baseurl+force.toLowerCase() == baseurl+page[1].toLowerCase() ) {  // = active item
      active = i;
      build_path(i,page[2]);
    } 
    // else if (result != null) {  // = active item
      // active = i;
    // }

  }
}

function build_path(i,curr_page) {
  for (j=1;j<=level[i];j++) {
    var page = navigation[curr_parent[j]].split('|');
    path += path_separator + page[3];
  }
  path += path_separator + curr_page;
}
