/**
* Arquivo de funções para validação de formulário
*
* @author Marcus Vinicius Bastos Leandro <mvleandro@gmail.com>
*         http://www.prosadigital.com/ 
*
* @create 2008-05-07
*/

/**
* Função que contém chamadas a funções
* que serão feitas no evento onload do window
*/
function doOnLoad(){

	//Adiciona função de validação aos forms
	adicionarValidacaoForms();

}

/**
* Função que adiciona ao evento onsubmit de todos os formulários
* do documento, a função de validação de formulário "validaForm()"
*
*/
function adicionarValidacaoForms(){

	var forms = document.forms;

	for ( var i = 0; i < forms.length; i++ ){

		forms[i].onsubmit = validaForm;

	}

}


/**
* Função que valida os campos obrigatórios num formulário.
* Para que um campos seja obrigatório, o valor do seu atributo
* 'title' deve começar com um asterísco (*)
*
* @return boolean
*/
var validaForm = function(){

	var frm = this;

	for (var i = 0; i < frm.elements.length; i++){

		if ( (frm.elements[i].title.substr(0,1)) == "*" ){

			if (frm.elements[i].value == ""){
				alert("O campo '"+frm.elements[i].title.substr(1,(frm.elements[i].title.length))+"' é de preenchimento obrigatório!");
				frm.elements[i].style.backgroundColor = "#ffffcc";
				frm.elements[i].focus();
				return false;
				break;
			}else{
				frm.elements[i].style.backgroundColor = "#efefef";
			}

		}

	}

	return true;

}


/**
* Remove o objeto do interior do objeto que o contém
*/
function remover(obj){
	obj.parentNode.removeChild(obj);
	
	return false;
	
}

/**
* Exibe um elemento da página
*/
var exibir = function ( idElemento ){
	
	var elemento = document.getElementById( idElemento );
	
	elemento.style.visibility = 'visible';
	elemento.style.display = 'block';
	
}

/**
* Oculta um elemento da página
*/
var ocultar = function ( idElemento ){
	
	var elemento = document.getElementById( idElemento );
	
	elemento.style.visibility = 'hidden';
	elemento.style.display = 'none';	
	
}

/**
* Exibe/oculta o código fonte de um bloco de anúncio
*/
var exibirOcultarCodigo = function ( idElemento ){		
	
	//Pegamos o elemento
	var elemento = document.getElementById( 'txt_codigo_' + idElemento );
	
	if( elemento.style.visibility == 'hidden' ){
		
		//Exibimos o código
		exibir( 'txt_codigo_' + idElemento );

		//mudamos a imagem
		var imagem = document.getElementById( 'img_' + idElemento );
		imagem.src = 'img/codeHidde.gif';			
		
	}else{
		
		//Ocultamos o código
		ocultar( 'txt_codigo_' + idElemento );		
		
		//mudamos a imagem
		var imagem = document.getElementById( 'img_' + idElemento );
		imagem.src = 'img/codeShow.gif';		
		
	}	

	return false;
	
}

/**
* Exibe ou oculta os filtros da busca
*/
var selectFiltros = function( valor ){	
	
	if( valor == 7 ){
		exibir( 'personalizarPeriodo' );		
	}else{
		ocultar('personalizarPeriodo');
	}
	
}


/**
* Esta função abre uma janela
*/
function openWindow(width, height, top, left, url){				
	
	var config="toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+width+",height="+height+",top="+top+",left="+left;
	var win = window.open(url,'win',config);		
	
}

/**
* Verifica a presença do caractere #, e corrige se necessário
*/
var verificarCaractereErrado = function (elemento){
	
	if( elemento.value.substr(0,1) == '#' ){
		elemento.value = elemento.value.substr(1,elemento.value.length);
		alert( 'Não coloque o caractere "#"' );
		elemento.style.backgroundColor = "#ffbfbf";
		elemento.focus();
		return false;
	}else{
		elemento.style.backgroundColor = "#ffffff";
	}
	
	return true;
	
}

// Atribui ao evento onload da janela a função doOnLoad.
// OBS: Desta forma estamos trabalhando com javascript não-obstrutivo.
window.onload = doOnLoad;
