
// Javascript script de configuracin por microsites
// En algunas partes necesita de jquery

function MM_goToURL() { //v3.0
	var linkPass;
  	var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  	for (i=0; i<(args.length-1); i+=2) {
		linkPass = args[i+1];
		eval(args[i]+".location='"+args[i+1]+"'");
 	}
  
	// Added for SEO ops, registers the booking url in G.Analytics.
	if (linkPass=msBookURL){
	trackerB._link(args[i+1]);return false;  
	}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

function startNewCalendar() {
	initCalendario("search_form", "en_dia", "en_mesano", "sa_dia", "sa_mesano");
	var startDate = new Date();
	loadDate(DateAddFecha(startDate, 0, 0, 0), document.search_form.en_dia, document.search_form.en_mesano);
	validaFechas();
	//Añadido para controlar la otra funcion nueva 
	setCambios();
	addPhoneNumber();
}

// Objecto para controlar la url que se envia a la pagina de reservas
var urlReserva;

function setCambios() {

	var vDiaIni = document.search_form.en_dia.value;
	var vMesAnyoIni = document.search_form.en_mesano.value;
	var vDiaFin = document.search_form.sa_dia.value;
	var vMesAnyoFin = document.search_form.sa_mesano.value;
	
	// Set the dates strings with the specified format
	var startFtDate = vDiaIni + '-' + vMesAnyoIni;
	var endFtDate = vDiaFin + '-' + vMesAnyoFin;
	
	// Calculating difference between the two dates
	// Set the two dates
	var start_date = new Date(getDateFromFormat( startFtDate , 'd-M-yyyy' ));
	var end_date = new Date(getDateFromFormat( endFtDate , 'd-M-yyyy' ));
	
	// Get 1 day in milliseconds
	var one_day=1000*60*60*24
	
	// Decompose the dates
	var startFtDate_d = startFtDate.substr(0,2);//console.log	(''+startFtDate_d);
	var startFtDate_m = startFtDate.substr(3,2);//console.log	(''+startFtDate_m);
	var startFtDate_y = startFtDate.substr(6,4);//console.log	(''+startFtDate_y);
	
	var endFtDate_d = endFtDate.substr(0,2);//console.log	(''+endFtDate_d);
	var endFtDate_m = endFtDate.substr(3,2);//console.log	(''+endFtDate_m);
	var endFtDate_y = endFtDate.substr(6,4);//console.log	(''+endFtDate_y);
	
	
	//****************** firebug log console *********************************
	
	//Calculate difference between the two dates, and convert it to days
	/*
	console.log("nights:"+Math.ceil((end_date-start_date)/(one_day)));
	console.log ('start date:' + vDiaIni + '-' + vMesAnyoIni);
	console.log ('end date:' + vDiaFin + '-' + vMesAnyoFin);
	console.log ('get date:' +  start_date);
	console.log ('get month:' +  start_date.getMonth());
	*/
	
	//***************** final values ******************
	
	document.search_form.codigoHotel.value = msCodSolRes;
	document.search_form.booking_codHotel.value = msCodSolRes;
	document.search_form.presentacion.value = msPresenter;
	document.search_form.lang.value = msDirLang;
	document.search_form.booking_noches.value = (Math.ceil((end_date-start_date)/(one_day)));
	document.search_form.booking_dia.value = startFtDate_d;
	document.search_form.booking_mes.value = startFtDate_m;
	document.search_form.booking_anyo.value = startFtDate_y;
	document.search_form.action = msLinkURL;
	document.search_form.idPrm.value = idPrm;
	document.search_form.idONg.value = idONg;
	
}

function changeAction() {
    document.search_form.action = msLinkURL;
	//Added for SEO Ops.
	trackerB._linkByPost(this);
}

function cargarFechaLlegada(any, mes, dia) {
	var comboDia = eval("document.search_form.en_dia");
	var comboMesAnyo = eval("document.search_form.en_mesano");
	setFecha(any, mes, dia, comboDia, comboMesAnyo);
	validaFechas();
	setCambios();
}

function cargarFechaSalida(any, mes, dia) {
	var comboDia = eval("document.search_form.sa_dia");
	var comboMesAnyo = eval("document.search_form.sa_mesano");
	setFecha(any, mes, dia, comboDia, comboMesAnyo);
	validaFechas();
	setCambios();
}

// Funcion responsable de cargar la fecha de entrada del calendario
function cargarFechaEn(any, mes, dia) {
	var comboDia = eval("document.search_form.en_dia");
	var comboMesAnyo = eval("document.search_form.en_mesano");
	setFecha(any, mes, dia, comboDia, comboMesAnyo);
	validaFechas();
	saveChange();
}

// Funcion responsable de cargar la fecha de salida del calendario
function cargarFechaSa(any, mes, dia) {
	var comboDia = eval("document.search_form.sa_dia");
	var comboMesAnyo = eval("document.search_form.sa_mesano");
	setFecha(any, mes, dia, comboDia, comboMesAnyo);
	validaFechas();
	saveChange();
}

// Email Function
function envia(){
	if (document.f1.email.value.search(/^[^@]+@([a-zA-Z0-9-]+\.)+[a-zA-Z]+$/)<0) {
		alert(mailListError);
		return;
	}

	if (!document.f1.acepto.checked){
		alert(mailListAlert);
		return;
	}
	
	// Here add the idONg Values
	document.f1.action="http://www.solmelia.com/solNew/subscriber/jsp/C_Subscribe_Newsletter.jsp?email="+document.f1.email.value+"&idCobranding="+idCobranding;
	document.f1.submit();
}


// ******************* NEW!!! - function para buscador dinamico - ***********************
function addDatosHab(opts, selObj, restore){
	// Load the first search    
	if (opts == 'load'){
		target = selObj;
	} else {
		target = selObj.options[selObj.selectedIndex].value;
	}
	
	var i;
	
	$("#div_det_hab").replaceWith("<div id=\"div_det_hab\"><\/div>");
	$("#div_det_ninos_container").replaceWith("<div id=\"div_det_ninos_container\"><div id=\"div_ninos\"><\/div><\/div>");
	
	for (i = 1; i <= target; i++) {
		var str = '';
		str += '<p class="searchGuests"><b>'+ BOOK_COPYS[4] +' ' + i + '</b><br />';
		str += BOOK_COPYS[10]+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
		if (selHotelOptions(msCodSolRes,dispoChilds)!=1){
			str += BOOK_COPYS[11];
		}
		str += '<br /><select class="select1" name="adultsRoom' + i + '" style="width:40px;">';
		//str += '<option value="">'+BOOK_COPYS[10]+'</option>';
		str += '<option value="2">2</option>';
		str += generateOptions(8);
		str += '</select>&nbsp;&nbsp;&nbsp;&nbsp;';
		if (selHotelOptions(msCodSolRes,dispoChilds)!=1){
			str += '<select class="select1" name="childrenRoom' + i + '" id="childrenRoom' + i + '" onchange="addDatosNinos('+i+',this,0)" style="width:40px;">';
			//str += '<option value="">'+BOOK_COPYS[11]+'</option>';
			str += '<option value="">0</option>';
			str += generateOptions(4);
			str += '</select>';
		}
		str += '</p>';
		
		$("#div_det_hab").hide();
		$("#div_det_hab").append(str);		
		$('<div id="div_det_ninos_' + i + '"><\/div>').insertBefore('#div_ninos');
	   
	}
	
	//control para hotels con condiciones particulares;
/*	if (msCodSolRes != null){
	selected_hotel(msCodSolRes,0);
	}*/
	
	$("#div_det_hab").slideDown('medium');
}

function addDatosNinos(opts, selObj, restore){
	target = selObj.options[selObj.selectedIndex].value;
	
	var i ='';
	var str = '';
	
	$('#div_det_ninos_' + opts).replaceWith('<div id="div_det_ninos_' + opts + '"></div>');
	for (i = 1; i <= target; i++) {
		str += '<p class="searchGuests">'+BOOK_COPYS[9]+''+i+':<br /><select class="select1" name="child'+i+'Room'+opts+'">';
		str += generateOptions(17);
		str += '</select></p>';
	}
	$('#div_det_ninos_' + opts).hide();
	$('#div_det_ninos_' + opts).append('<div><b>'+BOOK_COPYS[8]+' '+BOOK_COPYS[7]+' '+opts+':</b></div>'+str);
	$('#div_det_ninos_' + opts).slideDown('medium');
}

function generateOptions(objects){
	var str = '';
	for (i = 1; i <= objects; i++) {
		str += '<option value="' + i + '">' + i + '</option>';
	}
	return str;
}

function removeFormField(id){
	$(id).remove();
}

/*********** START CODIGO 10-BEST ************/
// Datos habitación para los 10 BEST
function addDatosHab10(opts, selObj, restore){
	// Load the first search    
	if (opts == 'load'){
		target = selObj;
	} else {
		target = selObj.options[selObj.selectedIndex].value;
	}
	var i;
	
	$('#div_det_hab').replaceWith('<div id="div_det_hab"></div>');
	$('#div_det_ninos_container').replaceWith('<div id="div_det_ninos_container"><div id="div_ninos"></div></div>');
	
	for (i = 1; i <= target; i++) {
		var str = '';
		str += '<p class="searchGuests"><b>'+ BOOK_COPYS[18] +' ' + i + ':</b>&nbsp;&nbsp;';
		str += BOOK_COPYS[10]+'&nbsp;&nbsp;<select class="select1" name="adultsRoom' + i + '" style="width:40px;">';
		//str += '<option value="">'+BOOK_COPYS[10]+'</option>';
		str += '<option value="2">2</option>';
		str += generateOptions(8);
		str += '</select>&nbsp;&nbsp;';
		str += BOOK_COPYS[11]+'&nbsp;&nbsp;<select class="select1" name="childrenRoom' + i + '" id="childrenRoom' + i + '" onchange="addDatosNinos('+i+',this,0)" style="width:40px;">';
		//str += '<option value="">'+BOOK_COPYS[11]+'</option>';
		str += '<option value="">0</option>';
		str += generateOptions(4);
		str += '</select></p>';
		
		$('#div_det_hab').hide();
		$('#div_det_hab').append(str);
		$('<div id="div_det_ninos_' + i + '"></div>').insertBefore('#div_ninos');
	  
	}
	

	$('#div_det_hab').slideDown('medium');
}

function addDatosNinos10(opts, selObj, restore){
	target = selObj.options[selObj.selectedIndex].value;
	
	var i ='';
	var str = '';
	
	$('#div_det_ninos_' + opts).replaceWith('<div id="div_det_ninos_' + opts + '"></div>');
	for (i = 1; i <= target; i++) {
		str += '<p class="searchGuests">'+BOOK_COPYS[9]+''+i+':<br /><select class="select1" name="child'+i+'Room'+opts+'">';
		str += generateOptions(17);
		str += '</select>&nbsp;&nbsp;&nbsp;&nbsp;</p>';
	}
	$('#div_det_ninos_' + opts).hide();
	$('#div_det_ninos_' + opts).append('<div><b>'+BOOK_COPYS[8]+' '+BOOK_COPYS[7]+' '+opts+':</b></div>'+str);
	$('#div_det_ninos_' + opts).slideDown('medium');
}

function generateOptions10(objects){
	var str = '';
	for (i = 1; i <= objects; i++) {
		str += '<option value="' + i + '">' + i + '</option>';
	}
	return str;
}

function removeFormField10(id){
	$(id).remove();
}
/*********** END CODIGO 10-BEST **************/


function addPhoneNumber(){
	if (msDirLang == "es"){

		$('#idiomas').append('<br /><a href="/es/reservas-telefonicas.html"><img src="/comun/img/'+msPresenter+'/phone-es.gif" border="0" /></a>');

		$('#idiomas3').append('<br /><a href="/es/reservas-telefonicas.html"><img src="/comun/img/'+msPresenter+'/phone-es.gif" border="0" /></a>');

} else {
		if ((msDirLang == "en")||
			(msDirLang == "de")||
			(msDirLang == "fr")||
			(msDirLang == "it")||
			(msDirLang == "ru")||
			(msDirLang == "pt")||
			(msDirLang == "cn")){
			
		$('#idiomas').append('<br /><a href="/'+msDirLang+'/reservas-telefonicas.html"><img src="/comun/img/'+msPresenter+'/phone-en.gif" border="0" /></a>');
		
		$('#idiomas3').append('<br /><a href="/'+msDirLang+'/reservas-telefonicas.html"><img src="/comun/img/'+msPresenter+'/phone-en.gif" border="0" /></a>');
		
		}
	}
}


/*********** FUNCIONES DE CONTROL DE LA FORM **************/
// averigua disponibilidad de algo	
	function selHotelOptions(codSolRes,data){ 
	  if(codSolRes in data) { 
			return 1;
		}
	}

/*********** LOAD EXTERNAL SCRIPT ********/
function loadExternalJS(url){  
	var script=document.createElement('script');  
	script.src=url;script.type="text/javascript";  
	document.getElementsByTagName('head')[0].appendChild(script);  
}; 	

/************** REPLACE ELEMENTS ***************/
//replace text inside a div ID
function replaceDivString(divToChange,oldText,newLongText){ 
	var myTextField = document.getElementById(divToChange).innerHTML;
	if(myTextField != ""){
		if(myTextField.search(oldText) != "-1"){
			document.getElementById(divToChange).innerHTML = newLongText;
		}
	}
} 
/************** END REPLACE ELEMENTS ***************/