// ------------------------------------------------------------------------------------------------
// Copyright Fred Stevens   (www.steware.nl)
//           Marchel Koorn  (www.twoconnection.nl)
//           Nico Berger    (www.levallon.com)
// ------------------------------------------------------------------------------------------------


// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function gId(_id) {
  return document.getElementById(_id);
}


// ------------------------------------------------------------------------------------------------
// load image at start; load page at start
// ------------------------------------------------------------------------------------------------
function initScript() {
  languageDetector();
  preLoadImages();
  writeMenu();
  changeBackGround(0);
  //loadContent("../nl/nlhome.html", "content", 1 ,"");
}


glb_Images = new Array();
glb_Loaded = 0;


// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function preLoadImages() {
  preload_image_object = new Image();
  glb_Images[0] = "pics/midden0.jpg";
  glb_Images[1] = "pics/midden1.jpg";
  glb_Images[2] = "pics/midden2.jpg";
  glb_Images[3] = "pics/midden3.jpg";
  glb_Images[4] = "pics/midden4.jpg";
  glb_Images[5] = "pics/midden0.jpg";


  for(var i=0; i<glb_Images.length; i++) {
    preload_image_object.src = glb_Images[i];
  }
}


// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function changeBackGround(_num) {
  //var _next = (glb_Loaded == 4) ? 0 : glb_Loaded;
  gId("rowMiddle").style.background = "url(" + glb_Images[_num] + ")";
  gId("rowMiddle").style.backgroundRepeat = "no-repeat";
  //glb_Loaded = _next + 1;
}



// ---------------------------------------------------------------------------------------------
// Load doc in IFRAME and pout it then in DIV (transparancy in IE is not OK with IFRAME)
// ---------------------------------------------------------------------------------------------
function getIframeDocument(_id) {
  var _iframe = gId(_id);
  var _doc    = _iframe.contentDocument;
  if (_doc == undefined || _doc == null) {
    _doc = _iframe.contentWindow.document;
  }
  return _doc;
}


// ---------------------------------------------------------------------------------------------
// Get page from server
// ---------------------------------------------------------------------------------------------
function loadContent(url, target, _image, _obj) {
  imgCache = new Object();      // Need to reset the recreate the object for resizing images.

  var _belongsto = "";
  var _clickedon = "";

  if (_obj)  {
    _belongsto  = _obj.getAttribute("belongsto");
    _clickedon  = _obj.getAttribute("soort");
  }
  if (_image != "") changeBackGround(_image);
  gId("iframe1").src = url + "?rnd=" + Math.random();
  if (_clickedon != "H") return;


  var _divs = document.getElementsByTagName("div");
  for (var i=0; i < _divs.length; i++) {
    var _temp  = _divs[i].getAttribute("belongsto");
    var _soort = _divs[i].getAttribute("soort");
    if (_soort == "I") {
      _divs[i].style.display = "none";
    }
    if (_temp != null && _soort == "I" && _temp.indexOf(_belongsto) > -1) {
      var _display = (_divs[i].style.display == "block") ? "none" : "block";
      _divs[i].style.display = _display;
    }
  }
}


// ---------------------------------------------------------------------------------------------
// After IFRAME is loaded, this function is called
// ---------------------------------------------------------------------------------------------
function putContentInDiv() {
  var _doc = getIframeDocument("iframe1");
  var _tags = _doc.getElementsByTagName("*");

  var _str = "";
  for (var i=0; i < _tags.length; i++) {
    //_str += _tags[i].tagName + "\n";
    if (_tags[i].tagName == "BODY") {
      gId("content").innerHTML = _tags[i].innerHTML;
      resizeObjects();
    }
  }
}







function xx_loadContent(url, target, _image) {
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  if (req != undefined) {
    req.onreadystatechange = function() {
      loadContentEnd(url, target);
    }
    req.open("GET", url + '?RND=' + Math.random(), true);
    req.send("");
  }
  if (_image != "") changeBackGround(_image);
}


// ---------------------------------------------------------------------------------------------
// Update screen with content
// ---------------------------------------------------------------------------------------------
function loadContentEnd(url, target) {
  if (req.readyState == 4) {        // req == "loaded"
    if (req.status == 200) {        // req == "OK"
      //var _str = "";
      //_str += "<div id='rowBottom' class='rowBottom'></div>";
      document.getElementById(target).innerHTML = req.responseText ;
      document.getElementById(target).scrollTop=0;

      resizeObjects();
      //--- Assuming first title tag is title of page
      //var _arrTitle = req.responseText.split("title");
      //if (_arrTitle.length < 3) {
      //  alert("***Error***\n\nOpening and/or closing TITLE-tag is missing '" + url + "'");
      //  return;
      //}
      //var _txtTitle = _arrTitle[1].substring(1 , _arrTitle[1].length-2);   // Element 1 =  >Title of doc </
      //var _objTitle = document.getElementById("titleHeader");
      //_objTitle.innerHTML = _txtTitle;
    }
    else {
      document.getElementById(target).innerHTML="*** Error ***<br><br> An error occured; the page could not be found ...";
    }
  }
}


// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function writeMenu() {
  var _str = "";
  for (var i=0; i<glbMenu.length; i++) {
     var _itemSoort = glbMenu[i].itemSoort;
     var _itemText  = glbMenu[i].itemText;
     var _itemUrl   = glbMenu[i].itemUrl;
     var _itemImage = glbMenu[i].itemImage;
     _str += getMenuString(_itemSoort, _itemText, _itemUrl, _itemImage);
  }
  gId("menu").innerHTML = _str;
}


// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function getMenuString(_itemSoort, _itemText, _itemUrl, _itemImage) {
  var _str       = "";
  var _soort     = _itemSoort.substring(0,1);
  var _belongsto = _itemSoort.substring(2,3);

  var _class     = (_itemSoort.indexOf("H") > -1) ? "menuitem" : "submenuitem";
  var _cursor    = (_itemUrl   != "" )            ? "pointer"  : "normal";

  _str += '<div style="cursor:' + _cursor + ';" class = "' + _class + ' hliteoff" ';
  if (_itemUrl != '') {
    _str += ' belongsto="' + _belongsto + '" ';
    _str += ' soort="'     + _soort     + '" ';
    _str += ' onmouseover = "this.className=\'' + _class  + ' hliteon\'"  ';
    _str += ' onmouseout  = "this.className=\'' + _class  + ' hliteoff\'" ';
    _str += ' onclick     = "loadContent(\''    + _itemUrl + '\', \'content\', \'' + _itemImage + '\',this);"';
  }
  _str += '>' + _itemText + '</div>';
  return _str;
}



// ------------------------------------------------------------------------------------------------
//
// ------------------------------------------------------------------------------------------------
function kDown() {
  return false;
}

//document.onkeydown     = kDown;



// -------------------------------------------------------------------------------------------------
// Change the height of some ids (after resize and only for FireFox)
// -------------------------------------------------------------------------------------------------
function resizeObjects() {
  if (document.all) return;         // --- Not for IE
  
  var _totalHeight     = Number(document.body.clientHeight);
  var _rowHeaderHeight = gId("rowHeader").offsetHeight;
  var _rowMiddleHeight = gId("rowMiddle").offsetHeight;
  var _contentHeight   = gId("content").offsetHeight;
  var _stylesheet    = document.styleSheets[0];
  var _therules      = _stylesheet.cssRules ? _stylesheet.cssRules : _stylesheet.rules;

  for (var i=0; i < _therules.length; i++) {
    var _temp = _therules[i].selectorText.toLowerCase() ;
    if (_temp == ".rowbottom") {    // Repostion bottom-gif (position=relative);
      var _top = Number(_contentHeight - _rowMiddleHeight - 30) ;
      _top = (_top < 100 ) ? 100 : _top;
      _therules[i].style.top = _top + "px";
      break;
    }
  }
  gId("rowMiddle").style.height=_contentHeight;
}

// -------------------------------------------------------------------------------------------------
// Page loaded in iFrame does not load Javascript
// -------------------------------------------------------------------------------------------------








function setLanguage(_language) {
  var _lang  = "" ;
  var _divs = gId("languageMain").getElementsByTagName("div");

  for (var i=0; i<_divs.length; i++) {
    _divs[i].style.color = "#ddd";
    _divs[i].style.fontWeight = "normal";
    _lang = _divs[i].getAttribute("lang");
    if (_lang == _language) {
      _divs[i].style.color      = "#fff";
      _divs[i].style.fontWeight = "bold";
      glbLanguage = _lang;
    }
  }

  glbMenu.length = null;
  glbMenu.length = eval("glbMenu_" + glbLanguage).length;
  //alert(eval("glbMenu_" + glbLanguage).length);
  for (var i=0; i<glbMenu.length; i++) {
    glbMenu[i] = eval("glbMenu_" + glbLanguage)[i];
  }
//  var _prefix = "/" + glbLanguage + "/" + glbLanguage;
//  loadContent(".." + _prefix + "home.html", "content", 1 ,"");
  var _prefix = glbLanguage + "/" + glbLanguage;
  changeBackGround(0);
  loadContent(_prefix + "home.html", "content", 0 ,"");
  writeMenu();
}


var glbLanguage = "";
function languageDetector() {
  if (navigator.appName == 'Netscape') {
    var _language = navigator.language;
  }
  else {
    var _language = navigator.browserLanguage;
  }

  glbLanguage = (_language.indexOf('en') > -1) ? "uk" :
                (_language.indexOf('de') > -1) ? "de" :
                (_language.indexOf('fr') > -1) ? "fr" :
                (_language.indexOf('nl') > -1) ? "nl" : "fr";
  setLanguage(glbLanguage);
}

