/* for drager */
/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function ($) { $.fn.hoverIntent = function (f, g) { var cfg = { sensitivity: 7, interval: 100, timeout: 0 }; cfg = $.extend(cfg, g ? { over: f, out: g} : f); var cX, cY, pX, pY; var track = function (ev) { cX = ev.pageX; cY = ev.pageY }; var compare = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); if ((Math.abs(pX - cX) + Math.abs(pY - cY)) < cfg.sensitivity) { $(ob).unbind("mousemove", track); ob.hoverIntent_s = 1; return cfg.over.apply(ob, [ev]) } else { pX = cX; pY = cY; ob.hoverIntent_t = setTimeout(function () { compare(ev, ob) }, cfg.interval) } }; var delay = function (ev, ob) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); ob.hoverIntent_s = 0; return cfg.out.apply(ob, [ev]) }; var handleHover = function (e) { var ev = jQuery.extend({}, e); var ob = this; if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t) } if (e.type == "mouseenter") { pX = ev.pageX; pY = ev.pageY; $(ob).bind("mousemove", track); if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout(function () { compare(ev, ob) }, cfg.interval) } } else { $(ob).unbind("mousemove", track); if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout(function () { delay(ev, ob) }, cfg.timeout) } } }; return this.bind('mouseenter', handleHover).bind('mouseleave', handleHover) } })(jQuery);


$(document).ready(function () {
    $('#carousel').jcarousel();

    $('.featured-content li:first-child').addClass("first");
    $('.content-carousel-wrapper').each(function () { $(this).css("height", $(this).css("min-height")); });
    $('.content-carousel-wrapper').css("overflow", "hidden");
    
    /*$('.content-carousel-wrapper').jcarousel({ visible: 1, scroll: 1 });*/
    
    var slideTimer = 0; //default, if 0 seconds then there is no auto sliding
        // set the slideTimer to another value to initialize auto sliding; otherwise set to 0 or don't add the bottom line
    slideTimer = 5; // number of seconds between slides in case of auto sliding

    $('.content-carousel-wrapper').jcarousel({ 
	visible: 1, 
	scroll: 1, 
	auto: slideTimer,
        initCallback: mycarousel_initCallback 
    });
    
    function mycarousel_initCallback(carousel)
    {
        if (slideTimer!=0)
        {
            // Disable autoscrolling if the user clicks the prev or next button.
            carousel.buttonNext.bind('click', function() {
                carousel.startAuto(0);
            });

            carousel.buttonPrev.bind('click', function() {
                carousel.startAuto(0);
            });

            // Pause autoscrolling if the user moves with the cursor over the clip.    
            carousel.clip.hover(function() {
              carousel.stopAuto();
            }, function() {
                carousel.startAuto();
            });
        }
    };


    /* specific for drager */
    if ($(".featured-content").length > 0) {
        if ($("body").attr("id") != "startpage") {
            $(".featured-content li").height("34px");

            hiConfig = {
                sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)
                interval: 150, // number = milliseconds for onMouseOver polling interval
                timeout: 150, // number = milliseconds delay before onMouseOut
                over: function () {
                    $(this).animate({
                        height: '170'
                    }, 500, function () {
                        // Animation complete.
                    });
                }, // function = onMouseOver callback (REQUIRED)
                out: function () {
                    $(this).animate({
                        height: '34'
                    }, 500, function () {
                        // Animation complete.
                    });
                } // function = onMouseOut callback (REQUIRED)
            }
            $('.featured-content li').hoverIntent(hiConfig);
        }
    }

    /* end: specific for drager */

    $('.external').click(function () {
        window.open(this.href);
        return false;
    });
});
