//valida um formulario caso o campo esteja em branco
function validaForm(form,fields) {
	var valor = '';
	for(V in fields) {
		if(form.elements[fields[V]].value==''){
			var valor = V;
			break;
		}
	}
	return valor;
}
//Cria o popup, posiciona no centro e adiciona o foco
function popupPage(file,loc,x,y) {
	var xMax = screen.width, yMax = screen.height;
	var xOffset = (xMax - x)/2, yOffset = (yMax - y)/2;
	var option = 'width='+x+',height='+y+',screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset
	var npage = window.open(file,loc,option);
	npage.focus();
}

//Bloqueia a seleção ate o fim da animação ver menu.lic
function reSubMenu(SMtotal){
		for(i=1;i<=SMtotal;i++){
			document.getElementById("asubmenu"+i).href = document.getElementById("asubmenuO"+i).href
		}
		//var asubmenuId=document.getElementById("asubmenu"+i);
		//var tdsubmenuId=document.getElementById("tdsubmenu"+i);
		//asubmenuId.className = "";
		//tdsubmenuId.className = "menu";

}

//Cria tabelas dinamicas
function createTable(local,valor,titulo,param) {
			// Parametros pre definidos num array (tabela,thead,tbody). 
			if (param == null) {
				var  param = new Array(new Array("","100%","","0","0","0"),new Array("",""),new Array("",""))
			}
			//Local aonde seja colocada a tabela
			var root = document.getElementById(local);	
			root.innerHTML = "";
			var tab = document.createElement("<table class='"+param[0][0]+"'>");
			tab.width = param[0][1];
			tab.height = param[0][2];
			tab.border= param[0][3];
			tab.cellspacing= param[0][4];
			tab.cellpadding= param[0][5];
			
			//criando cabechalho da tabela
			if (titulo != null) {
				var th = document.createElement('thead');		
				var tr = document.createElement("<tr class='"+param[1][0]+"'>");				
				for (i=0;i < titulo.length; i++){					
					var td = document.createElement("<td class='"+param[1][1]+"'>");
					td.appendChild(document.createTextNode(titulo[i]))
					tr.appendChild(td);	
				}
				th.appendChild(tr);
				tab.appendChild(th);
			}
			//Inseri as Linhas com seus  valores
			var tb = document.createElement('tbody');	
			for (i=0;i < valor.length; i++){
				var tr = document.createElement("<tr class='"+param[2][0]+"'>");
				var conteudo = valor[i].split("^");
				for (n=0;n < conteudo.length; n++){
					var td = document.createElement("<td class='"+param[2][1]+"'>");
					td.appendChild(document.createTextNode(conteudo[n]))
					tr.appendChild(td);	
				}
					tb.appendChild(tr);
			}
			tab.appendChild(tb);
			root.appendChild(tab);	
}

//Imita o controle de data do Medtrak como h+/-(n de dias) 
function dtFormat(a){
	if ((a.charAt(0) == "h") || (a.charAt(0) == "H")) {
			var dt = new Date();
		if (a.indexOf("+") != -1){
			var num = a.split("+");
			var diff = dt.getTime() + (1000*60*60*24)*num[1];
			var dt = new Date(diff)
		}
		if (a.indexOf("-") != -1){
			var num = a.split("-");
			var diff = dt.getTime() - (1000*60*60*24)*num[1];
			var dt = new Date(diff)
		}
		return dt.getDate()+"/"+(dt.getMonth()+1)+"/"+dt.getFullYear();
	}
	return a;
}

//limpa uma caixs de seleção num formulario
function limpaSelect(sel){
	var lgt = sel.options.length-1;
	for(i=0;i<lgt;i++){
		 sel.options[i] = null;
	}
	return true;
}

//Retina caracteres indesejaveis de uma string 1 - So numeros 2-so letra Default = letras e numeros
function FiltraCampo(codigo,tipo) {

	var s = "";

	switch(tipo) {	
		case 1 :
			var exp = /[0-9]/;
		break;
		case 2 :
			var exp = /[a-zA-Z]/;
		break;
		default :
			var exp = /[0-9a-zA-Z]/;
		break;
	}

	tam = codigo.length;

	for (i = 0; i < tam ; i++) {  

		if (exp.test(codigo.substring(i,i + 1))==true){

		 	s = s + codigo.substring(i,i + 1);
		}

	}

	return s;

}

function DvCpfOk(e) {

    var dv = false;

    controle = "";

    s = FiltraCampo(e.value,1);

    tam = s.length;

    if ( tam == 11 ) {

        dv_cpf = s.substring(tam-2,tam);

        for ( i = 0; i < 2; i++ ) {

            soma = 0;

            for ( j = 0; j < 9; j++ )

                soma += s.substring(j,j+1)*(10+i-j);

            if ( i == 1 ) soma += digito * 2;

            digito = (soma * 10) % 11;

            if ( digito == 10 ) digito = 0;

            controle += digito;

        }

        if ( controle == dv_cpf )

            dv = true;

    }

     if ( ! dv && tam > 0) {

         alert(" O CPF: " + e.value + " não é valido!!\n");

     }

    return dv;

}

function DataOk(e) {

    var dv = false;

    s = FiltraCampo(e.value,1);

    tam = s.length

    if ( tam == 8 ) {

        dia = parseInt(s.substring(0,2),10);

        mes = parseInt(s.substring(2,4),10);

        ano = parseInt(s.substring(4,8),10);

        if ( (dia > 0 && dia < 32) && (mes > 0 && mes < 13) && (ano > 1900 && ano < 2100)) {
			  dv=true;
		}
    }

    if ( ! dv && tam > 0 ) {
         
		e.value = "";

    }

    return dv;

}

function EmailOk(e){
	var reg = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if (!(reg.test(e.value)))	{ 
	    e.focus();
        return false; 
	} 
	return true;
}

function FormataData(e) {

    var s = "";

    s = FiltraCampo(e.value,1);

    tam =  s.length;

    r = s.substring(0,2) + "/" + s.substring(2,4) + "/" + s.substring(4,8);

    if ( tam < 3 ) {

        s = r.substring(0,tam);

    } else if ( tam < 5 ) {

        s = r.substring(0,tam+1);

    } else {

        s = r.substring(0,tam+2);
	
	}

    e.value = s;
	
	return s;

}

function HToDate(s) {
	var d = s.split("/");
	dti = new Date(d[2],d[1],d[0]);
	dtf = new Date(1840,12,31);
	dt = dti.getTime() - dtf.getTime();
	return Math.floor(dt/(1000*60*60*24));
}

function DateToH(s) {
	var d = s.split("/");
	dti = new Date(d[2],d[1],d[0]);
	dtf = new Date(1840,12,31);
	dt = dti.getTime() - dtf.getTime();
	return Math.floor(dt/(1000*60*60*24));
}

