// news height

var newsscrollerHeight, newsscrollerPadding, rightcolPadding, newsscrollerDefaultStyleHeight, newscontentHeight;

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(){

 if (document.getElementById("newsscroller")) {
	// if called on page load when fontanTV is loaded but newsscroller is not - we get ERROR
	newsscrollerStyleHeight = getStyleHeight(document.getElementById("newsscroller"));
	newsscrollerHeight = document.getElementById("newsscroller").offsetHeight;
	rightcolPadding = document.getElementById("rightcol").offsetHeight - newsscrollerStyleHeight;
	newscontentHeight = document.getElementById("newscontent").offsetHeight;
	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;

