// ITEM SLIDER

var tandem_item_scroll_time = 800;
var tandem_item_scroll_time_clicked = 500;/*300*/
var tandem_item_scroll_diff = 8000;
var tandem_item_arrow_time = 173;

var is_scrolling = false;

jQuery.fn.extend({
        item_slider_move_from_start_to_end: function ( id, width, timeout ) {
            if ( is_scrolling == true || is_scrolling == 'true' ) {
                $('#' + id + ' #item_slider_left_arrow').bind( 'click', { id: id, tandem_item_width: width, timeout: tandem_item_scroll_time_clicked }, $(this).click_left );
                return;
            }

            is_scrolling = true;
            dodo = 0;

            $('#' + id + ' #item_slider_content #item_slider_ul li').animate ( {
                'left': '-=' + width.toString() + 'px'
            }, timeout , 'linear', function () {
                dodo ++;
                if ( dodo == $('#' + id + ' #item_slider_content #item_slider_ul li').length  ) {
                    $('#' + id + ' #item_slider_content #item_slider_ul').append($('#' + id + ' #item_slider_content #item_slider_ul li:first'));
                    $('#' + id + ' #item_slider_content #item_slider_ul li').css('left', '0px');

                    $('#' + id + ' #item_slider_left_arrow').bind( 'click', { id: id, tandem_item_width: width, timeout: tandem_item_scroll_time_clicked }, $(this).click_left );
                    is_scrolling = false;
                }
            } );
        },
        
        item_slider_move_from_end_to_start: function ( id, width, timeout ) {
            if ( is_scrolling == true || is_scrolling == 'true' ) {
                $('#' + id + ' #item_slider_right_arrow').bind( 'click', { id: id, tandem_item_width: width, timeout: tandem_item_scroll_time_clicked },  $(this).click_right );
                return;
            }
            is_scrolling = true;

            $('#' + id + ' #item_slider_content #item_slider_ul').prepend($('#' + id + ' #item_slider_content #item_slider_ul li:last'));
            $('#' + id + ' #item_slider_content #item_slider_ul li').css('left', '-' + width.toString() + 'px');

            dodo = 0;
            $('#' + id + ' #item_slider_content #item_slider_ul li').animate ( {
                'left': '+=' + width.toString() + 'px'
            }, timeout, 'linear', function () {
                dodo ++;
                if ( dodo == $('#' + id + ' #item_slider_content #item_slider_ul li').length ) {
                    $('#' + id + ' #item_slider_right_arrow').bind( 'click', { id: id, tandem_item_width: width, timeout: tandem_item_scroll_time_clicked }, $(this).click_right );
                    is_scrolling = false;
                }
            } );
        },

        restoreTime: function( id, tandem_item_width ) {
		//return this.each(function() {
                        $('#' + id).stopTime ( 'timer' + id );
                        $('#' + id).oneTime ( tandem_item_scroll_diff, function () {
                            $('#' + id).everyTime ( tandem_item_scroll_diff, 'timer' + id, function() {
                                $(this).item_slider_move_from_start_to_end( id, tandem_item_width, tandem_item_scroll_time );
                            } );
                        });
                        
                //});
        },

        click_left: function( event ) {
            $('#' + event.data.id + ' #item_slider_left_arrow').unbind('click');
            $(this).item_slider_move_from_start_to_end( event.data.id, event.data.tandem_item_width, event.data.timeout );
            //$('#' + id + ' #item_slider_left_arrow').click ( click_left );
        },

        click_right: function( event ) {
            $('#' + event.data.id + ' #item_slider_right_arrow').unbind ('click');
            $(this).item_slider_move_from_end_to_start( event.data.id, event.data.tandem_item_width, event.data.timeout );
            //$('#' + id + ' #item_slider_right_arrow').click ( click_right );
        },

        item_slider: function() {
		//return this.each(function() {
                    // v pripade, ze to na strance neni, nic se nestane
                    if ( !( $(this).length > 0 ) ) {
                        return;
                    }

                    var id = $(this).attr('id');

                    // zjistit pocet polozek
                    var tandem_items_count = $('#' + id + ' #item_slider_content ul li').length;
                    if ( tandem_items_count == 0 ) {
                        return;
                    }

                    // sirka jedne polozky v px
                    var ti_width = 172;
                    var ti_margin = 1;
                    var tandem_item_width = ti_width + ( 1 * ti_margin ); // width + margin

                    // zmensit vysku na velikost, aby nebyl videt posuvnik - kdyz uzivatel nema javascript, tak tam bude videt aspon posuvnik
                    $('#' + id + ' #item_slider_content').css( 'height', '162px' );
                    $('#' + id + ' #item_slider_content').css( 'overflow-x', 'hidden' );

                    $('#' + id + ' #item_slider_content ul li')
                            .css( 'width', ti_width.toString() + 'px' )
                            .css( 'margin-top', ti_margin.toString() + 'px' )
                            .css( 'margin-bottom', ti_margin.toString() + 'px' );

                    // spocitat celkovou velikost - sirku
                    var tandem_content_width = tandem_items_count * ( ti_width + ti_margin ) + ti_margin;

                    // nastavit sirku
                    $('#' + id + ' #item_slider_content ul').css( 'width', tandem_content_width.toString() + 'px' );

                    if ( tandem_items_count > 4 ) {
                        // klik doleva
                        $('#' + id + ' #item_slider_left_arrow').bind( 'click', { id: id, tandem_item_width: tandem_item_width, timeout: tandem_item_scroll_time_clicked }, $(this).click_left );

                        $(document).keydown ( function ( event ) {
                            if ( ( event.keyCode && event.keyCode == 37 ) || ( event.which && event.which == 37 ) || ( event.charCode && event.charCode == 37 ) ) {
                                //$(this).restoreTime ( id, tandem_item_width );
                                //$(this).item_slider_move_from_start_to_end( id, tandem_item_width, tandem_item_arrow_time );
                                $('#' + id + ' #item_slider_left_arrow').triggerHandler ('click', { id: id, tandem_item_width: tandem_item_width, timeout: tandem_item_arrow_time });
                            }
                        } );

                        // klik doprava
                        $('#' + id + ' #item_slider_right_arrow').bind( 'click', { id: id, tandem_item_width: tandem_item_width, timeout: tandem_item_scroll_time_clicked },  $(this).click_right );

                        $(document).keydown ( function ( event ) {
                            if ( ( event.keyCode && event.keyCode == 39 ) || ( event.which && event.which == 39 ) || ( event.charCode && event.charCode == 39 ) ) {
                                //$(this).restoreTime ( id, tandem_item_width );
                                $('#' + id + ' #item_slider_right_arrow').triggerHandler ('click', { id: id, tandem_item_width: tandem_item_width, timeout: tandem_item_arrow_time });
                            }
                        } );

                        $('#' + id).everyTime ( tandem_item_scroll_diff, 'timer' + id, function () {
                            //$(this).item_slider_move_from_start_to_end( id, tandem_item_width, tandem_item_scroll_time );
                            //$(this).item_slider_move_from_end_to_start( id, tandem_item_width, tandem_item_scroll_time );
                            $('#' + id + ' #item_slider_right_arrow').triggerHandler ('click', { id: id, tandem_item_width: tandem_item_width, timeout: tandem_item_scroll_time });
                        });
                    } else { // sipky udelat sedive
                        // leva
                        $('#' + id + ' #item_slider_left_arrow')
                                .css('background-position', '-56px center')
                                .css('cursor', 'default');
                        
                        // prava
                        $('#' + id + ' #item_slider_right_arrow')
                                .css('background-position', '-84px center')
                                .css('cursor', 'default');

                        if ( tandem_items_count < 4 ) { // jen kdyz je mensi nez 4, pri 4 neni potreba centrovat
                            var ul_center = Math.floor ( ( 693 - tandem_content_width ) / 2 );
                            $('#' + id + ' #item_slider_content ul').css('left', ul_center + 'px');
                        }

                    }			
		//});
	}


});

$(document).ready( function () {
    $('#products_related_items').item_slider();
    $('#products_alternative_items').item_slider();
}
);

/*
var tandem_item_scroll_time = 2000;
var tandem_item_scroll_time_clicked = 500;
var tandem_item_scroll_diff = 10000;

var is_scrolling = false;

function item_slider_move_from_start_to_end ( width, timeout ) {
    // vezmeme prvni LI
    if ( is_scrolling == true || is_scrolling == 'true' ) {
        return;
    }

    dodo = 0;
    is_scrolling = true;
    $('#products_tandem_ul li').animate ( {
        'left': '-=' + width.toString() + 'px'
    }, timeout, function () {
        dodo ++;
        if ( dodo == $('#products_tandem_ul li').length  ) {
            // tyhle dva radky byly nad animaci
            //window.alert('a1');

            $('#products_tandem_ul').append($('#products_tandem_ul li:first'));
            //window.alert('a2');
            $('#products_tandem_ul li').css('left', '0px');
        }

        is_scrolling = false;
    } );

}

function item_slider_move_from_end_to_start ( width, timeout ) {
    if ( is_scrolling == true || is_scrolling == 'true' ) {
        return;
    }

    $('#products_tandem_ul').prepend($('#products_tandem_ul li:last'));

    $('#products_tandem_ul li').css('left', '-' + width.toString() + 'px');

    is_scrolling = true;
    $('#products_tandem_ul li').animate ( {
        'left': '+=' + width.toString() + 'px'
    }, timeout, function () {

        is_scrolling = false;
    } );


}

$(document).ready( function () {

    // v pripade, ze to na strance neni, nic se nestane
    if ( !( $('#products_tandem_content').length > 0 ) ) {
        return;
    }

    // zjistit pocet polozek
    //var tandem_items_count = parseInt ( $('#products_tandem_items_count').val() );
    var tandem_items_count = $('#products_tandem_content ul li').length;
    if ( tandem_items_count == 0 ) {
        return;
    }

    // sirka jedne polozky v px
    var ti_width = 175; //234
    var ti_margin = 1;
    var tandem_item_width = ti_width + ( 2* ti_margin ); // width + margin


    //$(document).everyTime ( tandem_item_scroll_diff, function () { tandem_move_from_start_to_end( tandem_item_width, tandem_item_scroll_time); } );

    // zmensit vysku na velikost, aby nebyl videt posuvnik - kdyz uzivatel nema javascript, tak tam bude videt aspon posuvnik
    $('#products_tandem_content').css( 'height', '157px' );
    $('#products_tandem_content').css( 'overflow-x', 'hidden' );

    $('#products_tandem_content ul li').css( 'width', ti_width.toString() + 'px' ).css( 'margin-top', ti_margin.toString() + 'px' ).css( 'margin-bottom', ti_margin.toString() + 'px' );

    // spocitat celkovou velikost - sirku
    var tandem_content_width = tandem_items_count * tandem_item_width;

    // nastavit sirku
    $('#products_tandem_content ul').css( 'width', tandem_content_width.toString() + 'px' );

    var position_left = 1;
    var position_right = 3;
    var step = 1;

    // klik doleva
    $('#products_tandem_left_arrow').click ( function () {
        item_slider_move_from_start_to_end( tandem_item_width, tandem_item_scroll_time_clicked );
    } );

    // klik doprava
    $('#products_tandem_right_arrow').click ( function () {
        item_slider_move_from_end_to_start( tandem_item_width, tandem_item_scroll_time_clicked );
    } );
});
*/
