/**
* Funcoes Javascript usadas no Espelho
*/

function validateEmail(addr) {
	if (addr == '') {
			return false;
	}
	var invalidChars = '\/\'\\ ";?!()[]\{\}^|#$+=,????????????????';
	for (i=0; i<invalidChars.length; i++) {
		if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
			return false;
		}
	}
	for (i=0; i<addr.length; i++) {
		if (addr.charCodeAt(i)>127) {
			return false;
   		}
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
			return false;
	}
	if (atPos == 0) {
			return false;
	}
	if (addr.indexOf('@', atPos + 1) > - 1) {
			return false;
	}
	if (addr.indexOf('.', atPos) == -1) {
			return false;
	}
	if (addr.indexOf('@.',0) != -1) {
			return false;
	}
	if (addr.indexOf('.@',0) != -1){
			return false;
	}
	if (addr.indexOf('..',0) != -1) {
			return false;
	}
	
	if (addr.indexOf('.',addr.length - 1) != -1) {
			return false;
	}
	
	return true;
}

/**
* Verifica se eh uma data
*/
function ehData(data) {
	dtFormat = 'DD/MM/YYYY'
		
	var udt = data;
	if(udt.indexOf("/") == -1){
		return false;
	}
	dt1 = udt.split("/")
	dd1 = dt1[0];
	mm1 = dt1[1];
	yy1 = dt1[2];
	
	if(isNaN(dd1) || isNaN(mm1) || isNaN(yy1)){
		return false;
	}
	if(dd1.length != 2 || mm1.length != 2  || yy1.length != 4 ){
		return false;
	}
	if(yy1 <= 1900 || yy1 >= 2500 ){
		return false;
	}
	dt2 = new Date(mm1+'/'+dd1+'/'+yy1)
	dd2 = dt2.getDate();
	mm2 = dt2.getMonth()+1;
	yy2 = dt2.getFullYear();
		
	if(dd1==dd2 && mm1==mm2 && yy1==yy2)
		return true;
	else{
		return false;
	}
}
/**
* Fun??o que valida o cadastro.
*/
function validaCadastro(frm) {
    with (frm) {
        var vNome = nome.value;
        var vEmail = email.value;

        var cont = 0;

        if (vNome == "") {
            frm.nome.focus();
            return "Digite o seu nome completo.";
        }

        if (validateEmail(vEmail) == false) {
			frm.email.focus();
            frm.email.select();
            return "Informe um e-mail v&aacute;lido.";
        }

        for (i = 0; i < frm.elements.length; i++) {
            if (frm[i].name == "problemaID" && frm[i].checked) {
               cont++;
            }
        }

        if (cont == 0) {
            return "Informe o seu problema.";
        }

        return "";
    }
}
/**
* Fun??o que insere a mensagem de erro no elemento HTML indicado.
*/
function alerta(elemento, msg) {
    if (document.all) {
        document.getElementById(elemento).innerText = msg;
    } else {
        var rng = document.createRange();
        var el = document.getElementById(elemento);
        rng.setStartBefore(el);
        htmlFrag = rng.createContextualFragment(msg);
        while (el.hasChildNodes())
            el.removeChild(el.lastChild);
        el.appendChild(htmlFrag);
    }
}

