opac=0.7;
var offsetsArray=new Array();
function setOpacity(testObj,value) 
{
    if(!ie)
    {
	    testObj.style.opacity = value/10;
    }
    else
    {
	    testObj.style.filter='alpha(opacity=' + value*10 + ')';
    };
};
function getOpacity(obj)
{
    if(ie)
    {
        value=obj.filters.alpha.opacity;
    }
    else
    {
        value=obj.style.opacity;  
    }
    return value;
}


function getElementsByClass( searchClass, domNode, tagName) {
	if (domNode == null) domNode = document;
	if (tagName == null) tagName = '*';
	var el = new Array();
	var tags = domNode.getElementsByTagName(tagName);
	var tcl = " "+searchClass+" ";
	for(i=0,j=0; i<tags.length; i++) {
		var test = " " + tags[i].className + " ";
		if (test.indexOf(tcl) != -1)
			el[j++] = tags[i];
	}
	return el;
}
function is_child_of(parent, child) 
{
    if( child != null ) 
    {			
        while( child.parentNode ) 
        {
            if( (child = child.parentNode) == parent ) 
            {
                return true;
            }
        }
    }
    return false;
}
var show=new Animator({duration:500});
var show1=new Animator({duration:500});
var hides=new Array();
var hides1=new Array();
var showUls_a=new Animator({duration:500})
function showUls(dr)
{
    uls=getElementsByClass("textCont",dr)[0];
    showUls_a.clearSubjects();
    showUls_a.addSubject(new NumericalStyleSubject(uls,'opacity',getOpacity(uls), 1));
    showUls_a.play();
};
function showDrop(e)
{
        var drop=getElementsByClass('drop-menu',this)[0];
        if(hides[drop.id])
        {
            hides[drop.id].clearSubjects();
        };
        show.clearSubjects();
        drop.style.display="inline";
        drop.style.visibility="visible";
        uls=getElementsByClass("textCont",drop)[0];
        if(drop.style.height!="")
        {
            fromH=drop.style.height;
        }
        else
        {
            fromH=0;
        };
         to=offsetsArray[Number(drop.id)];
        show=new Animator({duration:500,onComplete:function(){showUls(drop)}}).addSubject(new NumericalStyleSubject(drop,'height',fromH,to));
        show.play();

};

function mouseOutHandler(e)
{
    if (!e) var e = window.event;
    var current_mouse_target = null;
    if( e.toElement ) 
    {				
        current_mouse_target = e.toElement;
    } 
    else if( e.relatedTarget ) 
    {				
        current_mouse_target = e.relatedTarget;
    }
    if( !is_child_of(this, current_mouse_target) && this!= current_mouse_target ) 
    {
        show.clearSubjects();
        var drop=getElementsByClass('drop-menu',this)[0];
        hides[drop.id]=new Animator({duration:500,onComplete: function(){drop.style.display="none"}}).addSubject(new NumericalStyleSubject(drop, 'height',drop.style.height,0));
        uls=getElementsByClass("textCont",drop)[0];
        hides[drop.id].addSubject(new NumericalStyleSubject(uls,'opacity',getOpacity(uls), 0));
        hides[drop.id].play();
    }; 
}
function init()
{
	var menu=getElementsByClass('menu')[0];
    var dropMenu;
    for(k=0;k<menu.childNodes.length;k++)
    {
        cont=menu.childNodes[k];
        if(cont.nodeType==1)
        {
            dropMenu=getElementsByClass('drop-menu',cont)[0];
            offsetsArray[k]=dropMenu.offsetHeight;
            uls=getElementsByClass("textCont",dropMenu)[0];
            setOpacity(uls,0);           
            dropMenu.style.display="none";
            dropMenu.id=k;
            cont.onmouseover=showDrop;
            cont.onmouseout=mouseOutHandler;
        };
    };
};
var ie=false;
switch(navigator.appName)
{
	case "Microsoft Internet Explorer":
		doc=document.documentElement;
		window.attachEvent("onload",init);
		ie=true;
		break    
	case "Netscape":
		if(navigator.vendor=="Apple Computer, Inc.") //SAFARI
		{
			window.onload=init;
			safari=true;
		}
		else                                                       //FIREFOX
		{
			
			doc=document.documentElement;
			document.addEventListener("DOMContentLoaded", init, false);
		};
		break
	default:
		doc=document.documentElement;
		window.onload = init;	
};
