/*
 *  wsr-lib.js - WSR effects
 *
 *  Required plugins:
 *  > jquery.hoverIntent.min.js
 *
 */
 
topNavHandler = {

	dropdownClassName : ".wsr-topnav-level2",
	btnArrowOpenedClassName : "wsr-opened",
	dropEnableClassName : ".wsr-dropdown-enable",
	slideSpeed : "fast",

	dropdownSlideDown : function() {
		$(this)
		.addClass(topNavHandler.btnArrowOpenedClassName)
		.children(topNavHandler.dropdownClassName)
		.slideDown(topNavHandler.slideSpeed);
		$("#wsr-goodies-select select").css({visibility:"hidden"});
	},

	dropdownSlideUp : function() {
		$(this)
		.removeClass(topNavHandler.btnArrowOpenedClassName)
		.children(topNavHandler.dropdownClassName)
		.hide();
		$("#wsr-goodies-select select").css({visibility:"visible"});
	},

	init : function() {
		$(topNavHandler.dropEnableClassName).hoverIntent( {
			sensitivity : 5,
			interval : 100,
			over : topNavHandler.dropdownSlideDown,
			timeout : 200,
			out : topNavHandler.dropdownSlideUp
		});
	}
};

dropListHandler = {

	maxChar : 20,
	listClassName : ".wsr-combobox-list",
	btnClassName : ".wsr-combobox-btn",
	openedClassName : "wsr-opened",
	
	hideAll : function() {
		$(dropListHandler.listClassName).hide();
		$(dropListHandler.listClassName).removeClass(dropListHandler.openedClassName);
	},

	init : function(){

		$("body").bind('click', function(){
			dropListHandler.hideAll();
		});

		$(dropListHandler.listClassName).click(function(event){
			event.stopPropagation();
		});
		
		// Select button action
		$(dropListHandler.btnClassName).click(function(event){
			//event.stopPropagation();
			var combo_list = $(this).parent().find(dropListHandler.listClassName);
			var openIt = true;
      
			if(combo_list.hasClass(dropListHandler.openedClassName)){
				openIt = false;
				combo_list.removeClass(dropListHandler.openedClassName);
			}
		  
			dropListHandler.hideAll();
			
			if(openIt){
			  combo_list.fadeIn();
			  combo_list.addClass(dropListHandler.openedClassName);
			}
			
			return false;
		});
				
		// Combobox list item selection
		$(dropListHandler.listClassName+" a").click(function(){
			var parent_line = $(this).parent();
			var parent_list = parent_line.parent();
			var parent_block = parent_list.parent();
			var parent_block_id = parent_block.attr("id");
			var selected_item_val = $(this).text();
			var selected_item_class = $(this).attr("class");
			var new_btn_val = (selected_item_val!="")?selected_item_val:$(this).attr("title");
			
			/* Fav championship */
			if(parent_block_id=="wsr-header-fav"){
				parent_block.find(dropListHandler.btnClassName).html(new_btn_val.substr(0, dropListHandler.maxChar));
			}
			
			/* End selection */
			dropListHandler.hideAll();
		});
				
	}
};

scheduleHandler = {

	gridWidth : 859,
	gridTopLimit : 38,
	tooltipOffWidth : 292,
	//tooltipWidth : 321,
  
	positionTooltip : function(activity) {
		var activityPos = activity.position();
		var activityTop = activityPos.top;
		var activityLeft = activityPos.left;
		var activityWidth = activity.width();
		var activityRefWidth = activityLeft + (activityWidth/2) + scheduleHandler.tooltipOffWidth;
		var tooltipPosLeft = (activityWidth/2)-52;
		var tooltipPosTop = 0;
		var offlimitRight = false;
		var offlimitTop = false;
		var curTooltip = activity.find(".wsr-activity-tooltip");
		var parentPos = curTooltip.parent().parent().position();
		var parentTop = parentPos.top;

		// Getting the grid position values
		if(activityRefWidth > scheduleHandler.gridWidth){
			offlimitRight = true;
			curTooltip.addClass("wsr-tooltip-rightpos");
			tooltipPosLeft = (activityWidth/2)-scheduleHandler.tooltipOffWidth;
		}
		
		// If the tooltip is crosspassing the top of the grid
		if(parentTop == scheduleHandler.gridTopLimit){
			offlimitTop = true;
			curTooltip.addClass("wsr-tooltip-toppos");
			tooltipPosTop = activityTop + 30;
		}
		
		// If the tooltip is crosspassing the right of the grid
		if(offlimitRight && offlimitTop){
			curTooltip.addClass("wsr-tooltip-corner");
		}

		// Applying new position
		curTooltip.css("left", tooltipPosLeft + "px");
		
		if(tooltipPosTop!=""){
		   curTooltip.css("top", tooltipPosTop + "px");
		}
		curTooltip.show();
	},

	selectItem : function(activity) {
		var inputId = activity.find("input");
		var inputVal = inputId.attr("value");
		var newInputVal = (inputVal==0)?1:0;
		
		// Applying new value
		inputId.attr("value", newInputVal);
	},

	hideTooltip : function() {
		$(".wsr-activity-tooltip").hide();
	},

	init : function() {
		// Activity action onClick
		$(".wsr-schedule-activity").click(function(){
			scheduleHandler.hideTooltip();
			scheduleHandler.selectItem($(this));
			$(this).toggleClass("wsr-activity-clicked");
		});
		
		// Village Activity action onClick
		$(".wsr-schedule-activity-village").click(function(){
			//scheduleHandler.hideTooltip();
			scheduleHandler.selectItem($(this));
			$(this).find(".wsr-entry-title").toggleClass("wsr-heading-village-selected");
		});
		
		// Activity action onMouseover
		$(".wsr-schedule-activity").hover(
			function (){
				scheduleHandler.positionTooltip($(this));
			}, 
			function () {
				$(this).children(".wsr-activity-tooltip").hide();
			}
		);
	}
};

$(document).ready(function(){
	// Get rid of the outline style around links
	$('a, button, h3, h4, .wsr-button-submit input').focus(function(){ this.blur();} );
});

/********** End Adrian *************************/


function startAnimation(className, duration)
{
    var i = 1;
    var nb = $("."+className).size();
    if (nb <=1)
        return;
    
    $("."+className).hide(); 
    $('#'+className+'-' + i).show();
    
    var refreshId = setInterval(function()
    {
        // hide all div
        $("."+className).each(function(index, value) {
            $(this).hide(); 
        });
        // show the next one
        i = (i%nb)+1;
        $('#'+className+'-' + i).show();
    }, duration);
}


// Timing button 
function FadeToFade(){
    $('#wsr-block-meetinginfos #wsr-meeting-live-timing').animate({
        opacity: 0.3
        },1000, function(){
                    $(this).animate({
                                    opacity: 1
                    },1000);
    });
};

$(document).ready(function(){


	if ($(".wsr-animation-carousel").size()>0)
	{
	    startAnimation("wsr-animation-carousel", 2500);
    }
    
	if ($(".wsr-zone-partners").size()>0)
	{
	    startAnimation("wsr-zone-partners", 2500);
    }
    
    // video intro
    /*if ($("#wsr-video-intro").size()>0)
	{
	    //alert($("#wsr-intro-player").attr("href"));
	    $("#wsr-intro-player").attr("href", $("#wsr-video-intro").attr("jurl"));
	    alert($("#wsr-intro-player").attr("href"));
	    // lancer le player
        flowplayer("wsr-intro-player", { src: '/_layouts/RenaultWorldSeries/flowplayer/flowplayer-3.1.5.swf', wmode: 'opaque' }, {
              clip: {
                  autoPlay: true,
                  autoBuffering: true
              },
              plugins: {
                 controls: null
              }
          });
	    $.facebox({ div: '#wsr-video-intro' });
    }*/
    
    
    // pour gérer le bug flowplayer IE
        if ($("#wsr-intro-facebox-video").size()>0)
	    {
	        /*$("#playerIntro").attr("href", $("#wsr-intro-facebox-video").attr("jurl"));
            flowplayer("playerIntro", { src: '/_layouts/RenaultWorldSeries/flowplayer/flowplayer-3.1.5.swf', wmode: 'opaque' }, {
                  clip: {
                      autoPlay: true,
                      autoBuffering: true
                  },
                  plugins: {
                     controls: null
                  }
              });*/
            $.facebox({ div: '#wsr-intro-facebox-video' })
	    }
	
    // video multimedia box
    /*$('.wsr-multimedia-gallery-video').click(function(){
        //alert($(this).attr("jurl"));
        $("#playerMultimedia").attr("href", $(this).attr("jurl"));
        flowplayer("playerMultimedia", { src: '/_layouts/RenaultWorldSeries/flowplayer/flowplayer-3.1.5.swf', wmode: 'opaque' }, {
              clip: {
                  autoPlay: true,
                  autoBuffering: true
              },
              plugins: {
                 controls: null
              }
          });
        $.facebox({ div: '#wsr-multimedia-facebox-video' });
    });*/

    // coming soon
    if ($("#wsr-coming-soon").size()>0)
	{
	    //$.facebox({ div: '#wsr-coming-soon' /*, neverClose:true */});
	    $('#wsr-coming-soon').modal({ overlayClose: false, close: false });
    }
    
    
    
    
    // Lightbox
	$("a[rel*=facebox]").facebox({
		loadingImage : "/_layouts/RenaultWorldSeries2011/Images/layout/wsr-lightbox-loading.gif",
		closeImage   : "/_layouts/RenaultWorldSeries2011/Images/layout/wsr-lightbox-closelabel.png",
		opacity : 0.6
	});
	
    if ($("#wsr-content-flow").size()>0)
	{
        // Content flow
        //var cf = new ContentFlow("wsr-content-flow", {
        //    reflectionColor: "#782770",
        //    negativeMarginOnFloat: 'none',
        //    maxItemHeight: 135,
        //    visibleItems: 3,
        //    circularFlow: false,
        //    startItem: nextMeetingCarrousselId,// FPAQ : startItem must be the next meeting 
        //    flowSpeedFactor: 0.2    
        //});
        
        // Content flow
        var cf = new ContentFlow("wsr-content-flow", {
                startItem : nextMeetingCarrousselId,
                visibleItems : 5,
                reflectionHeight: 0,
                maxItemHeight: 135,
                circularFlow: false,
                flowSpeedFactor: 0.2    
            });
            

	}
	if ($("#wsr-meeting-timer").size()>0)
	{
	    //alert("timer="+dtStartNextMeeting);
        // Timer				
        $("#wsr-meeting-timer").countdown({ until: dtStartNextMeeting, format: 'dHMS',
            layout: '<span class="image{d100}"></span>'
			+ '<span class="image{d10}"></span>'
			+ '<span class="image{d1}"></span>'
			+ '<span class="imageSep"></span>'
			+ '<span class="image{h10}"></span>'
			+ '<span class="image{h1}"></span>'
			+ '<span class="imageSep"></span>'
			+ '<span class="image{m10}"></span>'
			+ '<span class="image{m1}"></span>'
			+ '<span class="imageSep"></span>'
			+ '<span class="image{s10}"></span>'
			+ '<span class="image{s1}"></span>'
        });
	}
	
	
	
    
    //bouton live timing                                                      
    setInterval(FadeToFade,3000);


});



