//PLUGINS

/************************************************
jquery.animate-enhanced plugin v0.68
Author: www.benbarnett.net || @benpbarnett

Copyright (c) 2011 Ben Barnett
Licensed under the MIT license
http://www.opensource.org/licenses/mit-license.php
*************************************************/
(function(p,z,A){function C(a,c,j,f){var h=D.exec(c),g=a.css(j)==="auto"?0:a.css(j);g=typeof g=="string"?v(g):g;typeof c=="string"&&v(c);f=f===true?0:g;var m=a.is(":hidden"),d=a.translation();if(j=="left")f=parseInt(g,10)+d.x;if(j=="top")f=parseInt(g,10)+d.y;if(!h&&c=="show"){f=1;m&&a.css({display:"block",opacity:0})}if(h){a=parseFloat(h[2]);if(h[1])a=(h[1]==="-="?-1:1)*a+parseInt(f,10);return a}else return f}function E(a,c,j,f,h,g,m){var d=a.data(l)||jQuery.extend(true,{},F),b=h;if(c=="left"||c==
"top"){var i=d.meta,r=v(a.css(c))||0;b=g?h-r:h;i[c]=b;i[c+"_o"]=a.css(c)=="auto"?0+b:r+b||0;d.meta=i;if(g&&b===0){b=0-i[c+"_o"];i[c]=b;i[c+"_o"]=0}}return a.data(l,G(d,c,j,f,b,g,m))}function G(a,c,j,f,h,g,m){a=typeof a==="undefined"?{}:a;a.secondary=typeof a.secondary==="undefined"?{}:a.secondary;for(var d=e.length-1;d>=0;d--){if(typeof a[e[d]+"transition-property"]==="undefined")a[e[d]+"transition-property"]="";a[e[d]+"transition-property"]+=", "+(g===true?e[d]+"transform":c);a[e[d]+"transition-duration"]=
j+"ms";a[e[d]+"transition-timing-function"]=f;a.secondary[g===true?e[d]+"transform":c]=g===true?m===true&&H?"translate3d("+a.meta.left+"px,"+a.meta.top+"px,0)":"translate("+a.meta.left+"px,"+a.meta.top+"px)":h}return a}function I(a){for(var c in a)if((c=="width"||c=="height")&&(a[c]=="show"||a[c]=="hide"||a[c]=="toggle"))return true;return false}function q(a){for(var c in a)return false;return true}function v(a){return parseFloat(a.replace(/px/i,""))}function J(a,c,j){var f=jQuery.inArray(a,K)>-1;
if((a=="width"||a=="height")&&c===parseFloat(j.css(a)))f=false;return f}var K=["top","left","opacity","height","width"],e=["","-webkit-","-moz-","-o-"],L=["avoidTransforms","useTranslate3d","leaveTransforms"],D=/^([+-]=)?([\d+-.]+)(.*)$/,M=/([A-Z])/g,F={secondary:{},meta:{left:0,top:0}},l="jQe";p=(document.body||document.documentElement).style;var s=p.WebkitTransition!==undefined?"webkitTransitionEnd":p.OTransition!==undefined?"oTransitionEnd":"transitionend",B=p.WebkitTransition!==undefined||p.MozTransition!==
undefined||p.OTransition!==undefined||p.transition!==undefined,H="WebKitCSSMatrix"in window&&"m11"in new WebKitCSSMatrix;jQuery.fn.translation=function(){if(!this[0])return null;for(var a=window.getComputedStyle(this[0],null),c={x:0,y:0},j=e.length-1;j>=0;j--){var f=a.getPropertyValue(e[j]+"transform");if(f&&/matrix/i.test(f)){a=f.replace(/^matrix\(/i,"").split(/, |\)$/g);c={x:a[4],y:a[5]};break}}return c};jQuery.fn.animate=function(a,c,j,f){var h=jQuery.speed(c,j,f),g=this,m=0,d=function(){m--;m===
0&&typeof h.complete==="function"&&h.complete.apply(g,arguments)};if(!B||q(a)||I(a)||h.duration<=0)return z.apply(this,arguments);return this[h.queue===false?"each":"queue"](function(){var b=jQuery(this),i=jQuery.extend({},h),r=function(){for(var t={},o=e.length-1;o>=0;o--){t[e[o]+"transition-property"]="none";t[e[o]+"transition-duration"]="";t[e[o]+"transition-timing-function"]=""}b.unbind(s);if(!a.leaveTransforms===true){var w=b.data(l)||{},u={};for(o=e.length-1;o>=0;o--)u[e[o]+"transform"]="";
if(typeof w.meta!=="undefined"){u.left=w.meta.left_o+"px";u.top=w.meta.top_o+"px"}b.css(t).css(u)}b.data(l,null);d.call(b)},n={bounce:"cubic-bezier(0.0, 0.35, .5, 1.3)",linear:"linear",swing:"ease-in-out",easeInOutQuint:"cubic-bezier(0.5, 0, 0, 0.8)"},x={};n=n[i.easing||"swing"]?n[i.easing||"swing"]:i.easing||"swing";for(var k in a)if(jQuery.inArray(k,L)===-1){var y=C(b,a[k],k,(k=="left"||k=="top")&&a.avoidTransforms!==true?true:false);if(J(k,y,b))E(b,k,i.duration,n,(k=="left"||k=="top")&&a.avoidTransforms===
true?y+"px":y,(k=="left"||k=="top")&&a.avoidTransforms!==true?true:false,a.useTranslate3d===true?true:false);else x[k]=a[k]}k=b.data(l)||{};for(n=e.length-1;n>=0;n--)if(typeof k[e[n]+"transition-property"]!=="undefined")k[e[n]+"transition-property"]=k[e[n]+"transition-property"].substr(2);b.data(l,k).unbind(s);if(!q(b.data(l))&&!q(b.data(l).secondary)){m++;b.css(b.data(l));setTimeout(function(){b.bind(s,r).css(b.data(l).secondary)})}else i.queue=false;if(!q(x)){m++;z.apply(b,[x,{duration:i.duration,
easing:i.easing,complete:d,queue:i.queue}])}return true})};jQuery.fn.stop=function(a,c,j){if(!B)return A.apply(this,[a,c]);a&&this.queue([]);for(var f={},h=e.length-1;h>=0;h--){f[e[h]+"transition-property"]="none";f[e[h]+"transition-duration"]="";f[e[h]+"transition-timing-function"]=""}this.each(function(){var g=jQuery(this),m=window.getComputedStyle(this,null),d={},b;if(!q(g.data(l))&&!q(g.data(l).secondary)){b=g.data(l);if(c){d=b.secondary;if(!j&&typeof b.meta.left_o!==undefined||typeof b.meta.top_o!==
undefined){d.left=typeof b.meta.left_o!==undefined?b.meta.left_o:"auto";d.top=typeof b.meta.top_o!==undefined?b.meta.top_o:"auto";for(b=e.length-1;b>=0;b--)d[e[b]+"transform"]=""}}else for(var i in g.data(l).secondary){i=i.replace(M,"-$1").toLowerCase();d[i]=m.getPropertyValue(i);if(!j&&/matrix/i.test(d[i])){b=d[i].replace(/^matrix\(/i,"").split(/, |\)$/g);d.left=b[4]+"px"||"auto";d.top=b[5]+"px"||"auto";for(b=e.length-1;b>=0;b--)d[e[b]+"transform"]=""}}g.unbind(s).css(f).css(d).data(l,null)}else A.apply(g,
[a,c])});return this}})(jQuery,jQuery.fn.animate,jQuery.fn.stop);

// STUFF
var lightboxes = {
	
	scan_proyectos: function() {
		$(".lightbox-proyecto li").each(function(){
			if($(this).find("section.mas-info").length > 0 && $(this).find(".webpage-link").length > 0) {	
				$(this).css("cursor","pointer");
				var lia = $(this).find(".webpage-link");
				lia.attr("data-href",lia.attr("href")).attr("href","#").text("Ver ficha");
			}
		});
	},
	
	mete_proyecto: function(proyecto) {
		var titulo = $(proyecto).find("h2").html();
		var foto = $(proyecto).find(".ficha-foto-grande").attr("src");
		var foto_thumbs = $(proyecto).find(".ficha-galeria").html();
		var descripcion = $(proyecto).find(".ficha-datos").html();
		var weblink = $(proyecto).find(".webpage-link").attr("data-href");
		
		if($(proyecto).find(".mas-info").length > 0) {			
			lightboxes.load('<div class="modal-window ficha-proyecto-grande modal-unzoomed"><a href="#" id="modal-window-close">x</a><div class="contenido"><h1>'+titulo+'</h1><div class="bloques-grupo bloques-2"><div class="bloques-ficha izda"><div class="ficha-foto-grande"><a class="falso-navegador" id="pics-replace-link" href="'+foto+'" target="_blank"><img src="'+foto.replace("img","mimg")+'" id="pics-replace-target"/></a></div><ul class="ficha-galeria ficha-galeria-modal">'+foto_thumbs+'</ul></div><!--.bloques-ficha--><div class="bloques-ficha dcha">'+descripcion+'<li><a href="'+weblink+'" target="_blank" class="modal-ver-web">Ver web</a></li></div><!--.bloques-ficha--></div><!--.bloques-grupo--></div>');}
	},	
			
	load: function(html) {
		$("body").addClass("is-overlayed").append('<div class="logo-gris"><img src="res/imgs/logo.wakalaka.gris.png"/></div>');
		$(".overlays-container").removeClass("active").addClass("active").html(html);
		setTimeout(function(){
			$(".modal-unzoomed").removeClass("modal-unzoomed");
		},40);
		
		
		$("ul.ficha-galeria-modal li,ul.ficha-galeria-modal li a").click(function(){
			$("ul.ficha-galeria-modal .is-active").removeClass();
						
			if(typeof $(this).attr("href") == "undefined") {
				pics.replace($(this).children().attr("href"));
				$(this).children().addClass("is-active");
			}
			else {
				pics.replace($(this).attr("href"));
				$(this).addClass("is-active");
			}
			return false;
		});
	},
	
	unload: function(html) {
		$("body").removeClass("is-overlayed");
		$(".overlays-container").removeClass("active").html("");
	}
}

var pics = {
	replace: function(src) {
		$("#pics-replace-target").attr("src",src.replace("img.","mimg."));
		$("#pics-replace-link").attr("href",src).addClass("loading");
		$("#pics-replace-target").load(function(){
        $("#pics-replace-link").removeClass("loading");
    },200);
	}
}

var destacadospf = {

	lock_animation: false,
	destacado_actual: 1, 
	
	cambiar_destacado: function(destacado) {
		
	},
	
	mover: function(direccion) {
		
		/*direcciones*/
		if(direccion == "siguiente") {
			var dir_dcha = "-";
			var dir_izda = "+";
			var proximo = destacadospf.destacado_actual+1;
		}
		else if(direccion == "anterior") {
			var dir_dcha = "+";
			var dir_izda = "-";
			var proximo = destacadospf.destacado_actual-1;
		}
		
		/*hacer la cosa*/
		if(!destacadospf.lock_animation) {
			$("body").addClass("remove-overflow");
			destacadospf.lock_animation = 1;
			$('.proyectos-hero').animate({left: dir_dcha+"600px", opacity:0 }, 400, function() {
					$('.proyectos-hero').css({left: dir_izda+"600px", });
					
					destacadospf.cambiar_destacado(proximo);
					$('.proyectos-hero').animate({left: 0, opacity:100 }, 300, function() {
							destacadospf.lock_animation = false;
							$("body").removeClass("remove-overflow");
					});

			});
		}
	},
	
	teclas: function(){
		document.onkeydown = function(e) {
			/*izda*/
			if(e.keyCode==37){
				destacadospf.mover("anterior");
				return false;
			}
			
			/*dcha*/
			if(e.keyCode==39){
				destacadospf.mover("siguiente");
				return false;
			}
		}
	}
	
}

// TIRAR EVENTOS
if($.browser.msie && $.browser.version=="6.0") {}
else {
	$(".lightbox-proyecto li h2, .lightbox-proyecto li a").live("click",function(){
		return lightboxes.mete_proyecto($(this).parent().parent().parent());
	});
	$(".lightbox-proyecto li.bloques-ficha, .lightbox-proyecto li.bloques-ficha-ult").live("click",function(){
		return lightboxes.mete_proyecto($(this));
	});
	$("#modal-window-close").live("click",function(){
		return lightboxes.unload();
	});
	
	$(".destacadospf-siguiente").live("click",function(){
		destacadospf.mover("siguiente");
		return false;
	});
	
	$(".destacadospf-anterior").live("click",function(){
		destacadospf.mover("anterior");
		return false;
	});
	
	/*onload de todas*/
	$(function(){
		/*solo en porfolio*/
		if ($('body.es-portfolio').length > 0) {
			destacadospf.teclas();
			lightboxes.scan_proyectos();
		}
	});
}


// IE6, y 7, y 8, y...
document.createElement("article");
document.createElement("section");
document.createElement("footer");
document.createElement("header");
document.createElement("hgroup");
document.createElement("nav");
