//******************************************************************** 
// Gerais
//******************************************************************** 
function openCenter(url, name, width, height) {
  openWindow(url, name, width, height, "center", "middle", false, false, false);
}
function openWindow(url, name, width, height, xpos, ypos, chrome, scroll, status) {
  var x, y, w, h, moveX=0, moveY=0, features="";
  chrome = chrome ? "yes" : "no";
  scroll = scroll ? "yes" : "no";
  status = status ? "yes" : "no"
  features += "toolbar="+chrome+",location="+chrome+",status="+chrome+",menubar="+chrome;
  features += ",scrollbars="+scroll+",resizable="+scroll+",statusbar="+status;
  if(width) features += ",width="+width;
  if(height) features += ",height="+height;
  if(xpos && window.screen){
    w = window.screen.availWidth;
    width = parseInt(width);
    switch(xpos){
      case "left": x = 0; break;
      case "center": x = (w-width)/2; break;
      case "right": x = w-width; break;
      default: x = xpos;
    }
    features += ",screenX="+x+",left="+x;
    var moveX = x;
  }
  if(ypos && window.screen){
    h = window.screen.availHeight;
    height = parseInt(height);
    switch(ypos){
      case "top": y = 0; break;
      case "middle": y = (h-height)/2; break;
      case "bottom": y = h-height; break;
      default: y = ypos;
    }
    features += ",screenY="+y+",top="+y;
    var moveY = y;
  }
  openWinReference = window.open(url,name,features);
  if(moveX || moveY){
    // position the window for browsers that don't recognize screenX, screenY
    openWinReference.moveTo(moveX,moveY);
  }
}
//******************************************************************** 
// Valida formulário "CAD001 - Usuário" 
//******************************************************************** 
function validaFormUsuario(form) {
	 if (form.nm_usuario.value.length == 0) {
		alert("O campo 'Nome' é obrigatório!");
		form.nm_usuario.focus();
		return false;
	 }
	 if (form.ds_login.value.length == 0) {
		alert("O campo 'Login' é obrigatório!");
		form.ds_login.focus();
		return false;
	 }
	 if (form.ds_senha.value.length == 0) {
		alert("O campo 'Senha' é obrigatório!");
		form.ds_senha.focus();
		return false;
	 }
	 if (form.ds_senha2.value.length == 0) {
		alert("O campo 'Confirme Senha' é obrigatório!");
		form.ds_senha2.focus();
		return false;
	 }
}

/***************************************************
* Valida formulário "CAD010 - Programa"
***************************************************/
function validaFormPrograma(form) {
	 if (form.cd_modulo.value.length == 0) {
		alert("O campo 'Módulo' é obrigatório!");
		form.cd_modulo.focus();
		return false;
	 }
	 if (form.cd_programa.value.length == 0) {
		alert("O campo 'Programa' é obrigatório!");
		form.cd_programa.focus();
		return false;
	 }
	 if (form.ds_programa.value.length == 0) {
		alert("O campo 'Programa' é obrigatório!");
		form.ds_programa.focus();
		return false;
	 }
	 if (form.ds_menu.value.length == 0) {
		alert("O campo 'Menu' é obrigatório!");
		form.ds_menu.focus();
		return false;
	 }
	 if (form.ds_aviso.value.length == 0) {
		alert("O campo 'Aviso' é obrigatório!");
		form.ds_aviso.focus();
		return false;
	 }
	 if (form.ds_fonte.value.length == 0) {
		alert("O campo 'Fonte' é obrigatório!");
		form.ds_fonte.focus();
		return false;
	 }
}

//******************************************************************** 
// Valida formulário "CAD011 - Profile"
//******************************************************************** 
function validaFormProfile(form) {
	 if (form.cd_usuario.value.length == 0) {
		alert("O campo 'Usuario' é obrigatório!");
		form.cd_usuario.focus();
		return false;
	 }
	 if (form.cd_programa.value.length == 0) {
		alert("O campo 'Programa' é obrigatório!");
		form.cd_programa.focus();
		return false;
	 }
}

//******************************************************************** 
// Valida formulário "CAD012 - Duplicação de Previlégio de Usuário"
//******************************************************************** 
function validaFormDupProfile(form) {
	 if (form.cd_usuario.value.length == 0) {
		alert("O campo 'De Usuario' é obrigatório!");
		form.cd_usuario.focus();
		return false;
	 }
	 if (form.cd_usuario_novo.value.length == 0) {
		alert("O campo 'Para Usuário' é obrigatório!");
		form.cd_usuario_novo.focus();
		return false;
	 }
}

/***************************************************
* Valida formulário "Fale conosco"
***************************************************/
//É UTILIZADO PELOS GEN_*
function confirmaExclusao(aURL) {
	if(confirm('Confirma Exclusão ?')) {
		location.href = aURL;
	}
}
/***************************************************
* Valida formulário "Fale conosco"
***************************************************/
//É UTILIZADO PELOS GEN_*
function chama_url(aURL) {
    location.href = aURL;
}
//******************************************************************** 
// Retorna o foco do campo
//******************************************************************** 
function exibe_foco(form, campo) {
	alert("O campo 'Evento' é obrigatório!");
	form.ds_evento.focus();
	return false;
}

//******************************************************************** 
// Força CAIXA ALTA para o texto
//******************************************************************** 
function caixaAlta(obj) { 
	obj.value = obj.value.toUpperCase();
} 

//******************************************************************** 
// Força CAIXA ALTA para o texto, quando o cursor sai do campo
//******************************************************************** 
function uppercase(){ 
	form.campo.value = form.campo.value.toUpperCase(); 
} 

//******************************************************************** 
// Valida email.
//******************************************************************** 
function avalida_email($email){ 
alert('1');
   $mail_correcto = 0;
   //verifico umas coisas 
	if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ 
		if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) { 
			//vejo se tem caracter . 
			if (substr_count($email,".")>= 1){ 
				//obtenho a terminação do dominio 
				$term_dom = substr(strrchr ($email, '.'),1); 
				//verifico que a terminação do dominio seja correcta 
				if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){ 
					//verifico que o de antes do dominio seja correcto 
					$antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); 
					$caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); 
					if ($caracter_ult != "@" && $caracter_ult != "."){ 
						$mail_correcto = 1; 
					} 
				} 
			} 
		} 
	} 
	alert('2');
	
	if ($mail_correcto) 
	   alert('O email é válido');
	   //return 1; 
	else 
	   alert('O email é inválido');
	   //return 0; 
} 

/**/
function bvalida_email(nform) {
	if (nform.email.value == "") {
		alert("Informe seu e-mail.");
		nform.email.focus();
		nform.email.select();
		return false;
	} else {
		prim = nform.email.value.indexOf("@")
		if(prim < 2) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("@",prim + 1) != -1) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf(".") < 1) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf(" ") != -1) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("zipmeil.com") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("hotmeil.com") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf(".@") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("@.") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf(".com.br.") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("/") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("[") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("]") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("(") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf(")") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
		if(nform.email.value.indexOf("..") > 0) {
			alert("O e-mail informado parece não estar correto.");
			nform.email.focus();
			nform.email.select();
			return false;
		}
	}
		return true;
}
/**/
function valida_email(Form) {
	var invalid, s;
	invalid = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;

	var s;


// inicio de verificacao de cnpj ou cpf
	if (Form.cnpj.value.length == 0) {
		alert("O CNPJ/CPF é um campo obrigatório !");
		Form.cnpj.focus();
		return false;	}
		
	s = limpa_string(Form.cnpj.value);
	
	
	// checa se é cpf	
	if (s.length == 11) {
		if (valida_CPF(Form.cnpj.value) == false ) {
			alert("O CPF não é válido !");
			Form.cnpj.focus();
			return false;	}
     }
     
     // checa se é cgc
	else if (s.length == 14) {
		if (valida_CGC(Form.cnpj.value) == false ) {
			alert("O CNPJ não é válido !");
			Form.cnpj.focus();
			return false;	}
			}
		else {
			alert("O CPF/CNPJ não é válido !");
			Form.cnpj.focus();
			return false;
		}

// final da verificacao de cnpj ou cpf


	// verifica o cep
	// primeiro deixa somente numeros no cep
	// obs.:a chamada abaixo tambem pode ser utilizada para checar telefones
	
	s = limpa_string(Form.cep.value);
	if (s.length < 8) {
		alert("Digite corretamente o CEP: 99999-999 !");
		Form.cep.focus();
		return false; }


	// verifica se o email é válido
	if (Form.email.value.length == 0)	{
		alert("Digite corretamente seu E-mail por favor!");
		Form.email.focus();
		return false;	}

	if (invalid.test(document.cadastro.email.value) == false) {
		// caso o teste falhe, para mudar a cor do texto na caixa, mude na linha abaixo
		document.cadastro.email.style.color = "red";
		
		alert("Endereço de E-mail inválido !");
		Form.email.focus();
		return (false); }

     return true;
}
// fim da funcao validar()


function limpa_string(S){
	// Deixa so' 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
}
// fim da funcao


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 valida_CGC(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;
}
