var scroll_element=null;
var scroll_direction=1;
var scroll_timeout=30;

window.addEvent('domready',function() {
    var nav=$$('div.scroller');
    for (var i=0;i<nav.length;i++) {
        var div=nav[i].getParent('div');
        div.setStyle('overflow','hidden');
        
        var scroller=nav[i];
        var scroller_up=div.getChildren('div.scroller_up')[0];
        var scroller_down=div.getChildren('div.scroller_down')[0];
        
        if (div.hasClass('hidden')) div.setStyle('display','block');
        var height_scroller=parseInt(scroller.getSize().y);
        var height_div=parseInt(div.getSize().y);
        if (div.hasClass('hidden')) div.setStyle('display','none');
        
        if (height_scroller>height_div && scroller) {
            if (div.get('class')=='left' || div.get('class')=='right') scroller.setStyle('width','180px');
            
            scroller_up.setStyle('display','block');
            scroller_down.setStyle('display','block');
            
            scroller_up=scroller_up.getChildren('img')[0];
            scroller_down=scroller_down.getChildren('img')[0];
            
            scroller_up.addEvent('mouseover',function(e) { scroll_element=e.target.getParent('div').getParent('div').getChildren('div.scroller')[0]; scroll_direction=1; goScroll(); });
            scroller_down.addEvent('mouseover',function(e) { scroll_element=e.target.getParent('div').getParent('div').getChildren('div.scroller')[0]; scroll_direction=-1; goScroll(); });
            scroller_up.addEvent('mouseout',function(e) { scroll_element=null; });
            scroller_down.addEvent('mouseout',function(e) { scroll_element=null; });
        }
    }
    
    var active=$$('div.navigation div a.active');
    for (var i=0;i<active.length;i++) {
        var li=active[i].getParent('ul').getChildren('li a');
        var index=li.indexOf(active[i]);
        var height=parseInt(active[i].getParent('div').getParent('div').getSize().y);
        
        if (li[index+1]) var offset=parseInt(li[index+1].getPosition(active[i].getParent('div')).y);
        else var offset=parseInt(active[i].getParent('div').getSize().y);

        if (height<offset) {
            active[i].getParent('div').setStyle('margin-top',(height-offset)+'px');
        }
    }
});
function goScroll() {
    if (scroll_element) {
        var change=parseInt(scroll_element.getStyle('margin-top'))+scroll_direction*3;
        var height=parseInt(scroll_element.getSize().y);
        var max=parseInt(scroll_element.getParent('div').getSize().y);
        var stop=false;
        
        if (change<(max-height)) { change=(max-height); stop=true; }
        else if (change>0) { change=0; stop=true; }
        
        scroll_element.setStyle('margin-top',change+'px');
        if (stop) scroll_element=null;
        else setTimeout('goScroll()',scroll_timeout);
    }
}
