﻿var browserType;
var leftCorrection = 146;
var rightCorrection = 76;

function onLoad() {
  if (navigator.appVersion.indexOf('MSIE') != -1) {
    browserType = 'IE';
  }

  if (navigator.userAgent.indexOf('Safari') != -1) {
    browserType = 'SF';
  }

  if (navigator.userAgent.indexOf('Firefox') != -1) {
    browserType = 'FF';
  }

  if (navigator.userAgent.indexOf('Opera') != -1) {
    browserType = 'OP';
  }
  
  ResizeLeftPanel();
  SetBottomContent();
}

function ResizeLeftPanel() {
  var highMarker;
  var spaceRequired;
  switch (browserType) {
    case 'IE': // Internet Explorer          
      if (leftMarker.offsetTop+leftCorrection > rightMarker.offsetTop+rightCorrection) {
        highMarker = leftMarker.offsetTop+leftCorrection;
      }
      else {
        highMarker = rightMarker.offsetTop+rightCorrection;
      }

      spaceRequired = highMarker + 15;
      
      if (document.documentElement.clientHeight > document.documentElement.scrollHeight) {
        if(document.documentElement.clientHeight > spaceRequired){
          lPanel.style.height = document.documentElement.clientHeight;
        }
        else{
          lPanel.style.height = spaceRequired;
        }
      }
      else {
        if(document.documentElement.scrollHeight > spaceRequired){
          lPanel.style.height = document.documentElement.scrollHeight;
        }
        else{
          lPanel.style.height = spaceRequired;
        }
      } 
      break;
    case 'SF': // Safari
      var ch = document.documentElement.clientHeight;
      var sh = document.body.scrollHeight;

      if (leftMarker.offsetTop+leftCorrection > rightMarker.offsetTop+rightCorrection) {
        highMarker = leftMarker.offsetTop + leftCorrection;
      }
      else {
        highMarker = rightMarker.offsetTop + rightCorrection;
      }

      spaceRequired = highMarker + 15;

      if (ch > sh) {
        if(ch > spaceRequired) {
          lPanel.style.height = ch.toString() + "px";
        }
        else {
          lPanel.style.height = spaceRequired.toString() + "px";
        }
      }
      else {
        if(sh > spaceRequired) {
          lPanel.style.height = sh.toString() + "px";
        }
        else {
          lPanel.style.height = spaceRequired.toString() + "px";
        }            
      }
      break;
    case 'FF': // Firefox
      if (document.getElementById("leftMarker").offsetTop + leftCorrection > document.getElementById("rightMarker").offsetTop + rightCorrection) {
        highMarker = document.getElementById("leftMarker").offsetTop + leftCorrection;
      }
      else {
        highMarker = document.getElementById("rightMarker").offsetTop + rightCorrection;
      }

      spaceRequired = highMarker + 15;

      if (document.documentElement.clientHeight > document.documentElement.scrollHeight) {
        if(document.documentElement.clientHeight > spaceRequired) {
          document.getElementById("lPanel").style.height = document.documentElement.clientHeight + 'px';
        }
        else{
          document.getElementById("lPanel").style.height = spaceRequired + 'px';
        }
      }
      else {
        if(document.documentElement.scrollHeight > spaceRequired) {
          document.getElementById("lPanel").style.height = document.documentElement.scrollHeight + 'px';
        }
        else{
          document.getElementById("lPanel").style.height = spaceRequired + 'px';
        }            
      }
      break;
    case 'OP': // Opera
      if (document.getElementById("leftMarker").offsetTop + leftCorrection > document.getElementById("rightMarker").offsetTop + rightCorrection) {
        highMarker = document.getElementById("leftMarker").offsetTop + leftCorrection;
      }
      else {
        highMarker = document.getElementById("rightMarker").offsetTop + rightCorrection;
      }

      spaceRequired = highMarker + 15;
      
      if(document.documentElement.clientHeight > spaceRequired) {
        document.getElementById("lPanel").style.height = document.documentElement.clientHeight;
      }
      else{
        document.getElementById("lPanel").style.height = spaceRequired;
      }
      break;
  }      
}

function SetBottomContent() {
  var highMarker;
  var spaceRequired;

  switch (browserType) {
    case 'IE':
      if (leftMarker.offsetTop + leftCorrection > rightMarker.offsetTop + rightCorrection) {
        highMarker = leftMarker.offsetTop + leftCorrection;            
      }
      else {
        highMarker = rightMarker.offsetTop + rightCorrection;
      }
      
      spaceRequired = highMarker + 15;

      if (document.documentElement.clientHeight > document.documentElement.scrollHeight) {
        bottomContent.style.top = document.documentElement.clientHeight;
      }
      else {
        if(document.documentElement.clientHeight < document.documentElement.scrollHeight){
          bottomContent.style.top = document.documentElement.scrollHeight;
        }
        else {
          if(document.documentElement.clientHeight - 200 > spaceRequired)
            bottomContent.style.top = document.documentElement.clientHeight - 200;
          else
            bottomContent.style.top = spaceRequired;
        }
      }
      break;
    case 'SF':
      var ch = document.documentElement.clientHeight;
      var sh = document.body.scrollHeight;

      if (leftMarker.offsetTop + leftCorrection > rightMarker.offsetTop + rightCorrection) {
        highMarker = leftMarker.offsetTop + leftCorrection;
      }
      else {
        highMarker = rightMarker.offsetTop + rightCorrection;
      }
      
      spaceRequired = highMarker + 15;

      if(ch > sh) {
        bottomContent.style.top = ch.toString() + "px";
      }
      else {
        if(ch < sh) {
          bottomContent.style.top = sh.toString() + "px";
        }
        else {
          if(ch - 200 > spaceRequired)
            bottomContent.style.top = (ch - 200).toString() + "px";
          else
            bottomContent.style.top = spaceRequired;
        }
      }
      break;
    case 'FF':
      if (document.getElementById("leftMarker").offsetTop > document.getElementById("rightMarker").offsetTop) {
        highMarker = document.getElementById("leftMarker").offsetTop + leftCorrection;
      }
      else {
        highMarker = document.getElementById("rightMarker").offsetTop + rightCorrection;
      }
      
      spaceRequired = highMarker + 15;

      if (document.documentElement.clientHeight > document.documentElement.scrollHeight) {
        document.getElementById("bottomContent").style.top = document.documentElement.clientHeight + 'px';
      }
      else {
        if(document.documentElement.clientHeight < document.documentElement.scrollHeight){
          document.getElementById("bottomContent").style.top = document.documentElement.scrollHeight + 'px';
        }
        else {
          if(document.documentElement.clientHeight - 200 > spaceRequired)
            document.getElementById("bottomContent").style.top = document.documentElement.clientHeight - 200 + 'px';
          else
            document.getElementById("bottomContent").style.top = spaceRequired + 'px';
        }
      }
      break;
    case 'OP':
      if (document.getElementById("leftMarker").offsetTop > document.getElementById("rightMarker").offsetTop) {
        highMarker = document.getElementById("leftMarker").offsetTop + leftCorrection;
      }
      else {
        highMarker = document.getElementById("rightMarker").offsetTop + rightCorrection;
      }

      spaceRequired = highMarker + 15;

      if (document.documentElement.clientHeight > spaceRequired) {
        document.getElementById("bottomContent").style.top = document.documentElement.clientHeight + "px";
      }
      else {
          document.getElementById("bottomContent").style.top = spaceRequired + "px";
      }
      break;
  }
}

