/*******

	***	imageSlider by Cedric Dugas	***
	*** Http://www.position-absolute.com ***
	
	Slide your image gallery without effort with this script
	
	You can use and modify this script for any project you want, but please leave this comment as credit.

*****/


var oSliders = ""
i= 0
$(document).ready(function() {

	nSliders=$('.slider').size();
	var oSliders=new Object();
	var i = 0
	for(var i=0;i<nSliders;i++){
		var thisContainer=$('.slider:eq('+i+')');
		padding = 0
		if (thisContainer.attr("id") == "animVertical"){
			var animSide = "top"
		}else{
			var animSide ="left"
		}
		oSliders[i]=new rotateDiv(i, padding, thisContainer, animSide);
	}
	

	
	$(".saisonSelector").click(function() {
		// Act on the event
		saison = $(this).attr("rel")
		var saisonTitle = $(this).text()

		if(saisonTitle != $(".selection .dropdownbutton").html()){
			$(".selection .dropdownbutton").text(saisonTitle)
			
			bgImage = "/library/images/background/bg_"+saison+".gif"
			$("#saisons .bg").css("backgroundImage", 'url('+bgImage+')')
			
			$("#dropdownSeason .items").animate({opacity:0},function(){
				if(!$("#dropdownSeason .items:first").hasClass("."+saison)){
					$("."+saison).insertBefore("#dropdownSeason .items:first")
				}
				$("#dropdownSeason").css("left","0px")
				var thisContainer=$('#saisons .slider');
				padding = 0
				if (thisContainer.attr("id") == "animVertical"){
					var animSide = "top"
				}else{
					var animSide ="left"
				}
				$("#saisons a.moveLeft").unbind("click")
				$("#saisons a.moveRight").unbind("click")
				i++
				oSliders[1]=new rotateDiv(i, padding, thisContainer, animSide);
				$("#dropdownSeason .items:first a").css("opacity",0)
				$("#dropdownSeason .items:first a").css("marginLeft","10px")
				$("#dropdownSeason .items").css("opacity",1)
				
				setTimeout("animateFriends(0,'#dropdownSeason')",100)
				setTimeout("animateFriends(1,'#dropdownSeason')",300)
				setTimeout("animateFriends(2,'#dropdownSeason')",500)
			}) 
			
				
		}
		
		return false;
	});
	
	$(".saisonSelector").eq(1).trigger("click")
	
});

var saison = "saison2"

function reloadVideoListing(containerID, boxName, templateFile, categoryID, sortOrder) {
    $('#'+containerID).find(".items").fadeOut();
    containerID = "#"+containerID;
    var appendToURL = '';
    if (templateFile) 
        appendToURL += '/templateFile/'+templateFile;
    if (categoryID) 
        appendToURL += '/categoryID/'+categoryID;
        
	$.ajax({url: '/misc/ajaxreloadvideolist/sortOrder/'+sortOrder+'/boxName/'+boxName + appendToURL,type: 'get',
		   success: function (data) {
						var response = eval("("+data+")");

						if (1 == response.error) {
							$(containerID).html(response.box);
						if(!$("#dropdownSeason .items:first").hasClass("."+saison)){
							$("."+saison).insertBefore("#dropdownSeason .items:first")
						}
						$(containerID).find(".items:first a").css("opacity",0)
						$(containerID).find(".items:first a").css("marginLeft","10px")
						}
											
						var thisContainer=$(containerID).parent().parent().parent();
						padding = 0
						if (thisContainer.attr("id") == "animVertical"){
							var animSide = "top"
						}else{
							var animSide ="left"
						}
						
						$(containerID).find(".items").css("left","0px")
						$(thisContainer).find("a.moveLeft").unbind("click")
						$(thisContainer).find("a.moveRight").unbind("click")
						i++
						$(containerID).css("left","0px")
						oSliders[i]=new rotateDiv(i, padding, thisContainer, animSide);
						
						$(containerID).find(".items").css("opacity",1)
					
						setTimeout("animateFriends(0,'"+containerID+"')",100)
						setTimeout("animateFriends(1,'"+containerID+"')",300)
						setTimeout("animateFriends(2,'"+containerID+"')",500)
					}
		 });
}


var animateFriends= function(divanimated,parentDiv){
	$(parentDiv).find(".items a").eq(divanimated).animate({opacity: 1, marginLeft: "0px"},400,"easeOutExpo")
}
function rotateDiv(num, padding, jqContainer, animSide){
	this.animSide = animSide
	this.numero=num;
	this.jqContainer=jqContainer;
    this.headline_size;
	this.animPos = 0;
	this.headlineNum = 0;
	this.oldHeadline = 0;
	this.divPos=0;
	this.side = 0;
	this.divWidth = 0;
	this.position = 0;

	this.divPadding = padding;
	if (this.animSide == "top"){ // place les items du sens voulu
		this.divWidth = jqContainer.find("div.items:eq(0)").height() + this.divPadding;
	} else {
		this.divWidth = jqContainer.find("div.items:eq(0)").width() + this.divPadding;
	}
	
	this.headline_size = jqContainer.find("div.items").size();
	this.headline_sizeMinusOne = jqContainer.find("div.items").size() -1;
	for(x=0;x<this.headline_size; x++){
		jqContainer.find("div.items:eq(" + x + ")").css(this.animSide, this.position);
		this.position = this.position + this.divWidth;
	}

	jqContainer.find("a.moveLeft").click(associateObjWithEvent(this,"move"));
	jqContainer.find("a.moveRight").click(associateObjWithEvent(this,"move"));
}
rotateDiv.prototype.move=function(e, o)  {

	//quel sens? depend du a clique
	var classe=o.getAttribute('name');
	var sens=classe=='moveLeft'?-1:1;

    itemContainer = this.jqContainer.find('.containerItems'); 
	this.multipleWidth = this.divWidth * this.headline_size;

    if ((this.side ==0 && sens==-1) || (this.side ==1 && sens==1)){
		this.divPos=this.divPos - (sens * this.multipleWidth);
		this.side=!this.side;
	}
	this.animPos = this.animPos +(sens* this.divWidth) ; //on incremente la position target du div selon le mouvement que l'on veut

    var animation=new Object();
	animation[this.animSide]=this.animPos;
	if(sens==-1){
		var passeObject=this;
		passeObject.headlineNum = (passeObject.oldHeadline + 1 ) % (passeObject.headline_size);
		var saison =itemContainer.children().eq(passeObject.headlineNum).attr("title")
		if($(".selection .dropdownbutton").text() != saison&& saison != ""){
			
			$(".selection .dropdownbutton").html(saison)
			saison = saison.replace(" ","")
			saison = saison.replace("S","s")
			bgImage = "/library/images/background/bg_"+saison+".gif"
			$("#saisons .bg").css("backgroundImage",  'url('+bgImage+')')
			
		}
		itemContainer.animate(animation,1000,"easeOutExpo",
            function bouge() {
				itemContainer.children().eq(passeObject.oldHeadline).css(passeObject.animSide, passeObject.divPos);
		
				passeObject.divPos = passeObject.divPos + passeObject.divWidth;
				passeObject.headlineNum = (passeObject.oldHeadline + 1 ) % (passeObject.headline_size);

				passeObject.oldHeadline = passeObject.headlineNum;
		});
	} else {
        this.headlineNum = (this.oldHeadline +this.headline_size-1) % (this.headline_size);
        this.oldHeadline = this.headlineNum;
		this.divPos = this.divPos - (sens * this.divWidth);
		this.jqContainer.find("div.items:eq(" + this.headlineNum + ")").css(this.animSide, this.divPos);
		var saison = this.jqContainer.find("div.items:eq(" + this.headlineNum + ")").attr("title")
		if($(".selection .dropdownbutton").text() != saison && saison != ""){
			$(".selection .dropdownbutton").html(saison)
			saison = saison.replace(" ","")
			saison = saison.replace("S","s")
			bgImage = "/library/images/background/bg_"+saison+".gif"
			$("#saisons .bg").css("backgroundImage",  'url('+bgImage+')')
		}
		this.jqContainer.find("div.containerItems").animate(animation,1000,"easeOutExpo");
	}
return false;
}
function associateObjWithEvent(obj, methodName){
    return (function(e){
        e = e||window.event;
        return obj[methodName](e, this);
    });
}





















