/////////////////////////////////////
////Inicio funcoes de Calendario/////
/////////////////////////////////////
init();

function openCalendarWindow(cwo) 
{
	var x = (screen.width - (wcal+9)) / 2
	var y = (screen.height - (hcal+40)) / 2
	calwin=this.open("","JanelaCalendar",cwo+"screenx="+x+",screeny="+y+",left="+x+",top="+y);
 	if (calwin!=null) {
 		calwin.focus();
 	}
	return calwin;
}
 
if (navigator.appName=='Microsoft Internet Explorer') 
{
	this.browser='MSIE';
} 
else 
{
	this.browser='Netscape';
}
this.versao=navigator.appVersion.substring(0,1);
this.servidor='';

function makeArray(n) 
{
	this.length = n;
	return this;
}

function init () 
{
	theDate       = new Date();
	today         = new Date();
	currMonth     = today.getMonth()+1;
	msPerDay      = 24*60*60*1000;
	monthName     = new makeArray(13);
	monthName[1]  = "Janeiro";
	monthName[2]  = "Fevereiro";
	monthName[3]  = "Mar&ccedil;o";
	monthName[4]  = "Abril";
	monthName[5]  = "Maio";
	monthName[6]  = "Junho";
	monthName[7]  = "Julho";
	monthName[8]  = "Agosto";
	monthName[9]  = "Setembro";
	monthName[10] = "Outubro";
	monthName[11] = "Novembro";
	monthName[12] = "Dezembro";
	
	wcal=162;
	hcal=190;
	fundoMes="#98A8E0"
	corfonteDias="Black"
	fundoDias="#1D368B"
	fundoNumeros="#FFFFFF"
	fundoAtual="#A4A49A"
}

function openCalendarWindow(cwo) 
{
	calwin=this.open("","JanelaCalendar",cwo);
	if (browser=="Netscape") 
	{
		if (calwin!=null) 
		{
			calwin.focus();
		}
	}
	return calwin;
}

function openCalendar (dataFldname,diaFldname,mesFldname) 
{
	datahoje= new Date()
	windowOptions  = "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,copyhistory=yes,width="+wcal+",height="+hcal;
	calendarWindow = openCalendarWindow(windowOptions)
	if (dataFldname!=null) 
	{
		if ((dataFldname.value=="") || (dataFldname.value=="dd/mm/aaaa") || (dataFldname.value.indexOf("/")<1)) 
		{ 
			mes = datahoje.getMonth()+1;
			ano=datahoje.getFullYear();
			dia=0;
		} else 
		{
			posdia=dataFldname.value.indexOf("/")
			dia=eval(dataFldname.value.substring(0,posdia));
			posmes=dataFldname.value.indexOf("/",posdia+1)
			mes=eval(dataFldname.value.substring(posdia+1,posmes))
			ano=eval(dataFldname.value.substring(posmes+1,10))
			if (ano<1000) 
				ano += 2000
//				posano = ano.indexOF("2");
//				ano = ano.substring(posano+2, ano.length);
		}
	} 
	else 
	{
		dia=diaFldname.selectedIndex+1;
		mes=mesFldname.selectedIndex+1;
		ano=datahoje.getFullYear();
	}
	redraw(dia,mes,ano,dataFldname,diaFldname,mesFldname,window);
}

function redraw(dia,mes,ano,dataFld,diaFld,mesFld,pai) 
{
	calendarWindow.document.open();
	calTitle = "<TITLE>Calend&aacute;rio</TITLE>";
	calendarWindow.document.write(calTitle);
	calInit = "<sc";
	calInit+="ript language=\"javascript\"> ";
	calInit+="callingForm=null;dataFld=null;diaFld=null;mesFld=null;</scr";
	calInit+="ipt>";
	calendarWindow.document.write(calInit);
	htmlBuf=drawCalendar(dia,mes,ano);
	calendarWindow.document.write(htmlBuf);
	calendarWindow.document.close();
	if (dataFld!=null) 
	{
		calendarWindow.dataFld=dataFld;
	} else 
	{
		calendarWindow.diaFld=diaFld;
		calendarWindow.mesFld=mesFld;
	}
	calendarWindow.callingForm=pai;
	if (browser!='MSIE' && versao!='2') 
	{
		calendarWindow.focus();
	}
}

function fillDate(dia,mes,ano,dataFld,diaFld,mesFld) 
{
	var AnoYY
	if (dataFld!=null) 
	{
		AnoYY = ano%1000
		if (AnoYY<10)
			AnoYY = "0" + AnoYY
		if (dia<10)
			dia = "0" + dia
		if (mes<10)
			mes = "0" + mes			
		//data no formato dd/mm/aa	
		//dataFld.value=dia+"/"+mes+"/"+AnoYY
		//data no formato dd/mm/aaaa
		dataFld.value=dia+"/"+mes+"/"+ano
	} 
	else 
	{
		diaFld.selectedIndex=dia-1
		mesFld.selectedIndex=mes-1
	}
	calendarWindow.close();
}

function changeMonth (increment,mes,ano,dataFld,diaFld,mesFld,pai) 
{
	nextMonth = mes;
	if (increment == 1) 
	{
		nextMonth++ ;
	} else 
	{
		nextMonth-- ;
	}
	if (nextMonth > 12)   
	{
		nextMonth = 1;
		ano++;
	} 
	else
		if (nextMonth<1) 
		{
			nextMonth=12;
			ano--;
		}
	redraw(0,nextMonth,ano,dataFld,diaFld,mesFld,pai);
}

function drawCalendar (diaNum,mesNum,anoNum) 
{
	theDate = new Date(anoNum,mesNum-1,1);
	Dir = "/images/"
	htmlBuffer  = "<HTML>";
	htmlBuffer += "<head><style>.pacotes { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: normal; color: #000000; text-decoration: none;}.branco4 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-weight: bold; color: #FFFFFF; text-decoration: none; TEXT-TRANSFORM: uppercase;}.pacote2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;color: #000000;text-decoration: none;}</style></head>";	
	htmlBuffer += "<BODY leftMargin=0 topMargin=0 marginheight=0 marginwidth=0>";
	htmlBuffer += "<FORM id=form1 name=form1>";
	//htmlBuffer += "<link rel='STYLESHEET' type='text/css' href='/css.css'>";
	htmlBuffer += "<center><table border=0 cellspacing=0 cellpadding=0 width="+wcal+" height="+hcal+" bgcolor=#98A8E0>";
	htmlBuffer += "<tr>";
	htmlBuffer += "<td align=center colspan=7 bgcolor="+fundoMes+"><table width=100%><tr width=100%><td width=10% align=left><a href=\"javascript:callingForm.changeMonth(-1,"+mesNum+","+anoNum+",dataFld,diaFld,mesFld,callingForm)\"><img src=http://www.submarinoviagens.com.br/images/calen_seta_l.gif border=0></a></td>";
	htmlBuffer += "<td align=center width=121 height=13><font class=pacote2><b>";
	htmlBuffer += monthName[mesNum];
	htmlBuffer += " de " + anoNum;
	htmlBuffer += "</b></font></td>";
	htmlBuffer += "<td width=10% align=right><a href=\"javascript:callingForm.changeMonth(1,"+mesNum+","+anoNum+",dataFld,diaFld,mesFld,callingForm)\"><img src=http://www.submarinoviagens.com.br/images/calen_seta_r.gif border=0></a></td></tr>";
	htmlBuffer += "</table><table border=0 cellspacing=0 cellpadding=0 width="+wcal+" height=100%><tr>";
	htmlBuffer = htmlBuffer+"<td align=center bgcolor="+fundoDias+" height=26><font class=branco4><b>D</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>S</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>T</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>Q</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>Q</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>S</b></font></td><td align=center bgcolor="+fundoDias+"><font class=branco4 color="+corfonteDias+"><b>S</b></font></td></tr>";
	drawBody(diaNum,theDate,anoNum);
	//htmlBuffer += "</tr></table></td></tr>";
	htmlBuffer += "</body></HTML>";
	return htmlBuffer;
}

function drawBody (dia,theDate,ano) 
{
	thisMonth = theDate.getMonth();
	thisDate  = theDate.getDate();
	firstSunday(theDate);
	
	today = new Date()
		
	for (w=0; w<7; w++) 
	{
		htmlBuffer   += "<tr>";
		for (d=0; d<7; d++) 
		{
			date = theDate.getDate();
			htmlBuffer   += "<td align=center ";
			if ((date==dia)&&(theDate.getMonth()== thisMonth)) 
			{
				htmlBuffer+=" bgcolor="+fundoAtual+"><font class=pacotes>";
			} 
			else 
			{
				htmlBuffer=htmlBuffer+" bgcolor="+fundoNumeros+"><font class=pacotes>";
			}
			// skip previous month
			if (theDate.getMonth() != thisMonth) 
			{
				htmlBuffer += "<BR>";
			} 
			else 
			{
				if( ano > today.getFullYear() || ( ano == today.getFullYear() && thisMonth > today.getMonth() ) || ( ano == today.getFullYear() && thisMonth == today.getMonth() && date >= today.getDate() ) )
				{
					htmlBuffer += "<a href=\"javascript:";
					htmlBuffer += "callingForm.fillDate(" + theDate.getDate() + "," + (theDate.getMonth()+1) + "," + ano  + ",dataFld,diaFld,mesFld)\" class=pacotes3>";
				}
				else
					htmlBuffer += "<font color=\"#A4A49A\">";
				
				if ( date < 10 ) 
				{
					htmlBuffer += "0";
				}
				htmlBuffer += date;
				
				if( ano > today.getFullYear() || ( ano == today.getFullYear() && thisMonth > today.getMonth() ) || ( ano == today.getFullYear() && thisMonth == today.getMonth() && date >= today.getDate() ) )
					htmlBuffer += "</a>";
				else
					htmlBuffer += "</font>";
					
			}
			htmlBuffer += "</font></td>";
			// increment the date
			newTime = theDate.getTime() + msPerDay;
			theDate.setTime(newTime);
			// check for DST 
			if (theDate.getHours() != 23) 
			{
				theDate.setTime(newTime + 3600000);
			} 
		}
		htmlBuffer += "</tr>";
	}
	htmlBuffer += "</table></center>";
	htmlBuffer += "</form>";
}

function firstSunday (fromDate) 
{
	while (fromDate.getDay() != 0) 
	{
		newTime = fromDate.getTime() - msPerDay;
		fromDate.setTime(newTime);
	}
}

/////////////////////////////////////
//////Fim funcoes de Calendario//////
/////////////////////////////////////

function VerificaSoNumeros(objCampo,e){
	var tecla=new Number();
				
	if(window.event) {
		tecla = e.keyCode; 
	}else if(e.which) {
		tecla = e.which;
	}else {
		return true;
	}
	if ( (tecla==8) || (tecla==9) || (tecla==46) )
		return true;
	
	if((tecla < 48) || (tecla > 57)){
		return false;
	}
	return true;
}

function VerificaSoLetras(objCampo,e){
	var tecla=new Number();
				
	if(window.event) {
		tecla = e.keyCode; 
	}else if(e.which) {
		tecla = e.which;
	}else {
		return true;
	}
	if ( (tecla==8) || (tecla==9) )
		return true;
	
	if( ! ( ((tecla >= 65) && (tecla <= 90)) || ((tecla >= 97) && (tecla <= 122)) || (tecla == 32)) ){
		return false;
	}
	return true;
}

// Formata o CPF enquanto o usuário está digitando
function FormataCPF(objCampo,intKeyCode){
	if((intKeyCode.charCode < 48) || (intKeyCode.charCode > 57)){
		return false
	}
	else
	{
		strValor = objCampo.value
		intLengthValor = parseInt(strValor.length)
		if(intLengthValor == 3){
			objCampo.value = strValor + "."
		}
		if(intLengthValor == 7){
			objCampo.value = strValor + "."
		}
		if(intLengthValor == 11){
			objCampo.value = strValor + "-"
		}
		return true
	}
}

// Formata a data enquanto o usuário está digitando
function FormataData(objCampo,intKeyCode){
	
	if (!VerificaSoNumeros(objCampo,intKeyCode))
	{
		return false;
	}
	else
	{
		strValor = objCampo.value;
		intLengthValor = parseInt(strValor.length);
		if(intLengthValor == 0 && intKeyCode.charCode > 51){
				objCampo.value = strValor + "0";
		}
		
		if((intKeyCode.keyCode != 8) && (intKeyCode.keyCode != 46))
		{
		
			if(intLengthValor == 2){
				if(intKeyCode.charCode > 49)
					objCampo.value = strValor + "/0";
				else
					objCampo.value = strValor + "/";
			}
			
			if(intLengthValor == 5 && objCampo.maxLength > 5){
				objCampo.value = strValor + "/";
			}
		}
		return true;
	}
}

//Valida cartão de crédito
function verify_ccard(inNumber, type){
	var total = 0;
	var tmp = 0;
	var number = "";

	// Verificacao de numeros na string inNumber
	for(i=0; i<inNumber.length; i++){
		if(inNumber.charAt(i) >= "0" && inNumber.charAt(i) <= "9"){
			number = number + inNumber.charAt(i);
		}
		else
			return false
	}
	
	// Se numero for curto demais para qualquer tipo
	if(number.length < 13) 
		return false; 

	first = "" + number.charAt(0);
	second = "" + number.charAt(1);
	third = "" + number.charAt(2);
	firstTwo = first + second;
	firstFour = firstTwo + third + number.charAt(3);

	// MASTERCARD
	if(type == "2"){//"Credicard/MasterCard"
		if(first != "5" || second < "1" || second > "5")
			return false;
		if(number.length != 16)
			return false;
	}
	// VISA
	else if(type == "4"){ //"Visa"
		if(first != "4")
			return false;
		if(number.length != 13 && number.length != 16)
			return false;
	}
	// AMERICAN EXPRESS
	else if(type == "1"){ //"American Express"
		if(first != "3" || (second != "4" && second != "7"))
			return false;
		if(number.length != 15) 
			return false;
	}
	// DINERS
	else if(type == "3"){ //"Diners"
		if(firstTwo != "36" && firstTwo != "38" && (firstTwo != "30" || (third < "0" || third > "5")))
			return false;
		if(number.length != 14)
			return false;
	}
	// JCB CARDS
	else if(type == "JCB Cards"){
		if(firstFour != "2131" && firstFour != "1800" && (first != "3"))
			return false;
		if(number.length != 16 && first =="3")
			return false;
		if(number.length != 15 && first != "3")
			return false;
	}
    
	// Fazendo o check sum
	for(loc = number.length - 2; loc >= 0; loc -= 2){
		total += 1 * number.charAt(loc +1);
		tmp = number.charAt(loc) * 2;
		if(tmp > 9) 
			total += 1;
		total += tmp%10;
	}
	if(number.length % 2 > 0)
		total += 1 * number.charAt(0);

	if (total % 10 == 0)
		return true
	else
		return false
}


function isDate(dt){
	var vlr = new String(dt.value);
	if(isNaN(parseInt(dt.value))){
		alert('Data inválida');
	}else{
		if(vlr.length==0){
			alert('Campo em branco');
			dt.focus();
			}			
		if(vlr.substr(3,2)>12 || vlr.substr(3,2)<1){
			alert('Data inválida');			
			dt.focus();
		}else{
			if(vlr.substr(3,2)==2){
				if(vlr.substr(0,2)>29 || 
			   		(vlr.substr(0,2)==29 && vlr.substr(6,4)%4!=0)){
						alert('Data inválida');
						dt.focus();
					}
				}else{
					if(vlr.substr(0,2)>31){						
						alert('Data inválida');
						dt.focus();
					}
				}
			}
		}
	}
		
	function pesqIncDown(ocombo) {
		cletra=String.fromCharCode(event.keyCode);
		if ((event.keyCode!=40) && (event.keyCode>18) && (top.geral.cacentos.search(cletra)==-1))
			top.geral.pesqIncPress(ocombo,cletra);
	}
	
	function pesqIncPress() {
		event.returnValue=false;
	}
	
//*************************************************************************
// Limpa o valor dd/mm/aaaa no campo data
//*************************************************************************
function SetaData(objCampo, Valor)
{
if ( (objCampo.value=='' && Valor=='dd/mm/aaaa') || (objCampo.value=='dd/mm/aaaa' && Valor==''))
	objCampo.value=Valor;
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Formata o CEP enquanto o usuário está digitando
//*************************************************************************
function FormataCEP(objCampo,intKeyCode)
{
	if (!VerificaSoNumeros(objCampo,intKeyCode))
	{
		return false;
	}
	else
	{
		strValor = objCampo.value;
		intLengthValor = parseInt(strValor.length);

		if(intLengthValor == 5)
		{
			objCampo.value = strValor + "-";
		}
	}

	return true;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Verifica se o campo está vazio
//*************************************************************************
function VerificaVazio(campo)
{
	strValor = campo.value
	intLengthValor = parseInt(strValor.length)

	if(intLengthValor == 0)
		return false
	else
		return true 
}	
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Verifica se foi digitado enter
//*************************************************************************
function ChecaEnter(action) 
{
	if(event.keyCode == 13) 
	{
		eval(action)
		event.returnValue=false 
	}
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Validacao de Data
//*************************************************************************
function valida_data(data) {
	var numero;

	if(data.length < 6 || data.length > 10) return false;
	pos0 = data.indexOf("/");
	if(pos0 == -1) return false;
	pos1 = data.indexOf("/", pos0 + 1);
	if(pos1 == -1) return false;
	if(data.indexOf("/", pos1 + 1) != -1) return false;
	dia = data.substring(0,pos0);
	dia = (dia.charAt(0) == "0")?dia.charAt(dia.length - 1):dia
	mes = data.substring(pos0 + 1, pos1);
	mes = (mes.charAt(0) == "0")?mes.charAt(mes.length - 1):mes
	ano = data.substring(pos1 + 1, data.length);
	ano = (ano.charAt(0) == "0")?ano.charAt(ano.length - 1):ano
	if(isNaN(parseInt(dia)) || isNaN(parseInt(mes)) || isNaN(parseInt(ano))) return false;
	if(parseInt(ano) > 99 && parseInt(ano) < 1900) return false;
	if(parseInt(ano) > 2100 || parseInt(ano) < 0 || parseInt(mes) > 12 || parseInt(mes) < 1) return false;
	numero = ((parseInt(ano) - 1884) / 4)
	if(numero == Math.floor(numero)) { dias = "312931303130313130313031"; } else { dias = "312831303130313130313031";}
	diamax = parseInt(dias.substring((mes-1)*2,((mes-1)*2)+2));
	if(parseInt(dia) < 1 || parseInt(dia) > diamax) return false;
	return true;  
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Abre janela modal
//*************************************************************************
function AbreJanelaModal(sUrl, vArguments, sFeatures)
{
	window.showModalDialog(sUrl, vArguments, sFeatures);
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Abre janela 
//*************************************************************************
function AbreJanela(Url, Name, Features, Centralizada)
{
	var xOffset = '' ;
	var yOffset = '' ;
	
	if ( Centralizada )
	{
		if (document.all)
		{
			var xMax = screen.width ;
			var yMax = screen.height ;
		}
		else
		{
			if (document.layers)
			{
				var xMax = window.outerWidth ;
				var yMax = window.outerHeight ;
			}
			else
			{
				var xMax = 640 ;
				var yMax = 480 ;
			}
		}
		
		xOffset = (xMax - 200) / 2 ;
		yOffset = (yMax - 200) / 2 ;
		
		if ( Features == '' || Features == null || typeof(Features) == 'undefined' )
			Features = 'screenX=' + xOffset + ', screenY=' + yOffset + ', top=' + yOffset + ', left=' + xOffset ;
		else
			Features += ',' + 'screenX=' + xOffset + ', screenY=' + yOffset + ', top=' + yOffset + ', left=' + xOffset ;
	}

	window.open(Url, Name, Features) ;
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Widmeyer Lisboa - 31/01/2007
// Compara datas 
// OBS: Correção da função devido ao bug do intervalo entre 31/01 e 01/02
//*************************************************************************
function ComparaDatas(dtMenor, dtMaior)
{
	//var Parte1		= dtMenor.split("/") ;
	//var Parte2		= dtMaior.split("/") ;
	//var DataMenor	= ( FormataAno( Parte1[2] ) + Parte1[1] + Parte1[0] ) ;
	//var DataMaior	= ( FormataAno( Parte2[2] ) + Parte2[1] + Parte2[0] ) ;

	var DataMenor	= FormataDataYYYYMMDD(dtMenor);
	var DataMaior	= FormataDataYYYYMMDD(dtMaior);
	
	if ( DataMaior < DataMenor ) 
		return false ;
		
	return true ;
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Formata Data DDMMYYYY
//*************************************************************************

function FormataDataDDMMYYYY(Data)
{
	if ( Data.length < 10 )
	{
		var pos1 = Data.indexOf('/') ;
		var pos2 = Data.lastIndexOf('/') ;
		
		var Dia  = Data.substring(0, pos1) ;
		var Mes	 = Data.substring(pos1+1, pos2) ;
		var Ano = Data.substring(pos2+1, Data.length) ;
		
		if ( Dia.length < 2 )
			Dia = '0' + Dia.toString() ;
		if ( Mes.length < 2 )
			Mes = '0' + Mes.toString() ;
			
		if ( Ano.length == 1 )
			Ano = '200' + Ano.toString() ;
		else if ( Ano.length == 2 )
			Ano = '20' + Ano.toString() ;
		else if ( Ano.length == 3 )
			Ano = Ano.toString() + '0' ;
			
		Data = Dia + '/' + Mes + '/' + Ano ;
	}
	
	return Data ;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Formata Data DDMMYYYY
//*************************************************************************

function FormataDataYYYYMMDD(Data)
{
	if ( Data.length <= 10 )
	{
		var pos1 = Data.indexOf('/') ;
		var pos2 = Data.lastIndexOf('/') ;
		
		var Dia  = Data.substring(0, pos1) ;
		var Mes	 = Data.substring(pos1+1, pos2) ;
		var Ano = Data.substring(pos2+1, Data.length) ;
		
		if ( Dia.length < 2 )
			Dia = '0' + Dia.toString() ;
		if ( Mes.length < 2 )
			Mes = '0' + Mes.toString() ;
			
		if ( Ano.length == 1 )
			Ano = '200' + Ano.toString() ;
		else if ( Ano.length == 2 )
			Ano = '20' + Ano.toString() ;
		else if ( Ano.length == 3 )
			Ano = Ano.toString() + '0' ;
			
		Data = Ano + '/' + Mes + '/' + Dia;
	}
	
	return Data ;
}
//*************************************************************************
// FIM
//*************************************************************************


//*************************************************************************
// Formata data DDMMAA to MMDDAA
//*************************************************************************

function DDMMAAtoMMDDAA(data)
{
	var pos1 = data.indexOf("/") ;
	var dia = data.substring(0,pos1) ;
	
	pos2 = data.indexOf("/", (pos1+1) ) ;
	var mes = data.substring( (pos1+1) , pos2 ) ;
	
	var ano = data.substring( (pos2+1) ,data.length) ;
	
	return mes + "/" + dia + "/" + ano ;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Formata data MMDDAA to DDMMAA
//*************************************************************************


//*************************************************************************
// Formata data MMDDAA to DDMMAA
//*************************************************************************

function MMDDAAtoDDMMAA(data)
{
	var pos1 = data.indexOf("/") ;
	var mes = data.substring(0,pos1) ;
	
	pos2 = data.indexOf("/", (pos1+1) ) ;
	var dia = data.substring( (pos1+1) , pos2 ) ;
	
	var ano = data.substring( (pos2+1) ,data.length) ;
	
	return dia + "/" + mes + "/" + ano ;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Permite a digitação só de caracteres
//*************************************************************************
function JustChars(psValidChars)
{
        event.cancelBubble = true;
        event.returnValue = ((psValidChars.indexOf(String.fromCharCode(event.keyCode)) >= 0) || (event.keyCode === 13));
        return event.returnValue;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Formatação de campos moeda
//*************************************************************************
function FormataNumero(Valor) 
{
	var temp
	temp = Valor.toString() ;
	if ( (temp.indexOf(",") == -1) && (temp.indexOf(".") == -1) )
		return temp + ".00" ;
	if ( (temp.substring(temp.indexOf(",") + 1,temp.length).length == 1) || (temp.substring(temp.indexOf(".") + 1,temp.length).length == 1) ) 
		return temp + "0" ;
	
	temp = temp.replace(",",".") ;
	return temp.substring(0,temp.indexOf(".") + 3) ;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Validação de hora
//*************************************************************************
function ValidaHora(hora)
{
	if ( hora.length != 5 )
		return false ;
		
	var parte_1  = hora.substring(0, 2) ;
	var nParte_1 = parseInt(parte_1) ;
	if ( isNaN(parte_1) || nParte_1 < 0 || nParte_1 > 24 ) 
		return false ;

	var parte_2  = hora.substring(3, 5) ;
	var nParte_2 = parseInt(parte_2) ;
	if ( isNaN(parte_2) || nParte_2 < 0 || nParte_2 > 59 ) 
		return false ;
		
	var parte_3 = hora.substring(2, 3) ;
	if ( parte_3 != ':' )
		return false ;
	
	return true ;
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Validação de Email
//*************************************************************************
function isEmail(campo)
{
	return(campo.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1) ; 
}		
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Permite a digitação só de números
//*************************************************************************
function JustNumbers(psValidChars)
{
		event.cancelBubble = true;
		event.returnValue = ((psValidChars.indexOf(String.fromCharCode(event.keyCode)) >= 0) || (event.keyCode == 13));
		if (event.returnValue == false)
		{
			window.alert ('Por favor digite somente numeros neste campo');
			return event.returnValue;
		}
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Formatacao das datas digitadas em textbox
//*************************************************************************
function FormataData_New(objCampo, intKeyCode)
{
	strValor = objCampo.value;
	intLengthValor = parseInt(strValor.length);

	//window.alert(intLengthValor);
	//window.alert(intKeyCode);

	// somente valores numericos ou barra 
	if (intKeyCode < 96) 
		return false ;

	// ****************************************
	// formatacao do dia 
	// ****************************************
	
	// 0 + dia (para dia >=4 pois nao existe dia 41) ou 
	// 0 + dia + / (para os demais dias) 
	if( (intLengthValor == 1 && intKeyCode > 99) || ((intLengthValor == 2) && (intKeyCode==111)))
	{
		objCampo.value = '0' + strValor; 
		return true;
	}
	// formata datas dia/0 ou dia/1 
	if( (intLengthValor == 3) && (intKeyCode >= 96) && (intKeyCode < 98) )
	{
		objCampo.value = strValor.substring(0,2) + '/' + (intKeyCode - 96) ;
		return true;
	}
	// formata datas dia/01, dia/02 ... dia/09
	if( (intLengthValor == 3) && (intKeyCode >= 98) && (intKeyCode <= 105))
	{
		objCampo.value = strValor.substring(0,2) + '/0' + (intKeyCode - 96) + '/' ; 
		return true;
	}
	// fim 
			

	// ****************************************
	// formatacao do mes
	// ****************************************

	// 0 + mes (para mes >=2 pois nao existe mes 21) ou 
	// 0 + mes + / (para os demais meses) 
	if( (intLengthValor == 4) && (intKeyCode > 97) )
	{
		objCampo.value = strValor.substring(0,3) + '0' + (intKeyCode - 96) + '/';
		return true;
	}
	// fim 

	// ****************************************
	// formatacao do ano
	// ****************************************
	if(intLengthValor == 5)
	{
		if (intKeyCode==111)
			objCampo.value = strValor.substring(0,3) + '01';
		else
			objCampo.value = strValor.substring(0,5) + '/';
		
		return true;
	}
	// fim 
	
	if(intLengthValor == 7)
	{
		if (intKeyCode==111)
			objCampo.value = strValor.substring(0,6);

		return true;
	}

	
	return true
}
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Adiciona n dias a um textbox
//*************************************************************************
function AddDias(strData, campoData, dias)
{
	// strData = uma data inicial 
	// campoData = nome do campo que recebera os valores modificados
	// dias = o numero de dias que devo adicionar na data inicial
	
	diaaux = (strData.substring(0,2)); 
	mesaux = (strData.substring(3,5)); 
	anoaux = (strData.substring(6,10)); 

	var data = new Date(anoaux,mesaux,diaaux);

	//var data = new Date()

	var dia = data.getDate() 
	var ano = data.getFullYear()%100
	var mes = data.getMonth()
	 
	var bissexto = ((ano%4)==0)?1:0

	var diahoje = dia
	var meshoje = mes
	var anohoje = ano

	var diamais = dia + dias

	var vmes= new Array();
	vmes[0]=31;
	vmes[1]=28+bissexto;
	vmes[2]=31;
	vmes[3]=30;
	vmes[4]=31;
	vmes[5]=30;
	vmes[6]=31;
	vmes[7]=31;
	vmes[8]=30;
	vmes[9]=31;
	vmes[10]=30;
	vmes[11]=31;

	subt = diamais - vmes[mes];

	diahojemais = diahoje + dias

	if (diahojemais <= vmes[mes]) 
	{
		subt2 = diahojemais    
	}
	else 
	{
		subt2= diahojemais - vmes[mes]
		meshoje = meshoje +1   
	}
	
	if(subt > 0)
	{
		mes = mes + 1
		dia = subt    
	}
	else
	{
		dia = diamais   
	}
	
	//alterado por alex 02/01/07 - problema com mes "13"
	mes += 1 ;
	
	
	if(mes >= 13 | dia >= 32)
	{
		mes = 1
		ano = ano + 1   
	}
	
	if (ano < 53)
		ano = ano + 2000 ;
	
	/*	
	if (ano<10)
		ano = "200" + ano
	*/
		
	
	if (dia<10)
		dia = "0" + dia
	
	//Como é base 0:
	//retirei o mes +=1 daqui - alex
	
	
	if (mes<10)
		mes = "0" + mes
	
	if (anohoje<10)
		anohoje = "0" + anohoje
	
	if (subt2<10)
		subt2 = "0" + subt2
	
	if (meshoje<10)
		meshoje = "0" + meshoje

	// formata o campo
	if ( (strData.value == 'dd/mm/aaaa') || (strData.value == '') )
	{
		campoData.value = dia+'/'+mes+'/'+ano;
	}
	else
	{
		if (!validaData(campoData))
			campoData.value = dia+'/'+mes+'/'+ano
	}
			
}   
//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Validacao de datas
//*************************************************************************

function validaData(str) 
{ 
	
	dia = (str.value.substring(0,2)); 
    mes = (str.value.substring(3,5)); 
	ano = (str.value.substring(6,10)); 

	cons = true; 
	
	// verifica se foram digitados números
	if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
		//alert("Preencha a data somente com números."); 
		str.value = "";
		str.focus(); 
		return false;
	}
		
    // verifica o dia valido para cada mes 
    if ((dia < 1)||(dia < 1 || dia > 30) && 
		(mes == 4 || mes == 6 || 
		 mes == 9 || mes == 11 ) || 
		 dia > 31) { 
    	 cons = false; 
	} 

	// verifica se o mes e valido 
	if (mes < 1 || mes > 12 ) { 
		cons = false; 
	} 

	// verifica se e ano bissexto 
	if (mes == 2 && ( dia < 1 || dia > 29 || 
	   ( dia > 28 && 
	   (parseInt(ano / 4) != ano / 4)))) { 
		cons = false; 
	} 
    
	if (cons == false) { 
		//alert("A data " + str.value + " é inválida."); 
		str.value = "";
		str.focus(); 
		return false;
	} 
}

//*************************************************************************
// FIM
//*************************************************************************

//*************************************************************************
// Proxima funcao
//*************************************************************************


function isNum(e)
{
	if((e.keyCode >= 48) && (e.keyCode <= 57)){
		return true;
	}
	else{
		return false;
	}
}

function linkVerMais() {
  var i, args=linkVerMais.arguments;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
