﻿// JScript File
var dropdownTimeout; 
var scrollpadding = 5;
var delay = 650;
var tabs = new Array();
var maxheight = 300;

var scrollbarstyle = ScrollBarStyle();
scrollbarstyle.setStyleAttribute('backColor', 'transparent');
scrollbarstyle.setStyleAttribute('imageUp',tabsScrollBarsUpImage);
scrollbarstyle.setStyleAttribute('imageDown',tabsScrollBarsDownImage);

Styles.addStyle('TabsScrollBarStyle', scrollbarstyle);


var scrollbarbutton_style = ButtonStyle();
scrollbarbutton_style.setStyleAttribute('backColor', 'transparent');
scrollbarbutton_style.setStyleAttribute('lightColor', 'transparent');
scrollbarbutton_style.setStyleAttribute('darkColor', 'transparent');
Styles.addStyle('TabsScrollBarButtonStyle',scrollbarbutton_style);

var scrollbarbknob_style = KnobStyle();
scrollbarbknob_style.set
scrollbarbknob_style.setStyleAttribute('backColor', 'transparent');
scrollbarbknob_style.setStyleAttribute('lightColor', 'transparent');
scrollbarbknob_style.setStyleAttribute('darkColor', 'transparent');
scrollbarbknob_style.setStyleAttribute('borderColor', 'transparent');
scrollbarbknob_style.renderStyle = function(act){
	var all=!act;
	var o = this;
	if(all||act=='resize') {
	    o.setHTML('');
	    o.setCursor('pointer');
	    o.setBgImage(tabsScrollBarsTrackerImage.src);
	};
};
Styles.addStyle('TabsScrollBarKnobStyle',scrollbarbknob_style);

function showDropDown(link)
{
    clearDropDownTimeout();
    hideDropDowns();
    link.parentNode.className = 'show';    
}

function hideDropDowns()
{
    for(var i=0;i<tabs.length;i++)
    {
        var elems =  tabs[i].getElementsByTagName('li');
        
        for(var j=0;j<elems.length;j++)
        {
            if(elems[j].className == 'show')
            {
                elems[j].className = '';
            }
        } 
    }    
}

function clearDropDownTimeout()
{
    if (dropdownTimeout) {
		clearTimeout(dropdownTimeout);
		dropdownTimeout = null;
	}
}

function setDropDownTimeout()
{
    dropdownTimeout = setTimeout('hideDropDowns()', delay);
}

var tabs_scroll_child_events = {
    onmouseover:function(e){
        var o = e.getSource();
        var li = o.parent.elm.parentNode;
        var childs = li.childNodes;
        for(var i=0;i<childs.length;i++)
        {
            if(childs[i].nodeType == 1 &&  childs[i].tagName.toLowerCase() == 'a')
            {   
                showDropDown(childs[i]);
                e.preventBubble();
                break;
            }
        }
        
    },
    onmouseout:function(e){
        setDropDownTimeout();
        e.preventBubble();
    }
};

//var debugLayer = new DynLayer('',0,0,400,100,'#ffffff');
//dynapi.document.addChild(debugLayer);
//debugLayer.setZIndex({topmost:true})

var tabs_scroll_events = {
    onscroll:function(e){
        var o = e.getSource();
        var v = -1 * o.getValue();
        var container = o.parent.container;
        if(v < -o._max)
        {
            v = -o._max;
        }
        else if (v > o._min)
        {
            v = o._min;
        }
//        debugLayer.setY(o.getAbsoluteY());
//        debugLayer.setHTML('y=' + v+ ', time ='+ new Date());
        container.setY(v);
    }
};



dynapi.onLoad(function()
{
    for(var i=0;i<tabs.length;i++)
    {
        var elems =  tabs[i].getElementsByTagName('li');
        
        for(var j=0;j<elems.length;j++)
        {
            var childs = elems[j].childNodes;
            
            for(var k = 0; k< childs.length; k++)
            {
                var elm = childs[k];
                
                if(elm.className == 'dropdown')
                {
                    var dlyr = new DynLayer();
	                dlyr.parent = dynapi.document;
	                dlyr.elm = elm;
	                
	                if (dynapi.ua.ns4) dlyr.doc = elm.document;
	                
	                DynLayer._importInlineValues(dlyr);
	                DynLayer._assignElement(dlyr,elm);
	                DynElement._flagCreate(dlyr);
	                
	                for(var l=0; l< elm.childNodes.length;l++)
	                {
	                    var obj = elm.childNodes[l];
	                    
	                    if(obj.nodeType == 1 &&  obj.className.toLowerCase() == 'container')
                        {   
                        
                            
                            
                            var dlyContainer  = dlyr.addChild(new DynLayer(),'container');
                            dlyContainer.elm = obj;
                            DynLayer._importInlineValues(dlyContainer);
	                        DynLayer._assignElement(dlyContainer, obj);
	                        DynElement._flagCreate(dlyContainer);
	                                            
                            
                            
                            var ch = dlyContainer.getHeight();
	                        var h = dlyr.getHeight();//-30;
	                        if(ch > h)
	                        {
	                            var vscBar = dlyr.addChild(new ScrollBar('vert',0,0,0,0,0,'TabsScrollBarStyle'),'vscBar');
	                            vscBar.btnUp.setStyle("TabsScrollBarButtonStyle");
                                vscBar.btnDown.setStyle("TabsScrollBarButtonStyle");
                                vscBar.knob.setStyle("TabsScrollBarKnobStyle");
	                            vscBar.setAnchor({top:scrollpadding, right:scrollpadding, bottom:scrollpadding});
	                            var r = ch - h ;
	                            vscBar.setRange(0, r);
	                            vscBar.addEventListener(tabs_scroll_child_events);
	                            vscBar.addEventListener(tabs_scroll_events);
	                            vscBar.lyrTrack.setCursor('pointer');
//	                           
	                            var dw = vscBar.getWidth() +  scrollpadding;
	                            
	                            dlyContainer.setAnchor({top:scrollpadding});
	                            
	                            var w = dlyr.getWidth() - vscBar.getWidth() - 2 * scrollpadding;
	                            
	                            dlyContainer.setWidth(w);
	                            
	                            var f = Math.floor(ch / h);
                                var ls = r/f;             
                                vscBar.setLargeChange(ls);
                                                     	                            	                    
	                        }
                            break;
                        }
	                }
                }
            }
        } 
    }    
});



