// JavaScript Document
/////////////////////////////////////////////////////////////////////////

function popdate(obj,div,tam,ddd,obj1)
{
	if (ddd) 
   {
       day = ""
       mmonth = ""
       ano = ""
       c = 1
       char = ""
       for (s=0;s<parseInt(ddd.length);s++)
       {
           char = ddd.substr(s,1)
           if (char == "/") 
           {
               c++; 
               s++; 
               char = ddd.substr(s,1);
           }
           if (c==1) day    += char
           if (c==2) mmonth += char
           if (c==3) ano    += char
       }

	   ddd = ano + "/" + mmonth + "/"  + day   
   }
 
   if(!ddd) {today = new Date()} else {today = new Date(ddd)}
   date_Form = eval (obj)
   if (date_Form.value == "") { date_Form = new Date()} else {date_Form = new Date(date_Form.value)}
 
   ano = today.getFullYear();
   mmonth = today.getMonth ();
   day = today.toString ().substr (8,2)
 
   umonth = new Array ("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro")
   days_Feb = (!(ano % 4) ? 29 : 28)
   days = new Array (31, days_Feb, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)

   if ((mmonth < 0) || (mmonth > 11))  alert(mmonth)
   if ((mmonth - 1) == -1) {month_prior = 11; year_prior = ano - 1} else {month_prior = mmonth - 1; year_prior = ano}
   if ((mmonth + 1) == 12) {month_next  = 0;  year_next  = ano + 1} else {month_next  = mmonth + 1; year_next  = ano}
   txt  = "<div id='fundo_calendario'>"
   txt  += "<table cellspacing='0' cellpadding='3' border='0' width='"+tam+"' height='"+tam*1.1 +"'>"
   txt += "<tr ><td colspan='7' align='center'><table border='0' cellpadding='0' width='100%' class='titulo_calendario'><tr>"
   //escreve <<
   txt += "<td width=20% align=center><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+((mmonth+1).toString() +"/01/"+(ano-1).toString())+"') class='Cabecalho_Calendario' title='Ano Anterior'><img src='images/volta_ano_calendario.jpg' border='0'></a></td>"
   // escreve <
   txt += "<td width=20% align=center><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+( "01/" + (month_prior+1).toString() + "/" + year_prior.toString())+"') class='Cabecalho_Calendario' title='Mês Anterior'><img src='images/volta_mes_calendario.jpg' border='0'></a></td>"
   //escreve ano ex: 2006
   txt += "<td colspan='7' align='center'class='mes1' nowrap>"
   txt +="<a href=javascript:pop_year('"+obj+"','"+div+"','"+tam+"','" + (mmonth+1) + "') class='mes1_link'>" + ano.toString() + "</a>"
   //escreve mes ex: janeiro
   txt += " <a href=javascript:pop_month('"+obj+"','"+div+"','"+tam+"','" + ano + "')  class='mes1_link'>" + umonth[mmonth] + "</a>"
   txt += "<div id='popd' style='position:absolute'></div></td>"
   //escreve >
   txt += "<td width=20% align=center><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+( "01/" + (month_next+1).toString()  + "/" + year_next.toString())+"') class='Cabecalho_Calendario' title='Próximo Mês'><img src='images/avanca_mes_calendario.jpg' border='0'></a></td>"
   //escreve >>
   txt += "<td width=20% align=center><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+((mmonth+1).toString() +"/01/"+(ano+1).toString())+"') class='Cabecalho_Calendario' title='Próximo Ano'><img src='images/avanca_ano_calendario.jpg' border='0'></a></td>"
   // escreve X, fechar calendario
   txt += "<td width=20% align=right><a href=javascript:force_close('"+div+"') class='Cabecalho_Calendario' title='Fechar Calendário'><img src='images/fechar_calendario.jpg' border='0'></a></td></tr></table></td></tr>"
  //escreve dias semana
   txt += "<tr class='fundo_dias_semana'><td width='14%' class='dia' align=center><b>Dom</b></td><td width='14%' class='dia' align=center><b>Seg</b></td><td width='14%' class='dia' align=center><b>Ter</b></td><td width='14%' class='dia' align=center><b>Qua</b></td><td width='14%' class='dia' align=center><b>Qui</b></td><td width='14%' class='dia' align=center><b>Sex<b></td><td width='14%' class='dia' align=center><b>Sab</b></td></tr>"

   today1 = new Date((mmonth+1).toString() +"/01/"+ano.toString());
   diainicio = today1.getDay () + 1;
   week = d = 1
   start = false;

   for (n=1;n<= 42;n++) 
   {
       if (week == 1)  txt += "<tr class='fundo_datas_calendario' align=center>"
       if (week==diainicio) {start = true}
       if (d > days[mmonth]) {start=false}
       if (start) 
       {
           dat = new Date((mmonth+1).toString() + "/" + d + "/" + ano.toString())
		   dia = new Array()
		   dia[0] = "Domingo"
		   dia[1] = "Segunda-Feira"
		   dia[2] = "Terça-Feira"
		   dia[3] = "Quarta-Feira"
		   dia[4] = "Quinta-Feira"
		   dia[5] = "Sexta-Feira"
		   dia[6] = "Sábado"
		   
           day_dat   = dat.toString().substr(0,10)
           day_today  = date_Form.toString().substr(0,10)
           year_dat  = dat.getFullYear ()
           year_today = date_Form.getFullYear ()
			

		   colorcell = ((day_dat == day_today) && (year_dat == year_today) ? " class='data_marcada' " : "" )
		   
		   mesp = mmonth+1;
		   if (mesp<10){
			 mes_sh = '0' + mesp
		   }else{
			 mes_sh = mesp
		   }
		   if(d<10){
			 d = '0' + d;
		   }
	       diasem = dat
           txt += "<td"+colorcell+" align=center><a href=javascript:block('"+ d+ "/" + (mes_sh).toString() + "/" + ano.toString() +"','"+ obj +"','" + div +"','"+obj1+"') class='data'>"+ d.toString() + "</a></td>"
           d ++ 
       } 
       else 
       { 
           txt += "<td class='data' align=center> </td>"
       }
       week ++
       if (week == 8) 
       { 
           week = 1; txt += "</tr>"} 
       }
       txt += "</table>"
	   txt += "</div>"
       div2 = eval (div)
       div2.innerHTML = txt 
}
 
function pop_month(obj, div, tam, ano)
{
 txt  = "<table class='pop_mes' border='0' width=80>"
 for (n = 0; n < 12; n++) { txt += "<tr><td align=center><font size=2 face=verdana color=#FFFFF><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+("01/" + (n+1).toString() + "/" + ano.toString())+"') class='pop_mes_link'>" + umonth[n] +"</a></td></tr>" }
 txt += "</table>"
 popd.innerHTML = txt
}

function pop_year(obj, div, tam, umonth)
{
 txt  = "<table class='pop_ano' border='0' width=160>"
 l = 1
 for (n=1991; n<2012; n++)
 {  if (l == 1) txt += "<tr>"
    txt += "<td align=center><font size=2 face=verdana color=#FFFFF><a href=javascript:popdate('"+obj+"','"+div+"','"+tam+"','"+(umonth.toString () +"/01/" + n) +"') class='pop_ano_link'>" + n + "</a></font></td>"
    l++
    if (l == 4) 
       {txt += "</tr>"; l = 1 } 
 }
 txt += "</tr></table>"
 popd.innerHTML = txt 
}

function force_close(div) 
   { 
   		div2 = eval (div); div2.innerHTML = ''			
   }
   

function block(data, obj, div, obj1)
{ 
//   alert(diasem)
   force_close (div)
   obj2 = eval(obj)
   obj2.value = data 
   obj3 = eval(obj1)
   obj3.focus()   
}

function MostraIdade()
{	
	var Total1=document.Form.qtdCrianca.value;
	var total;	
	var max=6;
	if(0==Total1)
	{
	document.all.IdadeFrame.style.display="none";
	}
	else
	{
	MostraCel(Total1,max);
	if(document.all.IdadeFrame.style.display=="none")
	{
	document.all.IdadeFrame.style.visibility="hidden";
	document.all.IdadeFrame.style.display="block";
	}
	document.all.IdadeFrame.style.visibility="visible";
	}
}
function MostraCel(c0,m)
{
	
	for(var i=0;i< m;i++)
//	strda = 'document.all.IdadeSel' + i;
//	var da = strda;
	{
	if(i< c0) d="block";
	else d="none";
	eval("document.all.IdadeSel"+i+".all.a"+i+".style.display='"+d+"'");
	}
}
function SKARI(n)
{
	if(n==0)
	{	
	n++; 
	}
	var da = document.all.IdadeFrame.all;
	if (n==1) d="block";
	else d="none";
	eval("document.all.IdadeFrame.all.IdadeSel0.style.display='"+d+"'");
	MostraIdade();
}

//******************************************
// Trata as Datas
//******************************************
function IsDate(pData){

	if(pData.length<10 || pData.length>10){
		alert('Data inválida\nInforme a data no formato (dd/mm/aaaa)');
	
		return false;
	}
	var ano = '' + pData.substring(6,10);
	var mes = '' + pData.substring(3,5);
	var dia = '' + pData.substring(0,2);
							
	if(dia>'31'){
		alert('Data inválida');
		return false;
	}							
	if(mes>'12'){
		alert('Data inválida');
		return false;
	}
	if(mes=='02'){
		if(ano%4!=0 && dia>'28'){
			alert('Data Inválida');
			return false;
		}
		else{
			if(dia>'29'){
				alert('Data Inválida');
				return false;
			}
		}
	}
	if(mes<='07'){
		if(mes%2==0 && dia>'30'){
			alert('Data inválida');
			return false;
		}
	}
	else{
		if(mes>'09'){
			if(mes%2!=0 && dia>'30'){
				alert('Data inválida');
				return false;
			}
		}
	}			
	
	//Data Correta!
	return true
}

//******************************************
// Compara datas.
//******************************************
function compara_data(data1, data2, data3){
	var erro = "";
	
	if(data1.value == ""){
		erro += "DATA DE CHECKIN INVÁLIDA! Por favor preencha este Campo\n\n";
	}
	if(data2.value == ""){
		erro += "DATA DE CHECOUT INVÁLIDA! Por favor preencha este Campo\n\n";

	}
	if((data1.value != "") && (data2.value != "")){
		if(dataMaior(data1.value,data2.value)){
			erro += "A DATA DE CHECKIN não pode ser maior que a DATA DE CHECKOUT!\n\n";
			data2.value = "";
		}
	}
	if(data1.value == data2.value){
		erro += "A DATA DE CHECKIN não pode ser igual que a DATA DE CHECKOUT\n\n";
		data1.value = "";		
		data2.value = "";
	}
	if(dataMaior(data3.value,data1.value)){
		erro += "A DATA DE CHECKIN não pode ser menor que a DATA DE ATUAL: "+data3.value+"\n\n";
		data1.value = "";
	}
	if(erro!=""){
		alert("Ocorreram os seguintes erros ao processar as DATAS: \n\n"+erro);
		return false;
	}else
		return true;
	
}

function formata_data(data){
		arrDataInfo = data.split('/');
		novaDataInfo = arrDataInfo[1] + '/' + arrDataInfo[0] + '/' + arrDataInfo[2];
		return novaDataInfo;
}
function calcula_dias(data1,data2,data3,diarias){
	datac = formata_data(data1.value);
	datap = formata_data(data2.value);
	dias = (((Date.parse(datap))-(Date.parse(datac)))/(24*60*60*1000)).toFixed(0);
	diarias.value = dias;
}
function testaInformacoes(form){
	var erro = "";
	if(form.nome.value == ""){
		erro += "CAMPO NOME é obrigatório, e está Vazio  \n\n";
	}
	if((form.email.value == "") && (form.fone.value == "")){
			erro += "[EMAIL OU FONE] Você deve preencher pelo menos um campo para contato\n\n";
	}
	if(form.cidade.value == ""){
		erro += "CAMPO CIDADE é obrigatório, e está Vazio\n\n";
	}
	if(erro!=""){
		alert("Ocorreram os seguintes erros ao processar sua informações: \n\n"+erro);
		return false;
	}else
		return true;
}

//******************************************
// Validacao do Formulario.
//******************************************
function ValidaForm()
{

chegada=document.Form.DataC.value;
partida=document.Form.DataP.value;

var thetime=new Date();
    var nday=thetime.getDay();
    var nmonth=thetime.getMonth()+1;
	  var nano=thetime.getYear();
	  if (nday<10){
	 nday="0"+nday;
	 }

	 if (nmonth<10){
	 nmonth="0"+nmonth;
	 }
	 data_hj=nday+"/"+nmonth+"/"+nano;
data_comparada_dehj=compara_data(data_hj,chegada);
data_comparada=compara_data(chegada,partida);	

if(data_comparada_dehj==0){
alert ("A data de chegada não pode ser menor que a data de hoje");
return false;
}	

if(data_comparada==0){
alert ("A data de chegada não pode ser maior do que a de partida");
return false;
}

if ( ! IsDate(document.Form.DataC.value) ){
 document.Form.DataC.focus(); document.Form.DataC.select(); return false; }
   
if ( ! IsDate(document.Form.DataP.value) )
   { document.Form.DataP.focus(); document.Form.DataP.select(); return false; }
   
  
   
//Limpar os Combos das Idades  
for(var a=document.Form.qtdCrianca.selectedIndex+1;a< 7;a++)
{eval("document.Form.IdadeCrianca"+a+".selectedIndex=0");}


Form.submit();
}

function habilita(campo,x){
	if(x==1){
		campo.disabled="";
		campo.value="";
		campo.focus();
	}else{
		campo.disabled="disabled";
		campo.value="Nome da Empresa";
	}
	return true;
}

function dataMaior(dt1,dt2){
	var hoje = new Date();
	var ano = hoje.getYear();
	
	if(ano >= 50 && ano <= 99)
		ano = 1900 + ano
	else
		ano = 2000 + ano;
	
	var pos1 = dt1.indexOf("/",0)
	var dd = dt1.substring(0,pos1)
	pos2 = dt1.indexOf("/", pos1 + 1)

	var mm = dt1.substring(pos1 + 1,pos2)
	var aa = dt1.substring(pos2 + 1,10)
	if(aa.length < 4)
		if(ano > 1999)
			aa = (2000 + parseInt(aa,10))
		else
			aa = (1900 + parseInt(aa,10));
	
	var data1 = new Date(parseInt(aa,10),parseInt(mm,10) - 1, parseInt(dd,10));
	var pos1 = dt2.indexOf("/",0)
	var dd = dt2.substring(0,pos1)
	pos2 = dt2.indexOf("/", pos1 + 1)
	
	var mm = dt2.substring(pos1 + 1,pos2)
	var aa = dt2.substring(pos2 + 1,10)

	if(aa.length < 4)
		if(ano > 80 && ano <= 99)
			aa = (1900 + parseInt(aa,10))
		else
			aa = (2000 + parseInt(aa,10));
			
	var data2 = new Date(parseInt(aa,10),parseInt(mm,10) - 1,parseInt(dd,10));
	
	if(data1 > data2)
		return true;
	else
		return false;
}



function validarData(campo){
	var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
	var msgErro = 'Formato inválido de data.';
	if ((campo.value.match(expReg)) && (campo.value!='')){
		var dia = campo.value.substring(0,2);
		var mes = campo.value.substring(3,5);
		var ano = campo.value.substring(6,10);
		if(mes==4 || mes==6 || mes==9 || mes==11 && dia > 30){
			alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
			return false;
		} else{
			if(ano%4!=0 && mes==2 && dia>28){
				alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
				return false;
			} else{
				if(ano%4==0 && mes==2 && dia>29){
				alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
				return false;
			} else{
				alert ("Data correta!");
				return true;
			}
		}
	}
	} else {
		alert(msgErro);
		campo.focus();
		return false;
	}
}