/****************************************************************
*	Criado em: 30/01/2007			Por: ANDRÉ LUIZ
****************************************************************/

/*# mostra/esconde responstas das FAQs 
	Exemplo do HTML a ser utilizado com essa função

	<div class="dv_05"><span>+&nbsp;</span>
		<a class="lk_03" name="lk_duvida" href="javascript: void(0);" onclick="javascript: showHideDuvida(this);" title="<%=vc_pergunta%>"><%=vc_pergunta%></a>
		<span class="dv_05" style="display:none">
			<%=vc_pergunta_resposta%>
	</span></div><%
*/

/*# mostra/esconde submenu */
function subMenu(vc_menu, vc_submenu, it_display, vc_item){

	var lk_menu								= document.getElementById(vc_menu);
	var dv_submenu							= document.getElementById(vc_submenu);
	var vc_item								= document.getElementById(vc_item);
	var it_display							= (it_display)		? it_display	: 0;
	var vc_display							= (it_display == 0)	? 'none'		: 'block';
	//var it_height							= (it_display == 0)	? 14			: 26;
	var vc_bgPos							= (it_display == 0)	? 'top left'	: 'top right';
		
	if(lk_menu.style.backgroundPosition != vc_bgPos){
		lk_menu.style.backgroundPosition	= vc_bgPos;
		dv_submenu.style.display			= vc_display;
		vc_item.style.display				= vc_display;
		//lk_menu.style.height				= it_height;
	}
}

function showHideDuvida(objLink){
	var vc_display						= new String(objLink.parentNode.lastChild.style.display);
	var vc_display_original				= new String(vc_display);
	var objContainer					= objLink.parentNode.lastChild.style;
	var objSinal						= objLink.parentNode.firstChild;
	var ar_links						= document.getElementsByName('lk_duvida');
	
	// fecha todas as perguntas abertas
	for (var i = 0; i < ar_links.length; i++){
		if(typeof(ar_links[i]) == 'object'){
			with(ar_links[i].parentNode){
				lastChild.style.display	= 'none';
				firstChild.innerHTML	= '+&nbsp;';
			}
		}
	}
	
	// exibe a resposta da pergunta clicada
	if(vc_display_original == 'block'){
		objContainer.display			= 'none';
		objSinal.innerHTML				= '+&nbsp;';
	} else {
		objContainer.display			= 'block';
		objSinal.innerHTML				= '&minus;&nbsp;';
	}
}
/*function showHideResposta(vc_obj) {
	// verifica se o elemento existe
	if (document.getElementById(vc_obj)) {
		var obj_detalhe	= document.getElementById(vc_obj);
		
		if (obj_detalhe.style.display != 'none')
			obj_detalhe.style.display	= 'none';
		else
			obj_detalhe.style.display	= 'inline';
	}
}*/

function validaPesquisa(){

	var dt_inicio  	= document.frm.inicialDT.value.split('/');
	var dt_fim 		= document.frm.finalDT.value.split('/');

	var inicio		= new Date(dt_inicio[2], dt_inicio[1], dt_inicio[0], 0, 0, 0, 0);
	var fim			= new Date(dt_fim[2], dt_fim[1], dt_fim[0], 0, 0, 0, 0);

	if (fim < inicio){
		alert('ATENÇÃO!\n\nData Inicial maior que a Final.');
		return false;
	}

}

/*# VALIDA E-MAIL [expressão regular] */
function verficaEmail(campo) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(campo)) {
		return	'';
	}
	return '- O E-MAIL digitado é inválido.\n';
}

/*# aceita só números digitados num campo */
function soNumero() {
	var tecla = event.keyCode;
	
	if (tecla > 47 && tecla < 58){ 
		return true;
	} else {
		if (tecla != 8) {
			event.keyCode = 0;
		} else {
			return true;
		}
	}
}

/*# MASCARA */
function mascarar(vc_campo,vc_mascara) {
	var i		= vc_campo.value.length;
	var x		= vc_mascara.substring(0,1);
	var y		= vc_mascara.substring(i);
	
	if (y.substring(0,1) != x) {
		vc_campo.value += y.substring(0,1);
	}
}

/*# VERIFICA DATA #*/
function verificaData(vc_campo) { 
	if (vc_campo.value.length > 0) {  
		it_dia		= (vc_campo.value.substring(0,2)); 
		it_mes		= (vc_campo.value.substring(3,5)); 
		it_ano		= (vc_campo.value.substring(6,10)); 
		it_erro		= 0; 
		
		if ((it_dia < 01) || (it_dia < 01 || it_dia > 30) && (it_mes == 04 || it_mes == 06 || it_mes == 09 || it_mes == 11 ) || it_dia > 31) { 
			it_erro	= 1; 
		} 

		if (it_mes < 01 || it_mes > 12 ) { 
			it_erro	= 1; 
		} 

		if (it_mes == 2 && (it_dia < 01 || it_dia > 29 || (it_dia > 28 && (parseInt(it_ano / 4) != it_ano / 4)))) { 
			it_erro	= 1; 
		} 

		if ((it_ano < 1900) || (it_ano>2078)){
			it_erro	= 1;
		}
		
		if (it_erro == 1) { 
			alert("Por favor, preencha uma data válida!"); 
			vc_campo.value	= '';
			vc_campo.focus(); 
		}
	} 
}

/*# iFrame virtual [ crossBrowser ] #*/
function iframe_virtual(vc_url,id) {
	// pega iframeVirtual pelo ID ou cria um iframeVirtual caso ñ exista
	var tempIFrame		= (document.getElementById('iframe_virtual')) ? document.getElementById('iframe_virtual') : document.createElement('iframe');
	
	with(tempIFrame) {
		style.border	= '0px';
		style.width		= '0px';
		style.height	= '0px';
	
		setAttribute('id','iframe_virtual');
		setAttribute('name','iframe_virtual');
		setAttribute('src',vc_url);
	}
	
	IFrameObj		= document.body.appendChild(tempIFrame);
}

/* IFRAME VIRTUAL COM UPLOAD DE ARQUIVO */
function $m(quem){
  return document.getElementById(quem)
}
function remove(quem){
 quem.parentNode.removeChild(quem);
}
function addEvent(obj, evType, fn){
     if (obj.addEventListener)
        obj.addEventListener(evType, fn, true)
    if (obj.attachEvent)
        obj.attachEvent("on"+evType, fn)
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, fn );
  } else {
    obj.removeEventListener( type, fn, false ); }
} 

function iframe_upload(form,url_action,id_elemento_retorno,html_exibe_carregando,html_erro_http){
/* Versão: 1.0 - 03/03/2007 - Testado no FF2.0 IE6.0 e OP9.1
* Autor: Micox - Náiron JCG - elmicox.blogspot.com - micoxjcg@yahoo.com.br
* Parametros:
* form - o form a ser submetido ou seu ID
* url_action - url pra onde deve ser submetido o form
* id_elemento_retorno - id do elemento que irá receber a informação de retorno
* html_exibe_carregando - Texto (ou imagem) que será exibido enquanto se carrega o upload
* html_erro_http - texto (ou imagem) que será exibido se der erro HTTP.
*******/
 form = typeof(form)=="string"?$m(form):form;
 
 var erro="";
 if(form==null || typeof(form)=="undefined"){ erro += "O form passado no 1o parâmetro não existe na página.\n";}
 else if(form.nodeName!="FORM"){ erro += "O form passado no 1o parâmetro da função não é um form.\n";}
 if($m(id_elemento_retorno)==null){ erro += "O elemento passado no 3o parâmetro não existe na página.\n";}
 if(erro.length>0) {
  alert("Erro ao chamar a função iframe_upload:\n" + erro);
  return;
 }

 var iframe = document.createElement("iframe");
 iframe.setAttribute("id","iframe-temp");
 iframe.setAttribute("name","iframe-temp");
 iframe.setAttribute("width","0");
 iframe.setAttribute("height","0");
 iframe.setAttribute("border","0");
 iframe.setAttribute("style","width:0; height:0; border:none;");
 form.parentNode.appendChild(iframe);
 window.frames['iframe-temp'].name="iframe-temp"; //ie sucks
 
 var carregou = function() { 
   removeEvent( $m('iframe-temp'),"load", carregou);
   var cross = "javascript: ";
   cross += "window.parent.$m('" + id_elemento_retorno + "').innerHTML = document.body.innerHTML; void(0); ";
   
   $m(id_elemento_retorno).innerHTML = html_erro_http;
   $m('iframe-temp').src = cross;
   
   setTimeout(function(){ remove($m('iframe-temp'))}, 250);
  }
 addEvent( $m('iframe-temp'),"load", carregou)
 
 form.setAttribute("target","iframe-temp");
 form.setAttribute("action",url_action);
 form.setAttribute("method","post");
 //form.setAttribute("enctype","multipart/form-data");
 //form.setAttribute("encoding","multipart/form-data");
 form.submit();
 
 if(html_exibe_carregando.length > 0){
  $m(id_elemento_retorno ).innerHTML = html_exibe_carregando;
 }
 
}


/*# Alternativa ao getElementsByName [ apenas p/ o IE ] */
function getElementsByNameIE(vc_tag, vc_name) {
	var ar_elem		= document.getElementsByTagName(vc_tag);
	var ar_retorno	= new Array();
	var vc_atributo	= new String();
	
	for(i = 0, iarr = 0; i < ar_elem.length; i++) {
		vc_atributo = ar_elem[i].getAttribute('name');
		
		if(vc_atributo == vc_name) {
			ar_retorno[iarr] = ar_elem[i];
			iarr++;
		}
	}
	
	return ar_retorno;
}


/************************************************************************
*	MascaraMoeda CROSSBROWSER				ANDRÉ LUIZ					*
*																		*
*	Exemplo de chamada:		mascaraMoeda(this.value, this.id, event);	*
*************************************************************************/
function mascaraMoeda(valor,cx,evtKeyPress) {
	if (valor) {
		var doc     = eval('document.getElementById("'+cx+'")');
		var nTecla	= (evtKeyPress.which) ? evtKeyPress.which : evtKeyPress.keyCode;
		
		if (nTecla == 110 || nTecla == 188 || nTecla == 190 || nTecla == 194) {
			return false;
		} else {
			valor		= mascararCentavo(valor);
		
			if (mascararCentavo(valor).length > 2) {
				str			= valor.replace(".", "");
				doc.value	= str.substr(0,(str.length-2)) + "." + str.substr((str.length-2),str.length);
			} else {
				valor		= mascararCentavo(valor);
				
				if (valor.length == 1) {
					doc.value	= "0.0" + valor;
				} else {
					doc.value	= "0." + valor;
				}
			}
		}
	}
}
	
function mascararCentavo(mn_valor) {
	if (mn_valor.indexOf('0') == 0) {
		mn_valor	= mn_valor.replace('0.','');
		mn_valor	= mn_valor.replace('0.0','');
	}
	
	mn_valor	= mn_valor.replace('.','');
	
	return		mn_valor;
}


/*# alternativa ao getElementsByName [ APENAS P/ IE ] */
function getElementsByNameIE(vc_tag, vc_name) {
	var ar_elem		= document.getElementsByTagName(vc_tag);
	var ar_retorno	= new Array();
	var vc_atributo	= new String();
	
	for(i = 0, iarr = 0; i < ar_elem.length; i++) {
		vc_atributo = ar_elem[i].getAttribute('name');
		
		if(vc_atributo == vc_name) {
			ar_retorno[iarr] = ar_elem[i];
			iarr++;
		}
	}
	
	return ar_retorno;
}

/*# abre popUp */
function popUp(vc_url, W, H) {
	var W	= (W) ? parseInt(W) : parseInt(window.screen.width * 0.7);
	var H	= (H) ? parseInt(H) : parseInt(window.screen.height * 0.7);
	var X	= Math.ceil((window.screen.height - H) / 2);
	var Y	= Math.ceil((window.screen.width - W) / 2);
	
	window.open(vc_url, 'ap_select', 'width='+W+',height='+H+',top='+X+',left='+Y+',location=no,status=yes,menubar=no,scrollbars=yes,resizable=no,directories=no,toolbar=no').focus();
}

/* MENU */

/* VALIDAR CPF */
function valida_CPF(s)    {
    var i;
    s = limpa_string(s);
    var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
	
    	for (i = 0; i < 9; i++){
        	d1 += c.charAt(i)*(10-i);
    	}
		if (d1 == 0) return false;
    
		d1 = 11 - (d1 % 11);
    
		if (d1 > 9) d1 = 0;
	    
		if (dv.charAt(0) != d1){
	        return false;
    	}
		
		d1 *= 2;
	    
		for (i = 0; i < 9; i++){
	        d1 += c.charAt(i)*(11-i);
	    }
    
		d1 = 11 - (d1 % 11); 
   	 	if (d1 > 9) d1 = 0;
	
	    if (dv.charAt(1) != d1){
	        return false;
	    }
		
	return true;
}

//function abreSubmenu(){

function limpa_string(S){
    // Deixa só os digitos no numero
    var Digitos = "0123456789";
    var temp = "";
    var digito = "";

    for (var i=0; i<S.length; i++)    {
        digito = S.charAt(i);
        if (Digitos.indexOf(digito)>=0)    {
            temp=temp+digito    }
    } //for

    return temp
}

function valida_CNPJ(s){
    var i;
    s = limpa_string(s);
    var c = s.substr(0,12);
    var dv = s.substr(12,2);
    var d1 = 0;
	    for (i = 0; i < 12; i++){
	        d1 += c.charAt(11-i)*(2+(i % 8));
	    }
		if (d1 == 0) return false;
		d1 = 11 - (d1 % 11);
	
	    if (d1 > 9) d1 = 0;
    
		if (dv.charAt(0) != d1){
	        return false;
	    }

    	d1 *= 2;
	    for (i = 0; i < 12; i++){
	        d1 += c.charAt(11-i)*(2+((i+1) % 8));
    	}
	
	    d1 = 11 - (d1 % 11);
    
		if (d1 > 9) d1 = 0;
	
	    if (dv.charAt(1) != d1){
	        return false;
	    }
    return true;
}