﻿/*
Name: Javascript Functions
Version: 1.0
Description: Javascripts para o site
Author: Alex Koti
Author URI: http://alexkoti.com
 */


jQuery(document).ready(function($){
	//remover status de javascript do documento
	$('html').removeClass('no-js');
	
	
	/**
	 * MENU
	 * 
	 */
	$('#menu_estados ul').hide();
	$('#menu_estados .site_selecionado').css('cursor', 'pointer').click(function(){
		$(this).next('ul').slideToggle();
	});
	
	
	/**
	 * GALERIA
	 * 
	 */
	$('ul.flickr_gallery li a').fancybox();
	
	
	/**
	 * DROPDOWN ESTADOS
	 * 
	 */
	$('.select_estados').change(function(){
		window.location = $(this).val();
	});
	
	
	
	/**
	 * VALIDATION
	 * Ações para validação js de comentários
	 * 
	 * 
	 * 
	 */
	// método personalizado de validação - 'defaultInvalid'
	jQuery.validator.addMethod('defaultInvalid', function(value, element) {
		switch (element.value) {
			case 'digite seu e-mail':
				if (element.name == 'ipt_email' )
				return false;
				break;
			case 'Nome':
				if (element.name == 'ipt_nome' )
				return false;
				break;
			case 'Estado':
				if (element.name == 'ipt_estado' )
				return false;
				break;
			default: return true; 
				break;
		}
	});
	$("#form_newsletter").validate({
		rules: {
			// name_do_input: 'método de validação para aplicar, separado por espaços'
			ipt_email: {
				required: true, 
				email: true
			},
			ipt_nome: {
				required: true,
				defaultInvalid: true
			},
			ipt_estado: {
				required: true,
				defaultInvalid: true
			}
		},
		messages: {
			// name_do_input: 'Mensagem'
			ipt_nome: 'Este campo é obrigatório',
			ipt_email: 'Digite um endereço de e-mail válido',
			ipt_estado: 'Este campo é obrigatório'
		},
		errorPlacement: function(label, element) {
			// label - elemento <label> gerado pelo validator
			// element - input validado
			// pegar o id do elmento e assim desconbrir o <label> como 'for' correspondente
			label.insertBefore( element );
		}
	});
	
	
	
	/**
	 * RESETAR INPUTS DE TEXTO
	 * Pega o valor padrão e remove em focus() e retoma em blur(), em caso de valor não preenchido
	 * 
	 * 
	 * 
	 */
	function onfocus_reset(){
		$('.ipt_text').each(function(){
			$(this).attr( 'default', $(this).val() );
		}).blur(function(){
			var default_val = $(this).attr('default');
			if( $(this).val() == '' ){
				$(this).val( default_val );
			}
		}).focus(function(){
			var default_val = $(this).attr('default');
			if( $(this).val() == default_val ){
				$(this).val('');
			}
		});
	}
	onfocus_reset();
	
	
	
});
