﻿/**
	@file circuitos.js
	@brief JavaScript de la web de circuitos
	@author Alfredo Fernández <alfredo@toolfactory.net>
*/

/*ZONA*/
function changeDuracion(dur)
{
	document.reload.dur.value = dur
	document.reload.submit();
}

function changePage(iPage)
{
	document.reload.pag.value = iPage
	document.reload.submit();
}

/*TABULADO*/
var classAnt = '';

function startMove(mov,idt)
{
	moveTable(mov,idt);
	stopMove(mov,idt);
	eval("tOut_"+idt+" = setTimeout('startMove("+mov+","+idt+")',500);")
}

function stopMove(mov,idt)
{
	if(eval("tOut_"+idt)!=undefined && eval("tOut_"+idt)!=""){
		clearTimeout(eval("tOut_"+idt));
		eval("tOut_"+idt+"=''");
	}
	else{
		moveTable(mov,idt);
	}
}

function moveTable(mov,idt)
{
	var i,iIni,iLast,j,oTd;

	//Si el movimiento es positivo, desplazamiento a la derecha
	if(mov>0 && eval("hasRight_"+idt))
	{
		for(i=0;i<Math.abs(mov);i++)
		{
			iIni = eval("iniCol_"+idt)+i;
			for(j=0;j<100;j++)
			{
				oTd = document.getElementById("col_" + j + "_" + iIni + "_" + idt);
				if(oTd==undefined)
					break;
				oTd.style.display="none";
			}

			iLast = eval("finCol_"+idt)+i+1;
			for(j=0;j<100;j++)
			{
				oTd = document.getElementById("col_" + j + "_" + iLast + "_" + idt);
				if(oTd==undefined)
					break;
				oTd.style.display="";
			}
		}
		eval("iniCol_"+idt+"+="+mov); eval("finCol_"+idt+"+="+mov);
		setArrow('lnkIzq_'+idt , true,idt);
		eval("hasLeft_"+idt+"=true");
		if(eval("finCol_"+idt+"==colsTotal_"+idt+"-1"))
			setArrow('lnkDer_'+idt , false,idt)
	}

	//Si es negativo, a la izquierda
	else if(mov<0 && eval("hasLeft_"+idt))
	{
		for(i=0;i<Math.abs(mov);i++)
		{
			iIni = eval("iniCol_"+idt)-i-1;
			for(j=0;j<100;j++)
			{
				oTd = document.getElementById("col_" + j + "_" + iIni + "_" + idt);
				if(oTd==undefined)
					break;
				oTd.style.display="";
			}

			iLast = eval("finCol_"+idt)-i;
			for(j=0;j<100;j++)
			{
				oTd = document.getElementById("col_" + j + "_" + iLast + "_" + idt);
				if(oTd==undefined)
					break;
				oTd.style.display="none";
			}
		}
		eval("iniCol_"+idt+"+="+mov); eval("finCol_"+idt+"+="+mov);
		setArrow('lnkDer_'+idt , true,idt)
		eval("hasRight_"+idt+"=true");
		if(eval("iniCol_"+idt+"==0"))
			setArrow('lnkIzq_'+idt , false,idt)
	}
}

function setArrow(elId , value, idt)
{
	if(elId=='lnkDer_'+idt)
		eval("hasRight_"+idt+"="+value);
	else
		eval("hasLeft_"+idt+"="+value);
	var obj = document.getElementById(elId)
	if(obj!=undefined){
		if(value)
			obj.style.visibility="";
		else
			obj.style.visibility="hidden";
	}
}

/*FORMULARIO DE PETICION*/
var idColSelected = '';
var htmlTabla = '';
function selectDateOpt(sDate, sOpt, sIdOpt, idCol)
{
	if(idColSelected!='')
		document.getElementById(idColSelected).className = "Bamarillo";
	document.getElementById(idCol).className = "Bnaranja";
	classAnt = "Bnaranja";

	htmlTabla = document.getElementById("fechaSalida").innerHTML;
	document.getElementById("fechaSalida").innerHTML = sDate + ", " + sOpt + " &nbsp;&nbsp;&nbsp;<a href=\"javascript:changeDate();\"><u>Cambiar</u></a>";
	idColSelected = idCol;
	document.formPeticion.fecha.value = sDate;
	document.formPeticion.opcion.value = sIdOpt;
	document.formPeticion.nombreOpcion.value = sOpt;
}

function changeDate()
{
	document.getElementById("fechaSalida").innerHTML = htmlTabla;
}

function changeOrigen(ori)
{
	document.reload.sOrigen.value = ori
	document.reload.submit();
}

function noviosJubilados(obj)
{
	//Novios y jubilados desactivan niños:
	if(obj.checked)
	{
		document.formPeticion.nin.value=0
		document.formPeticion.nin.disabled = 'disabled';
		switch(obj.name){
			case 'nov':document.formPeticion.jub.checked = false; break;
			case 'jub':document.formPeticion.nov.checked = false; break;
		}
	}
	else
		document.formPeticion.nin.disabled = '';
}

function compruebaHabitaciones()
{
	if(document.formPeticion.fecha.value=="" || document.formPeticion.opcion.value==""){
		alert('Por favor, selecciona una fecha y opción haciendo click en el cuadro de precios');
		return false;
	}

	var numAdultos = parseInt(document.formPeticion.adu.value,10);
	if(document.formPeticion.nin.disabled=='')
		var numNinios = parseInt(document.formPeticion.nin.value,10);
	else
		var numNinios = 0;

	var numHDobles = parseInt(document.formPeticion.dob.value,10);
	var numHIndiv = parseInt(document.formPeticion.ind.value,10);
	var numHTriples = parseInt(document.formPeticion.tri.value,10);
	var totalHab = numHDobles*2 + numHTriples*3 + numHIndiv;
	var totalPas = numAdultos + numNinios;

	if( totalPas != totalHab ){
		window.alert('Las habitaciones seleccionadas no se corresponden con el número de pasajeros. Por favor, revisa tu selección.');
		return false
	}
	
	return true;
}

function submitFormPeticion()
{
	if(compruebaHabitaciones()){
		document.formPeticion.submit();
	}
}

/*FUNCIONES DE LINKING PARA EVITAR QUE ENTRE GOOGLE SIN HTML*/
function goPrecio(ses,ori,cir,ncir,zon,nzon,col)
{
	window.location = "/navegacion/circuitos/circuito.aspx?sesion=" + ses + "&sOrigen=" + ori + "&circuito=" + cir + "&nombreCircuito=" + ncir + "&zona=" + zon + "&nombreZona=" + nzon + "&col=" + col;
}

function goDuracion(ses,ori,zon,nzon,dur)
{
	/*window.location = "/navegacion/circuitos/zona.aspx?sesion=" + ses + "&ori=" + ori + "&zona=" + zon + "&nombreZona=" + nzon + "&dur=" + dur;*/
	window.location = "/navegacion/circuitos/zona.aspx?sesion=" + ses + "&sOrigen=" + ori + "&sDestino=" + zon + "&hOrigenNombre=" + nzon + "&dur=" + dur;
}
