//Precarga de Ficheros de Utilidades Base
include('/js/utiles/estilos.js');
include('/js/utiles/errores.js');
include('/js/utiles/fechas.js');

var elementos = new Array();

function borrarSeleccionDia(tipo){
	for(var i=0; i<elementos[tipo].length; i++){
		quitarClass(elementos[tipo][i], 'seleccionado');
		quitarClass(elementos[tipo][i], 'seleccionadoTCI');
		quitarClass(elementos[tipo][i], 'diaSeleccionado');
	}
}

function marcarDia(tipo, dia, marca, marca2){
	if (marca2=='') marca2=marca;
	try{
		anadirClass(document.getElementById(tipo+'_barra_'+dia), marca);
		anadirClass(document.getElementById(tipo+'_dia_'+dia), marca2);	
	}catch(e){}
}

function desmarcarDia(tipo, dia, marca, marca2){
	if (marca2=='') marca2=marca;
	try{
		quitarClass(document.getElementById(tipo+'_barra_'+dia), marca);
		quitarClass(document.getElementById(tipo+'_dia_'+dia), marca2);	
	}catch(e){}
}

function bloqueaDias(tipo, fecha, desdeHasta){
	var barras = new Array();
	for (var i=0; i<elementos[tipo].length; i++)	
		if (tieneClass(elementos[tipo][i], "barra")) barras[barras.length] = elementos[tipo][i];
	for (var i=0; i<barras.length; i++){
		var fechaBarra = barras[i].id.substr((7+tipo.length),8);
		if (desdeHasta==0){
			//bloqueamos desde el inicio hasta la fecha
			if (fechaBarra<fecha) marcarDia(tipo, fechaBarra, "bloqueo")
			else desmarcarDia(tipo, fechaBarra, "bloqueo")
		}else{
			//bloqueamos desde la fecha hasta el final
			if (fechaBarra>fecha) marcarDia(tipo, fechaBarra, "bloqueo")
			else desmarcarDia(tipo, fechaBarra, "bloqueo")			
		}		
	}
}

function seleccionarDia(tipo, dia){
	var tci = false;
	var tipoInvertido='Ida';
	if (tipo=='Ida') tipoInvertido='Vuelta';
	if (!tieneClass(document.getElementById(tipo+'_barra_'+dia), 'eliminado')){
		borrarSeleccionDia(tipo);
		if (tieneClass(document.getElementById(tipo+'_barra_'+dia), 'barraTCI')) tci=true;
		if (tci) marcarDia(tipo, dia, 'seleccionadoTCI', 'diaSeleccionado');
		else marcarDia(tipo, dia, 'seleccionado', 'diaSeleccionado');
		document.getElementById(tipo+'_dia_SinJS').value=dia;
		if (tipo=='Ida'){
			bloqueaDias(tipoInvertido, dia, 0);
		}else{
			bloqueaDias(tipoInvertido, dia, 1);			
		}
	}
}

function sobresaltar(obj, estado){
	var tci = false;
	if (document.all && !tieneClass(obj, 'bloqueo')){
		if (tieneClass(obj, 'barraTCI')) tci=true;
		if (estado){
			if (tci) anadirClass(obj, 'sobresaltadoTCI');
			else anadirClass(obj, 'sobresaltado');
		}else{
			if (tci) quitarClass(obj, 'sobresaltadoTCI');
			else quitarClass(obj, 'sobresaltado');
		}
	}
}

function MuestraCapaPrecio(texto, pos, mostrar, vuelta){
	if (mostrar){
		var abajo=vuelta?255:0;
		document.getElementById("capaPrecio").innerHTML = texto.replace(/\, /g, "<br />");
		document.getElementById("capaPrecio").style.top = (250+abajo)+"px";
		document.getElementById("capaPrecio").style.left = ((pos*18)+56)+"px";
		document.getElementById("capaPrecio").style.visibility="visible";
	}else{
		document.getElementById("capaPrecio").style.visibility="hidden";		
		document.getElementById("capaPrecio").innerHTML = "";
	}
}

function ValidarFormularioCalendario(objForm){
	var salida = objForm.elements['diaIda'].value;
	try{
		var llegada = objForm.elements['diaVuelta'].value;
		var tipo = "RT"
	}catch(e){
		var tipo = "OW";
	}

	BorrarErrores();	
	//El fecha de salida no puede estar vacía
	if (salida==''){
		AnadirError('SalidaVacio');
	}
	//Si el viaje es de Ida y Vuelta, la fecha de Vuelta no puede estar vacía
	if (tipo=="RT"){
		if (llegada=='') AnadirError('LlegadaVacio');
		else{
			var fSalida= creaFecha(salida);
			var fLlegada= creaFecha(llegada);
			if (fLlegada<fSalida) AnadirError('LlegadaPasada', 'textoLlegada');
		}
	}
	var ok = MuestraErrores(); 
	if (ok) CreaCargaAjax(MensajesErrores['MensajeAjax']);
	return ok;	
}
