// Sete Voltas
// Funções auxiliares

// Globais

var xmlHttp = null;
var objResponse = null;


// funções

function getInternetExplorerVersion() {
	var rv = -1;
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var ua = navigator.userAgent;
		var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if (re.exec(ua) != null) {
			rv = parseFloat( RegExp.$1 );
		}
	}
	return rv;
}

function redirectIncompatible() {
	var ver = getInternetExplorerVersion();
	if ( ver > -1 ) {
		if ( ver < 7.0 ) {
			window.location.href = 'incompativel.php';
		}
	}
	var agent=navigator.userAgent.toLowerCase();
	if((agent.indexOf('iphone')!=-1)){
		window.location.href='iphone.html';
	}
}

function checkEmail(email) {
	if(/^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/.test(email)){
		return true;
	} else {
		return false;
	}
}

function checkDate(d) {
	var date=d;
	var ardt=new Array;
	var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
	ardt=date.split("/");
	err=false;
	if ( date.search(ExpReg)==-1){
		err = true;
		}
	else if (((ardt[1]==4)||(ardt[1]==6)||(ardt[1]==9)||(ardt[1]==11))&&(ardt[0]>30))
		err = true;
	else if ( ardt[1]==2) {
		if ((ardt[0]>28)&&((ardt[2]%4)!=0))
			err = true;
		if ((ardt[0]>29)&&((ardt[2]%4)==0))
			err = true;
	}
	return !err;
}

function trim(aString) {
    return String.replace(/^\s+/, "").replace(/\s+$/, "");
}

function isNumeric(sText) {
   var validChars = "0123456789.-Rr";
   var isNumber=true;
   var char;

   for (i=0;i<sText.length && isNumber==true;i++){ 
      char = sText.charAt(i); 
      if (validChars.indexOf(char) == -1){
         isNumber = false;
      }
   }
   return (isNumber && (sText.length>0));   
}

function zeroPad(num,count) {
	var numZeropad = num + '';
	while(numZeropad.length < count) {
		numZeropad = "0" + numZeropad;
	}
	return numZeropad;
}

function getFlashMovie(movieName) {
   var isIE = navigator.appName.indexOf("Microsoft") != -1;
   return (isIE) ? window[movieName] : document[movieName];
}

function popup(url) {
	params  = 'width='+screen.width;
 	params += ', height='+screen.height;
 	params += ', top=0, left=0'
 	params += ', fullscreen=yes';

 	newwin=window.open(url,'popup', params);
 	if (window.focus) {newwin.focus()}
 	return false;
}

function popupCenter(page,name,w,h){
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	params = 'height=' + h + ', width=' + w + ', top=' + wint + ', left=' + winl + ', toolbar=no, location=no, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=tes, copyhistory=no';
	win = window.open(page,name, params)
	if(parseInt(navigator.appVersion) >= 4){
		win.window.focus();
	}
}

function getInputRadioValue(obj) {
	var checkedIndex = -1;
	for(i = 0; i < obj.length; i++){
    	if (obj[i].checked) {
			checkedIndex = i;
    		break;
		}
	}
	return (checkedIndex != -1 ? obj[i].value : null);
}

function initAJAX() {
	if(!xmlHttp) {
		if (window.XMLHttpRequest) {
			xmlHttp = new XMLHttpRequest(); 
		} else if (window.ActiveXObject) {
			xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  
		} else {
			return -1;
		}
	}
	return 0;
}

function submitNewsletter(obj, msg) {
	if(!checkEmail(obj.email.value)){
	    alert(msg);
	    obj.email.focus();
	} else {
		var txtEmail = escape(obj.email.value);		
		if(initAJAX()==0){
			xmlHttp.open("POST", "services/addEmailMkt.php", true); 
		    xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
    		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		    xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
    		xmlHttp.setRequestHeader("Pragma", "no-cache");
    	    xmlHttp.onreadystatechange = processRequestNewsletter;
			objResponse = obj;
			objResponse.email.value = "Enviando...";
			objResponse.email.style.color = "#999";
			objResponse.email.disabled = true;
	    	xmlHttp.send("email=" + txtEmail);
		} else {
			alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
		}
	}
}

function processRequestNewsletter() {
	if (xmlHttp.readyState == 4) {      
		if (xmlHttp.status == 200) {
			if(xmlHttp.responseText == "1") {
				objResponse.email.disabled = false;
				objResponse.email.value = "email";
				objResponse.email.style.color = "#999";
				objResponse.email.blur();
				alert('Email cadastrado com sucesso. Obrigado!');
			} else {
				objResponse.email.disabled = false;
				objResponse.email.value = "email";
				objResponse.email.style.color = "#999";
		 		objResponse.email.blur();
				alert("Problemas no envio dos dados.\nPor favor tente novamente.");
			}
		} else {
			objResponse.email.disabled = false;
			objResponse.email.value = "email";
			objResponse.email.style.color = "#000";
			objResponse.email.focus();
			alert("Problemas no envio dos dados.\nPor favor tente novamente.");
		}
	}
}

function submitReserva(obj) {
	if(obj.nome.value.length<1){
		alert('Por favor, informe seu nome.');
	  	obj.nome.focus();
	  	return false;
	}
	if(obj.telDDD.value!=''){
		if(!isNumeric(obj.telDDD.value)){
			alert('Por favor, preencha o DDD usando apenas números.');
			obj.telDDD.focus();
			return false;
		}
		if(!isNumeric(obj.tel.value)){
			alert('Por favor, preencha o campo telefone corretamente.');
			obj.tel.focus();
			return false;
		}
	}
	if(obj.tel.value!=''){
		if(!isNumeric(obj.telDDD.value)){
			alert('Por favor, preencha o DDD usando apenas números.');
			obj.telDDD.focus();
			return false;
		}
		if(!isNumeric(obj.tel.value)){
			alert('Por favor, preencha o campo telefone corretamente.');
			obj.tel.focus();
			return false;
		}
	}
	if(obj.cidade.value.length<1){
		alert('Por favor, informe sua cidade.');
	  	obj.cidade.focus();
	  	return false;
	}
	if(obj.entrada.selectedIndex<1){
		alert('Por favor, selecione o mês da entrada.');
		obj.entrada.focus();
		return false;
	}
	if(obj.dia_entrada.selectedIndex<1){
		alert('Por favor, selecione o dia da entrada.');
		obj.dia_entrada.focus();
		return false;
	}
	if(!checkEmail(obj.email.value)){
	    alert('Por favor digite um email válido.');
	    obj.email.focus();
		return false;
	}
	if(obj.faxDDD.value!=''){
		if(!isNumeric(obj.faxDDD.value)){
			alert('Por favor, preencha o DDD usando apenas números.');
			obj.faxDDD.focus();
			return false;
		}
		if(!isNumeric(obj.fax.value)){
			alert('Por favor, preencha o campo fax corretamente.');
			obj.fax.focus();
			return false;
		}
	}
	if(obj.fax.value!=''){
		if(!isNumeric(obj.faxDDD.value)){
			alert('Por favor, preencha o DDD usando apenas números.');
			obj.faxDDD.focus();
			return false;
		}
		if(!isNumeric(obj.fax.value)){
			alert('Por favor, preencha o campo fax corretamente.');
			obj.fax.focus();
			return false;
		}
	}
	if(obj.estado.selectedIndex<1){
		alert('Por favor, selecione seu estado.');
		obj.estado.focus();
		return false;
	}
	if(obj.saida.selectedIndex<1){
		alert('Por favor, selecione o mês da saída.');
		obj.saida.focus();
		return false;
	}
	if(obj.dia_saida.selectedIndex<1){
		alert('Por favor, selecione o dia da saída.');
		obj.dia_saida.focus();
		return false;
	}
	if(initAJAX()==0){
		xmlHttp.open("POST", "services/addReservation.php", true); 
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		xmlHttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		xmlHttp.setRequestHeader("Pragma", "no-cache");
		xmlHttp.onreadystatechange = processSubmitReserva;
		objResponse = obj;
		var parms = "";
		with(obj){
			parms  = "nome="+encodeURI(nome.value)+"&";
			parms += "telDDD="+encodeURI(telDDD.value)+"&";
			parms += "tel="+encodeURI(tel.value)+"&";
			parms += "cidade="+encodeURI(cidade.value)+"&";
			parms += "entrada="+entrada.options[entrada.selectedIndex].value+"&";
			parms += "dia_entrada="+dia_entrada.options[dia_entrada.selectedIndex].value+"&";
			parms += "email="+email.value+"&";
			parms += "faxDDD="+encodeURI(faxDDD.value)+"&";
			parms += "fax="+encodeURI(fax.value)+"&";
			parms += "estado="+estado.options[estado.selectedIndex].value+"&";
			parms += "saida="+saida.options[saida.selectedIndex].value+"&";
			parms += "dia_saida="+dia_saida.options[dia_saida.selectedIndex].value+"&";
			parms += "animal_estimacao="+(animal_estimacao[0].checked ? "Sim" : "Não" )+"&";			
			parms += "acomodacao1="+(acomodacao1.checked ? (acomodacao1.value)+"&" : "&");
			parms += "acomodacao2="+(acomodacao2.checked ? (acomodacao2.value)+"&" : "&");
			parms += "acomodacao3="+(acomodacao3.checked ? (acomodacao3.value)+"&" : "&");
			parms += "revista="+(revista.checked ? (revista.value)+"&" : "&");
			parms += "indicacao="+(indicacao.checked ? (indicacao.value)+"&" : "&");
			parms += "site_busca="+(site_busca.checked ? (site_busca.value)+"&" : "&");
			parms += "jornal="+(jornal.checked ? (jornal.value)+"&" : "&");
			parms += "internet="+(internet.checked ? (internet.value)+"&" : "&");
			parms += "folhetos="+(folhetos.checked ? (folhetos.value)+"&" : "&");
			parms += "emailmkt="+(emailmkt.checked ? (emailmkt.value)+"&" : "&");
			parms += "agencia_viagem="+(agencia_viagem.checked ? (agencia_viagem.value)+"&" : "&");
			parms += "observacoes="+encodeURI(observacoes.value);
		}
		for(i=0;i<objResponse.length;i++){
			objResponse[i].disabled = true;
		}
		xmlHttp.send(parms);
	} else {
		alert('Este navegador não dá suporte a este recurso. Operação cancelada.');
	}
}

function processSubmitReserva() {
	if (xmlHttp.readyState == 4) {      
		for(i=0;i<objResponse.length;i++){
			objResponse[i].disabled = false;
		}
		if (xmlHttp.status == 200) {
			if(xmlHttp.responseText == "1") {
				alert('Dados enviados com sucesso.\nEm breve entraremos em contato!');
				objResponse.reset();
			} else {
				alert('Problemas no envio dos dados.\nPor favor tente novamente.');
			}
		} else {
			alert("Problemas no envio dos dados.\nPor favor tente novamente.");
		}
	}
}


