/* Plugins & Extensoes versão 1.0
 * Desenvolvido por William Novasky
 * E-mail: novasky@bnu.com.br
 */
	
	// Validaçao muito simples
	// Parâmetro obrigatório:  evento:e
	// Parâmetro obrigatório é o evento do usuário (submit)
	$.fn.ValidaSimples = function(options){
		var defaults = {
			evento: ''
		};
		var opts = jQuery.extend(defaults,options);
		
		var msgResp = 'Campos obrigatorios: \n';
		var msgContent = '';
		
		// Seleciona todos os campos de formulários que podem ser validados
		// Os campos obrigatórios sao setados com 'class="validate" title="Texto para referencia" '
		$('input.required, textarea.required, select.required, input.required-login, textarea.required-login, select.required-login').each(function(){
			if( $(this).attr('value') == '' ){
				
				// Cancela a açao do usuário (submit)
				opts.evento.preventDefault();
				
				msgContent = msgContent +"  * " + $(this).attr('title') + '\n';
			}
		})
		
		// Se nao encontrar campos para validar, esta variável vai estar vazia
		// Nao será exibido o alert
		if(msgContent != ''){
			alert(msgResp+msgContent);
			return false;
		}
		else{
			return true;
		}
		
	}
	
	// Seta o foco no primeiro campo que aparecer no primeiro formulário
	$.fn.FocusOnFirst = function(){
		
		// Cria um contador
		// Serve para setar o foco no primeiro campo
		// O campo nao pode estar escondido ou desabilitado
		var contador = 0;
		
		// Seleciona todos os INPUT do primeiro formulário
		// Executa para cada INPUT existente
		$('form:first input, textarea').each(function(){
			if( $(this).is(':visible') && $(this).attr('disabled') == false ){
				contador++;
				if( contador == 1){
					$(this).focus();
				}
			}
		});
	}
	
	
	/* Executa diversas açoes de um link
	 * 
	 * Atributos (tag 'a')
	      - 'rel': Principal, referencia a açao
		  - 'rev': Utilizado para preferencias do 'popup'
		  - 'title': Utilizado como mensagem 'confirma' e 'confirmaWindow'
		  - 'href': Utilizado como açao final
	 *
	 * Opçoes do atributo 'REL'
	 *    - confirma: abre uma janela para confirmaçao
	           True - continua a açao
			   False - Interrompe o procedimento
	 *    - window: abre uma nova janela para o link
	 *    - confirmaWindow: abre uma janela para confirmaçao
	           True - continua a açao, abrindo em uma nova janela
			   False - Interrompe o procedimento
	 *    - popup: abre uma janela popup
	           Rev
	 */
	$.fn.OptHref = function(options){
		var defaults = {
			evento: ''
		};
		var opts = jQuery.extend(defaults,options);
		
		// Para cada link clicado
		$(this).each(function(){
			var attrRel   = $(this).attr('rel');
			var attrRev   = $(this).attr('rev');
			var attrTitle = $(this).attr('title');
			var attrHref  = $(this).attr('href');
			
			// Se existir no REL do objeto o valor 'confirma'
			// Mostra a mensagem PROMPT para o usuário confirmar a açao ou nao
			if( attrRel == 'confirma' ){
				opts.evento.preventDefault();
				if(confirm(attrTitle) ){
					document.location.href = attrHref;
				}
			}
			
			// Se existir no REL do objeto o valor 'window'
			// Abre uma nova janela para o link
			else if( attrRel == 'window' ){
				opts.evento.preventDefault();
				window.open(attrHref);
			}
			
			// Se existir no REL do objeto o valor 'confirmaWindow'
			// Mostra a mensagem PROMPT para o usuário confirmar a açao ou nao
			// Após confirmado, abre uma nova janela para o link
			else if( attrRel == 'confirmaWindow' ){
				opts.evento.preventDefault();
				if(confirm(attrTitle) ){
					window.open(attrHref);
				}
			}
			
			// Se existir no REL do objeto o valor 'window'
			// Abre uma nova janela para o link
			else if( attrRel == 'popup' ){
				opts.evento.preventDefault();
				window.open(attrHref,'',attrRev);
			}
		});
	}
	
	$.fn.ComparaCampos = function(campo1,campo2){
		if(campo1 == campo2)
			return true;
		else
			return false;
	}
	
	$.fn.JumpMenu = function(options){
		var defaults = {
			url: '',
			valor: ''
		};
		var opts = jQuery.extend(defaults,options);
		
		if(opts.valor != 0 && opts.valor != '')
			document.location.href = opts.url;
	}
	
	// Inicia algumas funçoes básicas
	$(document).ready(function(){
		
		// Seta o Foco no primeiro campo
		$(this).FocusOnFirst();
		
		// Eventos para a TAG <a>
		$("a").click(function(e){
			$(this).OptHref({evento:e});
		});
	});
	
	