
// JavaScript Document

//Detectando si es Safari
var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') > -1; 
 
//Detectando si es Chrome
var is_chrome= navigator.userAgent.toLowerCase().indexOf('chrome/') > -1;
 
//Detectando si es Firefox
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1;  
 
//Detectando Cualquier version de IE
//if ('\v'=='v') alert('Su navegador es Internet Explorer !');
 
//Detectando si es IE6
var is_ie6 = (window.external && typeof window.XMLHttpRequest == "undefined");  

// Variables para peticiones AJAX
var READY_STATE_UNINITIALIZED=0;
var READY_STATE_LOADING=1;
var READY_STATE_LOADED=2;
var READY_STATE_INTERACTIVE=3;
var READY_STATE_COMPLETE=4;
var peticion_http;
// Fin Variables para peticiones AJAX

var cln; 

var actDate = new Date;
var actAnio = actDate.getFullYear();
var actMes = actDate.getMonth();

var isFicha = document.getElementById('contenidosFicha');

//LISTADO DE IMÁGENES A PRECARGAR

var i; 
var imagenes = new Array("/media/images/espera.jpg");
var lista_imagenes = new Array(); 

document.getElementsByTagName('HTML')[0].style.visibility = 'hidden';
var mostrarContenido = setInterval('muestraHTML()',100);
var reloadVacaciones = false;

var ocultos;
var linksMuestra;

var numeroImagenes = 3 
var numeroAleatorio = Math.floor(Math.random() * numeroImagenes ) + 1;


window.onload=function(){	
		
		//if(document.getElementById('banner')){portada();}
		dspn();
		if(document.getElementById('pasoZonas')){pasoZonas()}
		if(document.getElementById('pasoInitSelFecha')){pasoSelFecha()}
		if(document.getElementById('pasoSelFecha2')){pasoSelFecha2()}
		if(document.getElementById('pasoInitCamarote')){pasoCamarote()}
		if(document.getElementById('pasoInitVuelo')){pasoVuelo()}
		if(document.getElementById('pasoInitCompra')){pasoCompra()}
		if(document.getElementById('citytourFORM')){pasoCityTour()}
		if(document.getElementById('cruiseSearchForm') && document.getElementById('cruiseSearchForm').tagName == 'FORM'){
			var cruisesSelect = document.getElementById('crucero');
			var anioSelect = document.getElementById('anio');
			createFechaCruise(cruisesSelect);
			createOnchange(cruisesSelect, cruisesSelect);
			createOnchange(anioSelect, cruisesSelect);
		}
		
		if(document.getElementById('calendarioVacacional') && document.getElementsByClassName('calendarioVacacional').length>0){
				var calendarioActivo = document.getElementsByClassName('calendarioActivo');
				ocultarBloque(document.getElementsByClassName('calendarioVacacional'),calendarioActivo[0])
		}
		
		
		formulario();
		if(document.getElementById('hotelSeleccionadoVacacional')){loadVacaciones();}
		Shadowbox.init();
		cargarimagenes();
		
}

function cargarimagenes(){ 
	for(i in imagenes){ 
		lista_imagenes[i] = new Image(); 
		lista_imagenes[i].src = imagenes[i]; 
	} 
} 

function muestraHTML(){
	if(document.getElementById('contentFooter')){
		setTimeout('htmlVisible()',300)		
		clearInterval(mostrarContenido);
	}
}

function htmlVisible(){
	document.getElementsByTagName('HTML')[0].style.backgroundImage = "url('/media/images/momento-crucero-"+numeroAleatorio+".jpg')";
	document.getElementsByTagName('HTML')[0].style.visibility = 'visible';
	document.getElementsByTagName('BODY')[0].style.visibility = 'visible';
}

if(typeof(document.getElementsByClassName) != 'function'){cln = false}
else{cln = true}

function dspn(d){
	if(d){
		var uText = d.title;
		var aText = d.rel;
		if(d.innerHTML =='' || d.innerHTML == aText){d.innerHTML = uText;}
		else{d.innerHTML = aText;}
		return false;
	}
	ocultos = document.getElementsByClassName('ocultoDSPN');
	ocultarBloque(ocultos);
	linksMuestra = document.getElementsByClassName('lnkMostrar');
	//alert(linksMuestra.length);
	for(u=0;u<linksMuestra.length;u++){
		var uText = linksMuestra[u].title;
		var aText = linksMuestra[u].rel;
		if(linksMuestra[u].innerHTML =='' || linksMuestra[u].innerHTML == aText){linksMuestra[u].innerHTML = uText;}		
		else{linksMuestra[u].innerHTML = aText;}		
		muestra(linksMuestra[u]);
	}
}

function encontrarPadre(itm, fath){
	var tipeOfElement = itm;
	do{tipeOfElement = tipeOfElement.parentNode;}
	
	while(tipeOfElement.tagName != fath);
	return tipeOfElement;
}

function ocultarBloque(bloque,save){
	var mostrar = 'block';
	var ocultar;
	
	if(save)
	if(save.tagName == 'TR'){mostrar = 'table-row'} else if(save.tagName == 'TD'){mostrar = 'table-cell'} else if(save.tagName == 'TABLE'){mostrar = 'table'}
	if('\v'=='v'){mostrar = 'block'}
		
	for(r=0;r<bloque.length;r++){
		if(save!=false){
			if(bloque[r]!=save){bloque[r].style.display = 'none';}
			else {bloque[r].style.display = mostrar;}
		}
		
		else{bloque[r].style.display = 'none';}
	}		
}

function mostrarBloque(bloque,save){
	var mostrar = 'block';
	var ocultar;
	if(bloque[0].tagName == 'TR'){mostrar = 'table-row'} else if(save.tagName == 'TD'){mostrar = 'table-cell'}
	if('\v'=='v'){mostrar = 'block'}
	for(r=0;r<bloque.length;r++){
		if(save!=false){
			if(bloque[r]!=save)	bloque[r].style.display = mostrar;
			else bloque[r].style.display = 'none';
		}
		
		else{bloque[r].style.display = mostrar;}
	}
}

function muestraOculta(mostrar,ocultar){
		oculta(ocultar);
		muestra(mostrar);
}

function oculta(it){
		if(typeof(it)=='string'){it = document.getElementById(it)}
		it.style.display = 'none';
}

function muestra(it){
		if(typeof(it)=='string'){it = document.getElementById(it)}
		if('\v'=='v'){it.style.display = 'block';}
		else if(it.tagName == 'TR' || it.tagName == 'TD' || it.tagName == 'TH' || it.tagName == 'TABLE'){it.style.display = 'table-row';}
		
		else{
		
		it.style.display = 'block';}
}

function cambiaVisibilidad(it){
	if(typeof(it)=='string'){it = document.getElementById(it)}
	if(it.style.display == 'block'){it.style.display = 'none'}
	else{it.style.display = 'block'}
}

function invisible(it){
		if(typeof(it)=='string'){it = document.getElementById(it)}
		it.style.visibility = 'hidden';
}

function visible(it){
		if(typeof(it)=='string'){it = document.getElementById(it)}
		it.style.visibility = 'visible';
}


function asignaContent(elm,cont){
		if(typeof(elm)=='string'){elm = document.getElementById(it)}
		elm.innerHTML = cont;
}

function anadeContent(elm,cont){
		if(typeof(elm)=='string'){elm = document.getElementById(it)}
		elm.innerHTML+= cont;
}

function changeClase(itm,clase0,clase1){
	if(typeof(itm)=='string'){itm = document.getElementById(itm)}
	var element = itm;
	if(element.className == clase0){element.className = clase1} 
	else if(element.className == clase1){element.className = clase0} 
}


function detectaSeleccion(itmArr){
	var seleccionado;
	for(d=0;d<itmArr.length;d++){
		if(itmArr[d].checked == true)	{seleccionado = d}
	}
	return seleccionado;
	
}


if(typeof(document.getElementsByClassName) != 'function') {
  	document.getElementsByClassName = function (cn,an) {
		
		if(!an){an = document}
		var rx = new RegExp("\\b" + cn + "\\b"), allT = an.getElementsByTagName("*"), allCN = [], i = 0, a;
			while (a = allT[i++]) {
			  if (a.className && a.className.indexOf(cn) + 1) {
				if(a.className==cn){ allCN[allCN.length] = a; continue;   }
				rx.test(a.className) ? (allCN[allCN.length] = a) : 0;
			  }
			}
		return allCN;
	}
}

function scrollTop(){
	var topVar
	if ('\v'=='v'){ topVar = document.documentElement.scrollTop}	
	else {topVar = pageYOffset}
	return topVar;
}


/*function autofitIframe(id,alt){
	if(alt){alert('alt= '+alt);}
	alert('autofitIframe');
	if(typeof(id)=='string'){id = document.getElementById(id)}
	
	if (!window.opera && document.all && document.getElementById){
		alert('1');
		id.style.height=id.contentWindow.document.body.scrollHeight+50;
	}
	
	else if (window.getSelection) {alert(document.getElementById('miFrame').contentWindow.body);}
	
	else if(document.getElementById) {
		alert('entra');
		alert('2= '+id.contentDocument.body.scrollHeight);
		id.style.height=(id.contentDocument.body.scrollHeight+50)+"px";
	}
	alert('fin');
	
}*/

function doIframe(){
	o = document.getElementsByTagName('iframe');
	for(i=0;i<o.length;i++){
		if (/\bautoHeight\b/.test(o[i].className)){
			setHeight(o[i]);
			addEvent(o[i],'load', doIframe);
		}
	}
}

function setHeight(e){
	if(e.contentDocument){
		e.height = e.contentDocument.body.offsetHeight + 35;
	} else {
		e.height = e.contentWindow.document.body.scrollHeight;
	}
}

function addEvent(obj, evType, fn){
	if(obj.addEventListener)
	{
	obj.addEventListener(evType, fn,false);
	return true;
	} else if (obj.attachEvent){
	var r = obj.attachEvent("on"+evType, fn);
	return r;
	} else {
	return false;
	}
}

if (document.getElementById && document.createTextNode){
 addEvent(window,'load', doIframe);	
}

function ocultaLegends(){
	var legends = document.getElementById('buscador').getElementsByTagName('LEGEND');
	ocultarBloque(legends,false);
}

function busquedaAvanzada(){
	if(document.getElementById('busquedaAvanzada')){
		var contImg;
		var childBusqueda = document.getElementById('busquedaAvanzada').getElementsByTagName('FIELDSET');
		for(n=0;n<childBusqueda.length;n++){
			for(d=0;d<childBusqueda[n].childNodes.length;d++){
				if(childBusqueda[n].childNodes[d].tagName){
					if(childBusqueda[n].childNodes[d].tagName!='LEGEND'){
						if(childBusqueda[n].childNodes[d].style.display != 'none')
						childBusqueda[n].childNodes[d].style.display = 'none';
						else
						childBusqueda[n].childNodes[d].style.display = 'block';
					}
					else contImg = childBusqueda[n].childNodes[d]
				}
			}
		}
		
		var imageBusquedaAvanzada = document.getElementById('flechaBusquedaAvanzada');
		imageBusquedaAvanzada.onclick = function(){busquedaAvanzada()}
	}
}



// JS'S DE PASOS

//PORTADA

function portada(){
	clearInterval(ocultaImages);
	//document.getElementsByTagName('HTML')[0].style.display = 'block';
	//document.getElementsByTagName('BODY')[0].style.display = 'block';
	carga = true;
	genClickBanner(0);	
	muestraBuscadores(0);
	var legends = document.getElementById('buscador').getElementsByTagName('LEGEND');
	var legendsArr = new Array();
	
	for(u=0;u<legends.length;u++){
		if(legends[u].className != 'legendSecondLevel')
		legendsArr.push(legends[u]);
		else{legends[u].style.display = 'block'}
	}
	
	if(document.getElementById('cruiseSearchForm') && document.getElementById('cruiseSearchForm').tagName == 'FORM'){
		var cruisesSelect = document.getElementById('crucero');
		var anioSelect = document.getElementById('anio');
		createFechaCruise(cruisesSelect);
		createOnchange(cruisesSelect, cruisesSelect);
		createOnchange(anioSelect, cruisesSelect);
	}
	ocultarBloque(legendsArr,false);
	
	formulario();
	
	Shadowbox.init();
	if(document.getElementById('fieldSetCruceros')){initForms()}
	cargarimagenes();
}


// ZONAS -- RESULT01
var formsCityTours;
var enlCityTours;

function pasoZonas(){
	var legends = document.getElementById('buscador').getElementsByTagName('LEGEND');
	var vuelos = document.getElementsByName('selVuelo');
	var vuelosTuristas = document.getElementsByName('claseVuelo');
	
	// CASO CITYTOURS
	if(document.getElementsByClassName('bt8g')){formsCityTours = document.getElementsByClassName('bt8g');}
	enlCityTours = document.getElementsByClassName('contentCrucero');
	
	//CASO PASO HABITACIONES VACACIONAL
	var selUserHabitaciones = document.getElementById('selUserHabitaciones')
	if(selUserHabitaciones){
		if(document.getElementById('selNumHabitaciones')){			
			var selNumHabitaciones = document.getElementById('selNumHabitaciones');
			var numHabitaciones = selUserHabitaciones.getElementsByTagName('FIELDSET');
			for(z=1;z<numHabitaciones.length;z++){
				if(z<=selNumHabitaciones.options.selectedIndex){numHabitaciones[z].style.display = 'block';}
				else{numHabitaciones[z].style.display = 'none'}					
			}
			selNumHabitaciones.onchange = function(){				
				for(z=0;z<numHabitaciones.length;z++){
					if(z<=selNumHabitaciones.options.selectedIndex){numHabitaciones[z].style.display = 'block';}
					else{numHabitaciones[z].style.display = 'none'}					
				}	
			}
		}
	}
	
	if(vuelos.length>0){
		for(u=0;u<vuelos.length;u++){
			vuelos[u].onclick = function(){				
				for(r=0;r<vuelos.length;r++){
					if(vuelos[r].tagName == 'INPUT' && vuelos[r].type == 'radio'){vuelos[r].parentNode.className = 'vueloInactivo'}
				}
				this.parentNode.className = 'vueloActivo';	
			}
			if(vuelos[u].checked){vuelos[u].parentNode.className = 'vueloActivo'}			
		}	
	}
	
	function selHabVac(selUserHabitaciones, selNumHabitaciones, numHabitaciones){
		
	}
	
	var legendsDef = new Array();
	for (j=0;j<legends.length;j++){
		if(legends[j].className != 'legendSecondLevel'){
			legendsDef.push(legends[j]);		 
		}
	}
	ocultarBloque(legendsDef,false);	
	if(formsCityTours.length>1) testCitytour(enlCityTours);	
	
	// Si se trata de una página de cruceros que tiene incluído el formulario de búsqueda de cruceros de la izquieda llamamos a la función intitForms();
	if(document.getElementById('fieldSetCruceros')){initForms()}
	
	//Llamamos a la función busquedaAvanzada de general.js para mostrar y ocultar las opciones de la búsqueda avanzada
	busquedaAvanzada();
}

// INITSELFECHA -- RESULT03

var tds;
var rad;
var labsTables;
var contentHidden;
var mesSig;
var mesAnt;
var selEdadCombos;
var selNumPassCombos;

function pasoSelFecha(){
	
	tds = document.getElementsByTagName('TD');
	rad = document.getElementById('catFecha').getElementsByTagName('INPUT');
	
	var selEdad = document.getElementById('selectEdades');
	var selNumPass = document.getElementById('selectPasajeros');
	
	if(selEdad){selEdadCombos = selEdad.getElementsByTagName('SELECT')}
	if(selNumPass){selNumPassCombos = selNumPass.getElementsByTagName('SELECT')[0]}
	
	if(selEdad && selNumPass){
		combosEdades(selNumPassCombos);
		selNumPassCombos.onchange = new Function( "return combosEdades(this);return false" );		
	}
	
	labsTables = document.getElementsByClassName('tablaCabina');
	contentHidden = '01';
	mesSig = document.getElementsByClassName('mesSiguiente');
	mesAnt = document.getElementsByClassName('mesAnterior');
	
	initSelFecha();	
	ocultaLegends();	
	
	// Si se trata de una página de cruceros que tiene incluído el formulario de búsqueda de cruceros de la izquieda llamamos a la función intitForms();
	if(document.getElementById('fieldSetCruceros')){initForms()}
}


// INITCAMAROTE -- RESULT04

var actTable;
var tableRadio;

function pasoCamarote(){
	actTable = document.getElementById('tablaCamarote');
	tableRadio = actTable.getElementsByTagName('INPUT');
	initCamarote();
	ocultaLegends();
	
	// Si se trata de una página de cruceros que tiene incluído el formulario de búsqueda de cruceros de la izquieda llamamos a la función intitForms();
	if(document.getElementById('fieldSetCruceros')){initForms()}
}

// INITVUELO -- RESULT05

var contentTables;
var origenesSel;

function pasoVuelo(){
	contentTables = document.getElementsByClassName('contentTable');
	origenesSel = document.getElementsByClassName('origenSel');
	
	ocultaLegends();
	if(contentTables.length>0) initVuelo();
	if(origenesSel.length > 0) origenesSel[0].onchange = function(){initVuelo();}
	
	// Si se trata de una página de cruceros que tiene incluído el formulario de búsqueda de cruceros de la izquieda llamamos a la función intitForms();
	if(document.getElementById('fieldSetCruceros')){initForms()}
}


// INITCOMPRA -- COMPRA.HTML

var formsUser;
var formUser;
var checkUserReg;
var pagoTransfer;
var pagoCaixa;

function pasoCompra(){
	
	if(document.getElementById('pagoTarjeta')){
		pagoTarjeta = document.getElementById('pagoTarjeta').getElementsByTagName('DIV');
	}	
	
	if(document.getElementById('radioTarjeta')){
		var radioTarjeta = document.getElementById('radioTarjeta');
		radioTarjeta.checked = true;
		radioTarjeta.onclick =function(){		
			if(radioTarjeta.checked){
				muestra(pagoTarjeta[0]);
				if(document.getElementById('pagoTransferencia')) oculta(pagoTransfer[0])}
				if(document.getElementById('pagoCaixa')) oculta(pagoCaixa[0])
		}
	}
	
	if(document.getElementById('pagoTransferencia')){
		var radioTransferencia = document.getElementById('radioTransferencia');
		pagoTransfer = document.getElementById('pagoTransferencia').getElementsByTagName('DIV');
		radioTransferencia.onclick =function(){	
			if(radioTransferencia.checked){
				if(document.getElementById('radioTarjeta'))	oculta(pagoTarjeta[0]);
				if(document.getElementById('radioCaixa'))oculta(pagoCaixa[0]);
				muestra(pagoTransfer[0]);
			}
		}
		oculta(pagoTransfer[0]);
	}
	
	if(document.getElementById('pagoCaixa')){
		var radioCaixa = document.getElementById('radioCaixa');
		pagoCaixa = document.getElementById('pagoCaixa').getElementsByTagName('DIV');
		radioCaixa.onclick =function(){
			if(radioCaixa.checked){
				if(document.getElementById('radioTarjeta'))	oculta(pagoTarjeta[0]);
				if(document.getElementById('radioTransferencia'))oculta(pagoTransfer[0]);
				muestra(pagoCaixa[0])
			}
		}
		oculta(pagoCaixa[0]);
	}
	
	
	if(document.getElementById('userForm')){
		formUser = document.getElementById('userForm');
		formsUser = formUser.getElementsByTagName('FORM');
		var enlcRecuperarPass =  document.getElementById('enlcRecuperarPass');
		
		checkUserReg = document.getElementById('usuarioRegistrado');
		checkUserReg.checked = false;
		checkUserReg.onclick =function(){
			if(checkUserReg.checked){muestra('formularioRegistrado');}
			else{ oculta('formularioRegistrado');oculta('recuperarPass');}
		}
		
		enlcRecuperarPass.onclick =function(){
			oculta('formularioRegistrado');muestra('recuperarPass');return false;
		}
		
		ocultaForms();
	}
	
}

// INIT RESULTADOS VACACIONAL
var loadVacaciones = function(typ){
	
	if(reloadVacaciones){
		document.getElementById('precioTitulo').className = 'precioTitulo precioTituloOn';
		document.getElementById('seleccionar').className = 'seleccionar seleccionarOn';	
		document.getElementById('recalcular').className = 'seleccionar reload';
		document.getElementById('precio').className = 'precioOn';	
	}
	
	else{
		document.getElementById('precioTitulo').className = 'precioTitulo';
		document.getElementById('seleccionar').className = 'seleccionar';
		document.getElementById('recalcular').className = 'seleccionar reload seleccionarOn';
		document.getElementById('precio').className = '';
	}
	
	if(document.getElementById('seleccionar')){document.getElementById('seleccionar').onclick = function(){
			if(!reloadVacaciones){alert('Antes de continuar debe recalcular el precio');document.getElementById('recalcular').focus;return false}
		}
	}
	
	var capaComodin = document.createElement('DIV');
	capaComodin.id = 'capaComodin';
	document.body.appendChild(capaComodin);
	
	var listadoHabitaciones = document.getElementById('selHotel').getElementsByTagName('input');
	var listadoHabitacionesArr = new Array();
	for(d=0;d<listadoHabitaciones.length;d++){
		if(listadoHabitaciones[d].type == 'radio'){
			listadoHabitacionesArr.push(listadoHabitaciones[d]);
		}
	}
	
	var listadoHabitacionesSELECT = document.getElementById('selHotel').getElementsByTagName('SELECT');
	var listadoHabitacionesContent = document.getElementById('selHotel').getElementsByTagName('TR');
	var listadoHabitacionesAct = detectaSeleccion(listadoHabitacionesArr);
	
	if(!listadoHabitacionesAct){listadoHabitacionesAct = 0}
	listadoHabitacionesArr[listadoHabitacionesAct].checked = true;
 	var habitacionChecked = listadoHabitacionesArr[listadoHabitacionesAct];
	var habitacionSelContent = encontrarPadre(habitacionChecked, 'TR');
	
	var listadoBusiness = document.getElementsByClassName('business');
	
	var listadoVuelosPre = document.getElementById('vueloSeleccionadoVacacional').getElementsByTagName('INPUT');
	var listadoVuelos = new Array()
	for(d=0;d<listadoVuelosPre.length;d++){
		if(listadoVuelosPre[d].type == 'radio'){
			listadoVuelos.push(listadoVuelosPre[d]);
		}
	}
	var listadoVuelosContent = document.getElementById('vueloSeleccionadoVacacional').getElementsByTagName('TABLE');
	var vueloChecked = listadoVuelos[detectaSeleccion(listadoVuelos)];
	
	
	var vueloSelContent = encontrarPadre(vueloChecked, 'TABLE');
	
	var distribucionHabitaciones = document.getElementById('distribucionHabitaciones').getElementsByTagName('FIELDSET');

	if(!typ || typ == 'hotel'){
		ocultarBloque(listadoHabitacionesContent,habitacionSelContent);
		if(document.getElementById('enlaceMostrarOcularHabitaciones')){
				document.getElementById('enlaceMostrarOcularHabitaciones').innerHTML = 'ver m\xe1s habitaciones';
		}
	}
		

	if(!typ || typ == 'vuelo'){
		ocultarBloque(listadoVuelosContent,vueloSelContent);
		ocultarBloque(listadoBusiness,listadoBusiness[detectaSeleccion(listadoVuelos)/2]);
	}
	
	muestra(listadoHabitacionesContent[0]);
	
	for(j=0;j<distribucionHabitaciones.length;j++){
		if(j<listadoHabitacionesSELECT[listadoHabitacionesAct].options.selectedIndex+1){muestra(distribucionHabitaciones[j])}
		else{oculta(distribucionHabitaciones[j])}		
	}
	
	for(a=0;a<listadoHabitacionesSELECT.length;a++){
		listadoHabitacionesSELECT[a].onchange = function(){reloadVacaciones = false;loadVacaciones('hotel');};
		listadoHabitacionesArr[a].onclick = function(){reloadVacaciones = false;loadVacaciones('hotel');};
	}
	
	for(s=0;s<listadoVuelos.length;s++){listadoVuelos[s].onclick = function(){reloadVacaciones = false;loadVacaciones('vuelo');}}
	//alert(listadoVuelos.length);
	if(!document.getElementById('verMasHabitacionesHotel')){if(listadoHabitaciones.length>1)createMostrarHab(listadoHabitacionesContent);}
	if(!document.getElementById('verMasVuelos')){if(listadoVuelos.length>1){createMostrarVu(listadoVuelosContent);}}
	
	//FUNCIONES PARA EL AJAX DE HOTELES
	
	var botonesEnviar = document.getElementsByTagName('input');
	var seleccionar=[];
	for(o=0;o<botonesEnviar.length;o++){
		if(botonesEnviar[o].type == 'submit'){seleccionar.push(botonesEnviar[o])}
	}
	
	for(a=0;a<seleccionar.length;a++){
		seleccionar[a].onclick = tratarCambio;
	}
	
	var recalcular = document.getElementsByClassName('seleccionar reload');	
	
	if(recalcular[0]){
		var recalcularForm = encontrarPadre(recalcular[0],'FORM');
		recalcularForm.onsubmit = rf;
		recalcular[0].onclick = nuevoCalculo;
		
	}
	
	var paginacion = document.getElementsByClassName('paginacion');
	for(d=0;d<paginacion.length;d++){
		for(u=0;u<paginacion[d].getElementsByTagName('A').length;u++){
			paginacion[d].getElementsByTagName('A')[u].onclick = paginar;
		}		
	}
}
var eliminar = false;

function rf(){return false}

function paginar(){
	eliminar = false;
	var newPaginar = this;
	newPaginar.refer = newPaginar.href;
	var capaCubre = new createCapaCubre();
	var top = scrollTop()+100;
	
	capaCubre.espera.id = 'contentFondoTrans';
	capaCubre.esperaImage.src = '/media/images/preload.gif';
	capaCubre.esperaInt.style.marginTop = top+'px';
	eliminar = true;
	descargaArchivo(newPaginar.refer, "POST", muestraContenido)
	return false;
}

function nuevoCalculo(){
	//alert('nuevoCalculo 0');
	eliminar = false;
	var newCal = this;
	newCal.contentForm =  encontrarPadre(newCal,'FORM');
	
	newCal.roomMealCode;
	newCal.actionForm = newCal.contentForm.action;
	if(newCal.contentForm.roomMealCode[0])
	newCal.roomMealCodeFieldset = encontrarPadre(newCal.contentForm.roomMealCode[0],'FIELDSET');
	else
	newCal.roomMealCodeFieldset = encontrarPadre(newCal.contentForm.roomMealCode,'FIELDSET');
	newCal.rooms;
	newCal.Adultos1 = newCal.contentForm.Adultos1.options[newCal.contentForm.Adultos1.options.selectedIndex].text;
	newCal.Ninos1  = newCal.contentForm.Ninos1.options[newCal.contentForm.Ninos1.options.selectedIndex].text;
	newCal.Bebes1 = newCal.contentForm.Bebes1.options[newCal.contentForm.Bebes1.options.selectedIndex].text;
	newCal.Adultos2 = newCal.contentForm.Adultos2.options[newCal.contentForm.Adultos2.options.selectedIndex].text;
	newCal.Ninos2  = newCal.contentForm.Ninos2.options[newCal.contentForm.Ninos2.options.selectedIndex].text;
	newCal.Bebes2 = newCal.contentForm.Bebes2.options[newCal.contentForm.Bebes2.options.selectedIndex].text;
	newCal.Adultos3 = newCal.contentForm.Adultos3.options[newCal.contentForm.Adultos3.options.selectedIndex].text;
	newCal.Ninos3  = newCal.contentForm.Ninos3.options[newCal.contentForm.Ninos3.options.selectedIndex].text;
	newCal.Bebes3 = newCal.contentForm.Bebes3.options[newCal.contentForm.Bebes3.options.selectedIndex].text;
	newCal.Adultos4 = newCal.contentForm.Adultos4.options[newCal.contentForm.Adultos4.options.selectedIndex].text;
	newCal.Ninos4  = newCal.contentForm.Ninos4.options[newCal.contentForm.Ninos4.options.selectedIndex].text;
	newCal.Bebes4 = newCal.contentForm.Bebes4.options[newCal.contentForm.Bebes4.options.selectedIndex].text;
	newCal.selVuelo = newCal.contentForm.selVuelo.value;
	newCal.claseVuelo;
	newCal.classHidden;
	
	var top = scrollTop()+100;	
	var capaCubre = new createCapaCubre();
	capaCubre.espera.id = 'contentFondoTrans';
	capaCubre.esperaImage.src = '/media/images/preload.gif';
	capaCubre.esperaInt.style.marginTop = top+'px';
	
	if(newCal.contentForm.seguro && newCal.contentForm.seguro.checked){newCal.seguro = newCal.contentForm.seguro.value;}	
	else newCal.seguro = '';
	if(newCal.contentForm.claseVuelo && newCal.contentForm.claseVuelo.checked){newCal.claseVuelo = newCal.contentForm.claseVuelo.value}
	else newCal.claseVuelo = '';
	if(newCal.contentForm.classHidden){newCal.classHidden = newCal.contentForm.classHidden.value}
	else newCal.classHidden = '';
	
	/*Adultos2
	Ninos2
	bebes2
	Adultos3
	Ninos3
	bebes3
	Adultos4
	Ninos4
	bebes4
	/*selVuelo
	classHidden
	seguro*/
	var indroomMealCode;
	if(newCal.contentForm.roomMealCode[0]){
		for(s=0;s<newCal.contentForm.roomMealCode.length;s++){if(newCal.contentForm.roomMealCode[s].checked){newCal.roomMealCode = newCal.contentForm.roomMealCode[s].value;indroomMealCode = s};};
	}
	else{
		newCal.roomMealCode = newCal.contentForm.roomMealCode.value;
		indroomMealCode = 0;
	}
	newCal.rooms = newCal.roomMealCodeFieldset.getElementsByTagName('SELECT')[indroomMealCode].options.selectedIndex+1;
	newCal.accion = newCal.actionForm+'?roomMealCode='+newCal.roomMealCode+'&rooms='+newCal.rooms+'&Adultos1='+newCal.Adultos1+'&Ninos1='+newCal.Ninos1+'&Bebes1='+newCal.Bebes1+'&Adultos2='+newCal.Adultos2+'&Ninos2='+newCal.Ninos2+'&Bebes2='+newCal.Bebes2+'&Adultos3='+newCal.Adultos3+'&Ninos3='+newCal.Ninos3+'&Bebes3='+newCal.Bebes3+'&Adultos4='+newCal.Adultos4+'&Ninos4='+newCal.Ninos4+'&Bebes4='+newCal.Bebes4+'&selVuelo='+newCal.selVuelo+'&seguro='+newCal.seguro+'&claseVuelo='+newCal.claseVuelo+'&classHidden='+newCal.classHidden;
	//alert('newCal.accion = '+newCal.accion);
	eliminar = true;
	descargaArchivo(newCal.accion, "POST", muestraContenido);
	reloadVacaciones = true;
	loadVacaciones('hotel');
	return false;
}

var tratarCambio = function(){
	eliminar = false;
	var inputObject = this;
	inputObject.formularioActive = encontrarPadre(inputObject,'FORM');
	inputObject.contentForm = encontrarPadre(inputObject.formularioActive,'DIV');
	inputObject.contentFormContent = encontrarPadre(inputObject.contentForm,'DIV');
	inputObject.labelHotel = '';
	inputObject.labelHotelContent = inputObject.contentFormContent.innerHTML;
	inputObject.actionForm = inputObject.formularioActive.action;
	inputObject.serviceCode;
	inputObject.roomMealCode;
	inputObject.rooms;
	inputObject.accomodationCode;
	inputObject.inputs = inputObject.formularioActive.getElementsByTagName('input');
	inputObject.selects = inputObject.formularioActive.getElementsByTagName('select')
	
	for(u = 0;u<inputObject.inputs.length;u++){
		if(inputObject.inputs[u].name == 'serviceCode'){inputObject.serviceCode = inputObject.inputs[u].value;}
		if(inputObject.inputs[u].name == 'roomMealCode' && inputObject.inputs[u].checked == true){inputObject.roomMealCode = inputObject.inputs[u].value;}
		if(inputObject.inputs[u].name == 'accomodationCode'){inputObject.accomodationCode = inputObject.inputs[u].value;}
	}
	
	for(r = 0;r<inputObject.selects.length;r++){
		if(inputObject.selects[r].name == 'rooms'){inputObject.rooms = inputObject.selects[r].options.selectedIndex+1}
	}
	
	inputObject.accion = inputObject.actionForm+'?serviceCode='+inputObject.serviceCode+'&roomMealCode='+inputObject.roomMealCode+'&rooms='+inputObject.rooms+'&accomodationCode='+inputObject.accomodationCode;
	
	var cont = 0;
	var dist;
	var trans = new transparencia;
	var contTrans = false;
	var cambiaOpacity;
	var fw = document.getElementById('fullWidth');
	var contentSelectHotel;
	var contentListHotel;
	
	var enivarCambio = function() {
		contTrans = false;
		inputObject.contentForm.className = cambiarClase.call(inputObject,'contentHotel','contentHotel contentHotelIlu');
		cont++;
		if(cont>5){
			window.clearInterval(cambiaStyle);
			trans.itm = inputObject.contentForm;
			if ('\v'=='v'){trans.initOpacity = 10;trans.varOpacity = 0.5;}
			else{trans.initOpacity = 1;trans.varOpacity = 0.1;}
			cambiaOpacity = setInterval(enivarOpacity,50);
			//trans.initOpacity
		}
	}
	
	var enivarOpacity = function(){
		if(trans.initOpacity>=0)
		var desc = trans.newOpacity();
		else{
			window.clearInterval(cambiaOpacity);
			if(contTrans == false){acoplarSeleccionado();}
			else{document.body.removeChild(document.getElementById('contentEsperaWhite'));
			eliminar = true;
			}
		}
	}
	
	var acoplarSeleccionado = function(){
		setTimeout("window.scrollTo(0,100)",400);
		var susCapa = capaSus.agregar();
		trans.itm = document.getElementById(capaSus.label.id);
		if ('\v'=='v'){trans.initOpacity = 10;trans.varOpacity = 0.4;}
		else{trans.initOpacity = 1;trans.varOpacity = 0.1;}
		cambiaOpacity = setInterval(enivarOpacity,70);
		//
		contTrans = true;
		capaSus.label.id = '';
	}
		
	
	descargaArchivo(inputObject.accion, "POST", muestraContenido)
	
	var top = 300;
	var capaCubre = new createCapaCubre();
	capaCubre.espera.id = 'contentEsperaWhite';
	capaCubre.esperaImage.src = '';
	capaCubre.esperaInt.style.marginTop = top+'px';
		
	do{	inputObject.contentForm = encontrarPadre(inputObject.contentForm,'DIV');}
	while(inputObject.contentForm.className != 'contentHotel');
	
	var cambiaStyle = setInterval(enivarCambio,300);
	
	var capaSus = new createLabel();
	capaSus.elemento = 'DIV';
	capaSus.label.id = 'idLabelChangeHotel';
	capaSus.label.className = 'contentHotel labelComodin';
	capaSus.label.innerHTML = inputObject.labelHotelContent;
	capaSus.padre = document.getElementById('hotelSeleccionadoVacacional');
	
	return false
}

function cargaNewContent(receptor,contenido){
	receptor.innerHTML = contenido;
}

function transparencia(){
	this.itm;
	this.initOpacity ;
	this.varOpacity;
	//alert('transparencia = '+this.initOpacity);
	this.newOpacity = function(){
		this.initOpacity = parseFloat(this.initOpacity - this.varOpacity);
		//alert(this.initOpacity);
		if ('\v'=='v'){
			//alert('transparencia');
			this.itm.style.filter='alpha(opacity='+this.initOpacity+')';
			for(i=0;i<this.itm.childNodes.length;i++){
				if(this.itm.childNodes[i].style){
					this.itm.childNodes[i].style.filter='alpha(opacity='+this.initOpacity+')';
				}
			}
			if(this.initOpacity<=0){this.itm.style.display = 'none'}
		}
		
		else{
			//alert('transparencia else = '+this.initOpacity);
			this.itm.style.opacity = this.initOpacity;
			if(this.itm.style.opacity<=0){this.itm.style.display = 'none'}
		}
	}
}

function createLabel(){
	this.elemento = 'DIV';
	this.label = document.createElement(this.elemento);
	this.label.id = 'idLabel';
	this.label.className = 'idLabel';
	this.label.innerHTML = '';
	this.padre = document.getElementById('destAncho');
	this.agregar = function(){this.padre.appendChild(this.label)}
}

function createCapaCubre(){
	this.ifAbajo = document.createElement('IFRAME');
	this.ifAbajo.className = 'ifAbajo';
	this.esperaH = getDocHeight()+'px';	
	this.espera = document.createElement('DIV');
	this.espera.style.height = this.esperaH;
	this.espera.id='contentEspera';
	this.esperaB = document.createElement('DIV');
	this.esperaB.id = 'esperaB';
	this.esperaSpan = document.createElement('SPAN');
	this.esperaSpan.id = 'spanContentEspera';
	this.esperaInt = document.createElement('DIV');
	this.esperaInt.className = "esperaInt";
	this.esperaImage = document.createElement('IMG');
	this.esperaImage.src = '/media/images/espera.jpg';
	this.ifAbajo.style.height = this.esperaImage.height+'px';
	this.ifAbajo.style.width = this.esperaImage.width+'px';
	this.esperaSpan.appendChild(this.esperaImage);
	this.esperaSpan.appendChild(this.ifAbajo);
	this.esperaInt.appendChild(this.esperaSpan);
	this.esperaB.appendChild(this.esperaInt);
	this.espera.appendChild(this.esperaB);
	this.esperaH = getDocHeight()+'px';
	this.espera.style.height = this.esperaH;
	this.espera.style.display = 'block';
	document.body.appendChild(this.espera);
}

function cambiarClase(claseOld,claseNew){
	itm = this.contentForm;
	var clase = 'a';
	if(itm.className == claseOld) clase = claseNew;
	else clase = claseOld;
	//itm.className = clase;
	return clase;
	
}
 
var createMostrarHab = function(checks){
	var spanMasHab = document.createElement('span');
	spanMasHab.id = 'verMasHabitacionesHotel';
	spanMasHab.className = 'desplegar';
	var aMasHab = document.createElement('a');
	//aMasHab.onclick = function(){mostrarBloque(checks, false);}
	
	aMasHab.style.cursor = 'pointer';
	aMasHab.innerHTML = 'ver m\xe1s habitaciones';
	aMasHab.id = 'enlaceMostrarOcularHabitaciones';
	spanMasHab.appendChild(aMasHab);
	document.getElementById('selHotel').appendChild(spanMasHab);
	aMasHab.onclick = function(){modifEnlace(checks,this);}
}

var modifEnlace = function(checks,itm){
	var numActive = 0;
	var activeTr = 0;
	for(d = 0;d<checks.length;d++){
		if(checks[d].style.display == 'none'){numActive++}
		if(checks[d].getElementsByTagName('INPUT').length>0){if(checks[d].getElementsByTagName('INPUT')[0].checked == true)activeTr = d}
	}
	
	if(numActive>1){
		mostrarBloque(checks, false);
		itm.innerHTML = 'Ocultar habitaciones';
	}
	else{
		ocultarBloque(checks, checks[activeTr]);
		muestra(checks[0]);
		itm.innerHTML = 'ver m\xe1s habitaciones';
	}
}

var createMostrarVu = function(checks){
	var spanMasVu = document.createElement('span');
	spanMasVu.id = 'verMasVuelos';
	spanMasVu.className = 'desplegar';
	var aMasVu = document.createElement('a');
	aMasVu.onclick = function(){mostrarBloque(checks, false);}
	aMasVu.style.cursor = 'pointer';
	aMasVu.innerHTML = 'ver m\xe1s vuelos';
	spanMasVu.appendChild(aMasVu);
	document.getElementById('vueloSeleccionadoVacacional').appendChild(spanMasVu)
}

function modificaCalendario(){

	var capaFondo = document.createElement('DIV');
	capaFondo.id = 'contentFondoTrans';
	capaFondo.className = 'zindex8';
	var esperaH = getDocHeight()+'px';
	capaFondo.style.height = esperaH;
	capaFondo.onclick = function(){cierraCalendario()}
	document.body.appendChild(capaFondo);
	document.getElementById('calendario').style.display = 'block';
	document.getElementById('calendario').className = 'calendarioOver';
	var capaCierre = document.createElement('DIV');
	capaCierre.className="capaCierre";
	capaCierre.innerHTML = '<img alt="cerrar calendario" src="/media/images/close.png" title="cerrar calendario" onclick="cierraCalendario()">'
	document.getElementById('calendario').appendChild(capaCierre)
}

function cierraCalendario(){
	var capf = document.getElementById('contentFondoTrans');
	document.getElementById('calendario').className = '';
	oculta(document.getElementById('calendario'));
	document.body.removeChild(capf);
}

// FIN RESULTADOS VACACIONAL

function scrollTop0(){alert(document.documentElement.scrollTop)}

function nuevaVentana(w,h,ur) 
{ 
w = w;
h = h;
open(ur, 'Sizewindow', 'width='+w+',height='+h+',scrollbars=yes,toolbar=no,top=200,left=200');
//open('http://www.excursionespullmantur.es/shorex/PLTS/GSCN/GSCF/pagina/GSCFLogin.jsp?IDIOMA_USUARIO=ES&sCancelacionReserva=null', 'Sizewindow', 'width='+w+',height='+h+',scrollbars=yes,toolbar=no,top=0,left=0');
return false;
} 

function nueva() 
{ 
w = screen.width;
h = screen.height;
open('http://www.excursionespullmantur.es/PLTS/GSCN/GSCF/pagina/GSCFLogin.jsp?IDIOMA_USUARIO=ES&sCancelacionReserva=null&FECHA_CRUCERO=null&LOCALIZADOR_CRUCERO=null', 'Sizewindow', 'width='+w+',height='+h+',scrollbars=yes,toolbar=no,top=0,left=0');
return false;
} 


// FUNCIONES PARA MOSTRAR Y OCULTAR LA VISITA VIRTUAL
var muestraVisita
var espera;
var cerrar;
var contentFlash;
function initVisita(dir){
	esperaH = getDocHeight()+'px';	
	esperaW = "100%";
	espera = document.createElement('DIV');
	espera.style.height = esperaH;
	espera.style.width = esperaW;
	espera.id = "contentEsperaFlash";	
	//document.getElementById('contentGen').appendChild(espera);
	//alert('0');
	contentFlash = document.createElement('IFRAME');
	contentFlash.src = dir;
	contentFlash.id = 'visitaVirtualFlash';
	contentFlash.style.width = '0em';
	//contentFlash.innerHTML = '<iframe id="visitaVirtualFlash" style="width:0px;height:480px;position:absolute;top:-1.1em;left:-6.5em;" scrolling="no" src="visitaVirtual/oceanDream/visitaVirtualOceanDream.html" frameborder="0"></iframe>';
	document.getElementById('contenidosFicha').appendChild(contentFlash);
	document.getElementById('contentGen').appendChild(espera);
	
	muestraVisita = setInterval("visitaVitual()",1);
	
	cerrar = document.createElement('DIV');
	cerrar.id = "cerrarFlash";
	cerrar.innerHTML = '<img src="http://www.pullmantur.es/media/images/close.png" onclick="closeVisita()">'
	
}

function visitaVitual(){
	var vv = document.getElementById('visitaVirtualFlash');
	var vvWidth = parseInt(vv.style.width);
	
	if(vvWidth<910)	vv.style.width = (vvWidth+5)+'px';
	else {
		window.clearInterval(muestraVisita);
		if(!parent.document.getElementById('sb-wrapper'))
		document.getElementById('contentGen').appendChild(cerrar);
	}
}

function closeVisita(){
		document.getElementById('contentGen').removeChild(espera);
		document.getElementById('contentGen').removeChild(cerrar);
		document.getElementById('contenidosFicha').removeChild(contentFlash);
}

function avanceRetroceso(itm){					
	var cadena = itm.href;
	var long = cadena.length;
	var desde = cadena.lastIndexOf('#');
	var enlace = cadena.substr((desde+1), long);
	var accion = itm.title;
	var increm;
	
	if(accion == 'avanzar'){increm = -1}
	else{increm = +1}
	var numEnlace = enlace.substr(enlace.length-2, enlace.length);	
	numEnlace = parseFloat(numEnlace)+increm;
	var preEnlace = enlace.substr(0, (enlace.length-2))
	if(numEnlace<10){numEnlace = ('mes0'+parseFloat(numEnlace))}
	else{numEnlace = ('mes'+parseFloat(numEnlace))}
	document.getElementById(numEnlace).style.display = 'none';
	document.getElementById(enlace).style.display = 'block';
}

function maximo(campo,limite){
if(campo.value.length>=limite){
campo.value=campo.value.substring(0,limite);
}
}

// FUNCIONES AJAX

function cargaContenido(url, metodo, funcion) {
  peticion_http = inicializa_xhr();
 
  if(peticion_http) {
    peticion_http.onreadystatechange = funcion;
    peticion_http.open(metodo, url, true);
    peticion_http.send(null);
  }
}
 
function inicializa_xhr() {
  if(window.XMLHttpRequest) {
    return new XMLHttpRequest();
  }
  else if(window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP");
  }
}
var pintar

function muestraContenido() {
  if(peticion_http.readyState == READY_STATE_COMPLETE) {
    if(peticion_http.status == 200) {
      //alert(peticion_http.responseText);
	  document.getElementById('capaComodin').innerHTML = peticion_http.responseText;
	  
	pintar = setInterval("pintaCodigo()",1500)
    }
  }
  
  
}
 
function descargaArchivo(uri, met, func) {
	
	if(document.getElementById('capaError')){
		var capaErrorSup = document.getElementById('capaError');
		padreError = capaErrorSup.parentNode;
		padreError.removeChild(capaErrorSup);
	}
	cargaContenido(uri, met, func);
}

function pintaCodigo(){
	if(eliminar){
		if(document.getElementsByClassName('error').length>0){
			divError = document.getElementsByClassName('error')[0];
			var capaError = document.createElement('DIV');
			capaError.className = 'error';
			capaError.id = 'capaError';
			capaError.innerHTML = divError.innerHTML;
			var preElement = document.getElementsByClassName('contentCrucero destAncho')[0].getElementsByTagName('H4')[0];
			document.getElementsByClassName('contentCrucero destAncho')[0].insertBefore(capaError,preElement);
			document.body.removeChild(document.getElementById('capaComodin'));
			clearInterval(pintar);
			if(document.getElementById('contentFondoTrans'))
			document.body.removeChild(document.getElementById('contentFondoTrans'));
			window.scrollTo(0,100);
			reloadVacaciones = false;
			//loadVacaciones();
		}
		
		else{
			if(document.getElementsByClassName('contentCrucero destAncho')[2]){contentSelectHotel = document.getElementsByClassName('contentCrucero destAncho')[2].innerHTML;}			
			if(document.getElementsByClassName('contentCrucero destAncho')[3])contentListHotel = document.getElementsByClassName('contentCrucero destAncho')[3].innerHTML;		
			document.getElementsByClassName('contentCrucero destAncho')[0].innerHTML = contentSelectHotel;
			document.getElementsByClassName('contentCrucero destAncho')[1].innerHTML = contentListHotel;
			document.body.removeChild(document.getElementById('capaComodin'));
			clearInterval(pintar);
			if(document.getElementById('contentFondoTrans')){document.body.removeChild(document.getElementById('contentFondoTrans'))}
			loadVacaciones();
			window.scrollTo(0,100);
		}
	}
}


