/* Javascript Document */
/* Documento creado por Estudio Adumbro */
/* http://www.adumbro.es */

/*************************************/
/* VARIABLES GLOBALES ****************/

/*************************************/
/* JQUERY: READY *********************/
$(document).ready(function(){
	//Eliminamos el div que informa sobre tener activado el javascript
	$('div#advertencia').hide();
	
	//mostramos las etiquetas si el tamano de pantalla es suficiente
	windowresize();
	//	$(window).bind('resize', function(){windowresize();});
	
	//mostramos de una forma animada el alicatado de los proyectos
	show_alicatado();
	//Paginacion del mosaico
	pag_mosaico(1);
	
	//paginacion: apuntamos a una pagina del mosaico cada elemento individual
	$('div.paginador ol li a').click(function() {load_mosaico(parseInt($('span',this).html()));return false;});
	
	//pestanas
	$('div.pestanas li a').click(function() {
		show_pes($(this).parent().attr('class'));
		load_pes($(this).parent().attr('class'))
		return false;
	});
	
	//CONTACTO **************************
	$('div#form_contacto textarea.texto').css('resize', 'none'); //evitamos que se pueda redimensionar el textarea de contacto
	//inicializacion cajas
	$('div#form_contacto .texto').each(function(){
		var id_obj=$(this).attr('id');
		$('#'+id_obj).val($('div#form_contacto label[for="'+id_obj+'"]').html());
	});
	//caja recibe foco
	$('div#form_contacto .texto').focusin(function(e) {
		$('#'+e.target.id).addClass('full');
		if($('#'+e.target.id).val()==$('div#form_contacto label[for="'+e.target.id+'"]').html())
 			$('#'+e.target.id).val('');
	});
	//caja pierde foco
	$('div#form_contacto .texto').focusout(function(e) {
		var espacios = /^\s*$/;
		if(espacios.test($('#'+e.target.id).val())){
 			$('#'+e.target.id).val($('div#form_contacto label[for="'+e.target.id+'"]').html());
		}
		if($('#'+e.target.id).val()!=$('div#form_contacto label[for="'+e.target.id+'"]').html())
			$('#'+e.target.id).addClass('full');
		else
			$('#'+e.target.id).removeClass('full');
	});
	//captcha
	var a_num = ['uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve'];
	var n1 = num_aleatorio(8);
	var n2 = num_aleatorio(3);
	var suma=(n1+1)+(n2+1);
	$('fieldset.captcha div.operacion strong').html(a_num[n1]+' + '+a_num[n2]+' =');
	//Pulsar en Anadir comentario
	$('a#bsend').click(function(){
		var validado=true;
		regExp_vacio = /\S/;
		regExp_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		//comprobamos el nombre
		var name=$('input#name').val();
		if(!regExp_vacio.test(name)||(name==$('label[for="name"]').html())) {
			validado=false;
			msg_contact('ko','Debes indicar un nombre','El campo <em>nombre</em> es obligatorio y no debes dejarlo vacio. La finalidad de este campo es estrictamente para poder dirigirnos a ti de una forma m&aacute;s personal',false);
		}
		//comprobamos el email
		var email=$('input#email').val();
		if(((!regExp_email.test(email))||(email==$('label[for="email"]').html()))&&(validado)) {
			validado=false;
			msg_contact('ko','Debes indicar un correo electr&oacute;nico con un formato v&aacute;lido','El campo <em>correo electr&oacute;nico</em> es obligatorio y debe ser una cuenta de correo con un formato v&aacute;lido para que podamos responder a este mensaje (Ej. usuario@dominio.com).',false);
		}
		//comprobamos el comentario
		var message=$('textarea#message').val();
		if(((!regExp_vacio.test(message))||(message==$('label[for="message"]').html()))&&(validado)) {
			validado=false;
			msg_contact('ko','Debes escribir alg&uacute;n mensaje','El campo <em>mensaje</em> es obligatorio, obviamente la finalidad de este formulario es que nos env&iacute;es tus consultas o comentarios.',false);
		}
		//comprobamos el captcha
		if(($('input#captcha').val()!=suma)&&(validado)) {
			validado=false;	
			msg_contact('ko','Esto es un poco embarazoso','El resultado de la operaci&oacute;n matem&aacute;tica no es el correcto.<br />Vuelve a intentarlo.',false);
			$('input#captcha').val('');
		}
		//Si todo correcto, vamos a enviar el comentario
		if(validado) {
			$('div#form_contacto').fadeOut('slow', function(){$(this).addClass('loader').show();}) //mostramos la animacion de precarga
			var dataString = 'name='+ name + '&amp;email=' + email + '&amp;message=' + message;
			$.ajax({  
			  type: "POST",  
			  url: "/ajax/email",  
			  data: dataString,
			  contentType: "application/x-www-form-urlencoded; charset=ISO-8859-1",
			  success: function() {  
			      //DEBERIAMOS MOSTRAR UN MENSAJE DE OK
			      msg_contact('ok','Se ha enviado el mensaje','En breve nos pondremos en contacto con usted para responder a su consulta.',true);
			      //inicializamos el formulario
				  $('div#form_contacto .texto').each(function(){
					  var id_obj=$(this).attr('id');
					  $('#'+id_obj).val($('div#form_contacto label[for="'+id_obj+'"]').html());
				  });
			      $('input#captcha').val(''); //borramos el captcha
			  }  
			});  
		}
		return false;
	});
	$('a#bacept').click(function(){
		$('div#msj_contacto').fadeOut('fast', function(){$('div#form_contacto').fadeIn('slow');}); 
		return false;
	});
});

/*************************************/
/* FUNCIONES GENERALES ***************/
function windowresize() {
	if($(window).width() < 1200) {
		$('body').removeClass('ampliado');
	}else{
		$('body').addClass('ampliado');
	}
}
function show_pes(pes) {
	$('div.pestanas li a').removeClass('sel');
	$('div.pestanas li.'+pes+' a').addClass('sel');
	
	$('div.pie div#nosotros').addClass('oculta');
	$('div.pie div#novedades').addClass('oculta');
	$('div.pie div#enlaces').addClass('oculta');
	
	$('div.pie div#'+pes).removeClass('oculta');
}
function load_pes(pes) {
	//cargamos de contenido
	if($('div.pie div#'+pes).hasClass('loader')) {
		var url='/ajax/'+pes;
		$('div.pie div#'+pes).load(url, function() {$('div.pie div#'+pes).removeClass('loader');});
	}
}

function load_mosaico(pag) {
	$('div#alicatado ul').fadeOut('slow');
	$('div#alicatado').addClass('loader'); //mostramos la animacion
	//AJAX: cargamos los proyectos
	var url='/ajax/mosaico?pag='+pag;
	$('div#alicatado').load(url, function() {
		show_alicatado();
	});
	pag_mosaico(pag);
}
function pag_mosaico(pag) {
	$('div.paginador ol li').removeClass('sel'); //desmarcamos las paginas
	$('div.paginador ol li span').each(function(){if($(this).html()==pag) $(this).parent().parent().addClass('sel');}); //marcamos la pagina seleccionada
		
	//paginacion
	if(pag > 1) {
		//unbind elimina el contenido previo del evento click
		$('div.paginador div.retro a').unbind('click').click(function() {load_mosaico(pag-1);return false;});
		$('div.paginador div.retro').removeClass('oculto');
	} else {
		$('div.paginador div.retro').addClass('oculto');
	}
	var total=$('div.paginador ol li').size();
	if(pag < total) {
		//unbind elimina el contenido previo del evento click
		$('div.paginador div.avanti a').unbind('click').click(function() {load_mosaico(pag+1);return false;});
		$('div.paginador div.avanti').removeClass('oculto');
	} else {
		$('div.paginador div.avanti').addClass('oculto');
	}
}
function show_alicatado() {
	$('div#alicatado ul li a').click(function(){show_proyecto($(this).attr('href').replace('pro/',''));return false;}); //evento click para mostrar el proyecto correspondiente
	$('div#alicatado').removeClass('loader');
	$('div#alicatado ul').fadeIn('fast');
	//mostramos el mosaico de forma animada
	$('div#alicatado div.img').each(function(i){
		$(this).css('background-image', 'url('+$('img', this).attr("src")+')');
		$(this).delay(500*i).fadeIn('slow'); //mostramos temporizadamente los elementos
	});
	//Atenuamos los proyectos sobre los que no tenemos el puntero
	$('div#alicatado ul li a').mouseenter(function(){
		//si sobre el que nos encontramos ya estaba atenuado lo mostramos
		$(this).parent().stop().fadeTo('fast', 1);
		var e=$(this);
		//atenuamos todos menos sobre el que nos encontramos
		$('div#alicatado ul li').each(function(){
			if($('a', this).attr('href')!=e.attr('href')) {
				$(this).stop().fadeTo('fast', 0.25);
			}
		});
	});
	//Mostramos todos los proyectos cuando no estamos sobre el mosaico
	$('div#alicatado ul').mouseleave(function(){
		$('li', this).stop().fadeTo('fast', 1);
	});
}
function show_proyecto(pro) {
	//ocultamos el mosaico y luego... mostramos el detalle con su animacion de cargando
	$('div.portafolio div.mosaico').fadeOut('fast', function(){$('div.portafolio div.detalle').addClass('loader').show();});
	
	//AJAX: cargamos el detalle
	var url='/ajax/detalle?pro='+pro;
	$('div.portafolio div.detalle').load(url, function() {
		$('div.portafolio div.detalle div.contenido').hide();
		show_imagen(1);
		
		//paginacion: apuntamos a una pagina cada elemento individual
		$('div.galeria ol li a').click(function() {cancelar_temporizador(); show_imagen(parseInt($('span',this).html()));return false;});
		
		$('div.volver a').click(function() {cancelar_temporizador(); return_mosaico();return false;});
		
		$('div.portafolio div.detalle').removeClass('loader');
		$('div.portafolio div.detalle div.contenido').fadeIn('slow');
		
		//iniciamos el temporizador para mostrar el carrusel de imagenes
		iniciar_temporizador();
	});
}
function show_imagen(img) {
	//ocultamos al foto
	$('div.polaroid div.instant').hide();
	
	$('div.galeria ol li').removeClass('sel'); //desmarcamos las paginas
	$('div.galeria ol li span').each(function(){if($(this).html()==img) $(this).parent().parent().addClass('sel');}); //marcamos la pagina seleccionada
	
	//paginacion		
	if(img > 1) {
		//unbind elimina el contenido previo del evento click
		$('div.galeria div.retro a').unbind('click').click(function() {cancelar_temporizador(); show_imagen(img-1);return false;});		
		$('div.galeria div.retro').removeClass('oculto');
	} else {
		$('div.galeria div.retro').addClass('oculto');
	}
	var total=$('div.galeria ol li').size();
	if(img < total) {
		//unbind elimina el contenido previo del evento click
		$('div.galeria div.avanti a').unbind('click').click(function() {cancelar_temporizador(); show_imagen(img+1);return false;});
		$('div.galeria div.avanti').removeClass('oculto');
	} else {
		$('div.galeria div.avanti').addClass('oculto');
	}
	//cargamos la imagen
	$('div.polaroid div.instant').css('background-image', 'url('+$('img#img'+img).attr("src")+')').fadeIn('slow');
}
var temporizador;
function iniciar_temporizador(){
	//Averiguamos las imagenes totales
	var total=$('div.galeria ol li').size();
	if(total>1) {temporizador=setInterval(function(){carrusel_imagenes();}, 5000);}
}
function cancelar_temporizador(){clearInterval(temporizador);}
function carrusel_imagenes(){
	//Averiguamos que imagen esta seleccionada
	var img=parseInt($('div.galeria ol li.sel span').html());
	//Averiguamos las imagenes totales
	var total=$('div.galeria ol li').size();
	if(img==total) {img=1; cancelar_temporizador();} else {img++;}
	
	show_imagen(img);
}
function return_mosaico() {
	//ocultamos el detalle y luego... mostramos el mosaico
	$('div.portafolio div.detalle').fadeOut('fast', function(){
		$('div.portafolio div.mosaico').fadeIn('slow');
		$('div.portafolio div.detalle').empty(); //vaciamos el contenido del div detalle
	});
}
function msg_contact(ico,title,msg,more) {
	$('div#msj_contacto').addClass(ico);
	$('div#msj_contacto p.msj').html('<strong>'+title+'</strong><br />'+msg);
	if(more) {$('div#msj_contacto').addClass('show_more');}else{$('div#msj_contacto').removeClass('show_more');}
	$('div#form_contacto').fadeOut('fast', function(){$(this).removeClass('loader'); $('div#msj_contacto').fadeIn('slow');});
}
//funcion que devuelve un numero aleatorio entre 0 y 'max', ambos incluidos
function num_aleatorio(max) {return Math.round(Math.random()*max);}
