
/* --------------------------------------------------------------------------
	=setup
--------------------------------------------------------------------------- */

var nombreEmpresa = "zum creativos";

var velocidadAnimacion = 500;
var velocidadScroll = 800;
var retardoFade = 100;
var trabajoActual = "";
var siguienteTrabajo = "";
var blogActual = "";
var siguienteBlog = "";

/* --------------------------------------------------------------------------
	=functions
--------------------------------------------------------------------------- */

function obtenerDetalleTrabajo(project) {
	return $("#trabajo-"+project);
}

function obtenerEnlaceTrabajo(project) {
	return $("#trabajo-list-"+project+" a");
}

function muestraDetalleTrabajo(project, animate) {
	if ($("#trabajo-list a.selected").attr("href")) { 
		trabajoActual = obtenerDetalleTrabajo($("#trabajo-list a.selected").attr("href").replace("\#",""));
	}
	siguienteTrabajo = obtenerDetalleTrabajo(project);

	if (!obtenerEnlaceTrabajo(project).hasClass("selected")) {
		
		// agregar dinámicamente todas las imágenes del trabajo seleccionados
		$.each(projectImages[project], function(i, projectImage) {
			loadProjectImage("img/"+projectImages[project][i].file, projectImages[project][i].alt, $(".project-image-"+project+"-"+(i*1+1)));
		});
		
		// quita trabajo mostrado, si existe
		if (trabajoActual) {trabajoActual.fadeOut(velocidadAnimacion);}
		
		// muestra trabajo seleccionado
		siguienteTrabajo.delay(retardoFade).fadeIn(velocidadAnimacion);
		
		// cambia clase .selected en enlace de la lista de trabajos
		$("#trabajo-list a.selected").removeClass("selected");
		obtenerEnlaceTrabajo(project).addClass("selected");
		
		// cambiar altura del trabajo
		$("#trabajo-container").animate({
			height: siguienteTrabajo.outerHeight(),
			left: 0
		}, velocidadScroll );
		
		// muestra botón "CERRAR TRABAJO"
		$("#cerrar-trabajo").fadeIn(velocidadAnimacion);
		
		// muestra título del trabajo
		$("#trabajo-name").fadeOut(velocidadAnimacion/2);
		$("#trabajo-name").empty();
		$("#trabajo-name").append(" / "+$(obtenerEnlaceTrabajo(project)).text());
		$("#trabajo-name").fadeIn(velocidadAnimacion/2);
		
		// actualiza título de la página
		document.title = nombreEmpresa+" - "+$(obtenerEnlaceTrabajo(project)).text();
	}
	
	// scroll arriba de trabajos
	$.scrollTo("#trabajos", velocidadScroll);
}

function ocultaDetalleTrabajo() {
	trabajoActual = obtenerDetalleTrabajo($("#trabajo-list a.selected").attr("href").replace("\#",""));
	
	// fade out displayed work
	trabajoActual.fadeOut(velocidadAnimacion);
	// remove selected flag
	$("#trabajo-list a.selected").removeClass("selected");
	
	// hide work section
	$("#trabajo-container").delay(retardoFade).animate({
		height: 0,
		left: 1000
	}, velocidadAnimacion, function(){
		$("#trabajo-container").css({left: -1000});
	});
	
	// fade out close project button
	$("#cerrar-trabajo").fadeOut(velocidadAnimacion);
	// fade out work title
	$("#trabajo-name").fadeOut(velocidadAnimacion);
	
	// update document title
	document.title = nombreEmpresa;
}

function botonCerrarTrabajo() {
	$("#trabajos > header").append("<p id=\"cerrar-trabajo\"><a href=\"#index\">Cerrar</a></p>");
	$("#cerrar-trabajo").click(function() {
		ocultaDetalleTrabajo();
	});
}

function setUpProjectImages() {
	$.each(projectImages, function(project, projectImages) { 
		$.each(projectImages, function(i, projectImage) { 
			if (i>0) {
				$(".screenshots ul", obtenerDetalleTrabajo(project)).append("<li><img src=\"img/loading.gif\" alt=\"empty\" class=\"empty project-image-"+project+"-"+(i*1+1)+"\" />&nbsp;loading...</li>");
			}
		});
	});
}
/*
function setUpWorkListHook() {
	$(".project-name").after("<span class=\"project-extra\"></span>");
}
*/
function setUpProjectSlider() {
	$("#trabajo-list a").each(function(){
		var project = $(this).attr("href").replace("\#","");
		// fragile
		$(".screenshots", obtenerDetalleTrabajo(project)).easySlider({
			speed: velocidadAnimacion,
			project: project
		});
	});
}

function loadProjectImage(src, alt, target) {
	if ($(target).hasClass("empty")) {
		$("<img />")
			.attr("src", src)
			.attr("alt", alt)
			.attr("title", alt)
			.bind("imgload",
				function() {
					target.before($(this))
						.fadeOut(velocidadAnimacion*0,
						function() {
							target.remove();
						}
					);
				}
			);
	}
}

function scrollNav() {
	var offset = $("#nav").offset();
	var topPadding = 84;
	$(window).scroll(function() {
		if ($(window).scrollTop() > offset.top) {
			$("#nav").stop().animate({
				marginTop: $(window).scrollTop() - offset.top + topPadding
			});
			$("#logo-menu").fadeIn(400);
		} else {
			$("#nav").stop().animate({
				marginTop: 64
			});
			$("#logo-menu").fadeOut(400);
		};
	});
};
function scrollPage(){
	$("#menu a").click(function() {
		$.scrollTo($(this).attr("href"), velocidadScroll);
	});
}


/* --------------------------------------------------------------------------
	=onload
--------------------------------------------------------------------------- */

$(function() {

	scrollNav();  //scroll menú
	scrollPage(); //scroll página


	// on click events for showing work
	$("#trabajo-list a").click(function() {
		muestraDetalleTrabajo($(this).attr("href").replace("\#",""));
	});
	
	// setup
	botonCerrarTrabajo();
	setUpProjectImages();
	/*setUpWorkListHook();*/
	setUpProjectSlider();

	// display work if there is a valid hash in the url
	var project = location.hash.replace("\#","");
	if (obtenerDetalleTrabajo(project).length) {
		muestraDetalleTrabajo(project, true);
	}
	

	$("#blog-list a").click(function() {
		muestraDetalleBlog($(this).attr("href").replace("\#",""));
	});
	botonCerrarBlog();
	//setUpBlogImages();
	
	var blog = location.hash.replace("\#","");
	if (obtenerDetalleBlog(blog).length) {
		muestraDetalleBlog(blog, true);
	}

});

/* --------------------------------------------------------------------------
	=function blog
--------------------------------------------------------------------------- */

function obtenerDetalleBlog(blog) {
	return $("#blog-"+blog);
}

function obtenerEnlaceBlog(blog) {
	return $("#blog-list-"+blog+" a");
}

function muestraDetalleBlog(blog, animate) {
	if ($("#blog-list a.selected").attr("href")) { 
		blogActual = obtenerDetalleBlog($("#blog-list a.selected").attr("href").replace("\#",""));
	}
	siguienteBlog = obtenerDetalleBlog(blog);

	if (!obtenerEnlaceBlog(blog).hasClass("selected")) {
		
		// agregar dinámicamente todas las imágenes del trabajo seleccionados
		//$.each(newsAll[blog], function(i, projectImage) {
			//loadProjectImage("img/"+projectImages[project][i].file, projectImages[project][i].alt, $(".project-image-"+project+"-"+(i*1+1)));
		//});
		
		// quita trabajo mostrado, si existe
		if (blogActual) {blogActual.fadeOut(velocidadAnimacion);}
		
		// muestra trabajo seleccionado
		siguienteBlog.delay(retardoFade).fadeIn(velocidadAnimacion);
		
		// cambia clase .selected en enlace de la lista de trabajos
		$("#blog-list a.selected").removeClass("selected");
		obtenerEnlaceBlog(blog).addClass("selected");
		
		// cambiar altura del trabajo
		$("#blog-container").animate({
			height: siguienteBlog.outerHeight(),
			left: 0
		}, velocidadScroll );
		$("#blog-container").css('margin-bottom','20px');
		
		// muestra botón "CERRAR TRABAJO"
		$("#cerrar-blog").fadeIn(velocidadAnimacion);
		
		// muestra título del trabajo
		$("#blog-name").fadeOut(velocidadAnimacion/2);
		$("#blog-name").empty();
		$("#blog-name").append(" / "+$(obtenerEnlaceBlog(blog)).text());
		$("#blog-name").fadeIn(velocidadAnimacion/2);
		
		// actualiza título de la página
		document.title = nombreEmpresa+" - "+$("h2", obtenerDetalleBlog(blog)).text();
	}
	
	// scroll arriba de trabajos
	$.scrollTo("#blog", velocidadScroll);
}

function ocultaDetalleBlog() {
	blogActual = obtenerDetalleBlog($("#blog-list a.selected").attr("href").replace("\#",""));
	
	// fade out displayed work
	blogActual.fadeOut(velocidadAnimacion);
	// remove selected flag
	$("#blog-list a.selected").removeClass("selected");
	
	// hide work section
	$("#blog-container").delay(retardoFade).animate({
		height: 0,
		left: 1000
	}, velocidadAnimacion, function(){
		$("#blog-container").css({left: -1000});
	});
	$("#blog-container").css('margin-bottom','0px');
	
	// fade out close project button
	$("#cerrar-blog").fadeOut(velocidadAnimacion);
	// fade out work title
	$("#blog-name").fadeOut(velocidadAnimacion);
	
	// update document title
	document.title = nombreEmpresa;
}

function botonCerrarBlog() {
	$("#blog > header").append("<p id=\"cerrar-blog\"><a href=\"#index\">Cerrar</a></p>");
	$("#cerrar-blog").click(function() {
		ocultaDetalleBlog();
	});
}
/*
function setUpBlogImages() {
	$.each(projectImages, function(project, projectImages) { 
		$.each(projectImages, function(i, projectImage) { 
			if (i>0) {
				$(".screenshots ul", obtenerDetalleTrabajo(project)).append("<li><img src=\"img/loading.gif\" alt=\"empty\" class=\"empty project-image-"+project+"-"+(i*1+1)+"\" /></li>");
			}
		});
	});
}
*/
