﻿


function showPan(e, f) {
    $("div.bigBoxHandleContainer > div").fadeOut("fast");

    //$("#"+jQuery(this).attr("alt")).animate({opacity: 1.0}, 500).fadeIn("slow");
    $("#"+this.panel).animate({opacity: 1.0}, 200).fadeIn("fast", function() {
        if(jQuery.browser.msie)
            $(this).get(0).style.removeAttribute('filter');
    });
    
    //console.info(this.dddd);
}
function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    //console.info("inCallback - add");
    //console.info("i:"+i);
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, mycarousel_itemList.length);
    var elem = jQuery(mycarousel_itemList[idx - 1].panel).get(0);
    
    //$(elem).panel = "eee";
    
    //console.info(elem);
    //console.info(typeof(elem));
    elem.panel = "Panel"+idx;
    //console.info(idx);
    //console.info(elem.dddd);
    //alert(elem.toSource);
    
    var config = {    
        sensitivity: 3, // number = sensitivity threshold (must be 1 or higher)    
        interval: 200, // number = milliseconds for onMouseOver polling interval    
        over: showPan, // function = onMouseOver callback (REQUIRED)    
        timeout: 500, // number = milliseconds delay before onMouseOut    
        out: function(){;} // function = onMouseOut callback (REQUIRED)    
    };

    $(elem).hoverIntent( config ) 
    
    $(elem).mouseover(function(){$(this).addClass('selected')});
    $(elem).mouseout(function(){$(this).removeClass('selected')});
    
    /*
    jQuery(elem).mouseover( function() {
        //alert(this);
        //alert(jQuery(this).attr("alt"));
        //alert('s');
        $("div.panel").fadeOut("slow");
        //$("#"+jQuery(this).attr("alt")).animate({opacity: 1.0}, 500).fadeIn("slow");
        $("#"+jQuery(this).attr("alt")).fadeIn("slow");
    });
    */
    carousel.add(i, elem);

    
};

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
    //console.info(i);
    //carousel.remove(i-1);

    var maxcount = 100;
    var frame = 6;
    if ((i % maxcount) == 0) {
        var mul = parseInt(i/maxcount, 10);
        
        for (var cnt = i - maxcount - frame; cnt < (i-frame); cnt++) {
            if (i>0) {            
                carousel.remove(cnt);
            }
        }
    }
};


function mycarousel_initCallback(carousel) {
    jQuery('#carousel-next').bind('click', function() {
        carousel.next();
        return false;
    });

    jQuery('#carousel-prev').bind('click', function() {
        carousel.prev();
        return false;
    });
    
    // 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();
    });
    
}

/*
function mycarousel_itemLoadCallback(carousel, state)
{
    
    for (var i = carousel.first; i <= carousel.last; i++) {
        if (carousel.has(i)) {
            continue;
        }

        if (i > mycarousel_itemList.length) {
            break;
        }
        
        var item = jQuery(mycarousel_getItemHTML(mycarousel_itemList[i-1])).get(0);
        
        jQuery(item).click( function() { alert('ddd');});
        
        carousel.add(i, item);
    }    
};
*/


jQuery(document).ready(function() {
    carousel = jQuery('#mycarousel').jcarousel({
        wrap: 'circular',
        auto: 3, //4
        animation: 300,
        scroll: 1,
        itemVisibleInCallback: {onBeforeAnimation: mycarousel_itemVisibleInCallback},
        //itemVisibleOutCallback: {onAfterAnimation: mycarousel_itemVisibleOutCallback},
        initCallback: mycarousel_initCallback,
        buttonNextHTML: null,
        buttonPrevHTML: null
        //itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}

    });

    //pokz pierwszy panel
    $("#Panel1").fadeIn("fast", function() {
        if(jQuery.browser.msie)
            $(this).get(0).style.removeAttribute('filter');
    });
});
