/** Utilidades Gerais */
/**
$$
Retorna um objeto com base no ID fornecido
@param | string | Id do objeto
@return | object XHTML
*/
function $$(id) {
	return document.getElementById(id);
}
/**
$$$
Retorna os elementos xhtml referente ao documento principal ou a determinado objeto
@param | object XHTML | Objeto que comporta os elementos (use false para document)
@param | string | Nome dos elementos a serem retornados
@return | array
*/
function $$$(xhtmlObj,xhtmlName){
	var $obj = xhtmlObj;
	var $name = xhtmlName;
	return $obj===false ? document.getElementsByTagName($name) : $obj.getElementsByTagName($name);
}
/**
addFavorite
Adiciona um link ao favoritos
@param | string | Endereço absoluto do link
@param | string | Título
*/
function addFavorite(addFavoriteLink, addFavoriteTitle){
	var $link = addFavoriteLink;
	var $title = addFavoriteTitle;
	if(document.all){
		window.external.AddFavorite($link, $title);
	}else if(window.sidebar){
		window.sidebar.addPanel($title, $link, "");
	}
}
/**
disableButton
Desabilita os botões de um formulário
@param | object XHTML | Objeto formulário
*/
function disableButton(disableButtonForm){
	var $form = disableButtonForm;
	var $inputs = $form.getElementsByTagName('input');
	for(var $i=0;$i<$inputs.length;$i++){
		$input = $inputs[$i];
		$att = $input.getAttribute('type');
		if($att=='submit' || $att=='button' || $att=='reset'){
			$input.setAttribute('disabled','disabled');
		}
	}
}
/**
disableEnableInput
Desabilita/Habilita um input com base em um checkbox
@param | object XHTML | Objeto checkbox
@param | string | Id do objeto a receber a ação
*/
function disableEnableInput(disableEnableInputCheckbox,disableEnableInputId){
	var $checkbox = disableEnableInputCheckbox;
	var $obj = $$(disableEnableInputId);
	if($checkbox.checked===true){
		$obj.value = '';
		$obj.setAttribute('disabled','disabled');
	}else{
		$obj.removeAttribute('disabled');
	}
}
/**
getURL
Redireciona a página para um determinado link relativo - Geralmente utilizado dentro de arquivos Flash
@param | string | Link
*/
function getURL(getURLAddress){
	var $address = getURLAddress;
	self.location = ROOT_HTTP+$address;
}
/**
showHide
Esconde/Mostra um determinado objeto
@param | string | Id do objeto
*/
function showHide(showHideId){
	var $obj = $$(showHideId);
	if($obj.style.display=='' || $obj.style.display=='none'){
		$obj.style.display = 'block';
	}else{
		$obj.style.display = 'none';
	}
}
/**
redirectAction
Redireciona uma página com base no valor de um select ao ser selecionado
@param | object XHTML | Objeto select
*/
function redirectAction(redirectActionSelect){
	var $obj = redirectActionSelect;
	if($obj.value!='-1'){
		self.location = $obj.value;
	}
}
/**
refreshPage
Atualiza uma página
*/
function refreshPage(){
	location.reload();
}
/**
resetInput
Reseta um input
@param | object XHTML | Objeto input
@param | string | Classe CSS
*/
function resetInput(resetInputObj, resetInputClass){
	var $obj = resetInputObj;
	var $class = resetInputClass;
	var $value = $obj.value;
	var $default = $obj.defaultValue;
	if($value==$default){
		$obj.value = '';
	}else if($value==''){
		$obj.value= $default;
	}
	if($value==$default||$value==''){
		if($class!=''){
			$obj.setAttribute('class',$class);
			$obj.setAttribute('className',$class);
		}
	}
}
/**
setLoading
Insere a imagem padrão de loading do sistema
@param | object XHTML | Objeto a receber a imagem
*/
function setLoading(setLoadingObj){
	var $obj = setLoadingObj;
	$obj.innerHTML = '<p style="margin:0;padding:0;border:0;text-align:center;"><img src="'+ROOT_HTTP+'atributos/imagens/global/loading.gif" /></p>';
}
/**
toBlur
Muda o foco de um campo ao atingir o valor máximo (maxlength) de um objeto
@param | object XHTML | Objeto input que verificará o maxlength
@param | string | Id do objeto que receberá o foco
*/
function toBlur(toBlurObj,toBlurTo){
	var $obj = toBlurObj;
	var $value = $obj.value;
	var $limit = $obj.getAttribute('maxlength');
	var $to = $$(toBlurTo);
	if($value.length>=$limit){
		$to.focus();
	}
}
/**
getTypeFile
Retorna o tipo de um arquivo
@param | string | Caminho do arquivo
@return | boolean
*/
function getTypeFile(getTypeFilePath){
	var $path = getTypeFilePath;
	var $delimiter = $path.lastIndexOf('.');
	var $type = $path.substr($delimiter+1);
	return $type.toLowerCase();
}
