/*********************
//* jQuery Drop Line Menu- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last updated: June 27th, 09'
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
*********************/

var droplinemenu={

    arrowimage: {
        classname: 'downarrowclass',
        src: 'js/down.gif',
        leftpadding: 5
    }, //customize down arrow image
    closeall:function(){
        $submenus = $(droplinemenu.properties.mainmenu).children('li').children('ul');
        $submenus.slideUp(1);
        clearInterval(droplinemenu.properties.intervalvar);
    },
    properties:{
        intervalo:2000,
        intervalvar:null,
        mainmenu:null
    },

    buildmenu:function(menuid){
        jQuery(document).ready(function($){
            droplinemenu.properties.mainmenu=$("#"+menuid+">ul")
            var $headers= droplinemenu.properties.mainmenu.find("ul").parent()
            $headers.each(function(i){
                var $curobj=$(this);
                var $subul=$(this).find('ul:eq(0)');
                this._dimensions={
                    h:$curobj.find('a:eq(0)').outerHeight()
                }
                this.istopheader=$curobj.parents("ul").length==1? true : false
                if (!this.istopheader)
                    $subul.css({
                        left:0,
                        top:this._dimensions.h
                    })
                var $innerheader=$curobj.children('a').eq(0)
                $innerheader=($innerheader.children().eq(0).is('span'))? $innerheader.children().eq(0) : $innerheader //if header contains inner SPAN, use that
                $innerheader.append(
                    '<img src="'+ droplinemenu.arrowimage.src
                    +'" class="' + droplinemenu.arrowimage.classname
                    + '" style="border:0; padding-left: '+droplinemenu.arrowimage.leftpadding+'px" />'
                    );

              
                $curobj.hover(function(e){
                    clearInterval(droplinemenu.properties.intervalvar);
                },function(e){
                    clearInterval(droplinemenu.properties.intervalvar);
                    droplinemenu.properties.intervalvar = setInterval(droplinemenu.closeall,droplinemenu.properties.intervalo);
                });
                    
                $curobj.click(
                    function(e){
                        $submenus = $( droplinemenu.properties.mainmenu).children('li').children('ul');
                        $submenus.slideUp(1);
                        var $targetul=$(this).children("ul:eq(0)")
                        if($targetul.is(":hidden")){
                            if ($targetul.queue().length<=1) //if 1 or less queued animations
                                if (this.istopheader)
                                    $targetul.css({
                                        left:  droplinemenu.properties.mainmenu.offset().left,
                                        top:  droplinemenu.properties.mainmenu.offset().top+this._dimensions.h
                                    })
                            if (document.all && !window.XMLHttpRequest) //detect IE6 or less, fix issue with overflow
                                droplinemenu.properties.mainmenu.find('ul').css({
                                    overflow: (this.istopheader)? 'hidden' : 'visible'
                                })
                            $targetul.slideDown(1);
                        }
                        else
                        {
                            $targetul.slideUp(1);
                            clearInterval(droplinemenu.properties.intervalvar);
                        }

                    }
                    ) //end hover
            }) //end $headers.each()
            droplinemenu.properties.mainmenu.find("ul").css({
                display:'none',
                visibility:'visible',
                width: droplinemenu.properties.mainmenu.width()
            })
        }) //end document.ready
    }
}


