var newsContainer;
var nCHeight;
var frameHeight;

function init_tree(){
    var tree = $('main_navigation');
    var childs = $('main_navigation').childElements();
    childs.each(childSearch);
    
    var sub_nav = $('sub_nav');
    var sub_nav_height = sub_nav.getHeight();
    var main_content = $('main_content');
    var main_content_height = main_content.getHeight();
    
    
    if (sub_nav_height < main_content_height) {
        /*
         $('main_content').setStyle({
         'min-height': sub_nav + 'px'
         });
         */
        $('sub_nav').setStyle({
            height: main_content_height + 'px'
        });
        
    }
    else {
        /*
         $('sub_nav').setStyle({
         height: main_content_height + 'px'
         });
         */
        $('main_content').setStyle({
            height: sub_nav_height + 'px'
        });
        
        main_content_height = main_content.getHeight();
        
        $('sub_nav').setStyle({
            height: main_content_height + 30 + 'px'
        });
    }
	
	newsContainer = $('news_container');
	nCHeight = newsContainer.getHeight();
	frameHeight = $('news_frame').getHeight();
	Event.observe(newsContainer, 'mouseover', stopAnim);
	Event.observe(newsContainer, 'mouseout', effects);
	effects();
}

function childSearch(elt){
    firstChild = elt.childElements();
    if (elt.tagName.toLowerCase() == 'li' && firstChild[1] && firstChild[1].tagName.toLowerCase() == 'ul') {
        elt.addClassName('hasChild');
    } 
}

function effects(){
	
	var myTop = $(newsContainer).getStyle('top');
	
	var actualTop = myTop.substring(0, myTop.length-2)

	new Effect.Move(newsContainer, {
  		x: 0, y: -nCHeight+frameHeight-actualTop, mode: 'relative',
  		transition: Effect.Transitions.linear,
  		duration: nCHeight/20,
  		delay: 1,
  		queue: { position: 'end', scope: 'newsscope' }
	});
	
	new Effect.Opacity(newsContainer, {
		duration: 1.0, 
		from: 1, 
		to: 0,
		delay: 1,
		afterFinish: function(){
			newsContainer.setStyle({
  				top: '0'
			})
		},
  		queue: { position: 'end', scope: 'newsscope' }
	});
	
	new Effect.Opacity(newsContainer, {
		duration: 1.0, 
		from: 0, 
		to: 1,
		afterFinish: effects,
  		queue: { position: 'end', scope: 'newsscope' }
	});
}

function stopAnim(){
	var queue = Effect.Queues.get('newsscope');
	Effect.Queues.get('newsscope').invoke('cancel');
}

Event.observe(window, 'load', init_tree);
//document.observe('dom:loaded', function(){init_tree();});

