	/**
 * Functions for
 * RZ
 * @author Ambroise Maupate
 */

var currentCarroussel;
var newsLoop;
var delay;

var vignettesToPush = null;
var vignetteContentHeight = 0;

var currentCategory = "";

function launchNews(){
	var news = $("#facebook_stream").children();

	if($("li.currentNew").length){
		$("li.currentNew").fadeOut(300, function(){
			if($("li.currentNew").next().length){
				var c_new = $("li.currentNew").get();
				$(c_new).removeClass("currentNew");
				$(c_new).next().addClass("currentNew").css("display","none");
				$(c_new).next().fadeIn(750);
			}
			else {
				// Retour au debut
				var c_new = $("li.currentNew").get();
				$(c_new).removeClass("currentNew");
				$("#facebook_stream li:first-child").addClass("currentNew").css("display","none");
				$("#facebook_stream li:first-child").fadeIn(750);
			}
		});
	}
	else {
		$("#facebook_stream li:first-child").addClass("currentNew").css("display","none");
		$("#facebook_stream li:first-child").fadeIn(750);
	}
	$('body').addClass("news_launched");
}

/**
 * Filter home works by category
 */
function rz_filter_category( category ){

	currentCategory = category;
	clearTimeout(delay);
	$(".vignette .vignette_mask").stop(true);
	$(".sousmenu.on").removeClass("on");

	if (currentCategory != "") {
		var outOfCat = $(".vignette").not('.'+currentCategory).get();
		var inCat = $(".vignette."+currentCategory).get();
		$(inCat).find('.vignette_mask').fadeOut(500);
		$(outOfCat).find('.vignette_mask').fadeIn(500);
		$(".sousmenu."+currentCategory).addClass("on");
	}
	else {
		$(".vignette .vignette_mask").fadeOut(500);
		$(".sousmenu.reset").addClass("on");
	}

}

/**
 * Create a facebook like button
 */
function rz_create_fb_like( url, element )
{
	var elem = $(document.createElement("fb:like"));
	elem.attr("href", url);
	elem.attr("send", "false");
	elem.attr("layout", "button_count");
	elem.attr("width", "450");
	elem.attr("show_faces", "false");
	
	//$(element).after(elem);
	//FB.XFBML.parse($(element).find("fb:like").get(0));
}

/**
 * Find vignettes from next rows
 */
function rz_find_rows (element, rowCount) {
	// Search the vignettes under the current one
	var elementY = $(element).offset().top;
	//console.log("Top limit : "+(elementY+(rowCount*130))+"px");
	
	var first = $(".vignette, #heading").filter( function(index)
	{
		if ($(this).offset().top >= (elementY+(rowCount*130))) { 
			return true; 
		}
		else {
			return false;
		}
	}).add("#site_footer").get();

	vignettesToPush = first;
	
	//for (var i = first.length - 1; i >= 0; i--){
	//	console.log($(first[i]).attr("id")+" - top : "+$(first[i]).css("top"));
	//};
	return first;
}


function showVignettes() {
	
	var masks = $('.vignette .vignette_mask').get();
	
	for (var i = masks.length - 1; i >= 0; i--){
		
		var randTime = Math.random()*2000;
		$(masks[i]).fadeOut(randTime);
	};
	
	// display background and text only after loading
	var delay2 = window.setTimeout( showBaseVignettes , 1000);
	var delay3 = window.setTimeout( addEventsOnVignettes , 1000);
	
	$('body').addClass("vignettes_showed");
}

function messVignettes(){
	var thumbs = $('.vignette .inner_vignette_image').get();
	for (var i = thumbs.length - 1; i >= 0; i--){
		
		var thumb_dy = (Math.random()*100-50);
		var thumb_dx = (Math.random()*100-50);
		
		$(thumbs[i]).css("top", thumb_dy+"px");
		$(thumbs[i]).css("left", thumb_dx+"px");
	};
}
function rearrangeVignettes() {
	
	var thumbs = $('.vignette .inner_vignette_image').get();
	for (var i = thumbs.length - 1; i >= 0; i--){
		
		$(thumbs[i]).animate({left: 0, top: 0}, 500, function() {
		  // stuff to do after animation is complete
		});
	};
}
function showBaseVignettes()
{
	$('.vignette .inner_vignette').fadeIn(250);
	$('.vignette').addClass("coloured");
}


function addEventsOnVignettes(){
	
	var thumbs = $('.vignette').get();
	
	for (var i = thumbs.length - 1; i >= 0; i--){
		var vignette = $(thumbs[i]).get();
		var vignette_calque = $(vignette).find(".vignette_calque").get();
		var vignette_image = $(vignette).find(".inner_vignette_image").get();
		
		//console.log("event setted up on…");
		$(vignette_calque).unbind();
		$(vignette_calque).bind("mouseenter mouseleave click", function(event){
						
			if ( event.type == "mouseenter" ) {
				// do something on mouseover
				//alert("Mouseenter");
				
				$(event.currentTarget).prev(".vignette_image").find(".inner_vignette_image").animate({top:+130}, {duration:300, easing:"easeOutCubic"});
				$(event.currentTarget).prev(".vignette_image").find(".vignette_new").fadeOut(300);
				
			} else if ( event.type == "mouseleave" ){
				
				//alert("Mouseleave");
				$(event.currentTarget).prev(".vignette_image").find(".inner_vignette_image").animate({top:0}, {duration:300, easing:"easeOutCubic"});
				$(event.currentTarget).prev(".vignette_image").find(".vignette_new").fadeIn(300);
			}
			else {
				//console.log("CLICK !");
				$.history.load("!/"+$(event.currentTarget).parent().attr("id"));
			}
		});
	};
}

function scroll_top() {
	$.scrollTo( { top:0, left:0}, 500); 
}

function generateTopPageLinks() {
	var rowCount = 5;
	
	$(".top_pages li").not(".first").remove();
	
	var linkCount = Math.floor($(document).height()/(rowCount*130));
	//console.log("Nombre de liens : "+linkCount);
	
	for (var i=1; i <= linkCount; i++) {
		var link = $(".top_pages li.first").clone(true);
		$(link).attr("id", "link_"+i);
		$(link).css("top", i*(rowCount*130)+"px");
		$(link).removeClass("first");
		
		$(link).appendTo(".top_pages ul");
		$(link).fadeIn();
	};
}
function set_currentwork_image () {
	var vignette_image = $(".vignette.openned .vignette_image img");
	change_link_image($(vignette_image).attr("src"));
}


function getElementByRel(rel) {
    aElements = document.getElementsByTagName("link");
    relElems = [];
    for (i = 0; i < aElements.length; i++) {
        if (aElements[i].hasAttribute("rel") && aElements[i].rel == rel) {
             return aElements[i];
        }
    }
}

function change_link_image ( image_url ) {
	var link = getElementByRel("image_src");
	$(link).attr("href", image_url);
}
