/* Common Carousel JS */
//*!******************************************************************************
//* Namespaced Carousel function
//* Dependency on JQuery and JQuery UI
//*
    var prevClicked=false;
    var nextClicked=false;
	$.log("carousel.skin.common:IE6:"+isIE6);
	//$.getScript("/js/jquery.jcarousel.min.js");
	
if(!isIE6){    
	ie.o2.vep.carouselComponent = modernBrowserCarousel;
}
else{
	//alert("ie6BrowserCarousel:init");
	ie.o2.vep.carouselComponent = ie6BrowserCarousel;
}

function onIE6CarouselDelayedInit(elementRef){
	setTimeout(function(){ie6BrowserCarousel(elementRef)}, 5000);
}





function modernBrowserCarousel(elementRef) {
	$.log("ie.o2.vep.carouselComponent : start");
	var elem = jQuery(elementRef);
	elem.parents(".content").css({'position':'relative','left':'auto'});
	var module = jQuery(elem.parents(".vep-module")[0]);
	var id = '#' + module.attr('id');

   $.log("ie.o2.vep.carouselComponent id : "+id);

	elem.jcarousel({
		start:					1,
		scroll:					3,
		animation:				'slow',
		initCallback: 			function(carousel) {

				jQuery(id + ' .cSelectorList > li').bind('click keypress',
					function(e) {
						if(e.type == 'keypress' && e.which != '13') return true;

						var item = jQuery(this);
						item.parent().children('li.selected').removeClass("selected");
						item.addClass("selected");
						carousel.scroll(jQuery.jcarousel.intval((item.text() * 3) - 2));
						return false;
					});

			    jQuery(module.find(".arr-left")).bind('click keypress',
					function(e) {
						if(e.type == 'keypress' && e.which != '13') return true;

						$.log("Button prev");
       
                        
						if(!jQuery(this).hasClass(".arr-left-dis") && !prevClicked && !module.find(".cSelectorList li:first").hasClass("selected")) {
                             prevClicked=true;
                       		 carousel.prev();
                     		 module.find(".cSelectorList li.selected").addClass("sel-breadcrumb-remove");
                             module.find(".cSelectorList li.selected").prev("li").addClass("selected");
                             module.find(".cSelectorList li.sel-breadcrumb-remove").removeClass("selected");
                             module.find(".cSelectorList li.sel-breadcrumb-remove").removeClass("sel-breadcrumb-remove");
                             
                             setTimeout(function(){prevClicked=false;},1000);
                             
                        }
				        return false;
				    });

			    jQuery(module.find(".arr-right")).bind('click keypress',
					function(e) {
						if(e.type == 'keypress' && e.which != '13') return true;

						$.log("Button next")
                   
                        
				        if(!jQuery(this).hasClass(".arr-right-dis") && !nextClicked && !module.find(".cSelectorList li:last").hasClass("selected")){
                        	nextClicked=true;
                            carousel.next();
                            module.find(".cSelectorList li.selected").addClass("sel-breadcrumb-remove");
                            module.find(".cSelectorList li.selected").next("li").addClass("selected");
                            module.find(".cSelectorList li.sel-breadcrumb-remove").removeClass("selected");
                            module.find(".cSelectorList li.sel-breadcrumb-remove").removeClass("sel-breadcrumb-remove");
                            setTimeout(function(){nextClicked=false;}, 1000);
                         }
                         
				        return false;
				    });
			},
            
		itemFirstInCallback:	function(carousel, item, index, state){
				$.log("elem.jcarousel itemFirstInCallback");
				if (index > 1) {
					module.find(".arr-left-dis").removeClass("arr-left-dis");
				}
				else {
					module.find(".arr-left").addClass("arr-left-dis");
				}
			},
		itemLastInCallback:		function(carousel, item, index, state){
				$.log("elem.jcarousel itemLastInCallback");
				if (index >= elem.find("li.jcarousel-item").length) {
					module.find(".arr-right").addClass("arr-right-dis");
				}
				else {
					module.find(".arr-right-dis").removeClass("arr-right-dis");
				}
			},
        'buttonNextHTML':		null,
        'buttonPrevHTML':		null,
           itemVisibleOutCallback: {onAfterAnimation: carousel_itemVisibleOutCallback},
         buttonNextCallback:function(){  },
          buttonPrevCallback:function(){ $.log("Button Prev") }

    });

	elem.find("li.jcarousel-item")
		.css('cursor','pointer')
		.live("click",
			function(e){
				location.href = jQuery(this).find("a.link").attr("href");
				return false;
			})
		.live("keypress",
			function(e){
				if(e.type == 'keypress' && e.which != '13') return true;

				location.href = jQuery(this).find("a.link").attr("href");
				return false;
			});
	var selectListContainer = jQuery('<div class="cSelector"></div>');
	var selectList = jQuery('<ul class="cSelectorList"></ul>');
	var selectListCount = Math.ceil( elem.find("li.jcarousel-item").length / 3 );

	for(var i = 1; i <= selectListCount; i++ ) {
		var selItem = jQuery('<li class="cSelect_' + i + '">' + i + '</li>');
		selectList.append(selItem);
	}
	selectList.find('li:first').addClass("selected");

	var jcContainer = module.find(".jcarousel-container");
	jcContainer.append(selectListContainer.append(selectList));

	selectList.css('margin-left', '-' + (selectList.outerWidth() / 2) + 'px');

	module.find(".arr-left,.arr-right").prependTo(jcContainer).css({'position':'absolute'});
	module.find(".arr-left").addClass("arr-left-dis");
    module.find(".arr-left").append('<a href="javascript://">previous</a>');
    module.find(".arr-next").append('<a href="javascript://">next</a>');
	if(selectListCount <= 1) module.find(".arr-right").addClass("arr-right-dis");
    
    $.log("ie.o2.vep.carouselComponent : end");
}

 function carousel_itemVisibleOutCallback(carousel, item, i, state, evt)
 {
    	$.log("now hidden "+i)
 };
 
 

 
 function ie6BrowserCarousel(elementRef){
 	$.log("ie6BrowserCarousel:start");

	//alert("ie6BrowserCarousel:start");
	
	var elem = jQuery(elementRef);
	$.log(elem.attr('id'));
	elem.addClass("jcarousel-skin-ie6");

	//elem.parents(".content").css({'position':'relative','left':'auto'});
	
	//elem.parents(".content").each(function(){
		//$(this).attr('style','position:relative,left:auto' 	);
				//						   });
	var module = jQuery(elem.parents(".vep-module")[0]);
	
	var jcContainer = module.find(".jcarousel-container");
	
	//alert("ie6BrowserCarousel:elem.jcarousel - full x1");
	
	elem.jcarousel({animate:false});
	
	
	
	elem.jcarousel( {buttonNextHTML: null,
        buttonPrevHTML: null, start:					1,
		scroll:					3,
		animation:				'slow',
				itemFirstInCallback:	function(carousel, item, index, state){
				$.log("elem.jcarousel itemFirstInCallback");
				if (index > 1) {
					module.find(".arr-left-dis").removeClass("arr-left-dis");
				}
				else {
					module.find(".arr-left").addClass("arr-left-dis");
				}
			},
		itemLastInCallback:		function(carousel, item, index, state){
				$.log("elem.jcarousel itemLastInCallback");
				if (index >= elem.find("li.jcarousel-item").length) {
					module.find(".arr-right").addClass("arr-right-dis");
				}
				else {
					module.find(".arr-right-dis").removeClass("arr-right-dis");
				}
			},	
		
		initCallback: onIE6CarouselInit}
);
	
	
	 function onIE6CarouselInit(carousel){
	  
	  module.find(".arr-left,.arr-right").prependTo(jcContainer).css({'position':'absolute'});
	module.find(".arr-left").addClass("arr-left-dis");
    module.find(".arr-left").append('<a href="javascript://">previous</a>');
    module.find(".arr-next").append('<a href="javascript://">next</a>');

	 jQuery(module.find(".arr-left")).bind('click keypress',
					function(e) {
						if(e.type == 'keypress' && e.which != '13') return true;
						$.log("ie6 carousel prev");
						carousel.prev();
					} 
		);
	  jQuery(module.find(".arr-right")).bind('click keypress',
					function(e) {
						if(e.type == 'keypress' && e.which != '13') return true;
						$.log("ie6 carousel next");
						carousel.next();
					} 
		);
 }
	
		elem.find("li.jcarousel-item")
		.css('cursor','pointer')
		.live("click",
			function(e){
				location.href = jQuery(this).find("a.link").attr("href");
				return false;
			})
		.live("keypress",
			function(e){
				if(e.type == 'keypress' && e.which != '13') return true;

				location.href = jQuery(this).find("a.link").attr("href");
				return false;
			});
	$.log("ie6BrowserCarousel:end");
 };
 
 

 

