/**
 * @author Freddybg
 */

jQuery(document).ready(function(){	
	
	var searchInput  = jQuery('.text');
	var inputName    = jQuery('#name');
	var reqName      = jQuery('#req-name');
	var inputEmail   = jQuery('#email');
	var reqEmail     = jQuery('#req-email');
	var inputPhone   = jQuery('#phone');
	var reqPhone     = jQuery('#req-phone');
	var inputCity    = jQuery('#city');
	var reqCity      = jQuery('#req-city');
	var inputMessage = jQuery('#message');
	var reqMessage   = jQuery('#req-message');
	
	function validate_name(){
		
		if(inputName.val().length < 4){
			reqName.addClass("error");
			reqName.text('Ingrese su nombre');
			inputName.addClass("error");
			return false;
		}

		else if(!inputName.val().match(/^[\w\s\.]+$/)){
			reqName.addClass("error");
			reqName.text('Evite agregar simbolos como ! " ? $ % ^ & )');
			inputName.addClass("error");
			return false;
		}
		
		else{
			reqName.removeClass("error");			
			inputName.removeClass("error");
			reqName.text('');	
			return true;
		}
	}
	
	function validate_email(){
		
		if(inputEmail.val().length == 0){
			reqEmail.addClass("error");
			inputEmail.addClass("error");
			reqEmail.text('Ingrese su correo electrónico');
			return false;
		}
		
		else if(!inputEmail.val().match(/^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i)){
			reqEmail.addClass("error");
			inputEmail.addClass("error");
			reqEmail.text('Ingrese un correo electrónico valido');
			return false;
		}
		
		else{
			reqEmail.removeClass("error");
			inputEmail.removeClass("error");
			reqEmail.text('');
			return true;
		}
	}
	
	function validate_phone()
	{
		if(inputPhone.val().length == 0)
		{
			reqPhone.addClass('error');
			inputPhone.addClass('error');
			reqPhone.text('Ingrese un número de teléfono');
			return false;
		}
		else if (!inputPhone.val().match(/^[\w\s.]+$/))
		{
			reqPhone.addClass('error');
			inputPhone.addClass('error');
			reqPhone.text('Evite agregar simbolos como ! " ? $ % ^ & )');
			return false;
		}
		else
		{
			reqPhone.removeClass('error');
			inputPhone.removeClass('error');
			reqPhone.text('');
			return true;
		}
	}
	
	function validate_city(){
		
		if(inputCity.val().length < 1){
			return true;
		}

		else if(!inputCity.val().match(/^[\w\s\.]+$/)){
			reqCity.addClass("error");
			inputCity.addClass("error");
			reqCity.text('Evite agregar simbolos como ! " ? $ % ^ & )');
			return false;
		}
		
		else{
			reqCity.removeClass("error");
			inputCity.removeClass("error");
			reqCity.text('');
			return true;
		}
	}
	
	function validate_message(){
		
		if(inputMessage.val().length < 4){
			reqMessage.addClass("error");
			inputMessage.addClass("error");
			reqMessage.text('Escriba un mensaje.');
			return false;
		}
	
		else{
			reqMessage.removeClass("error");
			inputMessage.removeClass("error");
			reqMessage.text('');
			return true;
		}
	}
	
	inputName.blur(validate_name);
	inputEmail.blur(validate_email);
	inputPhone.blur(validate_phone);
	inputCity.blur(validate_city);  
	inputMessage.blur(validate_message);
	
	inputName.keyup(validate_name);
	inputEmail.keyup(validate_email);
	inputPhone.keyup(validate_phone);
	inputCity.keyup(validate_city);
	
	$("#formulario-contacto").submit(function(){
		if(validate_name() & validate_email() & validate_phone() & validate_city() & validate_message()){
			
			return true;
		}
		else
		{
			
			return false;
		}			
	});
	
	searchInput.focus(function(){
		$(this).addClass("active");
	});
	searchInput.blur(function(){
		$(this).removeClass("active");  
	});
	
	focus_search();	
	menu();
	
})

function focus_search(){
	$('input.focus[type = "text"]').focus(function(){
		if(this.value == this.defaultValue)
		{
			this.value = '';
		}
		if(this.value != this.defaultValue)
		{
			this.select();
		}
	});
	$('input.focus[type = "text"]').blur(function(){
		if ($.trim(this.value) == '') {
			this.value = (this.defaultValue ? this.defaultValue : '');
		}
	});
}

function menu() {
	$('ul.menu_desplegable ul ').css({display: "none"});
	$('ul.menu_desplegable li').hover( function() {
		$(this).find('ul').css({display: "none"}).slideDown(400).show("slow");
	}), function() {
		$(this).find('ul').slideUp('slow');
	}
}

