/*
Valida data
d : (dd) dia do mes
m : (mm) mes do ano
a: (aaaa) ano
*/
function VerificaData(d,m,a) {
	bBissexto = false;
	bDate = false;
	month = m;
	day = d;
	year = a;
	if(year%4 == 0) bBissexto = true;
	else bBissexto = false;
	if(month<1 || month >12) bDate = false;
	else if((month==4 || month==6 || month==9 || month==11) && day>30) bDate = false;
	else if(bBissexto && month==2 && day>29) bDate = false;
	else if(!bBissexto && month==2 && day>28) bDate = false;
	else if(month != 2 && day>31) bDate = false;
	else if(year=="") bDate = false;
	else if(year.length<4) bDate = false;
	//else if(month.length<2) bDate = false;
	//else if(day.length<2) bDate = false;
	else bDate = true;
	return bDate;
}

/*
Verifica se conteudo ? numerico
obj : objeto a ser verificado. Ex. document.form.texto (nao ? necessario a propriedade VALUE)
*/
function ehNumerico(obj) {
	var result = true;
	if (obj.value == null || obj.value == "") {
		result = false;
	}
	else {
		var len = obj.value.length;
		n = String(obj.value);
		for (var i=0; i<n.length; ++i) {
			result = result && (!isNaN(n.charAt(i)));
		}
	}
	return result;
}

/*
Verifica se conteudo est? em formato de dinheiro (0,00)
obj : objeto a ser verificado. Ex. document.form.texto (nao ? necessario a propriedade VALUE)
*/
function ehDinheiro(obj) {
	var result = true;
	var len = obj.value.length;
	putComma(obj);
	obj = String(obj.value);

	for (var i=0; i<len; ++i) {
		result = (obj.charAt(i)=="." || obj.charAt(i)==",")?result:(result && (!isNaN(obj.charAt(i))));
	}
	return result;
}

/*
Verifica se Radio ou Checkbox foi selecionado
obj : objeto a ser verificado. Ex. document.form.texto (nao ? necessario a propriedade VALUE)
*/
function ehCheckBox(obj) {
	var ok = false;
	var len = obj.length;
	if(!len) {
		if(obj.checked) {
			ok = true;
		}
	}
	else {
		for(var i=0;i<len;i++) {
			if(obj[i].checked) {
				ok = true;
				break;
			}
		}
	}
	return ok;
}

/*
Coloca virgula e complementa com zeros em campo "dinheiro"
obj : objeto a ser verificado. Ex. document.form.texto (nao ? necessario a propriedade VALUE)
*/
function putComma(obj) {
	var len = obj.value.length;
	var s = String(obj.value);
	var pos = -1;
	for (var i=0; i<len; ++i) {
		s = s.replace(".","");
	}
	len = s.length;
	for(var i=0;i<len;i++) {
		if(s.charAt(i)==",") {
			pos = i;
			break;
		}
	}
	if(pos == -1) {
		if (s == "")
			s = "0,00";
		else
			s = s + ",00";
	}
	else {
		if(pos==0) {
			s = "0" + s;
		}
		else if((len-1)==pos) {
			s = s + "00";
		}
		else if((len-1)-pos == 1) {
			s = s + "0";
		}
		else if((len-1)-pos > 2) {
			s = s.substring(0,pos+3);
		}
	}
	obj.value = s;
}

/*
Formata conteudo para CPF
cpf : valor a ser formatado
*/
function formatCPF(cpf) {
	cpf = String(cpf);
	var len = cpf.length;

	if (len < 11) {
  		for(i=0;i<11-len;i++) {
			cpf = "0" +  cpf;
		}
	}

	return cpf.substring(0,3) + "." + cpf.substring(3,6) + "." +
		   cpf.substring(6,9) + "-" + cpf.substring(9,len);
}

/*
Formata conteudo para CNPJ
cnpj : valor a ser formatado
*/
function formatCNPJ(cnpj) {
	cnpj = String(cnpj);
	var len = cnpj.length;

	if (len < 14) {
  		for(i=0;i<14-len;i++) {
			cnpj = "0" +  cnpj;
		}
	}

	return cnpj.substring(0,2) + "." + cnpj.substring(2,5) + "." +
		   cnpj.substring(5,8) + "/" + cnpj.substring(8,12) + "-" +
		   cnpj.substring(12,len);
}

/*
Pula para o proximo INPUT assim que o anterior estiver preenchido
obj1 : INPUT atual
obj2 : proximo INPUT
len : tamanha maximo do IMPUT atual
*/
function jumpNext(obj1,obj2,len) {
	if (obj1.value.length == len) {
		obj2.focus();
	}
}

/*
Copia o conteudo de um INPUT (text) para outro
obj1 : INPUT atual
obj2 : INPUT para onde ser? feita uma copia
*/
function mCopy(obj1,obj2) {
	obj2.value = obj1.value;
}

/*
Abre nova janela
jsp : arquivo JSP
janela : nome da nova janela
t : top
l : left
w : width
h : height
*/
function openW(jsp,janela,t,l,w,h) {
	str = 'top='+t+',left='+l+',width='+w+',height='+h+',scrollbars=yes,menubar=no,resizable=no,location=no,titlebar=no';
	window.open(jsp,janela,str);
}

function Email(obj,tam) {
	var email = obj.value;
	var ok = true;

	if ( email.length > tam ) {
		ok = false;
		alert('Tamanha m?ximo excedido.');
	}
	else if ( email.indexOf('@',0) == -1 ) {
		ok = false;
		alert('N?o ? um e-mail v?lido.');
	}
  return ok;
}

function Senha(pass_1, pass_2) {
  var ok = true;

	if ( pass_1.value != pass_2.value ) {
		ok = false;
		alert('Senha n?o confere!');
	}
	else if ( pass_1.value == '') {
	  ok = false
		alert('Senha n?o pode ser em branco!');
	}
	else if ( pass_1.value.length > 10 ) {
		ok = false;
		alert('Tamanha m?ximo excedido.');
	}
	return ok;
}

function checkOS() {
	if(navigator.userAgent.indexOf('IRIX') != -1)
	{ var OpSys = "Irix"; }
	else if((navigator.userAgent.indexOf('Win') != -1) &&
	(navigator.userAgent.indexOf('98') != -1))
	{ var OpSys = "Windows 98"; }
	else if((navigator.userAgent.indexOf('Win') != -1) &&
	(navigator.userAgent.indexOf('95') != -1))
	{ var OpSys = "Windows 95"; }
	else if(navigator.appVersion.indexOf("16") !=-1)
	{ var OpSys = "Windows 3.1"; }
	else if (navigator.appVersion.indexOf("NT") !=-1)
	{ var OpSys= "Windows NT"; }
	else if(navigator.appVersion.indexOf("Linux") !=-1)
	{ var OpSys = "Linux"; }
	else if(navigator.userAgent.indexOf('Mac') != -1)
	{ var OpSys = "Macintosh"; }
	else if(navigator.appName=="WebTV Internet Terminal")
	{ var OpSys="WebTV"; }
	else if(navigator.appVersion.indexOf("HP") !=-1)
	{ var OpSys="HP-UX"; }
	else if(navigator.appVersion.indexOf("SunOS") !=-1)
	{ var OpSys = "SunOS"; }
	else { var OpSys = "other"; }

	return OpSys;

}

function trim(str) {
  str = str.toString().replace(/\$|\ /g,'');
  return str;
}

function checkMail(mail,tam){
	if ( mail.length > tam ) {
		alert('Tamanha m?ximo excedido.');
		return false;
	}
    var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
    if(typeof(mail) == "string"){
        if(er.test(mail)){ return true; }
    }else if(typeof(mail) == "object"){
        if(er.test(mail.value)){
                    return true;
                }
    }else{
    	alert('N?o ? um e-mail v?lido.');
        return false;
        }
}

function recarregarImagens() {
	var search="?"+(new Date()).getTime();
	for(var i=0;i<document.images.length;document.images[i++].src+=search);
}
/*
function imagensCarregadas() {
	alert('checando se carregou tudo');
	var imagesloaded = 1;
	var images = document.images;
	for (var i = 0;i<images.length;i++) {
		if(images[i].complete == false) {
			alert(images[i].src);
			imagesloaded = 0;
		}
	}
	return imagesloaded;
}
*/