    function formatNumber(num,prefix){
    prefix = prefix || '';
    num += '';
    var splitStr = num.split('.');
    var splitLeft = splitStr[0];
    var splitRight = splitStr.length > 1 ? '.' + splitStr[1] : '';
    var regx = /(\d+)(\d{3})/;
    while (regx.test(splitLeft)) {
    splitLeft = splitLeft.replace(regx, '$1' + ',' + '$2');
    }
    return prefix + splitLeft + splitRight;
    }

    function unformatNumber(num) {
    return num.replace(/([^0-9\.\-])/g,'')*1;
    }  
    
  
function annoBisiesto(anno)
{
	return ( (anno % 4 == 0 && anno % 100 != 0) || (anno % 400 == 0) );
}

function fechaCorrecta(dia, mes, anno)
{
	var diasMes	 = new Array(31,29,31,30,31,30,31,31,30,31,30,31);
	
	//dia = parseInt(dia); // devuelve 0 con dia 08 y 09
	//alert(dia+"-"+mes+"-"+anno);
	//mes = parseInt(mes); // devuelve 0 con mes 08 y 09
	//alert(dia+"-"+mes+"-"+anno);
	
	dia = dia.charAt(0)=='0'?dia.charAt(1):dia;
	mes = mes.charAt(0)=='0'?mes.charAt(1):mes;
	
	if (dia<1 || dia>diasMes[mes-1] || mes<1 || mes>12 || anno<1900 || anno>2100) {
		return false;
	}
	//alert("pasa");
	if (mes == 2 && dia>28 && !annoBisiesto(anno)) {
		return false;
	}
	
	return true;
}

function fechaActual()
{
	var fecha = new Date();
    var dia = fecha.getDate();
	if (dia < 10)
	   dia = '0'+dia;
    var mes = fecha.getMonth ()+1;
	if (mes < 10)
		mes = '0'+mes;
    var anio = fecha.getYear();
	if(!document.all) // Para Netscape
  		anio=anio+1900;
	else if (anio >= 80 && anio <= 99)
   		 anio = '19' + anio;
   
   var f = anio+'-'+mes+'-'+dia;

   
   return f;
}

//function setFecha() {

//	var fecha = new Date();
//    var dia = fecha.getDate();	
//    var mes = fecha.getMonth ()+1;
//    var anio = fecha.getYear()+1900;

	
//	$$('.diaentrada')[0].selectedIndex = dia;
//	$$('.mesentrada')[0].selectedIndex = mes;
//	$$('.diasalida')[0].selectedIndex = dia+1;
//	$$('.messalida')[0].selectedIndex = mes;
	
//	for(i=0; i<$$('.anoentrada')[0].length; i++) {
//		if($$('.anoentrada')[0].options[i].value == anio) {
//			$$('.anoentrada')[0].selectedIndex = i;
//			$$('.anosalida')[0].selectedIndex = i;
//		}
//	} 

//}


function vacio(q) {  
	if(q=="") {
		return true;
	} else {
		return false;
	}
} 

function dateFormat(fecha) {
	var fechaE = fecha;
	arrFechaE= fechaE.split('-');
	var fechaConv = arrFechaE[2]+"-"+arrFechaE[1]+"-"+arrFechaE[0];
	return fechaConv
}

function dateDays(fecha) {
	var fechaE = fecha;
	arrFechaE= fechaE.split('-');
	
	var fechaDate = new Date(arrFechaE[2],arrFechaE[1],arrFechaE[0],12,0,0);

	return fechaDate
}

function validar()
{
	var form = document.Formular;
	
	//var diaE = form.dia_entrada.options[form.dia_entrada.selectedIndex].value;
	//var mesE = form.mes_entrada.options[form.mes_entrada.selectedIndex].value;
	//var annoE = form.ano_entrada.options[form.ano_entrada.selectedIndex].value;
		
	if(vacio(form.fecha_entrada.value)) {
		alert("Debe introducir una fecha de entrada");
		form.fecha_entrada.focus();
		return false;		
	}

	if(vacio(form.fecha_salida.value)) {
		alert("Debe introducir una fecha de salida");
		form.fecha_salida.focus();
		return false;		
	}	
	
	var fechaEntrada = form.fecha_entrada.value;
	var fechaSalida = form.fecha_salida.value;
	
	var fechaE = dateFormat(fechaEntrada);	
	var fechaS = dateFormat(fechaSalida);
	
	
	
	
	if (fechaE <= fechaActual()) {
		alert("La fecha de entrada debe ser posterior a la fecha actual");
		form.fecha_entrada.focus();
		return false;
	}
	
	if (fechaS <= fechaE) {
		alert("La fecha de salida debe ser posterior a la de entrada");
		form.fecha_salida.focus();
		return false;
	} 
		
	return true;
	
}

function calcularPrecio() {

	
		var form = document.Formular;
		var precioHab = 24;
		var numHab = form.habitaciones.options[form.habitaciones.selectedIndex].value;
		
		var tipoHab = form.tipo_habitacion.options[form.tipo_habitacion.selectedIndex].value;
		
		if(tipoHab == "Individual") {
			var precioHab = 58;
		} else if(tipoHab == "Doble") {
			var precioHab = 35;
		} else if(tipoHab == "Triple") {
			var precioHab = 40;
		} else {
			return false;
		}
		if (dateFormat(form.fecha_entrada.value) <= fechaActual()) { 
			//alert(dateFormat(form.fecha_entrada.value) +" . "+ fechaActual());
			$("td_mensaje_precio").innerHTML = "<p id='mensaje_precio' class='reservas_intro_nok'>Introduzca una fecha superior a la de hoy</p>";
			$("mensaje_precio").className = "reservas_intro_nok";
			return false;
		} else if(vacio(form.fecha_entrada.value) || vacio(form.fecha_salida.value) ) {
			$("td_mensaje_precio").innerHTML = "<p id='mensaje_precio' class='reservas_intro_nok'>Debe seleccionar fecha de <strong>entrada</strong>, fecha de <strong>salida</strong>, n&uacute;mero de <strong>habitaciones</strong> y <strong>tipo</strong> de habitaci&oacute;n para conocer el precio de su estancia.</p>";
			$("mensaje_precio").className = "reservas_intro_nok";		
			return false;
		} else if(dateFormat(form.fecha_entrada.value) >= dateFormat(form.fecha_salida.value)) {
			$("td_mensaje_precio").innerHTML = "<p id='mensaje_precio' class='reservas_intro_nok'>La fecha de salida debe ser posterior a la de entrada.</p>";
			$("mensaje_precio").className = "reservas_intro_nok";
			return false;		
		}  else {
			
			var fechaEntrada = form.fecha_entrada.value;
			var fechaSalida = form.fecha_salida.value;
			//alert("entrada= "+fechaEntrada);
		
			var fechaE = dateDays(fechaEntrada).getTime();	
			var fechaS = dateDays(fechaSalida).getTime();
		
			var dias =  form.habitaciones.value;
			var MSxDia=24*60*60*1000;
			var restaFechas = fechaS - fechaE;
			
			var numDias = restaFechas / MSxDia;
			
			
			numDias = Math.floor(numDias);
		
			//alert(fechaE + " - " + fechaS + " = " + restaFechas);			
			var precioFinal = formatNumber(numDias*precioHab*dias);
			
			form.in_precio_calc.value = precioFinal;
			
			$("precio_calc").innerHTML = "<p>"+precioFinal+" &euro;</p>";
			$("td_mensaje_precio").innerHTML = "<p id='mensaje_precio' class='reservas_intro'>Precio/persona con alojamiento y desayuno, incluido IVA.</p>"
			$("mensaje_precio").className = "reservas_intro";
			$("precio_calc").className = "precio_calc";
}
	
}




Event.observe(window, 'load', calcularPrecio);