$(document).ready(function() {
    if ($.blockUI) {
        bwImageSliderSTD.init();
    }
    else {
        jQuery.getScript(basepath+'/common/lib/jquery/jquery.blockUI.js', function() {
            bwImageSliderSTD.init();
        });
        
    }

	if($('.CCHLB01').length > 0) {
		jQuery.getScript(basepath+'/common/lib/jquery/jquery.jcarousellite.js', function() {
 		
		$(".CCHLB01 .scrollable").jCarouselLite({
	        btnNext: ".next",
	        btnPrev: ".prev",
			circular:true,
			start: 0,
			visible:5			
	    });
					
		/* Hier muss der gleiche Index eingetragen werden wie oben */
		laufbandSetActive(0);
		});	
	};

	
    
});


var bwImageSliderSTD = {

    init: function() {
    
        bwImageSliderSTD.countImages();
        
        $('.COOPCH-galleryslide_267').each(function(i, jObj) {
            gC = $(jObj);
            gCStage = $(jObj).find('.imageslider-stage');
            
            
            bild2 = gC.find('.imageslider ul li:first div.previewdata img');
            gCStage.html($(gC).find('.imageslider ul li:first div.previewdata').html());
            gC.find('.imageslider ul li:first').addClass('active');
            bwImageSliderSTD.setCounter(jObj);
            
            // close mit "ESC"
            gC.bind('keydown', function(e) {
                if (parseInt(e.which) == 27) {
                    $.unblockUI();
                    return false;
                }
            });
        });
    },
    
    countImages: function() {
        $('.COOPCH-galleryslide_267').each(function(i, jObj) {
            $(jObj).find('.imageslider ul li').each(function(ii, jObjInner) {
                $(this, jObjInner).attr('id', 'image-' + (i + 1) + '-' + (ii + 1));
            });
        });
        
    },
    
    setCounter: function(jObj) {
    
        gcCounter = $(jObj).find('.imageCounter');
        gcStage = $(jObj).find('.imageslider-stage');
        imageList = $(jObj).find('ul');
        totalImages = $(jObj).find('ul li').size();
        
        
        if (totalImages > 0) {
            gcCounter.html('1/' + totalImages);
            if (totalImages > 1) {
                $(jObj).find('.imageSlideControl').html('<a href="#" class="backwards"><b>back</b></a><a href="#" class="forward"><b>next</b></a><a href="#" class="zoom"><b>zoom</b></a><br clear="all" />');
                
                var detailViewLayer = $('<div id="cch-gallery-detail-layer">' +
                '   <div class="close"><a href="#">schliessen</a></div>' +
                '   <div class="header"></div>' +
                '   <div class="counter"></div>' +
                '   <div class="image-container">' +
                '        <div class="backward"><a href="#"><b>backward</b></a></div>' +
                '        <div class="image"></div>' +
                '        <div class="forward"><a href="#"><b>forward</b></a></div>' +
                '   </div>' +
                '   <div class="text"><p>Lorem Ipsum dolor sit amet, Lorem Ipsum dolor sit amet, Lorem Ipsum dolor sit amet, Lorem Ipsum dolor sit amet, Lorem Ipsum dolor sit amet, Lorem Ipsum dolor sit amet</p>' +
                '   <div class="download">Download <a href="#">Druck (1024kB)</a></div></div>' +
                '</div>' +
                '').css('display', 'none');
                
                $('body').prepend(detailViewLayer);
                
                $(detailViewLayer).find('div.close a').click(function() {
                    $.unblockUI();
                    /* fix - unbind of clicks needed */
                    $('.forward a').unbind('click');
                    $('.backward a').unbind('click');
                    return false;
                });
                
                // close mit "ESC"
                $(detailViewLayer).bind('keydown', function(e) {
                    if (parseInt(e.which) == 27) {
                        $.unblockUI();
                        /* fix - unbind of clicks needed */
                        $('.forward a').unbind('click');
                        $('.backward a').unbind('click');
                        return false;
                    }
                });
                
                $('.imageSlideControl .zoom', jObj).click(function() {
                    gcCounter = $(jObj).find('.imageCounter');
                    gcStage = $(jObj).find('.imageslider-stage');
                    imageList = $(jObj).find('ul');
                    totalImages = $(jObj).find('ul li').size();
                    
                    
                    fulldata = imageList.find('li.active .fulldata');
                    image = $(fulldata).find('.image').html();
                    
                    subtitle = $(fulldata).find('.subtitle').html();
                    download = $(fulldata).find('.download').html();
                    headline = $(fulldata).find('.header').html();
                    
                    currentImageNumber = $(fulldata).parent().attr('id');
                    var re = new RegExp("image-([1-9]+)-");
                    currentImageNumber = currentImageNumber.replace(re, '');
                    $('.counter', detailViewLayer).html(currentImageNumber + '/' + totalImages);
                    
                    
                    $('.image', detailViewLayer).html(image);
                    $('.text p', detailViewLayer).html(subtitle);
                    $('.header', detailViewLayer).html(headline);
                    $('.download', detailViewLayer).html(download);
                    
                    
                    $('.forward a', detailViewLayer).click(function() {
                        gcCounter = $(jObj).find('.imageCounter');
                        gcStage = $(jObj).find('.imageslider-stage');
                        imageList = $(jObj).find('ul');
                        fulldata = imageList.find('li.active .fulldata');
                        totalImages = $(jObj).find('ul li').size();
                        
                        activeImage = $(fulldata).parent().parent().find('.active');
                        nextImage = activeImage.next();
                        if (nextImage.size() == 0) {
                            nextImage = activeImage.parent().find('li:first');
                        }
                        activeImage.removeClass('active');
                        nextImage.addClass('active');
                        fulldata = imageList.find('li.active .fulldata');
                        image = $(fulldata).find('.image').html();
                        subtitle = $(fulldata).find('.subtitle').html();
                        headline = $(fulldata).find('.header').html();
                        download = $(fulldata).find('.download').html();
                        nextImageNumber = nextImage.attr('id');
                        var re = new RegExp("image-([1-9]+)-");
                        nextImageNumber = nextImageNumber.replace(re, '');
                        $('.counter', detailViewLayer).html(nextImageNumber + '/' + totalImages);
                        
                        $('.image', detailViewLayer).html(image);
                        $('.text p', detailViewLayer).html(subtitle);
                        $('.header', detailViewLayer).html(headline);
                        $('.download', detailViewLayer).html(download);
                        
                        
                        return false;
                    });
                    
                    
                    $('.backward a', detailViewLayer).click(function() {
                        gcCounter = $(jObj).find('.imageCounter');
                        gcStage = $(jObj).find('.imageslider-stage');
                        imageList = $(jObj).find('ul');
                        fulldata = imageList.find('li.active .fulldata');
                        totalImages = $(jObj).find('ul li').size();
                        
                        activeImage = $(fulldata).parent().parent().find('.active');
                        prevImage = activeImage.prev();
                        
                        if (prevImage.size() == 0) {
                            prevImage = activeImage.parent().find('li:last');
                        }
                        activeImage.removeClass('active');
                        prevImage.addClass('active');
                        fulldata = imageList.find('li.active .fulldata');
                        image = $(fulldata).find('.image').html();
                        subtitle = $(fulldata).find('.subtitle').html();
                        headline = $(fulldata).find('.header').html();
                        download = $(fulldata).find('.download').html();
                        prevImageNumber = prevImage.attr('id');
                        var re = new RegExp("image-([1-9]+)-");
                        prevImageNumber = prevImageNumber.replace(re, '');
                        $('.counter', detailViewLayer).html(prevImageNumber + '/' + totalImages);
                        
                        $('.image', detailViewLayer).html(image);
                        $('.text p', detailViewLayer).html(subtitle);
                        $('.header', detailViewLayer).html(headline);
                        $('.download', detailViewLayer).html(download);
                        
                        return false;
                        
                    });
                    
                    
                    
                    
                    $.blockUI({
                        message: $(detailViewLayer),
                        css: {
                            position: 'fixed',
                            top: '50px',
                            left: '50px',
                            border: 'none',
                            width: '642px',
                            height: '540px',
                            cursor: 'default',
                            backgroundRepeat: 'no-repeat',
                            padding: '20px 20px 30px 20px'
                        },
                        overlayCSS: {
                            backgroundColor: '#000',
                            opacity: '0.7'
                        },
                        fadeIn: 250,
                        fadeOut: 250
                    
                    });
                    
                    
                    return false;
                });
                
                
                
                
                $('.imageSlideControl .backwards', jObj).click(function() {
                    gcCounter = $(jObj).find('.imageCounter');
                    gcStage = $(jObj).find('.imageslider-stage');
                    imageList = $(jObj).find('ul');
                    totalImages = $(jObj).find('ul li').size();
                    activeImage = imageList.find('li.active');
                    prevImage = activeImage.prev();
                    if (prevImage.size() == 0) {
                        prevImage = activeImage.parent().find('li:last');
                    }
                    activeImage.removeClass('active');
                    prevImage.addClass('active');
                    gcStage.html(imageList.find('li.active div.previewdata').html());
                    prevImageNumber = prevImage.attr('id');
                    var re = new RegExp("image-([1-9]+)-");
                    prevImageNumber = prevImageNumber.replace(re, '');
                    gcCounter.html(prevImageNumber + '/' + totalImages);
                    return false;
                });
                $('.imageSlideControl .forward', jObj).click(function() {
                    gcCounter = $(jObj).find('.imageCounter');
                    gcStage = $(jObj).find('.imageslider-stage');
                    imageList = $(jObj).find('ul');
                    totalImages = $(jObj).find('ul li').size();
                    activeImage = imageList.find('li.active');
                    nextImage = activeImage.next();
                    if (nextImage.size() == 0) {
                        nextImage = activeImage.parent().find('li:first');
                        
                    }
                    activeImage.removeClass('active');
                    nextImage.addClass('active');
                    gcStage.html(imageList.find('li.active div.previewdata').html());
                    nextImageNumber = nextImage.attr('id');
                    var re = new RegExp("image-([1-9]+)-");
                    nextImageNumber = nextImageNumber.replace(re, '');
                    gcCounter.html(nextImageNumber + '/' + totalImages);
                    
                    return false;
                });
                
            }
        }
        
        
    },
    
    
    
    nextImage: function(jObj) {
    
        activeImage = $(jObj).find('li.active');
        
    }
    
    
    
}






$(document).ready(function() {

    coophomebanner.init();
});

var coophomebanner = {

    init: function() {
    
    
        $('.CCHCoopHomeLaufband').each(function(i, laufbandObj) {
        
            coophomebanner.loadData($(this, laufbandObj).attr('rel'), laufbandObj);
            
            
        });
    },
    
    loadData: function(path, laufbandObj) {
        domElements = "";
        languageID = $('html').attr('lang');
        $.ajax({
            url: path,
            dataType: 'json',
            success: function(jsonData) {
            
                domElements = '<div class="slide_item">';
                $.each(jsonData, function(i, aktionen) {
                
                    $.each(aktionen, function(i, aktion) {
                        linkToShop = "http://www.coopathome.ch/b2c_coop/coop/deeplink.do?product=" + aktion.article + "&language=" + languageID + "";
                        el = '';
                        if (i > 0) {
                            if (i % 4 === 0) {
                                el += '<br clear=\"all\" /></div><div class="slide_item">';
                            }
                        }
                        
                        if(aktion.grundpreis.length > 0){
                        	aktionenGrundpreisElement = "(" + aktion.grundpreis + ")";		
                        }else{
                        	aktionenGrundpreisElement = '';
                        }
                        
                        
                        el += "<div class=\"product_item\" id=\"coop-topseller-" + aktion.article + "\">" +
                        "	<a href=\"" +
                        linkToShop +
                        "\" target=\"_blank\"><img src=\""
                        +(aktion.thumbnail.indexOf("http://") ==-1?"http://www.coop.ch":"")
                        + aktion.thumbnail +
                        "\" alt=\"" +
                        aktion.description_long +
                        "\" height=\"98\" width=\"103\" /></a>" +
                        "	<span class=\"produktname\"><a href=\"" +
                        linkToShop +
                        "\" target=\"_blank\">" +
                        aktion.name +
                        "</span></a>" +
                        "	<span class=\"preis\"><a href=\"" +
                        linkToShop +
                        "\" target=\"_blank\">CHF " +
                        aktion.aktionspreis +
                        "</span></a>" +
                        "	<span class=\"grundpreis\"><a href=\"" +
                        linkToShop +
                        "\" target=\"_blank\">" +
                        aktionenGrundpreisElement +
                        "</span></a>" +
                        "</div>";
                        
                        
                        domElements += el;
                        
                        
                    });
                });
                domElements += '<br clear=\"all\" /></div>';
                $('.slide_container', laufbandObj).append(domElements);
                coophomebanner.initSlider(laufbandObj)
            }
        });
        
        
    },
    
    initSlider: function(laufbandObj) {
        i = 0;
        var temp;
        temp = new sliderstd($(laufbandObj).find('.slide_container'));
       
    }
    
    
}




function sliderstd(obj) {

    var that = this;
    this.sliderstd = obj;
    this.singleItemWidth = 545;
    this.numItems = $(this.sliderstd).find('.slide_item').length;
    
    this.btnLeft = $(obj).parent().find('.slide_left');
    this.btnRight = $(obj).parent().find('.slide_right');
    this.moves = 1;
    
    if (this.numItems < 2) {
        this.btnLeft.hide();
        this.btnRight.hide();
    }
    
    this.btnLeft.bind('click', function() {
    	
        that.moves--;
        if (that.moves <= 0) {
            that.moves = that.numItems;
            $(that.sliderstd).animate({
                marginLeft: '-=' + ((that.singleItemWidth * that.numItems) - that.singleItemWidth)
            }, function() {
            });
        }
        else {
            that.slideBackward();
            //if (that.moves == 1) $(this).fadeOut();
            if (!$(that.btnRight).is(':visible')) $(that.btnRight).fadeIn();
        }
        return false;
    });
    
    
    this.btnRight.bind('click', function() {
    
        that.moves++;
        
        if (that.moves > that.numItems) {
            that.moves = 1;
            $(that.sliderstd).animate({
                marginLeft: '+=' + ((that.singleItemWidth * that.numItems) - that.singleItemWidth)
            }, function() {
            });
        }
        else {
            that.slideForward();
            //if (that.moves == that.numItems) $(this).fadeOut();
            if (!$(that.btnLeft).is(':visible')) $(that.btnLeft).fadeIn();
        }
        return false;
    });
    
    
    // breite des Slide Containers setzen
    this.numItems = $(obj).find('.slide_item').length;
    $(this.sliderstd).css('width', this.singleItemWidth * this.numItems);
    
    
}

sliderstd.prototype.slideBackward = function() {
    $(this.sliderstd).animate({
        marginLeft: '+=' + this.singleItemWidth
    }, function() {
    });
}

sliderstd.prototype.slideForward = function() {
    $(this.sliderstd).animate({
        marginLeft: '-=' + this.singleItemWidth
    }, function() {
    });
}

/*** MARKENLAUFBANS ****/





function laufbandSetActive(startIndex)  {
	
	$('.CCHLB01 ul.items li').each(function(i) {
		if (i == startIndex + 2) {
			$(this).addClass('active');
		}
	});
}

