// JavaScript Document
function MM_changeProp(objId,x,theProp,theValue) { //v9.0
  var obj = null; with (document){ if (getElementById)
  obj = getElementById(objId); }
  if (obj){
    if (theValue == true || theValue == false)
      eval("obj.style."+theProp+"="+theValue);
    else eval("obj.style."+theProp+"='"+theValue+"'");
  }
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_setTextOfTextfield(objId,x,newText) { //v9.0
  with (document){ if (getElementById){
    var obj = getElementById(objId);} if (obj) obj.value = newText;
  }
}

// Array.indexOf( value, begin, strict ) - Devuelve el indice del primer elemento que coincida con el valor especificado
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function( v, b, s ) {
for( var i = +b || 0, l = this.length; i < l; i++ ) {
if( this[i]===v || s && this[i]==v ) { return i; }
}
return -1;
};
}
//OJO DATE CUENTA QUE LOS DESTINOS ESTAN DUPLICADOS HAY QUE AÑADIR O QUITAR DE LOS DOS SITIOS
var destinos_1=new Array("Seleccione...","Bournemouth","Bournemouth Braidley","Bournemouth Cliff","Brighton","Brighton Brunswick","Brighton Campus","Bristol","Cambridge","Cambridge Grange","Edimburgo","Edimburgo Queen St","Liverpool","Londres Campus","Londres Chelsea","Londres Covent Garden","Londres Greenwich","Londres Oxford St.","Londres Richmond","Londres Wimbledon","Manchester Piccadilly","Margate","Oxford Clarendon","Oxford","Oxford St. Joseph's","Portsmouth","Ramsgate","Torquay") 
var destinos_2=new Array("Seleccione...","Cork","Dublin Bray","Dublin Trinity College","Dublin Capel","Dublin Grafton St.","Dublin Palmerston","Dublin Temple","Galway","Limerick") 
var destinos_3=new Array("Seleccione...","Paceville","Sliema","St. Julian's") 
var destinos_4=new Array("Seleccione...","Boston","Boston Back Bay","Boston Quincy","Los Angeles","Los Angeles Westwood","Miami","Nueva York Empire","Nueva York Midtown","Nueva York Times Square","San Diego","San Francisco")
var destinos_5=new Array("Seleccione...","Montreal","Toronto","Toronto St Patrick ","Vancouver") 
var destinos_6=new Array("Seleccione...","Brisbane","Sydney") 
var destinos_7=new Array("Auckland") 
//var destinos_8=new Array("Seleccione...","Antibes","Montpellier","Niza","Paris") 
//var destinos_9=new Array("Seleccione...","Berlin","Colonia","Heidelberg","Munich") 
var programa_1=new Array("destinos","bournemouth","bournebraidley","bournesouth","brighton","brightonbrunswick","brightoncampus","bristol","cambridge","cambridgrange","edimburgo","edimburgo2","liverpool","loncampus","lonchelsea","loncovent","longreenwich","lonoxford","londresrichmond","lonwimbledon","manchester","margate","oxfordclarendon","oxford","oxfordst","portsmouth","ramsgate","torquay") 
var programa_2=new Array("destinos","cork","dublinbray","dublincampus","dublincapel","dublingrafton","dublinpalmerston","dublintemple","galway","limerick") 
var programa_3=new Array("destinos","paceville","sliema","stjulian") 
var programa_4=new Array("destinos","boston","bostonbackbay","bostonquincy","losangeles","losangeleswestwood","miami","nuevayork","nymidtown","nytimes","sandiego","sanfco")
var programa_5=new Array("destinos","montreal","toronto","torontosp","vancouver") 
var programa_6=new Array("destinos","brisbane","sydney") 
var programa_7=new Array("auckland") 
//var programa_8=new Array("destinos","antibes","montpellier","niza","paris") 
//var programa_9=new Array("destinos","berlin","colonia","heidelberg","munich") 

//calcular la edad de una persona 
//devuelve un entero con la edad. Devuelve false en caso de que la fecha sea incorrecta o mayor que el dia actual 
function calcular_edad(dia,mes,ano) { 
	//recojo la fecha inicial 
if (document.forms[0].fechas.value) {
	var fechas = document.forms[0].fechas.value;
	var matriz_fechas = fechas.split(" - ");
	var fecha = matriz_fechas[0];
} else {
	var fecha = document.forms[0].finicial.value;
}
	//La descompongo en un array 
	var array_fecha = fecha.split("/"); 
	//si el array no tiene tres partes, la fecha es incorrecta 
	if (array_fecha.length!=3) 
	return false; 
	//separo el año, mes y dia en variables
	var ano_ini; 
	ano_ini = parseInt(array_fecha[2]); 
	if (isNaN(ano_ini)) 
	return false; 
	var mes_ini; 
	mes_ini = parseInt(array_fecha[1],10); 
	if (isNaN(mes_ini)) 
	return false; 
	var dia_ini ;
	dia_ini = parseInt(array_fecha[0]); 
	if (isNaN(dia_ini)) 
	return false; 
   	//si resto los meses y me da menor que 0 entonces no ha cumplido años. Si da mayor si ha cumplido 
   	if (mes_ini - mes < 0) {//+ 1 porque los meses empiezan en 0 
   	edad = ano_ini-ano - 1; //-1 porque no se si ha cumplido años ya este año 
	} else if (mes_ini - mes > 0) {
   	//resto los años de las dos fechas 
    edad = ano_ini-ano; 
   	//entonces es que eran iguales. miro los dias 
   	//si resto los dias y me da menor que 0 entonces no ha cumplido años. Si da mayor o igual si ha cumplido 
	} else if (dia_ini - dia >= 0) {
    edad = ano_ini-ano; 
	} else {
   	edad = ano_ini-ano - 1; //-1 porque no se si ha cumplido años ya este año 
	}
	return edad 
} 
// Recoge la fecha del formulario y muestra los campos adicionales si es menor de edad
function comprueba_menor() {
	if (document.forms[0].fechas.value == "Seleccione...") {
      	 return false; 
	}	else if (!document.forms[0].fechas.value) {
      	if (!document.forms[0].finicial.value) return false;
	}
		 
   	//compruebo que el año, mes y día están rellenos 
   	var dia = document.forms[0].dia_nacim[document.forms[0].dia_nacim.selectedIndex].value;	
   	if (dia == 0) 
      	 return false; 

   	var mes = document.forms[0].mes_nacim[document.forms[0].mes_nacim.selectedIndex].value; 
   	if (mes == 0) 
      	 return false; 

   	var ano = document.forms[0].ano_nacim[document.forms[0].ano_nacim.selectedIndex].text; 
   	if (document.forms[0].ano_nacim[document.forms[0].ano_nacim.selectedIndex].value == 0) 
      	 return false; 

calcular_edad(dia,mes,ano);
if (edad < 18) {
	MM_changeProp('tutores','','display','inline','SPAN');
	document.forms[0].seguro.checked = true; 
	document.forms[0].seguro.disabled = true; 
	} else {
	MM_changeProp('tutores','','display','none','SPAN');
	document.forms[0].seguro.disabled = false; 
	}
}

function cambia_destino(){ 
    //tomo el valor del select del pais elegido 
    var pais 
    pais = document.forms[0].pais[document.forms[0].pais.selectedIndex].value 
    //miro a ver si el pais está definido 
    if (pais != 0) { 
       //si estaba definido, entonces coloco las opciones de la provincia correspondiente. 
       //selecciono el array de destino adecuado 
	   mis_destinos=eval("destinos_" + pais) 
       //selecciono el array de programa XML adecuado 
       mis_programas=eval("programa_" + pais) 
       //calculo el numero de destinos 
       num_destinos = mis_destinos.length 
       //marco el número de destinos en el select 
       document.forms[0].destino.length = num_destinos 
       //para cada destino del array, la introduzco en el select 
       for(i=0;i<num_destinos;i++){ 
          document.forms[0].destino.options[i].value=mis_programas[i] 
          document.forms[0].destino.options[i].text=mis_destinos[i] 
       } 
    }else{ 
       //si no había destino seleccionada, elimino las destinos del select 
       document.forms[0].destino.length = 1 
       //coloco un guión en la única opción que he dejado 
       document.forms[0].destino.options[0].value = "" 
       document.forms[0].destino.options[0].text = "" 
    } 
    //marco como seleccionada la opción primera de destino 
    document.forms[0].destino.options[0].selected = true 
} 

function cambia_alojamiento(){
    //tomo el valor del select del alojamiento elegido 
if (document.forms[0].op_aloja.value) {
    var op_aloja 
    op_aloja = document.forms[0].op_aloja[document.forms[0].op_aloja.selectedIndex].value 
	if (op_aloja != "Familia") { 
MM_showHideLayers('cuestion_fam','','hide')
    }else{ 
MM_showHideLayers('cuestion_fam','','show')
	}
}
}

function opciones_destino(){ 
var destino_sel = document.forms[0].destino[document.forms[0].destino.selectedIndex].value
var pais_sel = document.forms[0].pais[document.forms[0].pais.selectedIndex].value
if (document.forms[0].semanas.value == 6) window.location='reserva10-6.html?destino='+destino_sel+'&pais='+pais_sel;
else window.location='reserva10.html?destino='+destino_sel+'&pais='+pais_sel;
}

function tipo_beca(semanas){ 
//alert(semanas);
if (semanas == 6) window.location='reserva10-6.html';
else window.location='reserva10.html';
}

function repite_destino(){
MM_changeProp('adicional','','display','none','SPAN');
MM_changeProp('destino_ant','','display','inline','SPAN');
}

function medio_conoce(){
MM_changeProp('destino_ant','','display','none','SPAN');
MM_changeProp('adicional','','display','inline','SPAN');
}

// devuelve la letra correspondiente a un número DNI
 function calcula_letra(dni) {
 var num_caracteres = dni.length; 
if (num_caracteres == 7)
if (document.forms[0].documento[1].checked) document.forms[0].nif.value = 'X'+dni;
else document.forms[0].nif.value = '0'+dni;
else if (num_caracteres == 8) if (document.forms[0].documento[1].checked) dni = dni.replace("X","");
if (isNaN(dni)) document.forms[0].nif.value = '';//alert(dni);
   var lockup = 'TRWAGMYFPDXBNJZSQVHLCKE';
   document.forms[0].letra_nif.value = lockup.charAt(dni % 23);
}

// Comprueba que el alojamiento esta seleccionado antes de seleccionar las fechas en el calendario
function calendario_aloja() {
if(document.forms[0].op_aloja.value == 'Seleccione...') {
	document.forms[0].finicial.style.display = 'none';
	document.forms[0].ffinal.style.display = 'none';
	alert ("Seleccione el tipo de alojamiento para mostrar las fechas disponibles.");
	document.forms[0].op_aloja.focus();
} else {
	document.forms[0].finicial.style.display = 'inline';
	document.forms[0].ffinal.style.display = 'inline';
}
}
