/*
* Scroll it! v0.01 - jQuery menu widget
* Copyright (c) 2008 Andres Pi
*
* andres(at)dreamsiteweb.com
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/

(function($) {

    jQuery.fn.scrollIt = function(settings){
        return this.each(function(i) {
            $this = $(this);
            settings = jQuery.extend({
                menuHeight: 100,
                itemHeight: 50,
                menuWidth: 'auto',
                itemWidth: 'auto',
                scrollDuration: 500,
                scrollItwrapper: 'scrollItwrapper'
            }, settings);

            var scrollInterval = settings.scrollDuration + 1;
            $this.addClass('scroll-menu').css('height', settings.menuHeight);
            var menuItems = $this.find('li')
            menuItems.css({
                'height': settings.itemHeight,
                'width': settings.itemWidth
            });

            $this.wrap('<div class=' + settings.scrollItwrapper + '></div>');
            $('.' + settings.scrollItwrapper).css({
                width: settings.menuWidth + 28,
                margin: '0px auto'
            });

            var menuList = $($this.children());

            var menuListMarginLeft = 0;
            var menuListMarginTop = 0;


            $this.parent().prepend('<div class="scroll-it-up left-arrow"></div>');
            $this.parent().append('<div class="scroll-it-down right-arrow"></div>');

            $("." + settings.scrollItwrapper + " .scroll-it-up").click(function () {
                scrollMenuUp();
            });


            $("." + settings.scrollItwrapper + " .scroll-it-up").hover(
                function () {
                    $(this).addClass('arrow-hover');
                },
                function(){
                    $(this).removeClass('arrow-hover');
                }
                );

            $("." + settings.scrollItwrapper + " .scroll-it-down").click(function () {
                scrollMenudown();
            });

            $("." + settings.scrollItwrapper + " .scroll-it-down").hover(
                function () {
                    $(this).addClass('arrow-hover');
                },
                function(){
                    $(this).removeClass('arrow-hover');
                }
                );



            $('.' + settings.scrollItwrapper).addClass('horizontal').find('ul').css({
                'width': (settings.itemWidth * menuItems.length),
                'height': settings.itemHeight
            });


            $this.css({
                'float': 'left',
                'width': settings.menuWidth
            })

            var menuListwidth = menuList.width() - menuItems.width();
            $this.find('li').css('float', 'left');


            function scrollMenuUp(){
                if(menuListMarginLeft < 0){
                    menuListMarginLeft += settings.itemWidth;
                    menuList.animate({
                        marginLeft: menuListMarginLeft
                    }, settings.scrollDuration );
                    iluminaFlecha();
                    if(istrue){
                        if(isPopulated){
                            valuesArray();
                        }
                        $("." + settings.scrollItwrapper + " li:eq("+(contadorN-1)+")").removeClass('liActivo')
                        var num = ((Math.round((parseFloat(sumaTotal.text().replace(",","."))*100) - (itemsValues[contadorN-1]*100))/100) + "").replace(".",",");
                        sumaTotal.text(num)
                        contadorN--;
                        $("." + settings.scrollItwrapper + " .contContador").text(contadorN+'/'+menuItems.length);
                        $("." + settings.scrollItwrapper + " li:eq("+(contadorN-1)+")").addClass('liActivo');
                        num = sumaTotal.text();
                        sumaTotal.text(((Math.round((parseFloat(num.replace(",","."))*100) + (itemsValues[contadorN-1])*100)/100) + "").replace(".",","));
                    }
                }
            }

            function scrollMenudown(){
                if(Math.abs(menuListMarginLeft) < Math.abs(settings.menuWidth - (settings.itemWidth * menuItems.length)) && menuItems.length * settings.itemWidth > settings.menuWidth){
                    menuListMarginLeft -= settings.itemWidth;
                    menuList.animate({
                        marginLeft: menuListMarginLeft
                    }, settings.scrollDuration );
                    iluminaFlecha();
                    if(istrue){
                        if(isPopulated){
                            valuesArray();
                        }
                        $("." + settings.scrollItwrapper + " li:eq("+(contadorN-1)+")").removeClass('liActivo')
                        var num = ((Math.round((parseFloat(sumaTotal.text().replace(",","."))*100) - (itemsValues[contadorN-1]*100))/100) + "").replace(".",",");
                        sumaTotal.text(num);
                        contadorN++;
                        $("." + settings.scrollItwrapper + " .contContador").text(contadorN+'/'+menuItems.length);
                        $("." + settings.scrollItwrapper + " li:eq("+(contadorN-1)+")").addClass('liActivo');
                        num = sumaTotal.text();
                        sumaTotal.text(((Math.round((parseFloat(num.replace(",","."))*100) + (itemsValues[contadorN-1]*100))/100) + "").replace(".",","));
                    }
                }
            }
            var contadorN = 1;
            var istrue = false;
            var isPopulated = true;
            var itemsValues = [];
            //var itemsPacks = [];
            var contGroup,sumaTotal,sumaPack,itemObject,itemPack;
            function contador(){
                $("." + settings.scrollItwrapper).prepend('<div class="contContador">1/'+menuItems.length+'</div>')
            }
            if($("ul.slider-promo").length){
                contador();
                istrue = true;
                $("." + settings.scrollItwrapper + " li:eq(0)").addClass('liActivo');
                contGroup = $('.' + settings.scrollItwrapper).parent().parent();
                sumaTotal = contGroup.find('.importeTotal');
                //sumaPack = contGroup.find('.msg-ahorro strong');
                itemObject = $(this).find('.importeSuma');
                //itemPack = $(this).find('.importe-antes span:eq()');
                //var theThis = $(this);



            /*itemPack.each(function(a){
                    var num = $(this).text();
                    itemsPacks.push(parseFloat(num.replace(",","."))-itemsValues[a]);
                    ///console.log(parseFloat(num.replace(",","."))-itemsValues[a])
                })*/
            //var numTotal = sumaTotal.text();
            //sumaTotal.text(((parseFloat(numTotal.replace(",",".")) + itemsValues[0]) + "").replace(".",","));
            }
            function valuesArray(){
                isPopulated = false;
                itemObject.each(function(){
                    var num = $(this).text();
                    itemsValues.push(parseFloat(num.replace(",",".")));
                //$(this).find('.importe-antes span:eq('+i+')');
                //itemsPacks.push((parseFloat((theThis.find('.importe-antes span:eq('+i+')').text()).replace(",",".")))-parseFloat(num.replace(",",".")))
                //console.log((parseFloat((theThis.find('.importe-antes span:eq('+i+')').text()).replace(",",".")))-parseFloat(num.replace(",",".")))
                })
            }


            function iluminaFlecha(){
                if(Math.abs(menuListMarginLeft) < Math.abs(settings.menuWidth - (settings.itemWidth * menuItems.length)) && menuItems.length * settings.itemWidth > settings.menuWidth){
                    $("." + settings.scrollItwrapper + " .scroll-it-down").removeClass('arrow-inactive');
                }else{
                    $("." + settings.scrollItwrapper + " .scroll-it-down").addClass('arrow-inactive');
                }
                if(menuListMarginLeft < 0){
                    $("." + settings.scrollItwrapper + " .scroll-it-up").removeClass('arrow-inactive');
                }else{
                    $("." + settings.scrollItwrapper + " .scroll-it-up").addClass('arrow-inactive');
                }
            }
            iluminaFlecha();




        });
    };


})(jQuery);
