﻿
//Pega parâmetro da QueryString
function getQuerystring(texto, key, default_)
{
  if (default_==null) default_="";
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(texto);
  if(qs == null)
    return default_;
  else
    return qs[1];
}

//Exibe Video
function mostraVideo(url) {
    
    var container_video = document.getElementById("container_video");
    var idVideo = getQuerystring(url, "v", "");
    
    container_video.innerHTML = "<object width='240' height='220'><param name='movie' value='http://www.youtube.com/v/" + idVideo + "&hl=pt-br&fs=1&'></param><param name='allowFullScreen' value='true'></param><param name='allowscriptaccess' value='always'></param><embed src='http://www.youtube.com/v/" + idVideo + "&hl=pt-br&fs=1&' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='240' height='220'></embed></object>";

}

function validaCadastro(formulario)
{

    if (confere(formulario.nome,'Informe o Nome!')==true) {
        formulario.nome.focus();
        return false;
    }
    
	var preencheuEmail = !confere(formulario.email,'É necessário digitar o Email. ');
    if (preencheuEmail) {
        var emailValido = !conferemail(formulario.email);
        if (emailValido == false) {
            formulario.email.focus();
            return false;
        }
    }
    else
    {
        formulario.email.focus();
        return false;
    }
    
    if (confere(formulario.telefone,'Informe o Telefone!')==true) {
        formulario.telefone.focus();
        return false;
    }

	
	return true;
}


function validaContato(formulario)
{
    
    if (confere(formulario.nome,'Informe o Nome!')==true) {
        formulario.nome.focus();
        return false;
    }
    
	var preencheuEmail = !confere(formulario.email,'É necessário digitar o Email. ');
    if (preencheuEmail) {
        var emailValido = !conferemail(formulario.email);
        if (emailValido == false) {
            formulario.email.focus();
            return false;
        }
    }
    else
    {
        formulario.email.focus();
        return false;
    }
    
    if (confere(formulario.telefone,'Informe o Telefone!')==true) {
        formulario.telefone.focus();
        return false;
    }
    
    if (confere(formulario.assunto,'Informe o Assunto!')==true) {
        formulario.assunto.focus();
        return false;
    }

    if (confere(formulario.mensagem,'Informe a Mensagem!')==true) {
        formulario.mensagem.focus();
        return false;
    }

	
	return true;
}

/* --------------------------- Validações --------------------------- */

// CONFERE INVALIDOS CARCTERES
function problema(campo)
{
	invalidChars = "~'"
	for (i=0; i<invalidChars.length; i++)
	{
		badChar = invalidChars.charAt(i)
		if (campo.value.indexOf(badChar) != -1)
		{
			//alert(mens2+badChar+mens2A)
			campo.select();
			return true;
		}
	}	
}




// CONFERE E-MAIL
function conferemail (campo)
{
	mens1="Por favor, coloque o seu e-mail. Você precisará dele para acessar o acesso restrito."
	mens2="Caracter "
	mens2A=" inválido no seu e-Mail."
	mens2c="Carater inválido na sua senha."
	mens3="O e-mail digitado deve possuir @"
	mens4="Mais de uma @ no seu e-Mail"
	mens5="O '.' não pode estar logo após a @ "
	mens6="Por favor, confira o seu e-mail, deve haver pelo menos um '.' após a '@'."
	mens7="Por favor, confira o seu e-mail, deve haver algum complemento após o primeiro ponto (exemplo@site.com)."
	mens10="e-Mails não podem ter espaços."
	if (campo.value=="")
	{
	  alert(mens1, campo);
	  campo.select();
	  return true;
	}
	invalidChars = "/:,;><^~{}]='%\"[¨&*|+()"
	for (i=0; i<invalidChars.length; i++)
	{
	badChar = invalidChars.charAt(i)
	
	if (campo.value.indexOf(badChar) != -1)
	{
	  alert(mens2+badChar+mens2A, campo);
	  return true;
	}
	}		
	atPos = campo.value.indexOf("@")
	if (atPos == -1)
	{
	    alert(mens3, campo);
	    return true;
	}
	x = campo.value.indexOf("@");
	variavel = campo.value;
	aux_email = variavel.substring(x+1,variavel.length);
	if ( aux_email.indexOf("@") != -1)
	{
	    alert(mens4, campo);
	    return true;
	}
	
	x = campo.value.indexOf("@");
	variavel = campo.value;
	aux_email = variavel.substring(x+1,x+2);
	if ( aux_email == ".")
	{
	  alert(mens5, campo);   
	  return true;
	}
	
	x = campo.value.indexOf(" ");
	if ( x != "-1")
	{
	  alert(mens10, campo);
	  return true;
	}
	
	periodPos = campo.value.indexOf(".",atPos)
	if (periodPos == -1)
	{
	  alert(mens6, campo);
	  return true;
	}
	if (periodPos+3 > campo.value.length)
	{
	  alert(mens7, campo);
	  return true;
	}
}


function valida_numeros_apenas(s,alerta)
{
	var i; 
	var dif = 0;
	for (i = 0; i < s.value.length; i++)
	{
		var c = s.value.charAt(i);
		if (!((c >= "0") && (c <= "9")))
		{
			dif = 1;
		}
	}
	if (dif == 1)
	{
		alert(alerta, s);
		return true;
	}

	return false;
	
} 

function valida_data(dia, mes, ano){

    var dia1=parseInt(dia);
    var mes1=parseInt(mes);
    var ano1=parseInt(ano);

    var datadigitada= new Date(ano1,(mes1-1),dia1);
	var miliqq=datadigitada.getTime();

	var mydate= new Date()
   	var mili=mydate.getTime();

    var diaqq=parseInt(datadigitada.getDate());
    var mesqq=parseInt(datadigitada.getMonth())+1;
    
    if((dia1!=diaqq) || (mes1!=mesqq)){
        alert("Data inválida");
        return false;
    }
    else if(miliqq > mili){
	   alert("Data Digitada maior que data atual");
       return false;
	}
	else
	    return true;
	
}

/* --------------------------- CONFERE FORMULÁRIOS  --------------------------- */

function confere (campo,alerta)
{
	if (campo.value == "")
	{
		alert(alerta, campo);
		return true;
	}
	if (problema(campo) == true)
	{
		alert(alerta+" com caracteres válidos.", campo);
		return true;
	}
}

/* ---------------------------Pula de uma Campo a Outro Automático --------------------------- */
function JumpField(fields) {
 if (fields.value.length == fields.maxLength) {
  for (var i = 0; i < fields.form.length; i++) {
   if (fields.form[i] == fields && fields.form[(i + 1)] && fields.form[(i + 1)].type != "hidden") {
    fields.form[(i + 1)].focus();
    break;
   }
  }
 }
}

/* --------------------------- Valida Data --------------------------- */

function valida_data_ddmmyyy(date) {

    var array_data = new Array;
    var ExpReg = new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
    
    //vetor que contem o dia o mes e o ano
    array_data = date.split("/");
    erro = false;
    
    //Valido se a data esta no formato dd/mm/yyyy e se o dia tem 2 digitos e esta entre 01 e 31
    //se o mes tem d2 digitos e esta entre 01 e 12 e o ano se tem 4 digitos e esta entre 1000 e 2999
    if ( date.search(ExpReg) == -1 ) {
        erro = true;
        console.log('Erro 1');
     }
    
    //Valido os meses que nao tem 31 dias com execao de fevereiro
    else if ( ( ( array_data[1] == 4 ) || ( array_data[1] == 6 ) || ( array_data[1] == 9 ) || ( array_data[1] == 11 ) ) && ( array_data[0] > 30 ) ) {
        erro = true;
        console.log('Erro 2');
    }
    
    //Valido o mes de fevereiro
    else if ( array_data[1] == 2 ) {
	
	    console.log('Erro 3');
	
        //Valido ano que nao e bissexto
        if ( ( array_data[0] > 28 ) && ( ( array_data[2] % 4 ) != 0 ) ) {
	        erro = true;
	        console.log('Erro 4');
	    }
	
        //Valido ano bissexto
        if ( ( array_data[0] > 29 ) && ( ( array_data[2] % 4 ) == 0 ) ) {
            erro = true;
	        console.log('Erro 5');
        }
    }

    return !erro;
}