/** jquery.lavalamp.js ****************/
(function(myJQuery) {
    myJQuery.fn.lavaLamp = function(o) {
        o = myJQuery.extend({ fx: "linear", speed: 500, click: function(){} }, o || {});

        return this.each(function(index) {
            
            var me = myJQuery(this), noop = function(){},
                myJQueryback = myJQuery('<li class="back"><div class="left"></div></li>').appendTo(me),
                myJQueryli = myJQuery(">li", this), curr = myJQuery("li.current", this)[0] || myJQuery(myJQueryli[0]).addClass("current")[0];

            myJQueryli.not(".back").hover(function() {
                move(this);
            }, noop);

            myJQuery(this).hover(noop, function() {
                move(curr);
            });

            myJQueryli.click(function(e) {
                setCurr(this);
                return o.click.apply(this, [e, this]);
            });

            setCurr(curr);

            function setCurr(el) {
                myJQueryback.css({ "left": el.offsetLeft+"px", "width": el.offsetWidth+"px" });
                curr = el;
            };
            
            function move(el) {
                myJQueryback.each(function() {
                    myJQuery.dequeue(this, "fx"); }
                ).animate({
                    width: el.offsetWidth,
                    left: el.offsetLeft
                }, o.speed, o.fx);
            };

            if (index == 0){
                myJQuery(window).resize(function(){
                    myJQueryback.css({
                        width: curr.offsetWidth,
                        left: curr.offsetLeft
                    });
                });
            }
            
        });
    };
})(jQuery);



/** apycom menu ****************/
jQuery(function() {
    
    var myJQery = jQuery;
    // retarder
    myJQery.fn.retarder = function(delay, method){
        var node = this;
        if (node.length){
            if (node[0]._timer_) clearTimeout(node[0]._timer_);
            node[0]._timer_ = setTimeout(function(){ method(node); }, delay);
        }
        return this;
    };
    
    // base rules
    myJQery('#menu').addClass('js-active');
    if (myJQery.browser.msie && parseInt(myJQery.browser.version) == 7) myJQery('#menu').addClass('ie7');
    myJQery('ul div', '#menu').css('visibility', 'hidden');
    myJQery('.menu>li', '#menu').hover(
        function(){
			
            var ul     = myJQery('div:first', this);
            if (ul.length){
                if (!ul[0].hei) ul[0].hei = ul.height();
                ul.css({height: 20, overflow: 'hidden'}).retarder(400, function(i){
                    myJQery('#menu').removeClass('js-active');
                    myJQery('a:first', ul[0].parentNode).addClass('over');
                    myJQery('#menu>ul>li.back').css('display', 'none');
                    i.css('visibility', 'visible').animate({height: ul[0].hei}, {duration: 100, complete : function(){ ul.css('overflow', 'visible'); }});
                });
            }
        },
        function(){
            var ul  = myJQery('div:first', this);
            if (ul.length){
                var css = {visibility: 'hidden', height: ul[0].hei};
                myJQery('#menu>ul>li.back').css('display', 'block');
                myJQery('#menu').addClass('js-active');
                myJQery('a:first', ul[0].parentNode).removeClass('over');
                ul.stop().retarder(1, function(i){ i.css(css); });
                
            }
        }
    );
    
    myJQery('ul ul li', '#menu').hover(
        function(){
            var ul     = myJQery('div:first', this);
            if (ul.length){
                if (!ul[0].wid) ul[0].wid = ul.width();
                ul.css({width: 0, overflow: 'hidden'}).retarder(100, function(i){
                    i.css('visibility', 'visible').animate({width: ul[0].wid}, {duration: 500, complete : function(){ ul.css('overflow', 'visible'); }});
                });
            }
        },
        function(){
            var ul  = myJQery('div:first', this);
            if (ul.length){
                var css = {visibility: 'hidden', width: ul[0].wid};
                ul.stop().retarder(1, function(i){ i.css(css); });
            }
        }
    );
    // lava lamp
    myJQery('#menu ul.menu').lavaLamp({ speed: 400 });
    // color animation
    if (myJQery.browser.msie && myJQery.browser.version.substr(0, 1) == '6'){
        myJQery('ul ul a span', '#menu').css('color', 'rgb(133,42,33)').hover(
            function(){ myJQery(this).css({color: 'rgb(0,0,0)'}); },
            function(){ myJQery(this).css({color: 'rgb(133,42,33)'}); }
        );      
    }
    else{
        myJQery('ul ul a span', '#menu').css('color', 'rgb(133,42,33)').hover(
            function(){ myJQery(this).animate({color: 'rgb(0,0,0)'}, 100); },
            function(){ myJQery(this).animate({color: 'rgb(133,42,33)'}, 200); }
        );
    }
	
    
});
