// news height

var newsscrollerHeight, newsscrollerPadding, rightcolPadding, newsscrollerDefaultStyleHeight;

var heightStep = 1;

var fontanBlocks = Array();
var currentfontanBlock;

function initPage(){
  newsscrollerDefaultStyleHeight = getStyleHeight(document.getElementById("newsscroller"));

  try{
    //toggleLayer('fontan0','fontancontent');
    //getfontantvBlocks();
  }
  catch(err){
  }

  try{
    toggleLayer('hotnews0','hotnewscontent');
  }
  catch(err){
  }

  try{
    toggleLayer('daythemes0','daythemescontent');
  }
  catch(err){
  }
//  toggleLayer('news0','newscontent');
  heightInit();
  resetScrollButtons();

}

function heightInit(){
//  myalert(currentfontanBlock);
  newsscrollerStyleHeight = getStyleHeight(document.getElementById("newsscroller"));
  newsscrollerHeight = document.getElementById("newsscroller").offsetHeight;
  rightcolPadding = document.getElementById("rightcol").offsetHeight - newsscrollerStyleHeight;
  newscontentHeight = document.getElementById("newscontent").offsetHeight;
//  extendHeight();
  adjustHeight();
// take initial care about fontanTV
  adjustfontanHeight();

}

function extendHeight(){
  leftHeight = document.getElementById("leftwrap").offsetHeight;
  newsscrollerHeight = document.getElementById("newsscroller").offsetHeight;
  diff = leftHeight - (newsscrollerHeight + rightcolPadding);
  if(diff > 0 ){
     newNewsHeight = newsscrollerHeight + diff;
     document.getElementById("newsscroller").style.height = newNewsHeight+"px";
  }
}

function adjustHeight(){
  leftHeight = document.getElementById("leftwrap").offsetHeight;
  newsscrollerHeight = document.getElementById("newsscroller").offsetHeight;
  diff = leftHeight - (newsscrollerHeight + rightcolPadding);
  newNewsHeight = newsscrollerHeight + diff;
  if (newNewsHeight > newsscrollerDefaultStyleHeight){
    document.getElementById("newsscroller").style.height = newNewsHeight+"px";
  }
}

function getStyleHeight(Obj){
       var height = '';
       if ( Obj.currentStyle ) {
         height = Obj.currentStyle.height;
       }
       else if ( document.defaultView.getComputedStyle){
         height = document.defaultView.getComputedStyle(Obj,'') .height;
       }
       return parseInt(height);
}

function resetScrollButtons(){

//news buttons
  if(document.getElementById('newsscroller').scrollTop == 0){
    document.getElementById("newsscrollup").className = "scrollupdisabled";
  }
  else{
    document.getElementById("newsscrollup").className = "scrollup";
  }
  newsscrollerHeight = document.getElementById("newsscroller").offsetHeight;
  newsscrollerOffset = newscontentHeight - newsscrollerHeight;

  if (newsscrollerOffset < 0){
    document.getElementById("newsscrolldown").className = "scrolldowndisabled";
  }
  else{
    document.getElementById("newsscrolldown").className = "scrolldown";
  }

  //fontanTV buttons
  if (document.getElementById("fontantv")){
    if ((currentfontanBlock == 0) || ((typeof(fontanBlocks.length)) == 'undefined')){
      document.getElementById("fontanscrollup").className = "scrollupdisabled";
    }
    if ((currentfontanBlock == (fontanBlocks.length - 1)) || ((typeof(fontanBlocks.length)) == 'undefined') || (fontanBlocks.length <= 1)){
      document.getElementById("fontanscrolldown").className = "scrolldowndisabled";
    }
    else{
      document.getElementById("fontanscrolldown").className = "scrolldown";
    }
  }
}

// Changes the height of element#id to the height given in newHeight
// usage:
// timerHeight = setInterval(function(){setHeight("id", newHeight)},1);
function setHeight(id, newHeight){
  object = document.getElementById(id);
  currentHeight = object.offsetHeight;
  if (newHeight > currentHeight){
    object.style.height = currentHeight + heightStep + "px";
    rightcolPadding = rightcolPadding + heightStep;
  }
  else if (newHeight < currentHeight){
    object.style.height = currentHeight - heightStep + "px";
    rightcolPadding = rightcolPadding - heightStep;
  }
  else{
    clearInterval(timerHeight);
    adjustHeight();
    resetScrollButtons();
  }
}


// FontanTV-related functions

function getfontantvBlocks(){
//  fontanBlocks = document.getElementById("fontancontent").getElementsByTagName("div");
  fontanBlocks = getElementsByClass("article",document.getElementById("fontancontent"),"div");
  if (fontanBlocks.length > 0){
    for (var h = 0; h < fontanBlocks.length; h++){
      fontanBlocks[h]['height'] = fontanBlocks[h].offsetHeight;
    }
    currentfontanBlock = 0;
  }
}

function adjustfontanHeight(){
     if((typeof(fontanBlocks[currentfontanBlock]) != 'undefined' ) ){
       if(typeof(timerHeight) != 'undefined'){
         clearInterval(timerHeight);
       }
       timerHeight = setInterval(function(){setHeight("fontanscroller", fontanBlocks[currentfontanBlock]['height'])},5);
     }
}

//for debug purposes, to use instead of alert()
function myalert(msg){
  document.getElementById("ad330x80").innerHTML=msg;

}

function getElementsByClass(searchClass,node,tag) {
  var classElements = new Array();
  if (node == null)
    node = document;
  if (tag == null)
    tag = '*';
  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
  for (i = 0, j = 0; i < elsLen; i++) {
    if (pattern.test(els[i].className) ) {
      classElements[j] = els[i];
      j++;
    }
  }
  return classElements;
}
// Initialization

window.onload = initPage;
window.onresize = adjustHeight;

