// VERDEO: JavaScript Document

function initVisual(){
	//centrar navegación
	var $nav = $('#nav');
	$nav.css('left', Math.round(($('#page').width() - $nav.width()))/2);
	//correos
	$('.correo').each(function(i, domEle){
		var text = $(domEle).text();
		$(domEle).html('<a href="mailto:'+text+'@ricoverdeo.com">'+text+'@ricoverdeo.com</a>');
	});
	//external
	$('a[href*="http"]').click(function(){
		window.open(this.href, '_blank');
		return false;
	});
	//facebook
	$('a[href*="www.facebook.com"]').prepend('<img src="img/ico_facebook.gif" align="absmiddle"> ');
}

function initScroll(){
	var $scroll = $('#scroll');
	var $container = $('#scrollContainer');
	var $panels = $('#scrollContainer .panel');
	
	var horizontal = true;
	
	// flotar panels para scroll horizontal
	if (horizontal) {
		$panels.css({
			'display' : 'inline',
			'float' : 'left',
			'position' : 'relative' // arreglo en IE para esconder el overflow
		});
		// calcula el nuevo ancho del contenedor para que se desplace horizontalmente
		$container.css('width', $panels[0].offsetWidth * $panels.length);
	}

	//poner flechas: derecha e izquierda
	var $canvas = $('#canvas');
	
	$canvas
  .before('<img id="btnLeft" class="left" src="inc/blank.gif" width="50" height="50">')
  .after('<img id="btnRight" class="right" src="inc/blank.gif" width="50" height="50" />');
	
	$('#btnLeft').mouseover(function(){
		$(this).css('background-position', '0 -50px');
	}).mousedown(function(){
		$(this).css('background-position', '0 -100px');
	}).mouseup(function(){
		$(this).css('background-position', '0 -50px');
	}).mouseout(function(){
		$(this).css('background-position', '0 0');
	});
	
	$('#btnRight').mouseover(function(){
		$(this).css('background-position', '-50px -50px');
	}).mousedown(function(){
		$(this).css('background-position', '-50px -100px');
	}).mouseup(function(){
		$(this).css('background-position', '-50px -50px');
	}).mouseout(function(){
		$(this).css('background-position', '-50px 0');
	});
	
	//
	$('#nav').find('a').click(selectNav);
	function selectNav(){
		$(this)
			.parents('ul:first')
				.find('a')
					.removeClass('selected')
				.end()
			.end()
			.addClass('selected');
		if($(this).get() == '#inicio'){
			alert('primero')
		};
	}
	
	//encuentra el enlace de navegación al que apunta y selecciona la opción en la navegación
	function trigger(data){
		var el = $('#nav').find('a[href$="'+data.id+'"]').get(0);
		selectNav.call(el);
	}
	
	if (window.location.hash) {
		trigger({ id : window.location.hash.substr(1)});
	} else {
		$('#nav a:first').click();
	}
	
	//calcula exactamente el lugar a la derecha a la que se debe mover el contenedor
	var offset = parseInt((horizontal ? $container.css('paddingTop') :  $container.css('paddingLeft')) || 0) * -1;
	
	var scrollOptions = {
		target: $scroll, // el elemento que tiene el overflow
		items: $panels,
		navigation: '#nav a',
		prev: $('.left'), 
	  next: $('.right'),
		cycle: 1,
		// permite moverse en ambos ejes
		axis: 'xy',
		onAfter: trigger, // al finalizar llama esta función
		offset: offset,
		duration: 700,
		constant: 0
		// easing plugin: 
		// http://gsgd.co.uk/sandbox/jquery/easing/
		//easing: 'swing'
	};

	$('#canvas').serialScroll(scrollOptions);
	$.localScroll(scrollOptions);
	scrollOptions.duration = 1;
	$.localScroll.hash(scrollOptions);
}

function initCorreo(){
	//ayudas visuales
	$(':text, textarea').bind('mouseover mouseout', function(){
		$(this).toggleClass('hover');
	}).focus(function(){
		$(this).removeClass('fill');
		$(this).addClass('focus');
	}).blur(function(){
		if($(this).val() != ''){
			$(this).addClass('fill');
		}else{
			$(this).removeClass('focus');
		}
	});
	
	var $btn = $('#boton');
	$btn.bind('mouseover mouseout', function(){
		$(this).toggleClass('bhover');
	});
	
	//chequear
	$btn.click(function(){
		var hasError = false;
		var msg = '<span>&nbsp;<b style="letter-space:0; color:#FFF; background:#900;">&nbsp;Requerido&nbsp;</b></span>';
		
		var nombreVal = $('#nombre').val();
		if(nombreVal.length < 3) {
			$('label[for="nombre"] span').remove();
			$('label[for="nombre"]').append(msg);
			hasError = true;
		}else{
			$('label[for="nombre"] span').remove();
		}
		
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var emailVal = $('#email').val();
		if(emailVal.length < 3) {
			$('label[for="email"] span').remove();
			$('label[for="email"]').append(msg);
			hasError = true;
		} else if(!emailReg.test(emailVal)){
			$('label[for="email"] span').remove();
			$('label[for="email"]').append('<span>&nbsp;<b style="letter-space:0; color:#FFF; background:#900;">&nbsp;Un correo válido&nbsp;</b></span>');
			hasError = true;
		}else{
			$('label[for="email"] span').remove();
		}
		
		var mensajeVal = $('#mensaje').val();
		if(mensajeVal != undefined && mensajeVal.length < 3) {
			$('label[for="mensaje"] span').remove();
			$('label[for="mensaje"]').append(msg);
			hasError = true;
		}else{
			$('label[for="mensaje"] span').remove();
		}
		
		if(hasError == false){
			var $form = $('#contacto_forma');
			$form.after('<div id="resultado"></div>');
			$btn.attr('disabled', true);
			$.ajax({
				cache: false,
				type: 'POST',
				url: $form.attr('action'),
				data: $form.serialize(),
				error: function(){
					//error	
				},
				success: function(data) {
					$form.hide()
					$('#resultado').html(data).append('<p><a href="javascript://" id="restart">Escribir otro mensaje</a></p>').hide().fadeIn();
					$('#restart').click(function(){
						$('#resultado').remove();
						$btn.attr('disabled', false).toggleClass('bhover');
						$form.find(':text, textarea').val('').removeClass('fill focus');
						$form.fadeIn();
						return false;
					});
				}
			});
		}
		return false;
	});
}

/*==============
Llamar las functiones
==============*/

$(document).ready(function(){
	initVisual();
	initCorreo();
	initScroll();
	//$('body').wrapInner('<div id="wrap"></div>');
	$('#wrap').hide();
});

$(window).bind('load', function(){
	$('#wrap').slideDown(1000);
});