// JavaScript Document

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

// Globales
// Se requiere una versión superior de Flash
var requiredMajorVersion = 7;
// Se requiere una versión inferior de Flash
var requiredMinorVersion = 0;
// Se requiere revisión de Flash
var requiredRevision = 0;
// Versión de JavaScript compatible
var jsVersion = 1.0;

// -----------------------------------------------------------------------------

// Detectar tipo de navegador cliente
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;

// Se necesita una aplicación auxiliar de JavaScript para detectar la información de versión de PlugIn de Flash Player

function JSGetSwfVer(i){
	// Versión de NS/Opera >= 3 compruebe si existe el plug-in de Flash en la matriz de plug-ins
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}

	// MSN/WebTV 2.6 admite Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 admite Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// las versiones anteriores de WebTV admiten Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// No se puede detectar en todos los demás casos
	else {
		flashVer = -1;
	}
	return flashVer;
} 

// Si se llama sin parámetros, esta función devuelve un valor de coma flotante que debería 
// ser la versión de Flash Player o 0.0
// p. ej.: Flash Player 7r14 devuelve 7.14
// Si se llama con reqMajorVer, reqMinorVer, reqRevision devuelve true si está disponible esa versión o una superior

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// Recorrer las versiones hacia atrás hasta encontrar la más reciente	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// es la revisión.mayor >= revisión.mayor requerida Y la versión menor >= la menor requerida
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}


//funciones de buscador y booking engine
//funcion inicia calndario para nuevo sistema
function iniciaCalendario() {

	initCalendario("form_buscador", "en_dia", "en_mesano", "sa_dia", "sa_mesano");
	var startDate = new Date();
	loadDate(DateAddFecha(startDate, 0, 0, 0), document.form_buscador.en_dia, document.form_buscador.en_mesano);
	validaFechas();
	//Añadido para controlar la otra funcion nueva 
	setCambios();
}

//funcion para controlar la url que se envia a la pagina de reservas
var urlReserva;

function setCambios() {

	var vDiaIni = document.form_buscador.en_dia.value;
	var vMesAnyoIni = document.form_buscador.en_mesano.value;
	var vDiaFin = document.form_buscador.sa_dia.value;
	var vMesAnyoFin = document.form_buscador.sa_mesano.value;
	var vNoHab = document.form_buscador.no_hab.value;
	var vNoPax = document.form_buscador.no_pax.value;
	
	urlReserva="";
	urlReserva += "?booking_dia=" + vDiaIni;
	urlReserva += "&booking_en_mesano=" + vMesAnyoIni;
	urlReserva += "&booking_sa_dia=" + vDiaFin;
	urlReserva += "&booking_sa_mesano=" + vMesAnyoFin;
	urlReserva += "&booking_nRooms=" + vNoHab;
	urlReserva += "&booking_nPax=" + vNoPax;

}

//Funcion para enviar los datos a la pagina de reserva, se ejecuta desde el boton "verTarifas"
function cargaReserva(laURL){
	window.location=laURL+urlReserva; //url completa para reservas
}

//
// Funcion responsable de cargar la fecha de entrada del calendario
//
function cargarFechaLlegada(any, mes, dia) {
  var comboDia = eval("document.form_buscador.en_dia");
  var comboMesAnyo = eval("document.form_buscador.en_mesano");
  setFecha(any, mes, dia, comboDia, comboMesAnyo);
  validaFechas();
  setCambios();
}

function cargarFechaSalida(any, mes, dia) {
  var comboDia = eval("document.form_buscador.sa_dia");
  var comboMesAnyo = eval("document.form_buscador.sa_mesano");
  setFecha(any, mes, dia, comboDia, comboMesAnyo);
  validaFechas();
  setCambios();
}


function envia(){
	if (document.f1.email.value.search(/^[^@]+@([a-zA-Z0-9-]+\.)+[a-zA-Z]+$/)<0) {
		alert('It seems you have not filled in the e-mail address correctly. We need this information before you can carry on. If you have any problem, please contact helpme.web@solmelia.com');
		return;
	}

	if (!document.f1.acepto.checked){
		alert("To continue, please click on the checkbox that indicates that you have read and accept the terms and conditions of our privacy policy.");
		return;
	}
	document.f1.action="http://www.solmelia.com/solNew/subscriber/jsp/C_Subscribe_Newsletter.jsp?email="+document.f1.email.value;
	document.f1.submit();
}

function getParams() {
  var idx = location.href.indexOf('?');
  var params = null;
  if (idx != -1) {
    params = new Array();
    var pairs = location.href.substring(idx+1, location.href.length).split('&');
    for (var i=0; i<pairs.length; i++) {
      nameVal = pairs[i].split('=');
      params[nameVal[0]] = nameVal[1];
    }
  }
  return params;
}


function loadParams() {
  var params = null;
  params = getParams();
  if (params != null) {
    var frameReservas = document.getElementById("frameBookingEngine");
    var url = "https://www.solmelia.com/microAPP/micro/jsp/C_Home.jsp?codigoHotel=6302&lang=en";
    url += "&booking_dia=" + params["booking_dia"];
    url += "&booking_en_mesano=" + params["booking_en_mesano"];
    url += "&booking_sa_dia=" + params["booking_sa_dia"];
    url += "&booking_sa_mesano=" + params["booking_sa_mesano"];
    url += "&booking_nRooms=" + params["booking_nRooms"];
    url += "&booking_nPax=" + params["booking_nPax"];
    frameReservas.src = url;
  }

}