var defaultScrollSpeed = 0;
var scrollSpeed = defaultScrollSpeed;
var intervalID = null;
var delta = 50;
var mouseRatio = 2;
var divisor = 20;

$(function(){
	/***************/
	/* Flickr menu */
	/***************/
	flickrInit();
	$('.flickr').toggle(
		function(){	//Hides the stuff
			$("#flickr").slideUp();
			window.clearInterval(intervalID);
		},
		function(){	//Show the stuff and request flickr
			flickrFill($("#flickr .slider"));
		}
	);
	flickrFill($("#flickr .slider"));
});

flickrAnimate = function(){
	var container = $("#flickr");
	var slider = $("#flickr .slider");
	if(scrollSpeed!=0){
		if(container.width()>=slider.width())
		{	window.clearInterval(intervalID);	}
		var newMarginLeft = parseInt(slider.css("margin-left").replace("px",""),10) - parseInt(scrollSpeed/divisor,10);
		if(-newMarginLeft>=slider.width() - container.width())	//If rightmost
		{
			newMarginLeft = -(slider.width()- container.width());
			if(scrollSpeed==defaultScrollSpeed || scrollSpeed==-defaultScrollSpeed){	//If no mouse over
				scrollSpeed = -scrollSpeed;
			}else{
				scrollSpeed = 0;
			}
		}
		else if(newMarginLeft>=0)	//If leftmost
		{
			newMarginLeft = 0;
			if(scrollSpeed==defaultScrollSpeed || scrollSpeed==-defaultScrollSpeed){	//If no mouse over
				scrollSpeed = -scrollSpeed;
			}else{
				scrollSpeed = 0;
			}
		}
		$("#flickr .slider").css({marginLeft:newMarginLeft});
	}
}

function flickrFill(div){
	var img
	var count=0;
	var repeat=0;
	if($('*',div).length==0){	//If elements wheren't loaded
		$.ajax({
			url:"/squelettes/flickr/flickr.php",
			dataType:"json",
			beforeSend:function(xhr){
				$('.flickr').append('<img id="flickrloader" style="margin-left:5px" src="/squelettes/flickr/loader.gif" />');
			},
			success:function(data,txtStatus){
				$('#flickrloader').remove();
				while($('.img',div).length<9){
					$.each(data.flickr, function(i,item){
			          	count++;
			            img = $('<a href="'+item.target_url+'" rel="flickr'+repeat+'" title="'+item.title+'"><img src="'+item.thumb_url+'"/></a>');
						div.append(img);
						img.wrap('<div class="img"></div>');
						tb_init(img);
						div.width(count*100);
					});
					repeat++;
				}
				$("#flickr").slideDown(function(){
					intervalID = window.setInterval(flickrAnimate,delta);
				});

			}
		})
	}else{
		$("#flickr").slideDown(function(){
			intervalID = window.setInterval(flickrAnimate,delta);
		});
	}
}

function flickrInit(){
	//Creates needed divs
	$("body").prepend('<div id="flickr" style="display:none"><div class="slider"></div></div>');
	//MouseOverHooks
	$("#flickr").mouseout(function(){
		if(scrollSpeed>0){	//Keep the last scrolling direction
			scrollSpeed = defaultScrollSpeed;
		}else{
			scrollSpeed = -defaultScrollSpeed;
		}
	}).mouseover(function(e){
		scrollSpeed = parseInt((e.pageX - this.offsetLeft - ($(this).width()/2))/mouseRatio,10);
   });
}