(function($) {

    $.fn.easySlider = function(options) {

        var defaults = {
            prevId : 'prevBtn',
            prevText : 'Previous',
            nextId : 'nextBtn',
            nextText : 'Next',
            speed : 800
        };

        var options = $.extend(defaults, options);

        return this
                .each(function() {
                    obj = $(this);
                    var s = $("li", obj).length;
                    var w = obj.width();
                    var vertical = (options.orientation == 'vertical');
                    $("ul", obj).css('width', s * w);
                    $(obj)
                            .after(
                                    '<span id="'
                                            + options.prevId
                                            + '"><a href=\"javascript:void(0);\">&nbsp;</a></span><div class="clear"></div>');
                    $(obj)
                            .before(
                                    '<span id="'
                                            + options.nextId
                                            + '"><a href=\"javascript:void(0);\">&nbsp;</a></span>');
                    $("a", "#" + options.prevId)
                            .click(
                                    function() {
                                        if (animateList) {
                                            return false;
                                        }
                                        animateList = true

                                        $('#homepage_slider').addClass('overhidden');
                                        $('#homepage_slider_container').addClass('overhidden');

                                        jQuery(document).stopTime(
                                                "slider_timer");

                                        for (i = 0; i <= 7; i++) {
                                            // show item to animate
                                            jQuery(
                                                    '#homepage_slider ul li:eq('
                                                            + parseInt(8 + i)
                                                            + ')').addClass("show").removeClass("hide");
                                        }
                                        animate(
                                                "next",
                                                function() {
                                                    // copy first item to the
                                                    // last item
                                                    for (i = 0; i <= 7; i++) {
                                                        jQuery(
                                                                '#homepage_slider ul li:first')
                                                                .insertAfter(
                                                                        '#homepage_slider ul li:last')
                                                                .addClass("hide").removeClass("show");
                                                    }
                                                    jQuery(
                                                            '#homepage_slider ul')
                                                            .css("marginLeft",
                                                                    "0");
                                                    jQuery('#left_shadow')
                                                            .attr(
                                                                    "class",
                                                                    jQuery(
                                                                            '#homepage_slider ul li:first')
                                                                            .find(
                                                                                    'span.c_link')
                                                                            .attr(
                                                                                    "id"))
                                                    jQuery('#right_shadow')
                                                            .attr(
                                                                    "class",
                                                                    jQuery(
                                                                            '#homepage_slider ul li:eq(7)')
                                                                            .find(
                                                                                    'span.c_link')
                                                                            .attr(
                                                                                    "id"))

                                                    animateList = false;
                                                    jQuery(document).everyTime(
                                                            SLIDER_TIME,
                                                            "slider_timer",
                                                            enableTimer, 0);
                                                });

                                    });
                    $("a", "#" + options.nextId)
                            .click(
                                    function() {
                                        if (animateList) {
                                            return false;
                                        }
                                        animateList = true;
                                        
                                        $('#homepage_slider').addClass('overhidden');
                                        $('#homepage_slider_container').addClass('overhidden');
                                        
                                        jQuery(document).stopTime("slider_timer");

                                        for (i = 0; i <= 7; i++) {
                                            // copy first 8 items
                                            
                                            jQuery('#homepage_slider ul li:last')
                                                    .insertBefore('#homepage_slider ul li:first')
                                                    .addClass("show").removeClass("hide");
                                            
                                            
                                            
                                        }
                                        
                                        jQuery('#homepage_slider ul').css("marginLeft", -w);
                                        
                                        animate("prev", function() 
                                                    {
                                                    var index = jQuery('#homepage_slider ul li:last').index();
                                                    for (i = 8; i <= index; i++) {
                                                      jQuery('#homepage_slider ul li:eq('+i+')').addClass("hide").removeClass("show")
                                                    }
                                                    jQuery('#left_shadow')
                                                            .attr(
                                                                    "class",
                                                                    jQuery(
                                                                            '#homepage_slider ul li:first')
                                                                            .find(
                                                                                    'span.c_link')
                                                                            .attr(
                                                                                    "id"))
                                                    jQuery('#right_shadow')
                                                            .attr(
                                                                    "class",
                                                                    jQuery(
                                                                            '#homepage_slider ul li:eq(7)')
                                                                            .find(
                                                                                    'span.c_link')
                                                                            .attr(
                                                                                    "id"))

                                                    animateList = false;
                                                    jQuery(document).everyTime(
                                                            SLIDER_TIME,
                                                            "slider_timer",
                                                            enableTimer, 0);
                                                });

                                    });
                    function animate(dir, callback) {

                        if (dir == "next") {
                            p = -w
                        } else {
                            p = 0
                        }
                        ;
                        jQuery("ul", obj).animate({
                            marginLeft : p
                        }, options.speed, callback);
                    }
                    ;
                });
    };

})(jQuery);

