function toUpper(cpo) {
   if (cpo) {
      var elem = cpo;
   } else {
	   var elem = document.getElementById(cpo);
	}
	if (elem) {
  	   elem.value = elem.value.toUpperCase();
  	}
}

function toLower(cpo) {
	if (cpo) {
		var elem = cpo;
	} else {
		var elem = document.getElementById(cpo);
	}
	if (elem) {
		elem.value = elem.value.toLowerCase();
	}
}

function toUcWords(cpo) {
	if (cpo) {
		var elem = cpo;
	} else {
		var elem = document.getElementById(cpo);
	}
	if (elem) {
		var a = new String(elem.value);
		elem.value = ucwords(a.toLowerCase(a));
	}
}

function ucwords( str ) {
    return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase ( ); } );
}

function validaMail(email) {
	var suportado = 0;
	
	//Testa se o browser suporta expressões regulares
	if(window.RegExp){
		var tempReg = /a/;
		if (tempReg.test("a")) {
			suportado = 1;
		}
	}
	//Se o browser não suporta expressões regulares,
	//verifica apenas a posição do ponto e da arroba
	if(!suportado){
		if(((email.indexOf(".") > 0) && (email.indexOf("@") > 0)) &&
		   ((email.lastIndexOf(".") < (email.length - 1)) &&
			(email.lastIndexOf("@") < (email.length -1)))) {
			return true;
		}else{
			return false;
		}
	//Se o browser suporta expressões regulares,
	//efetua a verificação completa
	}else{
		var tmp1 = /(@.*@)|(\.\.)|(@\.)|(^\.)/;
		var tmp2 = /^.+@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
		if(!tmp1.test(email) && tmp2.test(email)){
			return true;
		}else{
			return false;
		}
	}
}

function mostra_div(id) {
  //tem que tratar browsers diferentemente
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	} else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		} else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}

function esconde_div(id) {
  //tem que tratar browsers diferentemente
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	} else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
    	} else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

function validaNulo(cpo){
	var elem = document.getElementById(cpo);
	if (elem) {
		var sz = elem.value.length;
		if (sz == 0) {
			return false;
		} else {
			return true;
		}
	}
}

function setaFoco(cpo){
	var elem = document.getElementById(cpo);
	if (elem) {
		elem.focus();
	}
}

