/************************************************************************************************
* DICAS:
* A palavra DEFER indica que o bloco script só será carregado após todo o carregamento da página.
* <script type="text/javascript" DEFER=”DEFER”>
* function setDisabled() {
*   document.getElementById(”foo”).disabled = true;
* } // Chamada da função
* setDisabled();
* </script>
* Michael: Isso somente será necessário para os casos da chamada de função ser após a função 
* dentro do bloco <script>. Alternativa: Usar window.onload = function(){ nomefunces(); }
************************************************************************************************/


/************************************************************************************************
* Nome: addFlash
* Comentário: Adiciona um arquivo flash a página
* Parâmetros: url - caminho do arquivo flash
*             width - largura do arquivo flash
*             height - altura do arquivo flash  
************************************************************************************************/
function addFlash(url, width, height) {
	document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="' + width + '" height="' + height + '">'); 
	document.write('<param name="movie" value="' + url + '" />');
	document.write('<param name="quality" value="high" />');
	document.write('<embed src="' + url + '" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '"></embed>');
	document.write('</object>');
}

/************************************************************************************************
* Nome: openWindow
* Comentário: Abre uma nova janela do navegador com tamanhos personalizados.
* Parâmetros: url - url que contém a página a ser aberta.
*             name - nome para a nova janela.
*             width - largura da janela.
*             height - altura da janela.
*             scrolling - barra horizontal. 
************************************************************************************************/
function openWindow(url, name, width, height, scrolling) {
	if (!scrolling) { 
		scrolling = 'auto' 
	} 
	openPop = window.open(url, name, 'width=' + width + ', height=' + height +',scrollbars=yes,toolbar=no,location=no,status=no,menubar=no,resizable=no,left=110,top=70');
}

/************************************************************************************************
* Nome: printPage
* Comentário: Imprime o conteúdo da página.
************************************************************************************************/
function printPage() {
  if (window.print) {
    document.body.offsetHeight;
    window.print();
  } else {
    alert("Erro ao enviar o documento diretamente para impressão");
  }
}

/************************************************************************************************
* Nome: warnInvalid
* Comentário: Apresenta um alert e coloca o foco no campo com problema.
* Parâmetros: theField - campo do formulário.
*        	  warnText - texto a ser mostrado no alert.
************************************************************************************************/
function warnInvalid (theField, warnText) {   
	theField.focus();
	if(!isEmpty(warnText)){
		alert(warnText);
	}	
	return false
}

/************************************************************************************************
* Nome: isEmpty
* Comentário: Verifica se um campo está vázio.
* Parâmetros: theField - campo do formulário a ser verificado.
************************************************************************************************/
function isEmpty(theField) {
	return ((theField == null) || (theField.length == 0));
}

/************************************************************************************************
* Nome: isInteger
* Comentário: Verifica se um campo é inteiro, inclui dígitos de 0 a 9, vírgula, ponto, espaços e -
* Parâmetros: theField - campo do formulário a ser verificado.
************************************************************************************************/
function isInteger(theField){
var i;
	if (isEmpty(theField)) 
		return false;
	for (i = 0; i < theField.length; i++) {   
		var c = theField.charAt(i);
		if (!isNumber(c)) return false;
	}
	return true;
}

/************************************************************************************************
* Nome: isNumeric
* Comentário: Verifica se um campo é numerico, se contém apenas dígitos de 0 a 9.
* Parâmetros: theField - campo do formulário a ser verificado.
************************************************************************************************/
function isNumeric(theField){
	var i;
	if (isEmpty(theField)) 
		return false;
	for (i = 0; i < theField.length; i++) {   
		var c = theField.charAt(i);
		if (!isDigit(c)) return false;
	}
	return true;
}

/************************************************************************************************
* Nome: isDigit
* Comentário: Verifica se o caracter é um dígito de 0 a 9.
* Parâmetros: theField - campo do formulário a ser verificado.
************************************************************************************************/
function isDigit(c) { 
	return ((c >= "0") && (c <= "9")) 
}

/************************************************************************************************
* Nome: isEmailAddr
* Comentário: Verifica se o e-mail digitado é válido.
* Parâmetros: theEmail - e-mail a ser verificado.
************************************************************************************************/
function isEmailAddr(theEmail) {
	var result = false;
	var theStr = new String(theEmail);
	var index = theStr.indexOf("@");
	if (index > 0){
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	}
	return result;
}

/************************************************************************************************
* Nome: validRequired
* Comentário: Válida um campo como requerido.
* Parâmetros: formField - formulário que contém o campo a ser verificado.
*             fieldLabel - nome do campo a ser verificado.
************************************************************************************************/
function validRequired(formField, fieldLabel) {
	var result = true;
	if (formField.value == "" || formField.value == null){
		alert('O campo "' + fieldLabel +'" deve ser preenchido.');
		formField.focus();
		result = false;
	}
	return result;
}

/************************************************************************************************
* Nome: validEmail
* Comentário: Válida o e-mail digitado e verifica se o mesmo é um campo requerido.
* Parâmetros: formField - formulário que contém o campo a ser verificado.
*             fieldLabel - nome do campo a ser verificado.
*   		  required - false ou true para validar como requerido.
************************************************************************************************/
function validEmail(formField, fieldLabel, required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) ) {
		alert('O "' + fieldLabel +'" foi digitado de forma incorreta');
		formField.focus();
		result = false;
	}
	return result;
}

/************************************************************************************************
* Nome: validPhone
* Comentário: Verifica se o contéudo do campo é um número de telefone e se o mesmo é um campo requerido.
* Parâmetros: formField - formulário que contém o campo a ser verificado.
*             fieldLabel - nome do campo a ser verificado.
*   		  required - false ou true para validar como requerido.
************************************************************************************************/
function validPhone(formField, fieldLabel, required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false; 
	if (result && (formField.value.length < 8)) {
        alert('Número de "' + fieldLabel +'" inválido!');	
		formField.focus();
		result = false;
	}
	return result;	
}

/************************************************************************************************
* Nome: validInt
* Comentário: Verifica se o contéudo do campo é numerico e se o mesmo é um campo requerido.
* Parâmetros: formField - formulário que contém o campo a ser verificado.
*             fieldLabel - nome do campo a ser verificado.
*   		  required - false ou true para validar como requerido.
************************************************************************************************/
function validInt(formField, fieldLabel, required){
	var result = true;
	if (required && !validRequired(formField,fieldLabel)) result = false;
	if (result){
		var num = parseInt(formField.value);
		if (isNaN(num)){
			alert('Por favor, preencha o campo "' + fieldLabel +'" com um número válido.');
			formField.focus();
			result = false;
		}
	}
	return result;
}

/************************************************************************************************
* Nome: validarRetorno
* Comentário: Habilita e desabilita o campo data e hora de retorno.
************************************************************************************************/
function validarRetorno() {
   document.forms[0].dataretorno.disabled = (document.forms[0].dataretorno.disabled) ? false : true;
   document.forms[0].horaretorno.disabled = (document.forms[0].horaretorno.disabled) ? false : true;   
}

function verificarQuantidade(qtd_alt) {
	alert(qtd_alt);
	return false;
	/*
	if(qtd_alt < qtd_min){
		alert('A quantidade é menor que a mínima permitida.');
		//return false;
	} else {
		alert('pode alterar');
		//return true;
	}
	*/
}

function confirmarExclusaoProduto() {
	if (!confirm("Tem certeza de que deseja excluir esse produto?")) return false;
	return true;
}

function add_bookmark() {
    var url = window.location.href;
    var title = "JI-CRED - Acesso restrito"; //document.title;
    if(window.sidebar) window.sidebar.addPanel(title, url,"");
    else if(window.opera && window.print){
        var mbm = document.createElement('a');
        mbm.setAttribute('rel','sidebar');
        mbm.setAttribute('href',url);
        mbm.setAttribute('title',title);
        mbm.click();
    } else if(document.all){window.external.AddFavorite(url, title); }
}


function mascara_global(mascara, valor){
	if(mascara == '###.###.###-##|##.###.###/####-##'){
		if(valor.length>14){
			return mascara_global('##.###.###/####-##', valor);
		}else{
			return mascara_global('###.###.###-##', valor);
		}
	}
	
	tvalor = "";
	ret = "";
	caracter = "#";
	separador = "|";
	mascara_utilizar = "";
	valor = removeEspacos(valor);
	if (valor == "")return valor;
	temp = mascara.split(separador);
	dif = 1000;
	
	valorm = valor;
	//tirando mascara do valor já existente
	for (i=0;i<valor.length;i++){
		if (!isNaN(valor.substr(i,1))){
			tvalor = tvalor + valor.substr(i,1);
		}
	}
	valor = tvalor;
	
	//formatar mascara dinamica
	for (i = 0; i<temp.length;i++){
		mult = "";
		validar = 0;
		for (j=0;j<temp[i].length;j++){
			if (temp[i].substr(j,1) == "]"){
				temp[i] = temp[i].substr(j+1);
				break;
			}
			if (validar == 1)mult = mult + temp[i].substr(j,1);
			if (temp[i].substr(j,1) == "[")validar = 1;
		}
		for (j=0;j<valor.length;j++){
			temp[i] = mult + temp[i];
		}
	}
	
	//verificar qual mascara utilizar
	if (temp.length == 1){
		mascara_utilizar = temp[0];
		mascara_limpa = "";
		for (j=0;j<mascara_utilizar.length;j++){
			if (mascara_utilizar.substr(j,1) == caracter){
				mascara_limpa = mascara_limpa + caracter;
			}
		}
		tam = mascara_limpa.length;
	}else{
		//limpar caracteres diferente do caracter da máscara
		for (i=0;i<temp.length;i++){
			mascara_limpa = "";
			for (j=0;j<temp[i].length;j++){
				if (temp[i].substr(j,1) == caracter){
					mascara_limpa = mascara_limpa + caracter;
				}
			}
			if (valor.length > mascara_limpa.length){
				if (dif > (valor.length - mascara_limpa.length)){
					dif = valor.length - mascara_limpa.length;
					mascara_utilizar = temp[i];
					tam = mascara_limpa.length;
				}
			}else if (valor.length < mascara_limpa.length){
				if (dif > (mascara_limpa.length - valor.length)){
					dif = mascara_limpa.length - valor.length;
					mascara_utilizar = temp[i];
					tam = mascara_limpa.length;
				}
			}else{
				mascara_utilizar = temp[i];
				tam = mascara_limpa.length;
				break;
			}
		}
	}
	
	//validar tamanho da mascara de acordo com o tamanho do valor
	if (valor.length > tam){
		valor = valor.substr(0,tam);
	}else if (valor.length < tam){
		masct = "";
		j = valor.length;
		for (i = mascara_utilizar.length-1;i>=0;i--){
			if (j == 0) break;
			if (mascara_utilizar.substr(i,1) == caracter){
				j--;
			}
			masct = mascara_utilizar.substr(i,1) + masct;
		}
		mascara_utilizar = masct;
	}
	
	//mascarar
	j = mascara_utilizar.length -1;
	for (i = valor.length - 1;i>=0;i--){
		if (mascara_utilizar.substr(j,1) != caracter){
			ret = mascara_utilizar.substr(j,1) + ret;
			j--;
		}
		ret = valor.substr(i,1) + ret;
		j--;
	}
	return ret;
}

function removeEspacos(valor){
var valorSemEspacos="";

var tamanho = valor.length;
	for (i = 0; i<30;i++){
		if(valor.substr(i,1)==" "){
		}else{
		valorSemEspacos = valorSemEspacos + valor.substr(i,1);
		}
	}
return valorSemEspacos;
}


function startList(){
//startList = function() {
	var navItems = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i< navItems.length; i++) {
		if(navItems[i].className == "submenu") {
			navItems[i].onmouseover=function() {
				this.getElementsByTagName('ul')[0].style.display="block";
				this.style.backgroundColor = "#f0ede6";
			}
			navItems[i].onmouseout=function() {
				this.getElementsByTagName('ul')[0].style.display="none";
				this.style.backgroundColor = "#f0ede6";
			}
		}
	}
}
//window.onload=startList;
