/* André Faleiro */
function validaFormReserva()
{
	//clearAllMsgs();
	var form = document.forms['formReserva'];
	var erros = [];
	with (form)
	{
		if (isEmpty(nome_usuario.value)) {
				erros.push('O campo Nome &eacute; obrigat&oacute;rio.');
				erros.push('<br>');
		}
		if (isEmpty(email_usuario.value)) {
				erros.push('O campo E-mail &eacute; obrigat&oacute;rio.');
				erros.push('<br>');
		}
		if (!isEmail(email_usuario.value)) {
				erros.push('Favor informar um E-mail v&aacute;lido.');
				erros.push('<br>');
		}
		/* if (isEmpty(ddd_reserva.value)) {
				erros.push('O campo DDD &eacute; obrigat&oacute;rio.');
				erros.push('<br>');
		}
		if (isEmpty(tel_reserva.value)) {
				erros.push('O campo Telefone &eacute; obrigat&oacute;rio.');
				erros.push('<br>');
		} */
		
		if (!isData(data_embarque_usuario.value) && !isEmpty(data_embarque_usuario.value)){
			erros.push('Favor informar uma Data de Embarque v&aacute;lida.');
			erros.push('<br>');
		}
		if (!isData(data_retorno_usuario.value) && !isEmpty(data_retorno_usuario.value)){
			erros.push('Favor informar uma Data de Retorno v&aacute;lida.');
			erros.push('<br>');
		}
		
		
		if (erros.length > 0){
			var divErro = document.getElementById("div_erros_reserva");
			var concat = "";
			for(i = 0; i < erros.length; i++){
				concat += erros[i];
			}
			divErro.className = 'aviso_coment_erro';
			divErro.innerHTML = concat;
			divErro.style.display='block';
		}
		else {
			//datas formatadas para: %Y-%m-%d
			var data_emb='', data_ret='';
			
			//esconde a div de erros
			document.getElementById("div_erros_reserva").style.display='none';
			
			//Concatena o DDD com o Telefone
			var fone_usuario = "(" + ddd_reserva.value + ")" + tel_reserva.value;
			
			var handler = new XMLHandler();
			var xmlreq = new XMLClient(URL_RESERVA);
			
			// setando para ser sincrono
			xmlreq.setAsync(false);
			handler.bdoAsync = false;
			xmlreq.addParam('nome_usuario',nome_usuario.value);
			xmlreq.addParam('email_usuario',email_usuario.value);
			xmlreq.addParam('fone_usuario',fone_usuario);
			xmlreq.addParam('tabela',tabela.value);
			xmlreq.addParam('id_pk',id_pk.value);
			xmlreq.addParam('id_modulo',id_modulo.value);
			xmlreq.addParam('quantidade',quantidade.value);
			
			//nome dos outros passageiros
			var usuario_2 = document.getElementById('nome_usuario_2');
			var usuario_3 = document.getElementById('nome_usuario_3');
			if(usuario_2.value != ""){
				xmlreq.addParam('nome_usuario_2',usuario_2.value);
				//alert('user2: '+usuario_2.value);
			}
			if(usuario_3.value != ""){
				xmlreq.addParam('nome_usuario_3',usuario_3.value);
				//alert('user3: '+usuario_3.value);
			}
			/* if(usuario_2.style.display.block){
				xmlreq.addParam('nome_usuario_2',usuario_2.value);
				alert('user2: '+usuario_2.value);
			}
			if(usuario_3.style.display == "block"){
				xmlreq.addParam('nome_usuario_3',usuario_3.value);
				alert('user3: '+usuario_3.value);
			} */
			
			//datas
			if (data_embarque_usuario.value != '') {
				var vetEmbarque = data_embarque_usuario.value.split("/");
				data_emb = vetEmbarque[2]+'-'+vetEmbarque[1]+'-'+vetEmbarque[0];
				xmlreq.addParam('data_embarque',data_emb);
			}
			if (data_retorno_usuario.value != '') {
				var vetRetorno = data_retorno_usuario.value.split("/");
				data_ret = vetRetorno[2]+'-'+vetRetorno[1]+'-'+vetRetorno[0];
				xmlreq.addParam('data_retorno',data_ret);
			}
			
			xmlreq.addParam('complementos',complementos_usuario.value);
			
			
			xmlreq.query(handler);  
			var retorno = parseInt(xmlreq.oXMLRequest.responseText);
			
			//msg de sucesso
			if(retorno == 1){
				document.getElementById("div_erros_reserva").className = 'aviso_coment_postado';
				document.getElementById("div_erros_reserva").innerHTML = "Solicitação enviada com sucesso, aguarde nosso retorno.";
				document.getElementById("div_erros_reserva").style.display='block';
				//limpa os campos
				reset();
				/* nome_usuario.value = "";
				email_usuario.value = "";
				ddd_reserva.value = "";
				tel_reserva.value = "";
				data_embarque_usuario.value = "";
				data_retorno_usuario.value = "";
				complementos_usuario.value = "";
				quantidade[0].selected = true; */
				document.getElementById("nome_segundo_passageiro").style.display='none';
				document.getElementById("nome_terceiro_passageiro").style.display='none';
				
			}else {
				document.getElementById("div_erros_reserva").className = 'aviso_coment_erro';
				document.getElementById("div_erros_reserva").innerHTML = "Não Foi possível cadastrar a reserva.";
				document.getElementById("div_erros_reserva").style.display='block';
			}
		}
	}
}

function isEmail(email)
{
    validEmail = /^([\w\.\-])+@+([\w\.\-])+([\.])+([\w\.\-])+$/i;
    return validEmail.test(email);
}

function isEmpty(s){
	var re=/\s/g;
	var s=s.replace(re,"");
	RegExp.multiline=true;
	return(s.length==0 || s=='0,0') ? true : false;
}

function isData(obj) {
	
	vetData = obj.split("/");
	dia = vetData[0];
	mes = vetData[1];
	ano = vetData[2];

	situacao = "";
	
	// verifica o dia valido para cada mes 
	if ((dia < 01)||(dia < 01 || dia > 30) && (  mes == 04 || mes == 06 || mes == 09 || mes == 11 ) || dia > 31) { 
		situacao = "falsa"; 
	}
	// verifica se o mes e valido 
	if (mes < 01 || mes > 12 ) { 
		situacao = "falsa"; 
	}
	// verifica se e ano bissexto 
	if (mes == 2 && ( dia < 01 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))) { 
		situacao = "falsa"; 
	}
	
	if (situacao == "falsa") { 
		//alert("Data inválida!");
		return false;
	}
	else 
		return true;
}
