﻿function scrollObj() {
    this.scrollBackward = null;
    this.scrollForward = null;
    this.scrollImage = null;
    this.scrollText = null;
    this.currentIndex = 0;
    this.displaySet = 'none';
    this.productSet = null;
    
    this.click_Forward = function(event) {
        event.preventDefault();
        /*console.log('hit forward ');*/
        
        var loc = event.data.scrollImage.attr('src').substring(0,event.data.scrollImage.attr('src').lastIndexOf("/")+1);
        var l = event.data.productSet.Images.length;
        
        if(event.data.currentIndex >= (l - 1))
            event.data.currentIndex = 0;
        else
            event.data.currentIndex++;
            
        event.data.scrollImage.attr('src',loc + event.data.productSet.Images[event.data.currentIndex]);
        event.data.scrollText.html(event.data.productSet.Texts[event.data.currentIndex]);
            
    };
    
    this.click_Backward = function(event) {
        event.preventDefault();
        /*console.log('hit backward ');*/
        
        var loc = event.data.scrollImage.attr('src').substring(0,event.data.scrollImage.attr('src').lastIndexOf("/")+1);
        var l = event.data.productSet.Images.length;
        
        if(event.data.currentIndex <= 0)
            event.data.currentIndex = (l - 1);
        else
            event.data.currentIndex--;
            
        event.data.scrollImage.attr('src',loc + event.data.productSet.Images[event.data.currentIndex]);
        event.data.scrollText.html(event.data.productSet.Texts[event.data.currentIndex]);
    };   
}

var scrollHandler = {
    
    polidentProducts: {
        Images: ['polident_scroll_product_3minute.jpg','polident_scroll_product_overnight.jpg','polident_scroll_product_partials.jpg','polident_scroll_product_smokers.jpg'],
        Texts: ['Polident® 3-Minute Anti-Bacterial<br />Denture Cleanser','Polident® Overnight Whitening','Polident® Partials™','Polident® Smokers™']
    },
    poligripProducts: {
        Images: ['poligrip_scroll_product_free.jpg','poligrip_scroll_product_original.jpg','poligrip_scroll_product_extra.jpg','poligrip_scroll_product_ultra.jpg','poligrip_scroll_product_strips.jpg','poligrip_scroll_product_powder.jpg'],
        Texts: ['Super Poligrip® Free','Super Poligrip® Original','Super Poligrip® Extra Care with PoliSeal™','Super Poligrip® Ultra Fresh','Super Poligrip® Comfort Seal® Strips','Extra Strength Super Poligrip® Powder']
    },
    
    init: function() {
        
        var targets = $('.js-scroll-box');
        var l = targets.size();
        if(l > 0)
        {
            targets.each(scrollHandler.bind);
        }
    },
    
    bind: function(index, el) {
        /*console.log(el);*/
        var o = new scrollObj();
        
        if($(el).hasClass('polident'))
        {
            o.displaySet = 'polident';
            o.productSet = scrollHandler.polidentProducts;
        }
        else if($(el).hasClass('poligrip'))
        {
            o.displaySet = 'poligrip';
            o.productSet = scrollHandler.poligripProducts;
        }
        
        o.scrollBackward = $('.js-scroll-backward',el).eq(0);
        o.scrollForward = $('.js-scroll-forward',el).eq(0);
        o.scrollImage = $('.js-scroll-img',el).eq(0);
        o.scrollText = $('.js-scroll-text',el).eq(0);
        
        el.scrollHandlerData = o;
        
        /*console.log(o);*/
        
        o.scrollForward.bind('click',o,o.click_Forward);
        o.scrollBackward.bind('click',o,o.click_Backward);
        
    }    
}

$(document).ready(function(){ scrollHandler.init(); });