var ua                  = navigator.userAgent.toLowerCase();
var an                  = navigator.appName.toLowerCase();
var currentStep         = 0;
var windowWidth         = 0;
var windowHeight        = 0;
var browserVersion      = 0;
var loaded              = 0;
var divLeft             = 0;
var divTop              = 0;
var looping             = -1;
var slideCount          = -1;
var writeBrowser        = "";
var tempAct             = "";
var slideNumber         = "";
var slideDescription    = "";
var preLoadArray        = new Array();
var preLoadCounter      = new Array();
var highImages          = new Array();
var lowImages           = new Array();
var slideText           = new Array();
var permanentActive     = new Array();
var slideImages         = new Array();
var supportedOS         = false;
var supportedVersion    = false;
var currentLoop         = false;
var dragAllowed         = false;
var divIsMoving         = false;
var flashversion        = false;
var topFrame            = null;
var contentFrame        = null;
var bottomFrame         = null;
var historyFrame        = null;
var hiddenFrame         = null;
var allowClose          = true;
var modulNaviOverImage  = true;
var idmodulsSpecial     = "";
var minFlashVersion     = 7;
var isMainnavigation    = false;
var indexParameters     = "";
var showFlashMovie      = true;
var newContentStart     = "";


lastPositions     = new Array();
currentPositions  = new Array();
currentPositions['navigation'] = [,];


if (typeof browser != 'object') {
  browser     = new Array();
  browser[0]  = new Array('Opera',    'opera ',     '6.5', '',        '',             '');
  browser[1]  = new Array('Safari',   'safari/index.html',    '125', '',        'mac os x',     '');
  browser[2]  = new Array('Netscape', 'netscape/index.html',  '7.1', 'windows', 'mac os x',     'other');
  browser[3]  = new Array('Firefox',  'firefox/index.html',   '1.0', 'windows', 'mac os x',     'other');
  browser[4]  = new Array('Mozilla',  'rv:',        '1.7', 'windows', 'mac os x',     'other');
  browser[5]  = new Array('MSIE',     'msie ',      '5.5', 'windows', '',             '');
  browser[6]  = new Array('Netscape4','mozilla/index.html',   '4.0',  '',       '',             '');
}

var naviSummaryHeight;
checkClient();

if (browserId == 'MSIE') {
  naviSummaryHeight = 436;
} else{
  naviSummaryHeight = 440;
}

function checkClient() {
  var browserLength = browser.length;
  for (i = 0; i < browserLength; i++) {
    browserAtributeLength = browser[i].length;
    if (ua.indexOf(browser[i][1]) != -1) {
      browserId = browser[i][0];
      for (e = 3; e < browserAtributeLength; e++) {
        if (browser[i][e] != '' && (ua.indexOf(browser[i][e]) != -1 || browser[i][e] == 'other')) {
            supportedOS = true;
            platform = browser[i][e];
            break;
        } else {
          supportedOS = false;
        }
      }
      browserVersion = ua.split(browser[i][1]);
      browserVersion = parseFloat(browserVersion[1].slice(0,3));
      if (browserVersion >= browser[i][2]) {
        supportedVersion = true;
      } else {
        supportedVersion = false;
      }
      break;
    } else {
      browserId = 'unknown';
    }
  }
}

 function moveObject(objId,left,top,speed,backLink) {
  if (typeof objId != 'object') {
    objId = document.getElementById(objId);
  }
  if (objId) {
    if (left) {
      divLeft = left;
    } else if ((typeof left == 'undefined' || typeof left == 'string') && (typeof backLink == 'undefined' || backLink == 0)) {
      divLeft = getDivInformation(objId,'offsetLeft');
    }
    if (top) {
      divTop = top;
    } else if ((typeof top == 'undefined' || typeof top == 'string') && (typeof backLink == 'undefined' || backLink == 0)) {
      divTop = getDivInformation(objId,'offsetTop');
    }
    if (!lastPositions[objId.id]) {
      lastPositions[objId.id] = [,];
    }
    if (typeof backLink != 'undefined' && backLink == 1 && left == lastPositions[objId.id][0] && top == lastPositions[objId.id][1]) {
      currentBack = backLink;
      divLeft = currentPositions[objId.id][0];
      divTop  = currentPositions[objId.id][1];
    }
    if (!divIsMoving) {
      currentPositions[objId.id] = [getDivInformation(objId,'offsetLeft'),getDivInformation(objId,'offsetTop')];
    }
    if (speed) {
      var horizontalRange = currentPositions[objId.id][0] - divLeft;
      var verticalRange   = currentPositions[objId.id][1] - divTop;
      currentObjId = objId;
      currentSpeed = speed;
      currentStep ++;
      if (left != '' || left == 0) {
        if (horizontalRange > 0) {
          objId.style.left = (currentPositions[objId.id][0] - Math.round(currentStep * speed)) + 'px';
          if (divLeft - getDivInformation(objId,'offsetLeft') > 5) {
            objId.style.left = divLeft + 'px';
          }
        } else if (horizontalRange < 0) {
          objId.style.left = (currentPositions[objId.id][0] + Math.round(currentStep * speed)) + 'px';
          if (divLeft - getDivInformation(objId,'offsetLeft') < 5) {
            objId.style.left = divLeft + 'px';
          }
        }
      }
      if (top != '' || top == 0) {
        if (verticalRange > 0) {
          objId.style.top = (currentPositions[objId.id][1] - Math.round(currentStep * speed)) + 'px';
          if (divTop - getDivInformation(objId,'offsetTop') > 5) {
            objId.style.top = divTop + 'px';
          }
        } else if (verticalRange < 0) {
          objId.style.top = (currentPositions[objId.id][1] + Math.round(currentStep * speed)) + 'px';
          if (divTop - getDivInformation(objId,'offsetTop') < 5) {
            objId.style.top = divTop + 'px';
          }
        }
      }
      if (getDivInformation(objId,'offsetLeft') == left && getDivInformation(objId,'offsetTop') == top) {
        divIsMoving = false;
        currentStep = 0;
        currentBack = 0;
        divLeft     = 0;
        divTop      = 0;
        lastPositions[objId.id]=[left,top];
        clearTimeout(setDivPosition);
      } else {
        divIsMoving = true;
        setDivPosition = setTimeout('moveObject(currentObjId,divLeft,divTop,currentSpeed)',10);
      }
    } else {
      if (divLeft != '' || divLeft == 0) {
        objId.style.left = divLeft + 'px';
      }
      if (divTop != '' || divTop == 0) {
        objId.style.top = divTop + 'px';
      }
      currentBack = 0;
      divLeft     = 0;
      divTop      = 0;
      lastPositions[objId.id]=[left,top];
    }
  }
}
function moveMenu () {
  navHeight = getDivInformation('navigation','height');
  newSpeed = 20;
  if (typeof getDivInformation('navigation', 'offsetTop') != 'undefined' && getDivInformation('navigation', 'offsetTop') < 0) {
    openNaviEvent();
    modulNaviOpen = true;
  } else {
    setTimeout("closeNaviEvent()",200);
    setTimeout("modulNaviOpen = false",200);
  }
  if (navHeight >= naviSummaryHeight-19) {
    newSpeed = 40;
  }
  if (browserId != 'MSIE' && modulNaviOverImage == true) {
    newSpeed = 100;
  }
  moveObject('navigation','',19-navHeight,newSpeed,1);
}
function getDivInformation(objId,attribute) {
  divInformation = new Array();
  if (typeof objId != 'object') {
    objId = document.getElementById(objId);
  }
  if (objId){
    divInformation['offsetLeft']  = objId.offsetLeft;
    divInformation['offsetTop']   = objId.offsetTop;
    divInformation['styleLeft']   = parseInt(objId.style.left);
    divInformation['styleTop']    = parseInt(objId.style.top);
    divInformation['width']       = objId.offsetWidth;
    divInformation['height']      = objId.offsetHeight;
    divInformation['visibility']  = objId.style.visibility;
    divInformation['display']     = objId.style.display;
    divInformation['zIndex']      = objId.style.zIndex;
    return divInformation[attribute];
  }
}

function writeIntoLayer(objId,content) {
  if (typeof objId != 'object') {
    objId = document.getElementById(objId);
  }
  if (objId){
    objId.innerHTML = content;
  }
}
function openNaviEvent() {}
function closeNaviEvent() {}

