/*
-----------------------------------------------------------------------------
Função para concatenar o dominio SPG no username do webmail
-----------------------------------------------------------------------------
*/
function addDominio(){
	valor = document.all("login_username").value;

	if(valor.indexOf('@' ) == -1 ){ 
		valor = valor + "@spgsolucoes.com.br";
		document.all("login_username").value = valor;
	}
	return true;
}

/*
-----------------------------------------------------------------------------
Função para trocar a imagem TOPO->ESQUERDA ao passar o mouse sobre as opções do menu
-----------------------------------------------------------------------------
*/
function trocaImagem(img){
	imagem = document.getElementById("menu_foto");
	if(img == ""){
		imagem.src = "imagens/topo_r4_c1_home.jpg";
	}else{
		imagem.src = "imagens/topo_r4_c1_"+img+".jpg";
	}
}

/*
-----------------------------------------------------------------------------
Função para obter o navegador utilizado
-----------------------------------------------------------------------------
*/
function getNavegador(){
	agent = navigator.userAgent;
	IE5 = (agent.indexOf("MSIE 5") > -1)?true:false;
	IE6 = (agent.indexOf("MSIE 6") > -1)?true:false;
	IE7 = (agent.indexOf("MSIE 7") > -1)?true:false;
	FIREFOX  = (agent.indexOf("Firefox/1.0")> -1)?true:false;
	FIREFOX2 = (agent.indexOf("Firefox/2.0")> -1)?true:false;

	if ((IE5) || (IE6)|| (IE7))
		return "IE";
	else
		if ((FIREFOX) || (FIREFOX2))
			return "FIREFOX";
}

/*
-----------------------------------------------------------------------------
Função: VerificaData(campo)
Objetivo: Faz a validação da data digitada.
Parâmetros:
		campo -> campo a ser validado.
Chamada: OnBlur="VerificaData(this)"
-----------------------------------------------------------------------------
*/

function VerificaData(campo){
	msg = ''
	bissexto = false
	tam = campo.value.length;
	if (tam == 0)
		return false;
	if ((tam < 10) && (tam > 0))
		msg = 'Data Inválida! O ano deve ter 4 dígitos!';
	if (tam == 10){
		partes = campo.value.split("/");
		dia = partes[0];
		mes = partes[1];
		ano = partes[2];		
		if (!((dia >= 01)&&(dia <= 31)))
			msg = 'Dia Inválido!';
		else{
			if (!((mes >= 01)&&(mes <= 12)))
				msg = 'Mês Inválido!';
			else{
				if (((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0))
				    bissexto = true;
     			if (mes == 02){
					if  ((dia > 28)  && (!bissexto))
						msg = 'O mês correspondente possui no máximo 28 dias!';
					if ((dia > 29)  && (bissexto))
						msg = 'O mês correspondente possui no máximo 29 dias!';
				}		
     			if (!((mes == "01") || (mes == "03") || (mes == "05") || (mes == "07") || (mes == "08") || (mes == "10") || (mes == "12")) && (dia == "31"))
					msg = 'O mês correspondente possui apenas 30 dias!';
			}
		}
	}
	if (msg != ''){
		alert(msg);
		campo.value = '';
		campo.focus();
		return false;
	}else
		return true;
}

/*
-----------------------------------------------------------------------------
Função: Mascara(campo, tipo)
Objetivo: Aplica Máscara a um campo. 
Parâmetros:
		campo -> campo a ser aplicado a máscara.
		tipo -> tipo de máscara(data, telefone, cpf..)
Chamada: OnKeyUp="Mascara(this,'tipodemascara')"
-----------------------------------------------------------------------------
*/

function Mascara(campo, tipo){
    var valorAtual = campo.value;        
    var valorNumerico = '';
    var nIndexModelo = 0;
    var nIndexString = 0;
    var valorFinal = '';
    var adicionarValor = true;
    
	switch(tipo){
		case 'telefone':
			Modelo = '(##)####-####'
		break;
		case 'data':
			Modelo = '##/##/####'
		break;
		case 'CPF':
			Modelo = '###.###.###-##'
		break;
		case 'CEP':
			Modelo = '#####-###'
		break;
	}
     
    // limpa a string valor atual para verificar 
    // se todos os caracteres são números
    for (i=0;i<Modelo.length;i++){
      if (Modelo.substr(i,1) != '#'){
        valorAtual = valorAtual.replace(Modelo.substr(i,1),'');
    }}
        valorAtual = valorAtual.toUpperCase();
     
    // aplica a máscara ao campo informado usando
    // o modelo de máscara informado no script
    for (i=0;i<Modelo.length;i++){
      
      if (Modelo.substr(i,1) == '#'){
        if (valorAtual.substr(nIndexModelo,1) != ''){
          valorFinal = valorFinal + valorAtual.substr(nIndexModelo,1);
          nIndexModelo++;nIndexString++;
        } 
          else {
            adicionarValor = false;
      }}
        
        else {
          if (adicionarValor && valorAtual.substr(nIndexModelo,1) != ''){
          valorFinal = valorFinal + Modelo.substr(nIndexString,1)
          nIndexString++;
        }}
     }
     campo.value = valorFinal 
}

/*
-----------------------------------------------------------------------------
Nome da Função: ValidaFormulario(formulario)
Objetivo: Valida o preenchimento dos campos do formulário.
Parâmetros:
Chamada: Botão de Envio - onClick="return ValidaFormulario()"
-----------------------------------------------------------------------------
*/
function ValidaFormulario(formulario){
	msg = '';
	qt_campos =	formulario.length;

	for (i=0;i<qt_campos;i++){
		if (formulario.elements[i].id == 'O'){
			if (formulario.elements[i].value == ''){
				titulo = formulario.elements[i].title;
				msg += 'O Campo '+ titulo +' deve ser preenchido! \n';
			}
		}
	}
	if (msg != ''){
		msg = 'Os seguintes erros ocorreram: \n'+ msg;
		alert(msg);
		return false;
	}else{
		if (formulario.onsubmit == ''){
			formulario.submit();
			document.getElementById("btnOK").disabled = true;
		}else
			formulario.submit();
      return true;
	}
}

/*
-----------------------------------------------------------------------------
Nome da Função: SomenteNumero(evento)
Objetivo: Permitir apenas caracteres numéricos.
Parâmetros:
		evento -> tecla digitada (event).
Chamada: OnKeyPress="return SomenteNumero(event)"
-----------------------------------------------------------------------------
*/

function SomenteNumero(teclapres){
// codigo ASCII da tecla pressionada
	switch (getNavegador())	{
		case 'IE':
			codtecla = teclapres.keyCode;
			break;
		case 'FIREFOX':
			codtecla = teclapres.which;
			break;
	}

	//alert(codtecla);
	if (!(((codtecla >= 48) && (codtecla <= 57)) || ((codtecla >= 48) && (codtecla <= 57)) || (codtecla == 0) || (codtecla == 8) || (codtecla == 9) || (codtecla == 13)))
		return false;
}

/*
-----------------------------------------------------------------------------
Funções do Dreamweaver
-----------------------------------------------------------------------------
*/
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

