//---------------------------------------- Elemento

/*
 * Retorna o elemento com o id informado
 * @param String nis Id do elemento
 */
function den(nis) {
	return document.getElementById(nis);
}

function tags(nis) {
	return document.getElementsByTagName(nis);
}

//---------------------------------------- Elemento.innerHTML
/*
 * Insere o valor passado como conteúdo HTML do elemento.
 * @param String nis Id do elemento
 * @param String conteudo Conteudo a ser inserido
 */
function insereHTML(nis,conteudo) {
	den(nis).innerHTML = conteudo;
}

/*
 * Retorn o valor do elemento.
 * @param String nis Id do elemento
 * @param String valor Valor a ser inserido
 */
function oValor(nis) {
	return den(nis).value;
}

/*
 * Remove o conteúdo HTML do elemento.
 * @param nis Id do elemento
 */
function removeHTML(nis) {
	den(nis).innerHTML = '';
}

//----------------------------------------- Elemento.value

/*
 * Insere o valor passado como valor do elemento.
 * @param String nis Id do elemento
 * @param String valor Valor a ser inserido
 */
function insereValor(nis,valor) {
	den(nis).value = valor;
}

/*
 * Remove o valor do elemento.
 * @param nis Id do elemento
 */
function removeValor(nis) {
	den(nis).value = '';
}

//------------------------------------------- Elemento.style.display

/*
 * Mostra ou esconde o elemento, dependendo do estado de exibição dele
 * @param nis Id do elemento
 */
function mostraEsconde(nis) {
	//den(nis).style.display = (den(nis).style.display == 'none') ? "block" : "none";
	try {
		attr = den(nis).getAttributeNode("class");
		valores = attr.value.split(" ");
		escondido = false;
		
		for(var i = 0; i < valores.length; i++) {
			if (valores[i].match("esconde")) {
				escondido = true;
				continue;
			}
		}
		
		if(!escondido) {
			den(nis).className +=" esconde";
		} else {
			den(nis).className = den(nis).className.replace("esconde","");
		}
		
	} catch(e) {
		alert(e.message);
	}
}

function temPalavra(palavra,string) {
	var tem = false;
	valores = string.split(" ");
	for(var i = 0; i < valores.length; i++) {
		if (valores[i].match(palavra)) {
			tem = true;
		}
	}
	return tem;
}

/*
 * Esconde o elemento definindo o seu display para none
 * @param nis Id do elemento
 */
function esconde(nis) {
	var novosValores = "";
	try {
		attr = den(nis).getAttributeNode("class");
		if(!temPalavra("esconde",attr.value)) {
			den(nis).className +=" esconde"
		}
	} catch(e) {
		alert(e.message);
	}
}


/*
 * Mostr o elemento definindo o seu display para ''
 * @param nis Id do elemento
 */
function mostra(nis) {
	var novosValores = "";
	try {
		attr = den(nis).getAttributeNode("class");
		if(temPalavra("esconde",attr.value)) {
			den(nis).className = den(nis).className.replace("esconde", "");
		}
	} catch(e) {
		alert(e.message);
	}
}


//--------------------------------------- Confirma

/*
 * Pergunta para o usuário se ele deseja confirmar a execução da função
 * @param String msg Pergunta a ser feita para o usuário
 * @param function funcao Função a ser executada
 */
function confirma(msg,funcao){
	if(confirm(a)) { funcao(); }
}


function enviarFormulario(id) {
	den(id).submit();
}

//------------------------------------------ Menu Interno
// JavaScript Document
var omenu = true;
function menue(a) {
	obj = document.getElementById(a);
	if (omenu) { 
		omenu = false; 
		Effect.BlindDown(obj);

	}
	else {
		omenu = true; 
		Effect.BlindUp(obj);
	}
}
//------------------------------------------ Menu flutuante
function exibirmenu(Estado){
		//O estado pode ser Mostrar ou nMostrar
		if(Estado == "nMostrar") {
			den("listaMenuFlutuante").className +=" invisivel";
		} else {
			den("listaMenuFlutuante").className = den("listaMenuFlutuante").className.replace("invisivel","");
		}	
	
	}

//---------------------------------------------Validacao formulario de Pedidos e Vendas na secao representante


//------------------------------------------------ Validacao de Pedido

function validaPedido(){
			
	_representante = den('representante').value;
	_nomecliente = den('nomecliente').value;
	_endereco = den('endereco').value;
	_bairro = den('bairro').value;
	_cidade = den('cidade').value;
	_cep = den('cep').value;
	_tipofrete = den('tipofrete').value;
	_condpag = den('condpag').value;
	_modpag = den('modpag').value;
//	_quantidade1 = den('quantidade1').value;
//	_codigo1 = den('codigo1').value;
//	_desc1 = den('desc1').value;
//	_unid1 = den('unid1').value;
//	_total1 = den('total1').value;
	
	_qtdItens = den('qtdItens').value;
	
	
	if((_representante == "") || (_nomecliente == "") || (_endereco == "") || (_bairro == "") || (_cidade == "") || (_cep == "") || (_tipofrete == "") || (_condpag == "") || (_modpag == "")){

		alert('Os campos marcados com (*) são obrigatórios');		
		return false;
		
	}else{
		
		var retorno = true;
		
		
		for(var i=1; i<=_qtdItens; i++){
			
			_qntItem = den('quantidade'+i);
			_codigoItem = den('codigo'+i);
			_descItem = den('desc'+i);
			_unidItem = den('unid'+i);
			_totalItem = den('total'+i);
			
			
			if ((_qntItem.value == "") || (_codigoItem.value == "") || (_descItem.value == "") || (_unidItem.value == "") || (_totalItem.value == "")){
				alert('Você deve digitar o '+ i +'º item do pedido.');
				retorno = false;
			
			}else{
	
				if(isNaN(_qntItem.value)){			
					alert('O campo "Quantidade" do '+ i +'º item devem conter somente números');
					retorno = false;
				}
			}
			
		}//Fim do for
		
		return retorno;
		
	}           
}
//------------------------------------------------ Mascara para CEP
function MascaraCep(cep){
        if(mascaraInteiro(cep)==false){
        event.returnValue = false;
    }    
    return formataCampo(cep, '00.000-000', event);
}

function ValidaCep(cep){
    exp = /\d{2}\.\d{3}\-\d{3}/
    if(!exp.test(cep.value))
        alert('Numero de Cep Invalido!');        
}


//valida numero inteiro com mascara
function mascaraInteiro(){
    if (event.keyCode < 48 || event.keyCode > 57){
        event.returnValue = false;
        return false;
    }
    return true;
}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) { 
    var boleanoMascara; 
    
    var Digitato = evento.keyCode;
    exp = /\-|\.|\/|\(|\)| /g
    campoSoNumeros = campo.value.toString().replace( exp, "" ); 
   
    var posicaoCampo = 0;     
    var NovoValorCampo="";
    var TamanhoMascara = campoSoNumeros.length;; 
    
    if (Digitato != 8) { // backspace 
        for(i=0; i<= TamanhoMascara; i++) { 
            boleanoMascara  = ((Mascara.charAt(i) == "-") || (Mascara.charAt(i) == ".")
                                || (Mascara.charAt(i) == "/")) 
            boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == "(") 
                                || (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " ")) 
            if (boleanoMascara) { 
                NovoValorCampo += Mascara.charAt(i); 
                  TamanhoMascara++;
            }else { 
                NovoValorCampo += campoSoNumeros.charAt(posicaoCampo); 
                posicaoCampo++; 
              }            
          }     
        campo.value = NovoValorCampo;
          return true; 
    }else { 
        return true; 
    }
}



//-----------------------------------------------------------


function subtotal(_linha){
	
	_qtd = den('quantidade' + _linha);
	_codigoProduto = den('codigo' + _linha);
	_descricaoProduto = den('desc' + _linha);
	_vlUnit = den('unid' + _linha);
	_total = den('total' + _linha);
	
	if(_qtd.value == "" || _vlUnit.value == ""){
		
		
			if (confirm("Alguns campos do itens do pedido atual não foram informados corretamente.\n\nDeseja redigitar este item?")){
				
				_qtd.value = "";
				_codigoProduto.value = "";
				_descricaoProduto.value = "";
				_vlUnit.value = "";
				_total.value = "";
				_qtd.focus();
			}
			
		atualizarTotal()
		atualizarTotalQtd()	
	
	} else {
		
		var valorUnt = _vlUnit.value;
		for(var i = 0; i<=valorUnt.length; i++){
			valorUnt = valorUnt.replace('.', '');
		}
		valorUnt = valorUnt.replace(',', '.');
//		valorUnt = parseFloat(valorUnt).toFixed(2);
		
		if(!isNaN(_qtd.value) && !isNaN(valorUnt)){

				var total = _qtd.value*valorUnt;				
//				_total.value = total.toFixed(2);
				_total.value = formataTotal(total.toFixed(2));
				
				atualizarTotal()
				atualizarTotalQtd()	
				
		} else {
				
			if (confirm('Os campos "Quantidade" e "Valor Unitário" devem conter valores numéricos.\n\nDeseja redigitar estes itens?')){
				
				_qtd.value = "";
				_vlUnit.value = "";
				_total.value = "";
				_qtd.focus();
				
			}
			
				
				atualizarTotal()
				atualizarTotalQtd()	
				
		}		
	}
}


//------------------------------------------------------
function atualizarTotal(){
	//subtotal --> totalv
	
	var objQtdItens = den('qtdItens');
	var qtdItens = objQtdItens.value;
	
	var result = 0;

	for (i = 1; i<=qtdItens; i++){
		
		elemento = den('total' + i);
		
		if (elemento.value != ""){
			var valor = elemento.value;
			for(ind = 0; ind<=valor.length; ind++){
				valor = valor.replace('.', '');
			}
				valor = valor.replace(',', '.');
				if (!isNaN(valor)){
					
					result = parseFloat(result) + parseFloat(valor);
				}
		}	
		
	}
	
	var elementototal = den('totalv');
//	elementototal.value = result;
	elementototal.value = formataTotal(result.toFixed(2));
	
}	

function atualizarTotalQtd(){
	//total geral --> totali

	var objQtdItens = den('qtdItens');
	var qtdItens = objQtdItens.value;
	
	var result = 0;	
	
	for (i = 1; i<=qtdItens; i++){
		
		elemento = den('quantidade' + i);
		
		if ((elemento.value != "") && (!isNaN(elemento.value))){			
				result = parseInt(result) + parseInt(elemento.value);			
			}	
		
	}
	
	var elementoTotali = den('totali')
	elementoTotali.value = result;
	

	
}


function formataValor(id,tammax,teclapres) {

	if(window.event) { // Internet Explorer
	var tecla = teclapres.keyCode; }
	else if(teclapres.which) { // Nestcape / firefox
	var tecla = teclapres.which;
	}
	
	
	vr = den(id).value;
	vr = vr.toString().replace( "/", "" );
	vr = vr.toString().replace( "/", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ",", "" );
	tam = vr.length;
	
	if (tam < tammax && tecla != 8){ tam = vr.length + 1; }
	
	if (tecla == 8 ){ tam = tam - 1; }
	
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
	if ( tam <= 2 ){
	den(id).value = vr; }
	if ( (tam > 2) && (tam <= 5) ){
	den(id).value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 6) && (tam <= 8) ){
	den(id).value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 9) && (tam <= 11) ){
	den(id).value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 12) && (tam <= 14) ){
	den(id).value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 15) && (tam <= 17) ){
	den(id).value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );}
	}
}


function formataTotal(valor) {
	var vr;
	vr = valor;
	vr = vr.toString().replace( "/", "" );
	vr = vr.toString().replace( "/", "" );
	vr = vr.toString().replace( ",", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	vr = vr.toString().replace( ".", "" );
	tam = vr.length;
	
	if ( tam <= 2 ){
		valor = vr.substr(0, tam - 1) + ',' + vr.substr( tam -1, tam); }
	if ( (tam > 2) && (tam <= 5) ){
		valor = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 6) && (tam <= 8) ){
		valor = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 9) && (tam <= 11) ){
		valor = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 12) && (tam <= 14) ){
		valor = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
	if ( (tam >= 15) && (tam <= 17) ){
		valor = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );}
	if ( (tam >= 18) && (tam <= 20) ){
		valor = vr.substr( 0, tam - 17 ) + '.' + vr.substr( tam - 17, 3 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );}
		if ( (tam >= 21) && (tam <= 23) ){
		valor = vr.substr( 0, tam - 20 ) + '.' + vr.substr( tam - 20, 3 ) + '.' + vr.substr( tam - 17, 3 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );}
	
	return valor;

}
