$(function(){
	// get params
	$("#info").hide();
	$("#screenSaver").hide();
 	$("#gifs img").hide();
	var rollovers = getRolloverPaths();
	var totalRollovers = rollovers.length;

	$.each(rollovers,function(e) {
		$(new Image()).load(function() {
			if (--totalRollovers < 1) begin();
		}).attr('src',this);
	});
	
});

begin = function () {
	var mode = $(document).getUrlParam("mode");
	if(mode !=null){
		switch (mode){
			case "showInfo":
				$("#info").slideDown();
				$(".active").removeClass("active");
				$("#moreInfoLink").parent().addClass("active");
				break;
			case "screenSaver":
				$("#screenSaver").slideDown();
				$(".active").removeClass("active");
				$("#screenSaverLink").parent().addClass("active");	
				break;
		}
	}
	
	var $gifs = $("#gifs img");
	$gifs.show();
	var rollovers = getRolloverPaths();	
	// add a wrapper to every gif
	$gifs.wrap('<div class="gifHolder" />');
	// add a hover function to the wrapper
	$gifs.parent().hover(function(evt){
		if($(this).find(">img").attr('id') != "02"){
			$(this).append('<img class="rollover" src='+rollovers[Math.floor(Math.random()* rollovers.length)]+'>');
		}
		
	}, function(evt) {
		$(this).find(".rollover").remove();
	});
	
	var $notLoadedGifs = $("#gifs img.gifNotLoaded");
	var imagesLoaded = 0;
	var imagesToLoad = $notLoadedGifs.length;
	var paths = [];
	$.each($notLoadedGifs, function(i, item){
		if($(item).hasClass("generated")){paths.push('img/generated/small/iamnotanartist_gifparanoia_'+$notLoadedGifs[i].id+'.gif')}
		else {paths.push('img/small/iamnotanartist_gifparanoia_'+$notLoadedGifs[i].id+'.gif')};
	});
	var bLoading = false;
	
	// eliminar link
	loadNextImage = function() {
		
		if(imagesLoaded == 1){
			$($notLoadedGifs[imagesLoaded]).parent().parent().remove();
			$($notLoadedGifs[imagesLoaded]).removeClass('gifNotLoaded');
			$($gifs[0]).parent().parent().after("<div id='soundPlayer'></div>");
			
			$("#soundPlayer").flash({
				swf:"swf/player.swf",
				width: 265,
				height: 199,
			});
			
			
			//$($notLoadedGifs[imagesLoaded]).remove();
			//$($notLoadedGifs[imagesLoaded]).removeClass('gifNotLoaded');
			imagesLoaded++;
			if (imagesLoaded < imagesToLoad) loadNextImage();//setTimeout(loadNextImage,50);
			else bLoading = false;
		} else {
			var imgPath = paths[imagesLoaded];
			bLoading = true;
			$(new Image()).load(function(){	
				$($notLoadedGifs[imagesLoaded]).attr('src', imgPath);
				$($notLoadedGifs[imagesLoaded]).removeClass('gifNotLoaded');
				imagesLoaded++;
				if (imagesLoaded < imagesToLoad) loadNextImage();//setTimeout(loadNextImage,50);
				else bLoading = false;
			}).attr('src', imgPath);
		}
		
	}
	
	// warning, this is reverse ordered
	getLatestGeneratedGifId = function() {
		return $("#gifs img.generated").last().attr('id');
	}
	
	loadGifInto = function(imgPath, $target) {
		$(new Image()).load(function(){	
			$target.attr('src', imgPath);
		}).attr('src', imgPath);
	}
	
	
	$("#moreGifs").click(function(){
		$lastGif = $(this).prev();
		$.get('php/db/getGifs.php', {
			'from'	  : getLatestGeneratedGifId(),
			'numGifs' : 30
		}, function(data) { // on complete
			if (data) {
				$newToLoad = $(data).find("img.gifNotLoaded");
				$newToLoad.each(function (i, item){
					paths.push('img/generated/small/iamnotanartist_gifparanoia_'+$(item).attr('id')+'.gif');
					imagesToLoad++;
				});
				
				$lastGif.after(data); // add our data to the last gif
				
				$newToLoad.each(function (i, item){
					var $gif = $("#gifs img#" + item.id);
					$gif.wrap('<div class="gifHolder" />');	
					$gif.parent().hover(function(evt){
						$(this).append('<img class="rollover" src='+rollovers[Math.floor(Math.random()* rollovers.length)]+'>');
					}, function(evt) {
						$(this).find(".rollover").remove();
					});
					$notLoadedGifs.push($gif);
				})
				if (!bLoading) loadNextImage();	
			}
		}); 
		return false;
	});
	
	loadNextImage();
}

getRolloverPaths = function () {
	var rollovers = [];
	var path= "img/ui/rollovers/r_";
	for (var i=1; i <= 13 ; i++) {
		var iAsString= i.toString().length > 1 ? i : "0"+i;
		var r = path + iAsString + ".gif";
		rollovers.push(r);		
	};
	return rollovers;
}
