/*
Nome do Script : COMMON.JS
Autor(es)      : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data           : 22 de Setembro de 2004.
Versão         : 1.0
Parâmetros     : Nenhum.
Descrição      : Biblioteca de scripts comuns.
*/

//----------------------------------------------------------------------------------------------------------

/*
Função          : noFocus
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 22 de Setembro de 2004.
Data de término : 22 de Setembro de 2004.
Atualização     : 16 de Fevereiro de 2005.
Descrição       : Desabilita a borda de focus dos links e dos botões.
Parametros      : Nenhum.
Retorno         : Nenhum.
*/
function noFocus()
{
	if(document.getElementById)
	{
		var v_ob_links   = document.getElementsByTagName('a');
		var v_ob_inputs  = document.getElementsByTagName('input');
		var v_ob_buttons = document.getElementsByTagName('button');
		var v_i_nLinks   = parseInt(v_ob_links.length);
		var v_i_nInputs  = parseInt(v_ob_inputs.length);
		var v_i_nButtons = parseInt(v_ob_buttons.length);
	
		for(i=0; i<v_i_nLinks; i++)
			  v_ob_links[i].onfocus = new Function("if(this.blur)this.blur();");
			
		for(i=0; i<v_i_nInputs; i++)
		{
			if(v_ob_inputs[i].type=='button' || v_ob_inputs[i].type=='submit' || 
				 v_ob_inputs[i].type=='reset' || v_ob_inputs[i].type=='image')
				 v_ob_inputs[i].onfocus = new Function("if(this.blur)this.blur();");
		}
		
		for(i=0; i<v_i_nButtons; i++)
			  v_ob_buttons[i].onfocus = new Function("if(this.blur)this.blur();");
	}
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : isEmpty
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 23 de Setembro de 2004.
Data de término : 23 de Setembro de 2004.
Atualização     :
Descrição       : Funcão de uso geral para ver se um valor de entrada foi realmente inserido.
Parametros      : Nenhum.
Retorno         : Nenhum.
*/
function isEmpty(p_s_input)
{
	if(p_s_input == null || p_s_input == "")
	{
		return true;
	}
	return false; 
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : isBlank
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 27 de Setembro de 2004.
Data de término : 27 de Setembro de 2004.
Atualização     :
Descrição       : Funcão de uso geral para ver se o valor de entrada é um monte de espaços.
Parametros      : Nenhum.
Retorno         : Nenhum.
*/
function isBlank(p_s_input)
{ 
	for(i=0; i<p_s_input.length;i++)
	{ 
		var v_s_char = p_s_input.charAt(i);
		if((v_s_char!=" ") && (v_s_char!="\t") && (v_s_char!="\n"))
		{ 
			return false;
		} 
		return true;
	} 
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : swpImg
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 23 de Setembro de 2004.
Data de término : 23 de Setembro de 2004.
Atualização     :
Descrição       : Funcão de uso geral para troca de imagens.
Parametros      : p_o_local, p_o_imagem.
Retorno         : Nenhum.
*/
function swpImg(p_ob_local, p_ob_imagem)
{
	if(document.images && document.getElementById)
	{
		p_ob_local = document.getElementById(p_ob_local);
		p_ob_local.src = p_ob_imagem;
	}
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : isPosNumber
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 24 de Setembro de 2004.
Data de término : 24 de Setembro de 2004.
Atualização     :
Descrição       : Funcão verefica se o que está sendo informado é um número inteiro positivo.
Parametros      : p_o_evt.
Retorno         : true ou false.
*/
function isPosNumber(p_ob_evt)
{
	p_ob_evt = (p_ob_evt) ? p_ob_evt : window.event; //verifica se há algum evento no p_ob_evt.
	var v_s_charCode = (p_ob_evt.which) ? p_ob_evt.which : p_ob_evt.keyCode; //pega o código do caractere.
	
	if(v_s_charCode > 31 && (v_s_charCode < 48 || v_s_charCode >57))
	{
		window.status = "Este campo aceita somente números inteiros.";
		return false;
	}
	
	window.status = "";
	return true;
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : isPosInteger
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 24 de Setembro de 2004.
Data de término : 24 de Setembro de 2004.
Atualização     :
Descrição       : Funcão de uso geral para ver se uma entrada numérica suspeita é um inteiro positivo.
Parametros      : p_s_inputVal.
Retorno         : true ou false.
*/
function isPosInteger(p_s_inputVal)
{
	v_s_input = p_s_inputVal.toString();

	for(i=0; i<v_s_input.length; i++)
	{
		v_s_oneChar = v_s_input.charAt(i);
		if(v_s_oneChar < "0" || v_s_oneChar > "9")
			return false;
	}
	return true;
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : isInteger
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 29 de Setembro de 2004.
Data de término : 29 de Setembro de 2004.
Atualização     :
Descrição       : Funcão de uso geral para ver se uma entrada numérica suspeita é um inteiro positivo ou negativo.
Parametros      : p_s_inputVal.
Retorno         : true ou false.
*/
function isInteger(p_s_inputVal)
{
	v_s_input = p_s_inputVal.toString();

	for(i=0; i<v_s_input.length; i++)
	{
		v_s_oneChar = v_s_input.charAt(i);
		if(i == 0 && v_s_oneChar == "-")
			continue;
			
		if(v_s_oneChar < "0" || v_s_oneChar > "9")
			return false;
	}
	return true;
}

//----------------------------------------------------------------------------------------------------------

/*
Função          : getStyle
Autor           : Ed. David Segura (wdedy@uol.com.br, edysegura@gmail.com).
Data de início  : 05 de Outubro de 2004.
Data de término : 05 de Outubro de 2004.
Atualização     :
Descrição       : Funcão para retornar o valor da propriedade do elemento.
Parametros      : p_s_inputVal.
Retorno         : Retorna o valor da propriedade do css especificado.
*/
function getStyle(p_ob_el, p_s_csspropertyIE, p_s_csspropertyNS)
{
	if(p_ob_el.currentStyle)
		return p_ob_el.currentStyle[p_s_csspropertyIE];
	else if(window.getComputedStyle)
	{
		var v_ob_elstyle = window.getComputedStyle(p_ob_el,"");
		return v_ob_elstyle.getPropertyValue(p_s_csspropertyNS);
	}	
}
//----------------------------------------------------------------------------------------------------------