	/*
	Para usarlo anadimos el siguiente script en nuestro xsl:
	<script language="JavaScript" type="text/JavaScript" src="{/root/xsl_path}c2js/hb_calendarR2.js"></script>
	*/

    var nameForm = '';         // nombres de forms e inputs
    var nameInputFrom = '';
    var nameInputTo = '';
    var nameSelectNights = '';
    var typeInputNights = '';  //variable para controlar si el input nigths es una combo o no

    // Variables globales de formato
    //var dFormat = 'yyyy/MM/dd';       // Formato de fecha que usan los calendarios, util para poder usar notación americana

    var	fieldValue = '';     // Valor por defecto de los imputs de texto de fechas
    var	numNights = '';     // Número de noches que permite seleccionar el segundo calendario a partir de la fecha del primero


	//cal.enableAllDates();   //Esta funcion sirve para habilitar de nuevo todas las fechas seleccionables del calendario

	// PARA SOPORTAR MULTIDIOMA Y MULTIFORMATO ESTE BLOQUE DEBE SER DINÁMICO Y ESTAR FUERA DEL JS !!

    /*
      // por defecto: idioma inglés con notacion europea y 30 noches
      setGlobalVariables('dd/MM/yyyy','dd/mm/yyyy', 30);
      cal.setMonthNames('January','February','March','April','May','June','July','August','September','October','November','December');
      cal.setDayHeaders('Su','Mo','Tu','We','Th','Fr','Sa');
      cal2.setMonthNames('January','February','March','April','May','June','July','August','September','October','November','December');
      cal2.setDayHeaders('Su','Mo','Tu','We','Th','Fr','Sa');
    */

    /*
      // idioma inglés con notacion americana
      setGlobalVariables('MM/dd/yyyy','mm/dd/yyyy', 30);
      cal.setMonthNames('January','February','March','April','May','June','July','August','September','October','November','December');
      cal.setDayHeaders('Su','Mo','Tu','We','Th','Fr','Sa');
      cal2.setMonthNames('January','February','March','April','May','June','July','August','September','October','November','December');
      cal2.setDayHeaders('Su','Mo','Tu','We','Th','Fr','Sa');
    */

    /*
      // idioma espanol
      setGlobalVariables('dd/MM/yyyy','dd/mm/aaaa', 30);
      cal.setMonthNames('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
      cal.setDayHeaders('Do','Lu','Ma','Mi','Ju','Vi','Sa');
      cal.setMonthNames('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');
      cal.setDayHeaders('Do','Lu','Ma','Mi','Ju','Vi','Sa');
    */

	/* Inicializa las variables globales y los calendarios */
	function setGlobalVariables(format,field,nights){
        dFormat = format;       // Formato de fecha que usan los calendarios, util para poder usar notación americana
       	fieldValue = field;     // Valor por defecto de los imputs de texto de fechas
       	numNights = nights;     // Número de noches que permite seleccionar el segundo calendario a partir de la fecha del primero

	    // Variables globales de fecha
       	now = new Date();
//		dateFrom = formatDate( now,dFormat);     // Fecha from actual
	    dateFrom = formatDate( new Date( now.getTime() + 86400000 ) , dFormat );     // Fecha from actual
	    dateTo = dateFrom;		// Fecha to actual

        // Inicialización de los calendarios
	    cal = new CalendarPopup('divcalendar');     // Calendarios van asociados a la capa
        cal2 = new CalendarPopup('divcalendar');
		cal.addDisabledDates( null , calculateFinalDate( dateFrom , -2 ) , dFormat );     // Desabilitar rangos de fechas por defecto en los calendarios			// nem kell a mai napot letiltani ezert -2
		cal2.addDisabledDates( null , calculateFinalDate( dateFrom , -2 ) , dFormat );
    }

	/* Retorna el numero de dias de un mes determinado */
	function numDaysMonth(month,year) {
		var days = 31;
		if (month == 4 || month == 6 || month == 9 || month == 11)
			days = 30;
		if (month == 2 && (year/ 4) != Math.floor (year/4))
			days = 28;
		if (month == 2 && (year/ 4) == Math.floor (year/4))
			days = 29;
		return days;
	}

	/* Convierte de formato europeo a americano y viceversa cuando es necesario, segun la variable global que determina el formato usado */
	function convertDateFormat(string) {
//		alert( 'cdf' );
		if (dFormat == 'MM/dd/yyyy') {
		    var temp = new Array();
			temp = string.split('/');
			return (temp[1] + "/"+ temp[0] + "/" + temp[2]);
		}
		if (dFormat == 'yyyy/MM/dd') {
		    var temp = new Array();
			if( string == "éééé/hh/nn" ) {
				var most = new Date();
				var x2 = new Date( most.getTime() + 86400000 );
				string = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();
			}
			temp = string.split('/');
			if( parseInt( temp[ 0 ] ) > 35 ) {	// év
//				alert( temp[0] + "/"+ temp[1] + "/" + temp[2] );
				return (temp[0] + "/"+ temp[1] + "/" + temp[2]);
			} else {	// nem év
//				alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
				return (temp[2] + "/"+ temp[1] + "/" + temp[0]);
			}
		}
		if (dFormat == 'dd/MM/yyyy') {
		    var temp = new Array();
			if( string == "nn/hh/éééé" ) {
				var most = new Date();
				var x2 = new Date( most.getTime() + 86400000 );
				string = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();
			}
			temp = string.split('/');
			if( parseInt( temp[ 2 ] ) > 35 ) {	// év
//				alert( temp[0] + "/"+ temp[1] + "/" + temp[2] );
				return (temp[2] + "/"+ temp[1] + "/" + temp[0]);
			} else {	// nem év
//				alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
				return (temp[2] + "/"+ temp[1] + "/" + temp[0]);
			}
		}
		return string;
	}

	function convertDateFormat2(string) {
//		alert( 'cdf' );
		if (dFormat == 'MM/dd/yyyy') {
		    var temp = new Array();
			temp = string.split('/');
			return (temp[1] + "/"+ temp[0] + "/" + temp[2]);
		}
		if (dFormat == 'yyyy/MM/dd') {
		    var temp = new Array();
			if( string == "éééé/hh/nn" ) {
				var most = new Date();
				var x2 = new Date( most.getTime() + 86400000 );
				string = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();
			}
			temp = string.split('/');
			if( parseInt( temp[ 0 ] ) > 35 ) {	// év
//				alert( temp[0] + "/"+ temp[1] + "/" + temp[2] );
				return (temp[0] + "/"+ temp[1] + "/" + temp[2]);
			} else {	// nem év
//				alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
				return (temp[2] + "/"+ temp[1] + "/" + temp[0]);
			}
		}
		if (dFormat == 'dd/MM/yyyy') {
		    var temp = new Array();
			if( string == "nn/hh/éééé" ) {
				var most = new Date();
				var x2 = new Date( most.getTime() + 86400000 );
				string = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();
			}
			temp = string.split('/');
			if( parseInt( temp[ 2 ] ) > 35 ) {	// év
//				alert( temp[0] + "/"+ temp[1] + "/" + temp[2] );
				return (temp[0] + "/"+ temp[1] + "/" + temp[2]);
			} else {	// nem év
//				alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
				return (temp[2] + "/"+ temp[1] + "/" + temp[0]);
			}
		}
		return string;
	}

	/* Anade ceros en el dia y el mes si es necesario */
	function completeDate(string) {
//		alert( 'cd' );
		var temp = new Array();
		temp = string.split('/');
		if (temp[0].length == 1)
			temp[0] = "0" + temp[0];
	    if (temp[1].length == 1)
			temp[1] = "0" + temp[1];
	    if (temp[2].length == 1)
			temp[2] = "0" + temp[2];
		return convertDateFormat((temp[0] + "/"+ temp[1] + "/" + temp[2]));
	}

	/* Devuelve una fecha real a partir de un string*/
	function createDate(string) {
		var newString = completeDate(string);
		var temp = new Array();
		temp = newString.split('/');
		var date;
		date = new Date(temp[2],eval(temp[1])-1,temp[0]);
		return (date);
	}

	/* Suma o resta un número de noches a una fecha determinada */
	function calculateFinalDate( date , nights ) {
//		alert( 'cfd' );
//		alert( nights );
		if (nights == 0) return (date);
		var newDate = convertDateFormat( date );
		var temp = new Array();
		temp = newDate.split('/');
//		var d1 = eval(temp[0]);
//		var m1 = eval(temp[1]);
//		var y1 = eval(temp[2]);
//		var d1 = eval(temp[2]);
		var d1 = eval(temp[2]);
		var m1 = eval(temp[1]);
		var y1 = eval(temp[0]);
		d1 += eval(nights);
		if (d1 > 0) {
			while (d1 > numDaysMonth (m1,y1)) {
				d1 -= numDaysMonth (m1,y1);
				m1++;
				if (m1 > 12) {
					 m1 = 1;
					 y1++;
				}
			}
		} else {
			while (d1 < 1) {
				m1--;
				if (m1 < 1) {
					 m1 = 12;
					 y1--;
				}
				d1 += numDaysMonth (m1,y1);
			}
		}
		return (completeDate(d1 + "/" + m1 + "/" + y1));
	}

    /*FUNCIONES PARA CALENDARIOS FROM Y TO*/
    /*
      Ejemplo de uso:

      <table border="0" cellspacing="0" cellpadding="0" class="motortit">
            <tr>
              <td width="6" height="16">&nbsp;</td>
              <td width="100">From</td>
              <td width="75">Nights</td>
              <td>To</td>
            </tr>
            <tr>
              <td align="left">&nbsp;</td>
              <td align="left"><input name="i_from" type="text" class="formmotor" id="i_from" value="dd/mm/yyyy" size="11" onchange="javascript: returnFrom('ft_search','i_from','i_to','s_nights');"/>
                  <a href="#" name="linkFrom" id="linkFrom" onclick="javascript: viewFromCal('ft_search','i_from','i_to','s_nights', 'linkFrom', dFormat, dateFrom ,'combo');return false;">
                      <!--el parametro combo es para saber si la input Nights es una combo o no, si no es combo lo pasamos vacio ('')-->
                      <img src="{root/xsl_path}images/ico_calendar.gif" width="19" height="17" border="0" align="absmiddle" />
                  </a>
              </td>
              <td align="left">
                  <select name="s_nights" id="s_nights" class="formmotor" onchange="javascript: returnNights('ft_search','i_from','i_to','s_nights');">
                    <option selected="selected">Nights</option>
                    <script type="text/javascript" language="JavaScript1.2"> putOptions(1, 30); </script>
                  </select>
               </td>
              <td align="left"><input name="i_to" type="text" class="formmotor" id="i_to" value="dd/mm/yyyy" size="11" onchange="javascript: returnTo('ft_search','i_from','i_to','s_nights');"/>
                  <a href="#" name="linkTo" id="linkTo" onclick="javascript: viewToCal('ft_search','i_from','i_to','s_nights', 'linkTo', dFormat, dateFrom, 'combo');return false;">
                      <img src="{root/xsl_path}images/ico_calendar.gif" width="19" height="17" border="0" align="absmiddle" />
                  </a>
              </td>
            </tr>
          </table>

        NOTA: si no usamos en nuestro caso un campo con las NOCHES, donde pone 's_nights' en el ejemplo anterior, pondremos '' (dos comillas)
    */


    /*  Funcion que se ejecuta al clicar calendario From */
     function viewFromCal(nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights, linkname, format, dateFrom, isSelect ) {
//        alert( '1' );
		nameForm = nombreForm;
        nameInputFrom = nombreInputFrom;
        nameInputTo = nombreInputTo;
        nameSelectNights = nombreSelectNights;
        typeInputNights = isSelect;
        cal.setReturnFunction('commonFrom');
	    cal.select(eval("document." + nameForm + "." + nameInputFrom), linkname, format, dateFrom);
    }

    /*  Funcion que se ejecuta modificar a mano el calendario From */
    function returnFrom(nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights) {
//        alert( '2' );
		if( eval("document." + nombreForm + "." + nombreInputFrom).value == "éééé/hh/nn" ) {
//			alert( 'itt' );
			var most = new Date();
			var x2 = new Date( most.getTime() + 86400000 );
			var ho = '01';
			var nap = '01';
			if( ( x2.getMonth() + 1 ) < 10 ) {
				ho = '0' + ( x2.getMonth() + 1 );
			} else {
				ho = '' + ( x2.getMonth() + 1 );
			}

			if( x2.getDate() < 10 ) {
				nap = '0' + x2.getDate();
			} else {
				nap = '' + x2.getDate();
			}

//			eval("document." + nombreForm + "." + nombreInputFrom).value = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();
			eval("document." + nombreForm + "." + nombreInputFrom).value = x2.getFullYear() + "/" + ho + "/" + nap;
		}
		nameForm = nombreForm;
        nameInputFrom = nombreInputFrom;
        nameInputTo = nombreInputTo;
        nameSelectNights = nombreSelectNights;
        commonFrom();
    }

	function commonFrom() {
//		alert( 'cf' );
//		alert( '3' );
	    var from = eval("document." + nameForm + "." + nameInputFrom).value;
		var to = '';
		if (nameInputTo !='') eval("document." + nameForm + "." + nameInputTo).value;
		if	(arguments.length == 0) {
			if (!isDate(from,dFormat)) {
				//alert (calr_key945);  // a tobbnyelvusitesnel beakadt ki tuggya miert...
				eval("document." + nameForm + "." + nameInputFrom).value = fieldValue;
				eval("document." + nameForm + "." + nameInputFrom + ".focus()");
				return;
			}
/* prof!!! kikommenteztem ezt itten, ez csinalja hogy mait ne lehessen foglalni, de nezd mar meg hogy mashova nem kavar e be!
			if (compareDates(from,dFormat,formatDate(now,dFormat),dFormat) == 0) {
				alert (calr_key950);
				eval("document." + nameForm + "." + nameInputFrom).value = fieldValue;
				eval("document." + nameForm + "." + nameInputFrom + ".focus()");
				return;
			}
*/
			if ((to != fieldValue) && (to != '') && (compareDates(to,dFormat,dateFrom,dFormat) == 0)) {
				alert (calr_key949);
				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			var temp = new Array();
//			alert( 'előtte: ' + from );
			from = convertDateFormat(from);
//			alert( 'utána: ' + from );
			temp = from.split('/');
//			alert( temp[ 0 ] );
//			d1 = temp[0]; m1 = temp[1]; y1 = temp[2];
			d1 = temp[2]; m1 = temp[1]; y1 = temp[0];
			if ((y1 < now.getFullYear()) || (y1 > now.getFullYear() + 1)) {
				alert (calr_key947);
				eval("document." + nameForm + "." + nameInputFrom + ".focus()");
				return;
			}
			dateFrom = completeDate(from);
		} else {
			d1 = arguments[2]; m1 = arguments[1]; y1 = arguments[0];
//			dateFrom = completeDate(d1 + "/" + m1 + "/" + y1);
			dateFrom = completeDate(y1 + "/" + m1 + "/" + d1);

		}
		dateTo = dateFrom;
		eval("document." + nameForm + "." + nameInputFrom).value = dateFrom;
		cal2.enableAllDates();
		cal2.addDisabledDates( null , calculateFinalDate( dateFrom , -1 ) , dFormat );

//		alert( dateFrom + '____' + numNights );
		if ((nameSelectNights != '') && (nameInputTo !='')) {
			var dateLimit = calculateFinalDate(dateFrom,numNights);
//			alert( dateLimit );
			cal2.addDisabledDates(calculateFinalDate(dateLimit,1),null,dFormat);
			// marcar campos
			if (eval("document." + nameForm + "." + nameSelectNights + '.selectedIndex') != 0)
				returnNights(nameForm, nameInputFrom, nameInputTo, nameSelectNights);
			else
				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
		}
     }

     /*  Funcion que se ejecuta al clicar el calendario To */
     function viewToCal(nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights, linkname, format, dateFrom ) {
        nameForm = nombreForm;
        nameInputFrom = nombreInputFrom;
        nameInputTo = nombreInputTo;
        nameSelectNights = nombreSelectNights;
		cal2.enableAllDates();

		if (dFormat == 'dd/MM/yyyy') {

			tmpdate = eval("document." + nameForm + "." + nameInputFrom).value;
			temp = tmpdate.split('/');
			//alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
			temp2 = temp[2] + "/"+ temp[1] + "/" + temp[0];

			var innen = new Date( temp2 );
		}
		else {
			var innen = new Date( eval("document." + nameForm + "." + nameInputFrom).value );
		}

		var x3 = new Date( innen.getTime() + 2678400000 );	// 30 nap
		stringX = x3.getFullYear() + "/" + ( x3.getMonth() + 1 ) + "/" + x3.getDate();
		cal2.addDisabledDates( stringX , null , dFormat );

		cal2.addDisabledDates( null , calculateFinalDate( eval("document." + nameForm + "." + nameInputFrom).value, 0 ) , dFormat );

        cal2.setReturnFunction('commonTo');
	    cal2.select(eval("document." + nameForm + "." + nameInputTo), linkname, format, dateTo);
    }


		 /* a biztositas menuhoz */
     function viewToCalIns(nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights, linkname, format, dateFrom ) {
        nameForm = nombreForm;
        nameInputFrom = nombreInputFrom;
        nameInputTo = nombreInputTo;
        nameSelectNights = nombreSelectNights;
		cal2.enableAllDates();
//		var akkor = new Date( from );
//		var x2 = new Date( akkor.getTime() + 86400000 );
//		string = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();

//		alert(calculateFinalDate( eval("document." + nameForm + "." + nameInputFrom).value , 0 ));
//		alert(dFormat);


		if (dFormat == 'dd/MM/yyyy') {

			tmpdate = eval("document." + nameForm + "." + nameInputFrom).value;
			temp = tmpdate.split('/');
			//alert( temp[2] + "/"+ temp[1] + "/" + temp[0] );
			temp2 = temp[2] + "/"+ temp[1] + "/" + temp[0];

			var innen = new Date( temp2 );
		}
		else {
			var innen = new Date( eval("document." + nameForm + "." + nameInputFrom).value );
		}

	//	var innen = new Date( eval("document." + nameForm + "." + nameInputFrom).value );
		//var x3 = new Date( innen.getTime() + 2678400000 );	// 30 nap
		var x3 = new Date( innen.getTime() + 32140800000 );	// 30 nap
		stringX = x3.getFullYear() + "/" + ( x3.getMonth() + 1 ) + "/" + x3.getDate();
		cal2.addDisabledDates( stringX , null , dFormat );

		var xm = String(x3.getMonth());
//		alert("xm: " + xm);
//		alert("xm.length: " + xm.length);
		if (xm.length == 1) {
			xm = "0" + x3.getMonth();
		} else {
			xm = x3.getMonth();
		}
//		alert("xm: " + xm);

		var xd = String(innen.getDate());
//		alert("xd: " + xd);
//		alert("xd.length: " + xd.length);
		if (xd.length == 1) {
			xd = "0" + innen.getDate() - 1;
		} else {
			xd = innen.getDate() - 1;
		}
//		alert("xd: " + xd);

		stringY = innen.getFullYear() + "/" + ( xm ) + "/" + ( xd );
//		alert("stringY: " + stringY);
//		alert(eval("document." + nameForm + "." + nameInputFrom).value);
//		alert(stringY);
		cal2.addDisabledDates( null , calculateFinalDate( stringY, 0 ) , dFormat );
//		cal2.addDisabledDates( null , calculateFinalDate( eval("document." + nameForm + "." + nameInputFrom).value, 0 ) , dFormat );

        cal2.setReturnFunction('commonTo');
	    cal2.select(eval("document." + nameForm + "." + nameInputTo), linkname, format, dateTo);
    }


    /*  Funcion que se ejecuta al modificar a mano el calendario To */
    function returnTo(nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights) {
        nameForm = nombreForm;
        nameInputFrom = nombreInputFrom;
        nameInputTo = nombreInputTo;
        nameSelectNights = nombreSelectNights;
        commonTo();
    }

	function commonTo() {
//		alert( 'ct' );
	    var from = eval("document." + nameForm + "." + nameInputFrom).value;
		var to = eval("document." + nameForm + "." + nameInputTo).value;
		var ejszakak = eval("document." + nameForm + "." + nameSelectNights).value;
		numNights = ejszakak;
		if	(arguments.length == 0) {
			if (!isDate(to,dFormat)) {
				alert (calr_key945);
				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			if (compareDates(to,dFormat,formatDate(now,dFormat),dFormat) == 0) {
				alert (calr_key950);
				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			if ((to != fieldValue) && (compareDates(to,dFormat,dateFrom,dFormat) == 0)) {
				alert (calr_key949);
				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			var dateLimit = calculateFinalDate(dateFrom,numNights);

//			alert( 'ej: ' + ejszakak );
//			alert( from + ' és ' + fieldValue );
//			alert( nameSelectNights );
//			alert( dateLimit + ' és ' + to + ' és ' + dFormat );
			if ((from != fieldValue)&& (nameSelectNights != '') && (compareDates(dateLimit,dFormat,to,dFormat) == 0)) {
//				alert (calr_key951 +" "+ numNights + " "+calr_key952);
//				eval("document." + nameForm + "." + nameInputTo).value = fieldValue;
				eval("document." + nameForm + "." + nameInputTo).value = to;
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			var temp = new Array();
			to = convertDateFormat(to);
			temp = to.split('/');
//			d1 = temp[0]; m1 = temp[1]; y1 = temp[2];
			d1 = temp[2]; m1 = temp[1]; y1 = temp[0];
			if ((y1 < now.getFullYear()) || (y1 > now.getFullYear())) {
				alert (calr_key947);
				eval("document." + nameForm + "." + nameInputTo + ".focus()");
				return;
			}
			dateTo = completeDate(to);
//			alert(dateTo);
		} else {
			d1 = arguments[2];
			m1 = arguments[1];
			y1 = arguments[0];
//			dateTo = completeDate(d1 + "/" + m1 + "/" + y1);
			dateTo = completeDate(y1 + "/" + m1 + "/" + d1);
//			alert(dateTo);
		}
		eval("document." + nameForm + "." + nameInputTo).value = dateTo;

		var akkor = new Date( from );
		var x2 = new Date( akkor.getTime() + 86400000 );
		string1 = x2.getFullYear() + "/" + ( x2.getMonth() + 1 ) + "/" + x2.getDate();

		var eddig = new Date( string1 );
		var x3 = new Date( eddig.getTime() + 2592000000 );	// 30 nap
		string2 = x3.getFullYear() + "/" + ( x3.getMonth() + 1 ) + "/" + x3.getDate();

		cal2.enableAllDates();
		cal2.addDisabledDates( null , string1 , dFormat );
		cal2.addDisabledDates( string2 , null , dFormat );


        if ((from != fieldValue) && (nameSelectNights != '')) {
//			alert( from + ' és ' + dateTo + ' és ' + to );
//			restaFechas( convertDateFormat( from ) , convertDateFormat( dateTo ) );
			eval("document."+ nameForm + "." + nameSelectNights).selectedIndex = restaFechas(convertDateFormat(from), convertDateFormat(dateTo));
		}
    }

	/* Funcion que se ejecuta al modificar las noches */
	function returnNights (nombreForm, nombreInputFrom, nombreInputTo, nombreSelectNights) {
		var from = eval("document." + nombreForm + "." + nombreInputFrom).value;
		var nights = '';
		if (typeInputNights=='combo')
		    nights = eval("document." + nombreForm + "." + nombreSelectNights + ".options").selectedIndex;
		else
            nights = eval("document." + nombreForm + "." + nombreSelectNights ).value;
		if ((from != fieldValue) && (!isNaN(eval(nights)))) {
			// fijar variable global
			from = completeDate(calculateFinalDate(from,nights));
			dateTo = convertDateFormat2(from);
			// marcar campo
			eval("document."+ nombreForm + "." + nombreInputTo).value = dateTo;
		}
	}
	function restaFechasCal(string1, string2) {
  	  /*Las fechas han de llegar con el siguine te formato para que funcione dd/mm/yyyy*/
		var date1 = new Date();
		date1 = creaFecha(string1);
		var date2 = new Date();
		date2 = creaFecha(string2);
		// The number of milliseconds in one day
		  if (date2 < date1){
		        alert(calr_key945);
		        sendIt = false;
		        return -1;
		   }else {
            var ONE_DAY = 1000 * 60 * 60 * 24;

            // Convert both dates to milliseconds
            var date1_ms = date1.getTime();
            var date2_ms = date2.getTime();

            // Calculate the difference in milliseconds
            var difference_ms = Math.max(0, date2_ms - date1_ms);

            // Convert back to days and return
            return Math.round(difference_ms/ONE_DAY);
        }
	}




