function valida_data(oElem) {

	var date = oElem.value;
	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;
	//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;
	//Valido o mes de fevereiro
	else if ( array_data[1] == 2 ) {
		//Valido ano que nao e bissexto
		if ( ( array_data[0] > 28 ) && ( ( array_data[2] % 4 ) != 0 ) )
			erro = true;
		//Valido ano bissexto
		if ( ( array_data[0] > 29 ) && ( ( array_data[2] % 4 ) == 0 ) )
			erro = true;
	}
	if ( erro ) {
		return false;
	}
	else
	{
		return true;	
	}
	
}

//-------------------------------------------------------------------------------------------------------------

function verificarMascara(tecla,m) {
	if (m == '?') {
		return ('0123456789ABCDEFGHIJKLMNOPQRSTUVXWYZ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else if (m == '#') {
		return ('0123456789'.indexOf(tecla) > -1);
	} else if (m == '$') {
		return ('ABCDEFGHIJKLMNOPQRSTUVXWYZ'.toLowerCase().indexOf(tecla.toLowerCase()) > -1);
	} else return false;
}

//-------------------------------------------------------------------------------------------------------------

function mascaraCampo(elemento, mascara, event){
	if (navigator.appName.toLowerCase().indexOf("netscape") > -1)
		ntecla=event.which;
	else
		ntecla=event.keyCode;
	
	tecla = String.fromCharCode(ntecla);

	var m = mascara.charAt(elemento.value.length);

	var teclas = new Array(0, 8, 9, 13, 16, 17, 18, 20, 27, 28, 29, 30, 31);

	for (var i = 0; i < teclas.length; i ++) {
	  if (teclas[i] == ntecla) {
	    return true;
	  }
	}
	
	if ((m == '?') || (m == '#') || (m == '$')) return verificarMascara(tecla,m);
	else {
		elemento.value += mascara.charAt(elemento.value.length);
		m = mascara.charAt(elemento.value.length);
		if (mascara.charAt(elemento.value.length-1) == tecla) return false;
		else return verificarMascara(tecla,m);
	}
}

//-------------------------------------------------------------------------------------------------------------

function abrirJanelaScroll(url,target,w,h,scrollbar) 
{
	l = parseInt((screen.width - w) / 2);
	t = parseInt((screen.height - h) / 2);
	return window.open(url,target,'width='+w+',height='+h+',left='+l+',top='+t+',menubar=yes,toolbar=yes,status=yes,scrollbars='+scrollbar);
}
//-------------------------------------------------------------------------------------------------------------

function LTrim(str) { 

	for (var k=0; k<str.length && str.charAt(k)<=" " ; k++) ;
	return str.substring(k,str.length);
 
}
//-------------------------------------------------------------------------------------------------------------
function RTrim(str) {

	for (var j=str.length-1; j>=0 && str.charAt(j)<=" " ; j--) ;
	return str.substring(0,j+1);
 
}
//-------------------------------------------------------------------------------------------------------------
function Trim(str) {
	
	return LTrim(RTrim(str));
	
}
