// JavaScript Document

var elementClick='#inicio';
var animacionPortfolio=false;

function animacion_portfolio(corte){
	if (elementClick=='#portfolio' || corte){
		if ($.browser.msie){
			$('.portfolio-contenedor').css('visibility','visible');
		}
		$('.portfolio-contenedor').animate({'opacity':'1'},50,'swing')
			.animate({'opacity':'0'},50,'swing')
			.animate({'opacity':'1'},50,'swing')
			.animate({'opacity':'0'},100,'swing')
			.animate({'opacity':'1'},100,'swing')
			.animate({'opacity':'0'},150,'swing')
			.animate({'opacity':'1'},150,'swing')
			.animate({'opacity':'1'},250,'swing', function(){
				if ($.browser.msie){
					$('.nivoSlider').css('visibility','visible');
				}
			});
	}
	animacionPortfolio=true;
}
	

$(document).ready(function() {

	anchor.init();
	
	$('a.oferton-cerrar').click(function(){
		if (!$.browser.msie){
			$('.oferton-container').animate({'opacity':'0'}, 100, 'linear', function(){$(this).html('');});
		}else{
			$('.oferton-container').html('');
		}
	});
	
	$('a.oferton-ir').click(function(){
		$('a.servicios-menu-ofertas').trigger('click');
		if (!$.browser.msie){
			$('.oferton-container').animate({'opacity':'0'}, 100, 'linear', function(){$(this).html('');});
		}else{
			$('.oferton-container').html('');
		}
	});
	
	$('.boton-mas').click(function(){
		var footer=$('.footer');
		if (footer.height()==35){
			footer.css({'height':'400px'});
			footer.animate({'margin-top':'-350px'},300,'swing');
			$(this).attr('title','menos');
		}else{
			footer.animate({'margin-top':'-35px'},300,'swing',function(){
				footer.css({'height':'35px'});
			});
			$(this).attr('title','más');
		}
	});
	
	var corte=location.href.split('#');
	var lista_webs=$('.portfolio li').toArray();
	
	var alto_limite, ancho_limite;
	if (!$.browser.msie){
		alto_limite=620;
		ancho_limite=850;
	}else{
		alto_limite=620;//650;
		ancho_limite=850;//1000;
	}

	$(window).load(function(){
		if (corte[1]!='inicio' && corte[1]!='servicios' && corte[1]!='portfolio' && corte[1]!='contacto'){
			redimensionar();
		}else if(corte[1]=='portfolio'){
			animacion_portfolio(1);
		}
		$('#slider').nivoSlider({
			effect:'sliceUpDown', //sliceDown, sliceDownLeft, sliceUp, sliceUpLeft, sliceUpDown, sliceUpDownLeft, fold, fade ,random
			animSpeed:300,
			pauseTime:3000,
			startSlide:0,
			directionNavHide:false,
			captionOpacity:1,
			controlNav:true,
			pauseOnHover:true,
			beforeChange: function(){
				$('.slider-toggle').animate({'height':'0px'},500,'swing');
				$('.slider-toggle').css({'height':'0px'});
			},
			afterChange: function(){
				var destino_top=$(lista_webs[$('#slider').data('nivo:vars').currentSlide]).position().top;
				$('.portfolio-titulo ul').animate({'margin-top':-destino_top},500,'swing');
			}
		});
	});
	
	function redimensionar(){
		var cuerpo='body';
		if ($.browser.version == '7.0'){cuerpo='html';}
		if ($(window).height()<alto_limite || $(window).width()<ancho_limite){
			$(cuerpo).css('overflow','scroll');
		}else{
			$(cuerpo).css('overflow','hidden');
		}
		destino_top = $(elementClick).offset().top;
		destino_left = $(elementClick).offset().left;
		$("html:not(:animated),body:not(:animated)").animate({'scrollTop': destino_top, 'scrollLeft': destino_left}, 100, function(){
			$('.negro').css('display', 'none');
		});
		return false;
	}
	
	// CONTACTO ENVIAR
	
	function validar(email){  
	   var patronEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
	   return patronEmail.test(email);  
	}  
	
	function enviardatos(){
		
		var nombre=$("[name='nombre']").attr("value");
		var email=$("[name='email']").attr("value");
		var telefono=$("[name='telefono']").attr("value");
		var mensaje=$("[name='mensaje']").attr("value");
		
		$('.contacto-respuesta').css('opacity','1');
		if (nombre!="" && validar(email) && mensaje!=""){
			
			$('.contacto-respuesta').html('<img src="estilos/imagenes/contacto/loader.gif" alt="Enviando..." />');
			$('.contacto-formulario').animate({'top':'-300px'},'500','swing');
			
			$.ajax({
				type: "POST",
				url: "scripts/contacto.php",
				data: "nombre="+nombre+"&email="+email+"&telefono="+telefono+"&mensaje="+mensaje,
				success: function(msg){
					$("input.borrable, textarea.borrable").attr("value",'');
					$('.contacto-formulario').animate({'top':'145px'},'500','swing',function(){
						$('.contacto-respuesta').text('Correo enviado, en breve nos pondremos en contacto con usted.')
							.delay(2000)
							.animate({'opacity':'0'},'1000','swing');
					});
				},
				error: function(msg){
					$('.contacto-formulario').animate({'top':'145px'},'500','swing',function(){
						$('.contacto-respuesta').text('Error al enviar el correo, vuelva a intentarlo.')
							.delay(2000)
							.animate({'opacity':'0'},'1000','swing');
					});
				}
			});
				
		}else{
			$('.contacto-respuesta').text('Campos requeridos vacíos, o contenido no válido.')
				.delay(2000)
				.animate({'opacity':'0'},'1000','swing');
		}
		
		
	}
	
	$(".contacto-enviar").click(function(){
		enviardatos();
	});
	
	$(window).resize(function(){
		redimensionar();
	});
	
	$('.slider-mas').live('click',function(){
		if ($(this).text()=='-'){
			$(this).text('+');
			$('.slider-toggle').animate({'height':'0px'},500,'swing');
		}else{
			$(this).text('-');
			$('.slider-toggle').animate({'height':'150px'},500,'swing');
		}
	});
	
	// ANIMACION DE INICIO
	
	var animacionInicial=1;
	
	$(".boton-animacion-inicio").css({'opacity':'0.5'});
	efectoInicial();

	function efectoInicial(){
		
		if (animacionInicial){			
			$(".boton-animacion-inicio").animate({'opacity':'toggle'},1000,'linear',function(){efectoInicial();});
		}
		
	}
	
	$(".boton-animacion-inicio").hover(function(){
		
		animacionInicial=0;
		$(this).stop().animate({'opacity': '1'},500,'linear');
		
	},function(){
		
		animacionInicial=1;
		$(this).css({'opacity':'0.5'});
		efectoInicial();
		
	});
	
	$(".boton-animacion-inicio").click(function(){
		
		$(".inicio-negro, .boton-animacion-inicio-container").animate({'opacity':'0'},500,'linear',function(){
			$(".inicio-negro, .boton-animacion-inicio-container").css({'z-index':'-1'});
		});
		$(".boton-animacion-inicio").css({'opacity':'0'});
		$(".boton-inicio").css({'opacity':'1'});
		$(".menu-der, .menu-izq").animate({'background-position':'0px 0px'},500,'linear',function(){
			if ($.browser.msie){
				$("#menu-portfolio, #menu-servicios, #menu-contacto, #menu-blog").animate({'opacity':'1'},100,'linear');
			}else{
				$(".menu-izq ul, .menu-der ul").animate({'opacity':'1'},100,'linear');
			}
			$('.footer').css({'height':'35px'});
			$('.footer').animate({'margin-top':'-35px'},500,'linear');
		});
		animacionInicial=0;
		if (!$.browser.msie){
			$('.oferton').css('display','block').animate({'opacity':'1'},500,'linear');
		}else{
			$('.oferton').css('display','block');
		}
		
	});
	
	$(".boton-inicio").hover(function(){
		
		$(this).animate({'opacity':'1'},500,'linear')
		
	},function(){
		
		$(this).animate({'opacity':'0.6'},500,'linear')
		
	});
	
	$(".boton-inicio").click(function(){
		
		$(".inicio-negro").css({'z-index':'99'});
		$(".boton-animacion-inicio-container").css({'z-index':'100'});
		$(".inicio-negro").animate({'opacity':'0.7'},500,'linear');
		$(".boton-animacion-inicio-container").animate({'opacity':'1'},500,'linear');
		if ($.browser.msie){
			$("#menu-portfolio, #menu-servicios, #menu-contacto, #menu-blog").animate({'opacity':'0'},100,'linear',function(){
				$(".menu-der").animate({'background-position':'-325px 0px'},500,'linear');
				$(".menu-izq").animate({'background-position':'325px 0px'},500,'linear');
			});
		}else{
			$(".menu-izq ul, .menu-der ul").animate({'opacity':'0'},100,'linear',function(){
				$(".menu-der").animate({'background-position':'-325px 0px'},500,'linear');
				$(".menu-izq").animate({'background-position':'325px 0px'},500,'linear');
			});
		}
		$('.footer').animate({'margin-top':'0px'},500,'linear',function(){
			$('.footer').css({'height':'0px'});
		});
		if (!$.browser.msie){
			$('.oferton').animate({'opacity':'0'},500,'linear', function(){$(this).css('display','none')});
		}else{
			$('.oferton').css('display','none');
		}
		
		
	});
	

	// MENU-HOVER	
	

	$('a.menu-portfolio').append('<span class="hover-portfolio"></span>').each(function () {
		var $span = $('> span.hover-portfolio', this).css('opacity', 0);
		$(this).hover(function () {
			$span.stop().fadeTo("2000", 1);
		}, function () {
			$span.stop().fadeTo("2000", 0);
		});
	})
	
	$('a.menu-servicios').append('<span class="hover-servicios"></span>').each(function () {
		var $span = $('> span.hover-servicios', this).css('opacity', 0);
		$(this).hover(function () {
			$span.stop().fadeTo("2000", 1);
		}, function () {
			$span.stop().fadeTo("2000", 0);
		});
	})
	
	$('a.menu-contacto').append('<span class="hover-contacto"></span>').each(function () {
		var $span = $('> span.hover-contacto', this).css('opacity', 0);
		$(this).hover(function () {
			$span.stop().fadeTo("2000", 1);
		}, function () {
			$span.stop().fadeTo("2000", 0);
		});
	})
	
	$('a.menu-blog').append('<span class="hover-blog"></span>').each(function () {
		var $span = $('> span.hover-blog', this).css('opacity', 0);
		$(this).hover(function () {
			$span.stop().fadeTo("2000", 1);
		}, function () {
			$span.stop().fadeTo("2000", 0);
		});
	})
	

	// FUNCIONES-ANIMACION-SERVICIOS	
	
	
	var elemento_submenu;
	
	function ocultarSubmenu(){
		switch (elemento_submenu){
			case 'servicios':
				if ($.browser.msie){
					$('.servicios-submenu-servicios, .servicios-submenu-servicios ul').css({'opacity':'0', 'height':'0px'});
					toggleServicios('',1);
				}else{
					$('.servicios-submenu-servicios, .servicios-submenu-servicios ul').animate({'opacity':'0'},1000,'swing',function(){
						$(this).css({'height':'0px'});
						toggleServicios('',1);
					});
				}
			break;
			case 'ofertas':
				if ($.browser.msie){
					$('.servicios-submenu-ofertas, .servicios-submenu-ofertas ul').css({'opacity':'0', 'height':'0px'});
					toggleServicios('',1);
				}else{
					$('.servicios-submenu-ofertas, .servicios-submenu-ofertas ul').animate({'opacity':'0'},1000,'swing',function(){
						$(this).css({'height':'0px'});
						toggleServicios('',1);
					});
				}
			break;
		}
	}
	
	function mostrarSubmenu(){
		switch (elemento_submenu){
			case 'servicios':
				if($.browser.msie){
					$('.servicios-submenu-servicios, .servicios-submenu-servicios ul').css({'height':'642px', 'opacity':'1'});
				}else{
					$('.servicios-submenu-servicios, .servicios-submenu-servicios ul').css({'height':'642px'}).animate({'opacity':'1'},1000,'swing');
				}
			break;
			case 'ofertas':
				$('.servicios-submenu-ofertas, .servicios-submenu-ofertas ul').css({'height':'642px'}).animate({'opacity':'1'},1000,'swing');
			break;
		}
	}
	
	function toggleServiciosRecursivo(lista, opacidad){
		if ($(lista).length>0){
			var elemento=lista.pop();
			$(elemento).animate({'opacity':opacidad},250,'linear',function(){
				toggleServiciosRecursivo(lista, opacidad);
			})
		}else{
			mostrarSubmenu();
		}
	}
	
	function toggleServicios(elemento, opacidad){
		var lista=$('.servicios-menu li').toArray();
		elemento_submenu=elemento;
		toggleServiciosRecursivo(lista, opacidad);	
	}
		
	function abrirSubseccion(elemento){
		var busqueda=elemento.next();
		var altura, elemento_abierto=0, texto='';
		
		$('.servicios-submenu-servicios-contenido').each(function(){
			if ($(this).height()!=0){
				elemento_abierto=$(this);
				return false;
			}
		});
		
		if (busqueda.height()=='0'){
			altura='380px';
			if (elemento_abierto){
				$('.servicios-submenu-servicios ul').animate({'top':'235px'},500,'swing',function(){
					$('.servicios-submenu-servicios ul').animate({'top':'45px'},500,'swing');
				});
			}else{
				$('.servicios-submenu-servicios ul').animate({'top':'45px'},500,'swing');
			}
		}else{
			altura='0px';
			$('.servicios-submenu-servicios ul').animate({'top':'235px'},500,'swing');
		}
		
		if (elemento_abierto){
			$(elemento_abierto).animate({'height':'0px'},500,'swing',function(){
				busqueda.animate({'height':altura},500,'swing');
			});
		}else{
			busqueda.animate({'height':altura},500,'swing');
		}
		
		$('.texto').text(texto);
	}
	

	// SUBMENU-SERVICIOS
	
	
	$('a.servicios-submenu-servicios-volver').click(function(){
		ocultarSubmenu('servicios');
	});
	
	$('li.servicios-submenu-ofertas-volver').click(function(){
		ocultarSubmenu('ofertas');
	});
	
	$('a.servicios-submenu-servicios-imagen').click(function(){
		abrirSubseccion($(this));
	});
	
	$('a.servicios-submenu-servicios-diseno').click(function(){
		abrirSubseccion($(this));
	});
	

	// MENU-SERVICIOS-HOVER	
	
	
	if (!$.browser.msie){
		$('a.servicios-menu-servicios').append('<span class="hover-servicios-menu-servicios"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-servicios', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
			$(this).click(function(){
				toggleServicios($(this).text(), 0);
			});
		});
	}else{
		$('a.servicios-menu-servicios').click(function(){
			toggleServicios($(this).text(), 0);
		});
	}
	
	if (!$.browser.msie){
		$('a.servicios-menu-portfolio').append('<span class="hover-servicios-menu-portfolio"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-portfolio', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
		});
	}
	
	if (!$.browser.msie){
		$('a.servicios-menu-blog').append('<span class="hover-servicios-menu-blog"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-blog', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
		});
	}
	
	if (!$.browser.msie){
		$('a.servicios-menu-contacto').append('<span class="hover-servicios-menu-contacto"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-contacto', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
		});
	}
	
	if (!$.browser.msie){
		$('a.servicios-menu-ofertas').append('<span class="hover-servicios-menu-ofertas"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-ofertas', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
			$(this).click(function(){
				toggleServicios($(this).text(),0);
			});
		});
	}else{
		$('a.servicios-menu-ofertas').click(function(){
			toggleServicios($(this).text(), 0);
		});
	}
	
	if (!$.browser.msie){
		$('a.servicios-menu-inicio').append('<span class="hover-servicios-menu-inicio"></span>').each(function () {
			var $span = $('> span.hover-servicios-menu-inicio', this).css('opacity', 0);
			$(this).hover(function () {
				$span.stop().fadeTo("1000", 1);
			}, function () {
				$span.stop().fadeTo("1000", 0);
			});
		});
	}else{
		$('a.servicios-menu-inicio').click(function(){
//			toggleServicios($(this).text(), 0);
		});
	}
	
	
	// TOOLTIP	RISH

	
	function dame_posicion(x, y){
		if (x >= 2560){
			return $('.servicios');
		}
		if (y >= 2400){
			return $('.contacto');
		}
		if (x >= 0 && y >= 0 && x <= $('.portfolio').width() && y <= $('.portfolio').height()){
			return $('.portfolio');
		}
		return $('.inicio');
	}
	
	var descripcion;
	var tooltip=$(".tooltip");
	
	$('a[rel=tooltip]').hover(function(){
		
		descripcion = $(this).find("b").html();
		var alto = 50;//150;
		var ancho = 176, limite, alt_limite, calculo;
		
		$(this).removeAttr('title');		
		$(this).attr('title','');		
		$('.tooltip-contenido-contenido').html(descripcion);
		
		$(this).mousemove(function(e){
//			$('.texto-portfolio')
//				.html('<b>X: '+e.pageX+' , Y: '+e.pageY+' </b>'+
//				'<br/>Posicion Inicio (TOP): '+$('.inicio').offset().top+' Posicion Inicio (LEFT): '+$('.inicio').offset().left+
//				'<br/>Posicion Servicios (TOP): '+$('.servicios').offset().top+' Posicion Servicios (LEFT): '+$('.servicios').offset().left+
//				'<br/>Posicion Portfolio (TOP): '+$('.portfolio').offset().top+' Posicion Portfolio (LEFT): '+$('.portfolio').offset().left+
//				'<br/>Posicion Contacto (TOP): '+$('.contacto').offset().top+' Posicion Contacto (LEFT): '+$('.contacto').offset().left);
				
			var elemento_pos = dame_posicion(e.pageX, e.pageY);
				
			var yRelativo = e.pageY - elemento_pos.offset().top;
			alt_limite = elemento_pos.height();
			limite = yRelativo + tooltip.height() + 150;
			
//			$('.texto-portfolio').html('<b>limite: '+limite+', alt_limite: '+alt_limite+'</b>')
					
			$('.tooltip-arriba, .tooltip-abajo').html('');
			if (alt_limite < limite){
				alto =- (tooltip.height() + 40);
				$('.tooltip-abajo').html('<img style="margin-top:103px;" src="estilos/imagenes/tooltip/pico_abajo.png" />');
			}else{
				alto = 50;
				$('.tooltip-arriba').html('<img src="estilos/imagenes/tooltip/pico_arriba.png" />');
			}
			tooltip.css('top',e.pageY + alto);
			tooltip.css('left',e.pageX - ancho);
			if ($.browser.msie){
				tooltip.css({'opacity':'1'});
			}else{
				tooltip.stop().fadeTo('6000',1);
				tooltip.css('z-index',10005);
			}
		});
		
	}, function(){
		
		if ($.browser.msie){
			tooltip.css({'opacity':'0','top':'-1000px'});
		}else{
			tooltip.stop().fadeTo('6000',0, function(){
				tooltip.css('z-index',-1);
			});
		}
		
		$(this).attr('title',descripcion);
		
	});
			
});

	// ANCHORLINK
	
	anchor = {
		init : function()  {
			$("a.enlace").click(function () {	
				$('.footer').css({'height':'0px','margin-top':'0px'});
				elementClick = $(this).attr("href");
				destino_top = $(elementClick).offset().top;
				destino_left = $(elementClick).offset().left;
				$("html:not(:animated),body:not(:animated)").animate({'scrollTop': destino_top, 'scrollLeft': destino_left}, 1000, function(){
					if (!animacionPortfolio && elementClick=='#portfolio')
						animacion_portfolio();
					$('.footer').css({'height':'35px'});
					$('.footer').animate({'margin-top':'-35px'},500,'linear');
					$('.boton-mas').attr('title','más');
				});
				return false;
			})
	}
}
