﻿
var idCobranding;

/*
* CONTROLA SI ALGUNOS HOTELES TIENEN CONDICIONES ESPECIALES
* HOTELES SIN DISPONIBILIDAD DE NIÑOS
*/
var dispoChilds={		
'0801':'',
'6756':''
};

//change here http or https
var msDomain = 'http://www.upbooking.com';
	
var msBookURL			= 	msDomain+'/'+msDirLang+'/hotels/rooms-rates.php?hotel='+msUser;
var msOtherOptionsURL 	= 	msDomain+'/'+msDirLang+'/hotels/other-options.php';	
var msLinkURL			=	msDomain+'/'+msDirLang+'/hotels/index_'+msUser+'.php';
var msCancelBooking		=	msDomain+'/'+msDirLang+'/hotels/cancel-reservation.php';


// Objecto para controlar la url que se envia a la pagina de reservas
var urlReserva;

function setCambios() {
	
	var startFtDate = document.search_form.dateIn.value;
	var endFtDate = document.search_form.dateOut.value;
	
	// Calculating difference between the two dates
	// Set the two dates
	var start_date = new Date(getDateFromFormat( startFtDate , 'yyyy-M-d' ));
	var end_date = new Date(getDateFromFormat( endFtDate , 'yyyy-M-d' ));
	
	// Get 1 day in milliseconds
	var one_day=1000*60*60*24
	
	// Decompose the dates
	var startFtDate_y = startFtDate.substr(0,4);
	var startFtDate_m = startFtDate.substr(5,2);
	var startFtDate_d = startFtDate.substr(8,2);
	
	var endFtDate_y = endFtDate.substr(0,4);
	var endFtDate_m = endFtDate.substr(5,2);
	var endFtDate_d = endFtDate.substr(8,2);
	

	//***************** final values ******************

	document.search_form.action = msLinkURL;	
	document.search_form.Habitaciones.value = document.search_form.habitaciones.value;
    document.search_form.dia_entrada.value = startFtDate_d;
    document.search_form.mes_entrada.value = startFtDate_y+'/'+startFtDate_m;
    document.search_form.dia_salida.value = endFtDate_d
    document.search_form.mes_salida.value = endFtDate_y+'/'+endFtDate_m;
	document.search_form.dias.value = (Math.ceil((end_date-start_date)/(one_day)));
	
}

function changeAction() {
	if (document.search_form.nino_1.value == ""){
		document.search_form.nino_1.value = "0"
	}
	
	if ((document.search_form.dateIn.value == "")||(document.search_form.dateOut.value == "")){
		alert ('you must insert a date');
		//return false;	
	} else {
		setCambios();
		document.search_form.action = msBookURL;
		document.search_form.submit();
	}

}



// ******************* function para buscador dinamico - ***********************
function addDatosHab(opts, selObj, restore){
		
		$("#nuovoDiv").show();
	
	// Load the first search    
	if (opts == 'load'){
		target = selObj;
	} else {
		target = selObj.options[selObj.selectedIndex].value;
	}
	
	var i;
	
	//Dingus change
	document.search_form.Habitaciones.value = document.search_form.habitaciones.value;
		
	$("#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 += '<div class=\"clear\"></div><p class="searchGuests"><b>'+ BOOK_COPYS[4] +' ' + i + '</b><br />';
		str += BOOK_COPYS[10]+'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
		if (selHotelOptions(msUser,dispoChilds)!=1){
			str += BOOK_COPYS[11];
		}
		str += '<br /><select class="select1" name="adulto_' + 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(msUser,dispoChilds)!=1){
			str += '<select class="select1" name="nino_' + i + '" id="nino_' + i + '" onchange="addDatosNinos('+i+',this,0)" style="width:40px;">';
			//str += '<option value="">'+BOOK_COPYS[11]+'</option>';
			str += '<option value="0">0</option>';
			str += generateOptions(3);
			str += '</select>';
		}
		str += '</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 addDatosNinos(opts, selObj, restore){
	target = selObj.options[selObj.selectedIndex].value;
	
	var i ='';
	var str = '';
	
	$('#div_det_ninos_' + opts).replaceWith('<div class=\"clear\"></div><div class="div_det_ninos" id="div_det_ninos_' + opts + '"></div><div class="clear"></div>');
	for (i = 1; i <= target; i++) {
		str += '<p class="searchGuests">'+BOOK_COPYS[9]+''+i+':<br /><select class="select1" name="edad_'+i+'_'+opts+'">';
		str += generateOptionsNinos(16);
		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 generateOptionsNinos(objects){
	var str = '';
	for (i = 2; i <= objects; i++) {
		str += '<option value="' + i + '">' + i + '</option>';
	}
	return str;
}

function removeFormField(id){
	$(id).remove();
}

/*********** FUNCIONES DE CONTROL DE LA FORM **************/
// averigua disponibilidad de algo	
function selHotelOptions(codSolRes,data){ 
  if(codSolRes in data) { 
		return 1;
	}
}



// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/
//
// ===================================================================
// ------------------------------------------------------------------
// These functions use the same 'format' strings as the 
// java.text.SimpleDateFormat class, with minor exceptions.
// The format string consists of the following abbreviations:
// 
// Field        | Full Form          | Short Form
// -------------+--------------------+-----------------------
// Year         | yyyy (4 digits)    | yy (2 digits), y (2 or 4 digits)
// Month        | MMM (name or abbr.)| MM (2 digits), M (1 or 2 digits)
//              | NNN (abbr.)        |
// Day of Month | dd (2 digits)      | d (1 or 2 digits)
// Day of Week  | EE (name)          | E (abbr)
// Hour (1-12)  | hh (2 digits)      | h (1 or 2 digits)
// Hour (0-23)  | HH (2 digits)      | H (1 or 2 digits)
// Hour (0-11)  | KK (2 digits)      | K (1 or 2 digits)
// Hour (1-24)  | kk (2 digits)      | k (1 or 2 digits)
// Minute       | mm (2 digits)      | m (1 or 2 digits)
// Second       | ss (2 digits)      | s (1 or 2 digits)
// AM/PM        | a                  |
//
// NOTE THE DIFFERENCE BETWEEN MM and mm! Month=MM, not mm!
// Examples:
//  "MMM d, y" matches: January 01, 2000
//                      Dec 1, 1900
//                      Nov 20, 00
//  "M/d/yy"   matches: 01/20/00
//                      9/2/00
//  "MMM dd, yyyy hh:mm:ssa" matches: "January 01, 2000 12:30:45AM"
// ------------------------------------------------------------------

var MONTH_NAMES=new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
var DAY_NAMES=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sun','Mon','Tue','Wed','Thu','Fri','Sat');
function LZ(x) {return(x<0||x>9?"":"0")+x}

// ------------------------------------------------------------------
// isDate ( date_string, format_string )
// Returns true if date string matches format of format string and
// is a valid date. Else returns false.
// It is recommended that you trim whitespace around the value before
// passing it to this function, as whitespace is NOT ignored!
// ------------------------------------------------------------------
function isDate(val,format) {
	var date=getDateFromFormat(val,format);
	if (date==0) { return false; }
	return true;
	}

// -------------------------------------------------------------------
// compareDates(date1,date1format,date2,date2format)
//   Compare two date strings to see which is greater.
//   Returns:
//   1 if date1 is greater than date2
//   0 if date2 is greater than date1 of if they are the same
//  -1 if either of the dates is in an invalid format
// -------------------------------------------------------------------
function compareDates(date1,dateformat1,date2,dateformat2) {
	var d1=getDateFromFormat(date1,dateformat1);
	var d2=getDateFromFormat(date2,dateformat2);
	if (d1==0 || d2==0) {
		return -1;
		}
	else if (d1 > d2) {
		return 1;
		}
	return 0;
	}

// ------------------------------------------------------------------
// formatDate (date_object, format)
// Returns a date in the output format specified.
// The format string uses the same abbreviations as in getDateFromFormat()
// ------------------------------------------------------------------
function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value=new Object();
	if (y.length < 4) {y=""+(y-0+1900);}
	value["y"]=""+y;
	value["yyyy"]=y;
	value["yy"]=y.substring(2,4);
	value["M"]=M;
	value["MM"]=LZ(M);
	value["MMM"]=MONTH_NAMES[M-1];
	value["NNN"]=MONTH_NAMES[M+11];
	value["d"]=d;
	value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		if (value[token] != null) { result=result + value[token]; }
		else { result=result + token; }
		}
	return result;
	}
	
// ------------------------------------------------------------------
// Utility functions for parsing in getDateFromFormat()
// ------------------------------------------------------------------
function _isInteger(val) {
	var digits="1234567890";
	for (var i=0; i < val.length; i++) {
		if (digits.indexOf(val.charAt(i))==-1) { return false; }
		}
	return true;
	}
function _getInt(str,i,minlength,maxlength) {
	for (var x=maxlength; x>=minlength; x--) {
		var token=str.substring(i,i+x);
		if (token.length < minlength) { return null; }
		if (_isInteger(token)) { return token; }
		}
	return null;
	}
	
// ------------------------------------------------------------------
// getDateFromFormat( date_string , format_string )
//
// This function takes a date string and a format string. It matches
// If the date string matches the format string, it returns the 
// getTime() of the date. If it does not match, it returns 0.
// ------------------------------------------------------------------
function getDateFromFormat(val,format) {
	val=val+"";
	format=format+"";
	var i_val=0;
	var i_format=0;
	var c="";
	var token="";
	var token2="";
	var x,y;
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var date=1;
	var hh=now.getHours();
	var mm=now.getMinutes();
	var ss=now.getSeconds();
	var ampm="";
	
	while (i_format < format.length) {
		// Get next token from format string
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		// Extract contents of value based on format token
		if (token=="yyyy" || token=="yy" || token=="y") {
			if (token=="yyyy") { x=4;y=4; }

			if (token=="yy")   { x=2;y=2; }
			if (token=="y")    { x=2;y=4; }
			year=_getInt(val,i_val,x,y);
			if (year==null) { return 0; }
			i_val += year.length;
			if (year.length==2) {
				if (year > 70) { year=1900+(year-0); }
				else { year=2000+(year-0); }
				}
			}
		else if (token=="MMM"||token=="NNN"){
			month=0;
			for (var i=0; i<MONTH_NAMES.length; i++) {
				var month_name=MONTH_NAMES[i];
				if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) {
					if (token=="MMM"||(token=="NNN"&&i>11)) {
						month=i+1;
						if (month>12) { month -= 12; }
						i_val += month_name.length;
						break;
						}
					}
				}
			if ((month < 1)||(month>12)){return 0;}
			}
		else if (token=="EE"||token=="E"){
			for (var i=0; i<DAY_NAMES.length; i++) {
				var day_name=DAY_NAMES[i];
				if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) {
					i_val += day_name.length;
					break;
					}
				}
			}
		else if (token=="MM"||token=="M") {
			month=_getInt(val,i_val,token.length,2);
			if(month==null||(month<1)||(month>12)){return 0;}
			i_val+=month.length;}
		else if (token=="dd"||token=="d") {
			date=_getInt(val,i_val,token.length,2);
			if(date==null||(date<1)||(date>31)){return 0;}
			i_val+=date.length;}
		else if (token=="hh"||token=="h") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>12)){return 0;}
			i_val+=hh.length;}
		else if (token=="HH"||token=="H") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>23)){return 0;}
			i_val+=hh.length;}
		else if (token=="KK"||token=="K") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>11)){return 0;}
			i_val+=hh.length;}
		else if (token=="kk"||token=="k") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>24)){return 0;}
			i_val+=hh.length;hh--;}
		else if (token=="mm"||token=="m") {
			mm=_getInt(val,i_val,token.length,2);
			if(mm==null||(mm<0)||(mm>59)){return 0;}
			i_val+=mm.length;}
		else if (token=="ss"||token=="s") {
			ss=_getInt(val,i_val,token.length,2);
			if(ss==null||(ss<0)||(ss>59)){return 0;}
			i_val+=ss.length;}
		else if (token=="a") {
			if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";}
			else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";}
			else {return 0;}
			i_val+=2;}
		else {
			if (val.substring(i_val,i_val+token.length)!=token) {return 0;}
			else {i_val+=token.length;}
			}
		}
	// If there are any trailing characters left in the value, it doesn't match
	if (i_val != val.length) { return 0; }
	// Is date valid for month?
	if (month==2) {
		// Check for leap year
		if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year
			if (date > 29){ return 0; }
			}
		else { if (date > 28) { return 0; } }
		}
	if ((month==4)||(month==6)||(month==9)||(month==11)) {
		if (date > 30) { return 0; }
		}
	// Correct hours value
	if (hh<12 && ampm=="PM") { hh=hh-0+12; }
	else if (hh>11 && ampm=="AM") { hh-=12; }
	var newdate=new Date(year,month-1,date,hh,mm,ss);
	return newdate.getTime();
	}

// ------------------------------------------------------------------
// parseDate( date_string [, prefer_euro_format] )
//
// This function takes a date string and tries to match it to a
// number of possible date formats to get the value. It will try to
// match against the following international formats, in this order:
// y-M-d   MMM d, y   MMM d,y   y-MMM-d   d-MMM-y  MMM d
// M/d/y   M-d-y      M.d.y     MMM-d     M/d      M-d
// d/M/y   d-M-y      d.M.y     d-MMM     d/M      d-M
// A second argument may be passed to instruct the method to search
// for formats like d/M/y (european format) before M/d/y (American).
// Returns a Date object or null if no patterns match.
// ------------------------------------------------------------------
function parseDate(val) {
	var preferEuro=(arguments.length==2)?arguments[1]:false;
	generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d');
	monthFirst=new Array('M/d/y','M-d-y','M.d.y','MMM-d','M/d','M-d');
	dateFirst =new Array('d/M/y','d-M-y','d.M.y','d-MMM','d/M','d-M');
	var checkList=new Array('generalFormats',preferEuro?'dateFirst':'monthFirst',preferEuro?'monthFirst':'dateFirst');
	var d=null;
	for (var i=0; i<checkList.length; i++) {
		var l=window[checkList[i]];
		for (var j=0; j<l.length; j++) {
			d=getDateFromFormat(val,l[j]);
			if (d!=0) { return new Date(d); }
			}
		}
	return null;
	}


/*******************************/






// JavaScript Document

//================================================================================
// Nombre: LOCALIZATIONS
// Autor:  Luigi Nori - ma-no.org
// Descripción: Traducción multi-idioma
//================================================================================

var BOOK_COPYS = new Array();
var OFFERS_COPY = new Array();

switch (msDirLang) {
	
	// ***** SPANISH *****
    case "es":
	
		BOOK_COPYS[0]="Reserva Online";
		BOOK_COPYS[1]="fecha de llegada";
		BOOK_COPYS[2]="fecha de salida";
		BOOK_COPYS[3]="habitaciones";
		BOOK_COPYS[4]="personas por habitación";
		BOOK_COPYS[5]="Reserva online";
		BOOK_COPYS[6]="Otras opciones";
		//--------------------
		BOOK_COPYS[7]="habitación";
		BOOK_COPYS[8]="edad de niños en ";
		BOOK_COPYS[9]="niño";
		BOOK_COPYS[10]="adultos";
		BOOK_COPYS[11]="niños";
		//--------------------
		BOOK_COPYS[12]="RESERVE SU HABITACION";
		BOOK_COPYS[13]="MEJOR PRECIO GARANTIZADO";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="Seleccione un hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Llegada";
		BOOK_COPYS[17]="Salida";
		BOOK_COPYS[18]="Personas por hab";
		BOOK_COPYS[19]="más info";
		BOOK_COPYS[20]="Cancelar tu reserva";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Inicio";
		OFFERS_COPY[2]="Ofertas";
		OFFERS_COPY[3]="Reservar ahora";
		OFFERS_COPY[4]="Ver documento añadido";
		OFFERS_COPY[5]="más info";
		

		break;

		// ***** ENGLISH *****
		case "en":
		
		BOOK_COPYS[0]="Booking Online";
		BOOK_COPYS[1]="arrival date";
		BOOK_COPYS[2]="departure date";
		BOOK_COPYS[3]="rooms";
		BOOK_COPYS[4]="guests per room";
		BOOK_COPYS[5]="see rates";
		BOOK_COPYS[6]="More options";
		//--------------------
		BOOK_COPYS[7]="room";
		BOOK_COPYS[8]="age of childs in ";
		BOOK_COPYS[9]="child";
		BOOK_COPYS[10]="adults";
		BOOK_COPYS[11]="children";
		//--------------------
		BOOK_COPYS[12]="BOOK YOUR ROOM";
		BOOK_COPYS[13]="BEST PRICE GUARANTEE";
		BOOK_COPYS[14]="If you find a better price we will refund you the difference, plus a 10%";
		BOOK_COPYS[15]="Select the hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrival";
		BOOK_COPYS[17]="Departure";
		BOOK_COPYS[18]="Guest per room";
		BOOK_COPYS[19]="more info";
		BOOK_COPYS[20]="Cancel your booking";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Start";
		OFFERS_COPY[2]="Offers";
		OFFERS_COPY[3]="Book now";
		OFFERS_COPY[4]="See the document";
		OFFERS_COPY[5]="more info";
		
		break;
		
		// ***** FRENCH *****
		case "fr":
		
		BOOK_COPYS[0]="Reserve Online";
		BOOK_COPYS[1]="la date d'arrivée";
		BOOK_COPYS[2]="date de départ";
		BOOK_COPYS[3]="chambres";
		BOOK_COPYS[4]="personnes par chambre";
		BOOK_COPYS[5]="voir les prix";
		BOOK_COPYS[6]="Plus d'options";
		//--------------------
		BOOK_COPYS[7]="chambre";
		BOOK_COPYS[8]="les enfants en âge de ";
		BOOK_COPYS[9]="enfants";
		BOOK_COPYS[10]="adultes";
		BOOK_COPYS[11]="enfants";
		//--------------------
		BOOK_COPYS[12]="BOOK YOUR ROOM";
		BOOK_COPYS[13]="MEJOR PRECIO GARANTIZADO";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="Select the hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrival";
		BOOK_COPYS[17]="Departure";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="more info";
		BOOK_COPYS[20]="Annuler la reservation";
		
				//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Start";
		OFFERS_COPY[2]="Offers";
		OFFERS_COPY[3]="Book now";
		OFFERS_COPY[4]="See the document";
		OFFERS_COPY[5]="more info";
		
		break;
		
		// ***** GERMAN *****
		case "de":
	
		BOOK_COPYS[0]="Booking Online";
		BOOK_COPYS[1]="ankunftsdatum";
		BOOK_COPYS[2]="abreisedatum";
		BOOK_COPYS[3]="zimmer";
		BOOK_COPYS[4]="personen pro zimmer";
		BOOK_COPYS[5]="preise ansehen";
		BOOK_COPYS[6]="Andere optionen";
		//--------------------
		BOOK_COPYS[7]="zimmer";
		BOOK_COPYS[8]="age of childs in ";
		BOOK_COPYS[9]="child";
		BOOK_COPYS[10]="adults";
		BOOK_COPYS[11]="childs";
		//--------------------
		BOOK_COPYS[12]="BOOK YOUR ROOM";
		BOOK_COPYS[13]="BEST PRICE GUARANTEE";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="Select the hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrival";
		BOOK_COPYS[17]="Departure";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="more info";
		BOOK_COPYS[20]="Buchung stornieren";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Start";
		OFFERS_COPY[2]="Offers";
		OFFERS_COPY[3]="Book now";
		OFFERS_COPY[4]="See the document";
		OFFERS_COPY[5]="more info";
		
		break;
		
    	// ***** RUSSIAN *****
		case "ru":
	
		BOOK_COPYS[0]="Booking Online";
		BOOK_COPYS[1]="Дата прибытия";
		BOOK_COPYS[2]="Выезд";
		BOOK_COPYS[3]="Комнат";
		BOOK_COPYS[4]="Человек в номере";
		BOOK_COPYS[5]="посмотреть цены";
		BOOK_COPYS[6]="Дополнительные параметры поиска";
		//--------------------
		BOOK_COPYS[7]="номер";
		BOOK_COPYS[8]="age of childs in ";
		BOOK_COPYS[9]="child";
		BOOK_COPYS[10]="взрослые";
		BOOK_COPYS[11]="дети";
				//--------------------
		BOOK_COPYS[12]="BOOK YOUR ROOM";
		BOOK_COPYS[13]="BEST PRICE GUARANTEE";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="Select the hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrival";
		BOOK_COPYS[17]="Departure";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="more info";
		BOOK_COPYS[20]="Cancel your booking";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Start";
		OFFERS_COPY[2]="Offers";
		OFFERS_COPY[3]="Book now";
		OFFERS_COPY[4]="See the document";
		OFFERS_COPY[5]="more info";
       	
		break;
		
		// ***** ITALIAN *****
	    case "it":
		
		BOOK_COPYS[0]="Prenota Online";
		BOOK_COPYS[1]="arrivo";
		BOOK_COPYS[2]="data di partenza";
		BOOK_COPYS[3]="stanza";
		BOOK_COPYS[4]="persone per camera";
		BOOK_COPYS[5]="vedi tariffe";
		BOOK_COPYS[6]="Altre opzioni";
		//--------------------
		BOOK_COPYS[7]="camera";
		BOOK_COPYS[8]="etá bambini in ";
		BOOK_COPYS[9]="minore";
		BOOK_COPYS[10]="adulti";
		BOOK_COPYS[11]="minori";
				//--------------------
		BOOK_COPYS[12]="Prenota";
		BOOK_COPYS[13]="Miglior prezzo garantito";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="Seleziona un hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrivo";
		BOOK_COPYS[17]="Partenza";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="piú info";
		BOOK_COPYS[20]="Cancella prenotazione";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Inizio";
		OFFERS_COPY[2]="Offerte";
		OFFERS_COPY[3]="Prenota adesso";
		OFFERS_COPY[4]="Scarica il documento";
		OFFERS_COPY[5]="piú info";
        
		break;
		
		
	// ***** PORTUGHESE *****
    case "pt":
	
		BOOK_COPYS[0]="/common/img/"+msPresenter+"/pt/booking-online.gif";
		BOOK_COPYS[1]="data de chegada";
		BOOK_COPYS[2]="data de saída";
		BOOK_COPYS[3]="quartos";
		BOOK_COPYS[4]="pessoas por quarto";
		BOOK_COPYS[5]="ver preços";
		BOOK_COPYS[6]="outras opções";
		//--------------------
		BOOK_COPYS[7]="quarto";
		BOOK_COPYS[8]="Idade crianças ";
		BOOK_COPYS[9]="criança";
		BOOK_COPYS[10]="adultos";
		BOOK_COPYS[11]="crianças";
		//--------------------
		BOOK_COPYS[12]="BOOK YOUR ROOM";
		BOOK_COPYS[13]="BEST PRICE GUARANTEE";
		BOOK_COPYS[14]="Si encuentra un mejor precio le abonamos la diferencia, más un 10%";
		BOOK_COPYS[15]="selecione um hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arrival";
		BOOK_COPYS[17]="Departure";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="more info";
		BOOK_COPYS[20]="Cancelar reserva";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Start";
		OFFERS_COPY[2]="Offers";
		OFFERS_COPY[3]="Book now";
		OFFERS_COPY[4]="See the document";
		OFFERS_COPY[5]="more info";
		
		break;
		
	// ***** CATALAN*****
	    case "ca":
		
		BOOK_COPYS[0]="Reserveu en línia";
		BOOK_COPYS[1]="Arribada";
		BOOK_COPYS[2]="Data de sortida";
		BOOK_COPYS[3]="habitació";
		BOOK_COPYS[4]="persones per habitació";
		BOOK_COPYS[5]="Veure preus";
		BOOK_COPYS[6]="Altres opcions";
		//--------------------
		BOOK_COPYS[7]="habitació";
		BOOK_COPYS[8]="edat dels nens en";
		BOOK_COPYS[9]="menors";
		BOOK_COPYS[10]="adults";
		BOOK_COPYS[11]="menors";
				//--------------------
		BOOK_COPYS[12]="Reserva";
		BOOK_COPYS[13]="Millor preu garantit";
		BOOK_COPYS[14]="Si troba un millor preu li abonem la diferència, més un 10%";
		BOOK_COPYS[15]="Selecciona un Hotel";
		//--COPYS MICROSITES NUEVOS--
		BOOK_COPYS[16]="Arribada";
		BOOK_COPYS[17]="Sortida";
		BOOK_COPYS[18]="Guest per room.";
		BOOK_COPYS[19]="piú info";
		BOOK_COPYS[20]="Cancella prenotazione";
		
		//--COPYS OFERTAS--
		OFFERS_COPY[0]="";
		OFFERS_COPY[1]="Inizio";
		OFFERS_COPY[2]="Offerte";
		OFFERS_COPY[3]="Prenota adesso";
		OFFERS_COPY[4]="Scarica il documento";
		OFFERS_COPY[5]="piú info";
        
		break;	
}


/****************************************************************/

$(function() {

	var jsMinDate;
	var jsMaxDate;
	
	//minimum days of difference between start and end
	var minDaysOfDiff=1;
	var minRangeOfDays=2;
	
	var dayIn;
	var monthIn;
	var yearIn;
	
	var dayOut;
	var monthOut;
	var yearOut;
	
	var numDays;

	dias = new Array("Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado");
	dura = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

  var confNameDayIn;
  var confNameDayOut;

	$("#datePickerInlineIn").datepicker({
		defaultDate: +1, 
		minDate: +1,
		maxDate: '+1Y',
		dateFormat: 'dd/mm/yy', 
		showOn: 'both',
		buttonImage: '/images/datepicker.gif',
		buttonImageOnly: true,
		numberOfMonths: 2,
		showButtonPanel: true,
		
		//hide weekends
		//beforeShowDay: $.datepicker.noWeekends,
		
		//hide some days
		beforeShowDay: nationalDays,
		
		onClose: function(){
			jsMinDate = WriteToMaxDate ($(this).val(),minDaysOfDiff);
			
			$('#datePickerInlineOut').datepicker('option', 'minDate', jsMinDate); 
			
			var txtDateTo = $('#datePickerInlineIn').attr("value").split('/', 3);
			document.search_form.dateOut.value = txtDateTo[0] +"-"+txtDateTo[1]+"-"+txtDateTo[2];
		},
		onSelect: function(){
			//$('#datepickerOut').datepicker('option', 'minDate', Date($(this).val()));
			
			jsMinDate = WriteToMaxDate ($(this).val(),minDaysOfDiff);
			
			$('#datePickerInlineOut').datepicker('option', 'minDate', jsMinDate); 
	
			var txtDateTo = $('#datePickerInlineOut').attr("value").split('/', 3);
			document.search_form.dateOut.value = txtDateTo[2] +"-"+txtDateTo[1]+"-"+txtDateTo[0];

		}
		 
	});
		
	$("#datePickerInlineOut").datepicker({
		defaultDate: +2, 
		maxDate: '+1Y',
		dateFormat: 'dd/mm/yy', 
		showOn: 'both',
		buttonImage: '/images/datepicker.gif',
		buttonImageOnly: true,
		numberOfMonths: 2,
		showButtonPanel: true,
		
		//hide weekends
		//beforeShowDay: $.datepicker.noWeekends,
		
		//hide some days
		beforeShowDay: nationalDays,
		
		onSelect: function(){
			//here we must put the control		
			analyzeEndDate($(this).val(),minDaysOfDiff);
		},
		onClose: function(){
			//here we must put the control		
			analyzeEndDate($(this).val(),minDaysOfDiff);
		},
		minDate: +1
	});

	var txtDateFrom = $('#datePickerInlineIn').attr("value").split('/', 3);
	document.search_form.dateIn.value = txtDateFrom[2] +"-"+txtDateFrom[1]+"-"+txtDateFrom[0];

	var txtDateTo = $('#datePickerInlineOut').attr("value").split('/', 3);
	document.search_form.dateOut.value = txtDateTo[2] +"-"+txtDateTo[1]+"-"+txtDateTo[0];
		
});
	
function WriteToMaxDate (convDate,minDaysOfDiff){
	// Create array from txtDateFrom
	var txtDateFrom = convDate.split('/', 3);

	if ((txtDateFrom.length == 3) && (txtDateFrom[0].length <= 2) && (txtDateFrom[1].length <= 2) && (txtDateFrom[2].length <= 4)){
		if ($('#datePickerInlineOut').attr("value") == ''){
			$('#datePickerInlineOut').attr("value", ( parseInt(txtDateFrom[0]) + minDaysOfDiff ) +"/"+txtDateFrom[1]+"/"+txtDateFrom[2]); 
			
			document.search_form.dateOut.value =  txtDateFrom[2]+"-"+txtDateFrom[1]+"-"+( parseInt(txtDateFrom[0]) + minDaysOfDiff );
			//alert(document.search_form.dateOut.value);
		}
		
		var dateDateFrom = new Date(txtDateFrom[2], txtDateFrom[1] - 1, parseInt(txtDateFrom[0]) + minDaysOfDiff );
		
		dayIn = txtDateFrom[0];
		monthIn = txtDateFrom[1];
		yearIn = txtDateFrom[2];
		//alert (dayIn+'-'+monthIn+'-'+yearIn);
		document.search_form.dateIn.value = yearIn+'-'+monthIn+'-'+dayIn;
		
		
		nameDiaIn = dateDateFrom.getDay();
		
		//alert (dias[nameDiaIn]);
		//alert(calculeDaySem(yearIn, monthIn, dayIn));

		return dateDateFrom;
	
	} 
}


function analyzeEndDate (convEndDate,minDaysOfDiff){
	// Create array from txtDateFrom
	var txtDateTo = convEndDate.split('/', 3);
	if ((txtDateTo.length == 3) && (txtDateTo[0].length <= 2) && (txtDateTo[1].length <= 2) && (txtDateTo[2].length <= 4)){
		
		var dateDateTo = new Date(txtDateTo[2], txtDateTo[1] - 1, parseInt(txtDateTo[0]) + minDaysOfDiff );
		
		dayOut = txtDateTo[0];
		monthOut = txtDateTo[1];
		yearOut = txtDateTo[2];
		document.search_form.dateOut.value = yearOut+'-'+monthOut+'-'+dayOut;
				
	  numDays =  dayOut - dayIn;
		
		if (numDays > minDaysOfDiff){ 
		//alert ("Has selecciondo mas dis que la promocion");
		}
		//return dateDateTo;
	} 
}
	
/*************************************************************************************/
/*
* Functions to deselect days in Search Form
* runs with - beforeShowDay: nationalDays, - in datepicker
*/


var noDays = [
/*			  [7, 4, 'id'],
			   [7, 5, 'id'],
			   [7, 18, 'id'],
			   [8, 7, 'arr'],
			   [8, 12, 'arr']*/
			   ];   


function nationalDays(date) {   
    for (i = 0; i < noDays.length; i++) {   
        if (date.getMonth() == noDays[i][0] - 1 && date.getDate() == noDays[i][1]) {   
            //return [false, noDays[i][2] + '_day']; 
				return [false, '']; 
        }   
    }   
    return [true, ''];   
}
	
/*************************************************************************************/

$(function(){

		$("DIV#booking_copy_img").append(BOOK_COPYS[0]);
		$("P#booking_copy_llegada").append(BOOK_COPYS[1]);
		$("P#booking_copy_salida").append(BOOK_COPYS[2]);
		$("P#booking_copy_habitaciones").append(BOOK_COPYS[3]);
		$("P#booking_copy_personas").append(BOOK_COPYS[4]);
		$("DIV#booking_copy_book_your_room").append(BOOK_COPYS[12]);
		$("DIV#booking_copy_best_price").append(BOOK_COPYS[13]);
		$("SPAN#booking_copy_select_hotel").append(BOOK_COPYS[15]);
		$("P#booking_copy_if_you_find").append(BOOK_COPYS[14]);
		document.getElementById("booking_copy_tarifas").value = BOOK_COPYS[5];
		
		$("P#booking_copy_llegada_MS").append(BOOK_COPYS[16]);
		$("P#booking_copy_salida_MS").append(BOOK_COPYS[17]);
		$("P#booking_copy_personas_MS").append(BOOK_COPYS[18]);
		
		
});
