var changePage = function(e, args) {
    var carousel = args[0];
    var pageNum = args[1];
    
    carouselNewsGallery.scrollTo(pageNum);
};

/**
 * Custom button state handler for enabling/disabling button state. 
 * Called when the carousel has determined that the previous button
 * state should be changed.
 * Specified to the carousel as the configuration
 * parameter: prevButtonStateHandler
 **/
var handleNewsGalleryPrevButtonState = function(type, args) {

    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/carousel/images/newsgallery/left-enabled.gif";    
    } else {
        leftImage.src = "/carousel/images/newsgallery/left-disabled.gif";    
    }
    
};

/**
 * Custom button state handler for enabling/disabling button state. 
 * Called when the carousel has determined that the next button
 * state should be changed.
 * Specified to the carousel as the configuration
 * parameter: nextButtonStateHandler
 **/
var handleNewsGalleryNextButtonState = function(type, args) {

    var enabling = args[0];
    var rightImage = args[1];
    
    if(enabling) {
        rightImage.src = "/carousel/images/newsgallery/right-enabled.gif";
    } else {
        rightImage.src = "/carousel/images/newsgallery/right-disabled.gif";
    }
    
};

var NewsGalleryChange = function(type, args) {

    for(n=1;n <= nNewsGalleryTotal; n++) {
      document.getElementById("tab" + n).style.color = "#999999";
    }  
    document.getElementById("tab" + args[1]).style.color = "#000000";
};

var handleBeautyPrevButtonState = function(type, args) {

    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/carousel/images/beauty/left-enabled.gif";    
    } else {
        leftImage.src = "/carousel/images/beauty/left-disabled.gif";    
    }
    
};

var handleBeautyNextButtonState = function(type, args) {

    var enabling = args[0];
    var rightImage = args[1];
    
    if(enabling) {
        rightImage.src = "/carousel/images/beauty/right-enabled.gif";
    } else {
        rightImage.src = "/carousel/images/beauty/right-disabled.gif";
    }
};
    
var handleShoppingPrevButtonState = function(type, args) {

    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/carousel/images/shopping/left-enabled.gif";    
    } else {
        leftImage.src = "/carousel/images/shopping/left-disabled.gif";    
    }
    
};

var handleShoppingNextButtonState = function(type, args) {

    var enabling = args[0];
    var rightImage = args[1];
    
    if(enabling) {
        rightImage.src = "/carousel/images/shopping/right-enabled.gif";
    } else {
        rightImage.src = "/carousel/images/shopping/right-disabled.gif";
    }

};

var handleJeweleryPrevButtonState = function(type, args) {

    var enabling = args[0];
    var leftImage = args[1];
    if(enabling) {
        leftImage.src = "/carousel/images/jewellery/left-enabled.gif";    
    } else {
        leftImage.src = "/carousel/images/jewellery/left-disabled.gif";    
    }
    
};

var handleJeweleryNextButtonState = function(type, args) {

    var enabling = args[0];
    var rightImage = args[1];
    
    if(enabling) {
        rightImage.src = "/carousel/images/jewellery/right-enabled.gif";
    } else {
        rightImage.src = "/carousel/images/jewellery/right-disabled.gif";
    }
};
    
/**
 * You must create the carousel after the page is loaded since it is
 * dependent on an HTML element (in this case 'mycarousel'.) See the
 * HTML code below.
 **/
var YAHOO;
var carouselNewsGallery, lAutoPlay = true; 
var carouselBeauty; 
var carouselShopping;
var carouselJewelery;
var pageLoad = function() 
{

   carouselNewsGallery = new YAHOO.extension.Carousel("divNewsGallery", 
        {
            isCircular:     true, 
			wrap: 		     true,
			numVisible:        1,
			scrollInc:         1,
			size:              nNewsGalleryTotal,
			autoPlay:	    5000,
            prevElement:     "prev-arrowNewsGallery",
            nextElement:     "next-arrowNewsGallery",
            prevButtonStateHandler:   handleNewsGalleryPrevButtonState,
            nextButtonStateHandler:   handleNewsGalleryNextButtonState,
            loadPrevHandler: NewsGalleryChange,
            loadNextHandler: NewsGalleryChange,
            loadInitHandler: NewsGalleryChange
            }
    );
    
    var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
    
    for(n=1;n <= nNewsGalleryTotal; n++) {
     YAHOO.util.Dom.setStyle('NewsGalleryBox' + n, 'opacity', 0.8);  
    
     if(isIE) {
        YAHOO.util.Dom.setStyle('NewsGalleryBox' + n, 'left', '0px');  
     }
     else {
        YAHOO.util.Dom.setStyle('NewsGalleryBox' + n, 'left', 'auto');  
     }
    }     

    carouselBeauty = new YAHOO.extension.Carousel("divBeauty", 
        {
            numVisible:        1,
            animationSpeed:    0.15,
            scrollInc:         1,
            navMargin:         30,
            prevElement:     "prev-arrowBeauty",
            nextElement:     "next-arrowBeauty",
            size:              nBeautyTotal,
			wrap: 		     true,
            prevButtonStateHandler:   handleBeautyPrevButtonState,
            nextButtonStateHandler:   handleBeautyNextButtonState
        }
    );
    
    carouselShopping = new YAHOO.extension.Carousel("divShopping", 
        {
            numVisible:        3,
            animationSpeed:    0.15,
            scrollInc:         3,
            navMargin:         30,
			//revealAmount:      26,
            prevElement:     "prev-arrowShopping",
            nextElement:     "next-arrowShopping",
            size:              nShoppingTotal,
			wrap: 		     true,
            prevButtonStateHandler:   handleShoppingPrevButtonState,
            nextButtonStateHandler:   handleShoppingNextButtonState
        }
    );
	
	carouselJewelery = new YAHOO.extension.Carousel("divJewelery", 
        {
            numVisible:        1,
            animationSpeed:    0.15,
            scrollInc:         1,
            navMargin:         30,
            prevElement:     "prev-arrowJewelery",
            nextElement:     "next-arrowJewelery",
            size:              nJewelleryTotal,
			wrap: 		     true,
            prevButtonStateHandler:   handleJeweleryPrevButtonState,
            nextButtonStateHandler:   handleJeweleryNextButtonState
        }
    );

};

var startstopAutoPlay = function(e) {
    
    if(lAutoPlay) {
       document.getElementById("autoplay-button").src = "/img/news_play.gif";
       carouselNewsGallery.stopAutoPlay();     
    }
    else {
     document.getElementById("autoplay-button").src = "/img/news_pause.gif"
     carouselNewsGallery.startAutoPlay(5000);
    }   
    lAutoPlay = !lAutoPlay;
};

YAHOO.util.Event.addListener(window, 'load', pageLoad);
YAHOO.util.Event.addListener("autoplay-button", 'click', startstopAutoPlay);

for(n=1;n <= nNewsGalleryTotal; n++) {
 YAHOO.util.Event.addListener("tab" + n, "click", changePage, [carouselNewsGallery, n]);
}
