/*-----------------------------------------------
	CONFERE O VALOR DEFAULT DO INPUT
-------------------------------------------------*/
function defaultValue(f){
	var frm = document.getElementById(f);
	if(frm != null){
		var elems = frm.elements.length;
	   for(var i=0; i<elems; i++){
			if(frm.elements[i].type == 'text' || frm.elements[i].type == 'textarea')
				if(frm.elements[i].value!=undefined)
					changeValue(frm.elements[i],frm.elements[i].value);
		}
	}
}
function changeValue(el,iniValue){
	el.onfocus = function(){
		if(this.value == iniValue) {
			if(this.alt == 'SENHA' || this.alt == 'CONFSENHA' || this.alt == 'CURRENTSENHA' )this.type = 'password';
			this.value = '';
		}
	}
	el.onblur = function(){
		if(this.value == '' ) {
			if(this.alt == 'SENHA' || this.alt == 'CONFSENHA' || this.alt == 'CURRENTSENHA')this.type = 'text';
			this.value = iniValue;
		}
	}
}
/*-----------------------------------------------
	FUNÇÕES DE VALIDAÇÃO
-------------------------------------------------*/
function validaForm(frm,callback,_submit){
	var elems = frm.elements.length;
	var str;
	var tmp;
	for(i=0; i<elems; i++){
		if(frm.elements[i].title!="" && frm.elements[i].title!=undefined)
		{
			$(frm.elements[i]).removeAttr('style');
			switch(frm.elements[i].title)
			{
				case "REQUERIDO":
					if(frm.elements[i].value == '' ) str = 'Please fill out the required fields';
					break;
				case "EMAIL":
					if(!ValidaEmail(frm.elements[i])) str = 'The field of e-mail is not valid';
					break;
				case "CPF":
					//temp = ValidaCPF(frm.elements[i]);
					//if (temp!="") frm.elements[i].style.border='1px solid #FF0000';
					break;
				case "DATA":
					break;
				case "TELEFONE":
					if(!validaTelefone(frm.elements[i])) str = 'The phone is not correct';
					break;
				case "CEP":
					if(!validaCep(frm.elements[i])) str = 'The zip code is not correct';
					break;
				case "SENHA":
					if(frm.elements[i].value == '' ) 
						str = 'A password is required';
					else
						tmp = frm.elements[i].value;
					break;
				case "CONFSENHA": 
					if(frm.elements[i].value != tmp || frm.elements[i].value == '' ) str = 'Passwords do not match';
					break;
			}
		}
		if (str!=undefined){ $(frm.elements[i]).css('border','1px solid red'); $(frm.elements[i]).focus(); break;}
	}

	if(str!=undefined && callback!=undefined){
		callback(str);
		return false;
	}else if(str==undefined && _submit){
		frm.submit();
	}else{
		return true;
	}

}
/*-----------------------------------------------
	FUNÇÕES DE VALIDAÇÃO
-------------------------------------------------*/

function validaCNPJ(cnpj)
{
	cnpj = cnpj.value;
    var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
    var dig1= new Number;
    var dig2= new Number;

    exp = /\.|\-|\//g
    cnpj = cnpj.toString().replace( exp, "" );
    var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

    for(i = 0; i<valida.length; i++){
        dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
        dig2 += cnpj.charAt(i)*valida[i];
    }
    dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
    dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

    if(((dig1*10)+dig2) != digito)
        return false;
    else
		return true;
}

function validaDataHora(data){
	//  12/10/2010 10:12
	exp = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4} \d{2}:\d{2}$/;
	if(!exp.test(data.value)) return false;
    else return true;
}

function validaData(data){
    exp = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/
    if(!exp.test(data.value)) return false;
	else return true;
}

function validaDataSQL(sql){
    exp = /^\d{4}-(0[0-9]|1[0,1,2])-([0,1,2][0-9]|3[0,1])$/
    if(!exp.test(sql.value)) return false;
	else return true;
}

function validaTelefone(tel){
    exp = /\(\d{2}\)\ \d{4}\-\d{4}/
    if(!exp.test(tel.value)) return false;
	else return true;
}

function validaCep(cep){
    exp = /\d{2}\d{3}\-\d{3}/
    if(!exp.test(cep.value)) return false;
	else return true;
}

function validaDocs(doc){
    exp = /^[a-zA-Z0-9-_\.]+\.(pdf|txt|doc|xls|ppt)$/
    if(!exp.test(doc.value)) return false;
	else return true;
}

function validaImg(img){
    exp = /^[a-zA-Z0-9-_\.]+\.(jpg|gif|png)$/
    if(!exp.test(img.value)) return false;
	else return true;
}

function validaIp(ip){
    exp = /^((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})$/
    if(!exp.test(ip.value)) return false;
	else return true;
}

function ValidaDigito(digito){
    exp = /^\d+$/
    if(!exp.test(digito.value)) return false;
	else return true;
}

function ValidaEmail(email){
    exp = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/
    if(!exp.test(email.value)) return false;
	else return true;
}

function ValidaCPF(objcpf){
	var cpf = objcpf.value;
    exp = /\.|\-/g
    cpf = cpf.toString().replace( exp, "" );
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;

    for(i=0;i<9;i++){
        soma1+=eval(cpf.charAt(i)*(vlr-1));
        soma2+=eval(cpf.charAt(i)*vlr);
        vlr--;
    }
    soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
    soma2=(((soma2+(2*soma1))*10)%11);

    var digitoGerado=(soma1*10)+soma2;
    if(digitoGerado!=digitoDigitado) return false;
	else return true;
}
