var cadenaLetras = 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ';
var aLineasHabitaciones = [];
var lineaHabitaciones = -1;
var fechaSalida = date2String(new Date());
var fechaLlegada = date2String(new Date());
var tipoHabitacion = -1;
var nombreHabitacion = '';
var tipoCama = 0;
var horaLlegada = 15;
var diasEstadia = 1;
var cantHab = 1;
var adultos = 0;
var childs = 0;
var importeHabitacion = 0;
var supAdultos = 0;
var supChilds = 0;
var bMuestrHabitaciones = false;
var trseleccion = "";
var totalReserva = 0;
var nosConocio = -1;
var cadDatosHabitaciones = '';

var colorBoton;

var selectAdultos ='<select id="adultos" style="margin-left:15px;">';	
selectAdultos +='<option value="1">1</option>';	
selectAdultos +='<option value="2">2</option>';	
selectAdultos +='<option value="3">3</option>';	
selectAdultos +='<option value="4">4</option>';	
selectAdultos +='<option value="5">5</option>';	
selectAdultos +='</select>';	

var selectChilds ='<select id="childs" style="margin-left:7px;">';	
selectChilds +='<option value="0">0</option>';	
selectChilds +='<option value="1">1</option>';	
selectChilds +='<option value="2">2</option>';	
selectChilds +='<option value="3">3</option>';	
selectChilds +='<option value="4">4</option>';	
selectChilds +='<option value="5">5</option>';	
selectChilds +='</select>';	
	

 
function iniciarSELECCION(){
	eligioFecha = false;
	trseleccion = $("#TDSELECCION").html();
	$("#manitoHabitacion").attr("src","img/formulario/manitoBlink.gif");
	tipoHabitacion = -1;
	nombreHabitacion = '';
	tipoCama = 0;
	//horaLlegada = 10;
	//diasEstadia = 2;
	cantHab = 1;
	adultos = 0;
	childs = 0;
	importeHabitacion = 0;
	supAdultos = 0;
	supChilds = 0;
//	diasEstadia = 1;
	
	$("#LBLfechaLlegada").click(function(){
		mostrarSelectFecha();
	}).css("cursor","pointer");
	$("#LBLhoraLlegada").click(function(){
		mostrarSelectFecha();
	}).css("cursor","pointer");
	$("#LBLnoches").click(function(){
		mostrarSelectFecha();
	}).css("cursor","pointer");
//	$("#LBLfechaSalida").click(function(){
//		mostrarSelectFecha();
//	}).css("cursor","pointer");
	$("#DIVhabitaciones").appendTo("#DIVmuestrahabitaciones");

	$(".muestraHabitacion").click(function(){
		mostrarHabitaciones();
	}).css("cursor","pointer");
	
	$(".BTNpasosForm").click(function(){
	}).css("cursor","pointer");
	
//	$("#DIVtipoHabitacion").click(function(){
//		mostrarHabitaciones();
//	});
//	
//	$("#TDeuros").click(function(){
//		mostrarHabitaciones();
//	});
//	$("#TDcama").click(function(){
//		mostrarHabitaciones();
//	});

	$("#DIVadultos").css("cursor","pointer").click(function(){
		$(this).html(selectAdultos).unbind("click");
	});
	$("#DIVchilds").css("cursor","pointer").click(function(){
		$(this).html(selectChilds).unbind("click");
	});
	$("#adultos").change(function(){
		importeHabitacion = calcularPrecioLinea();	
		mostrarPreciosHabitacion();
	});
	$("#childs").change(function(){
		importeHabitacion = calcularPrecioLinea();		
		mostrarPreciosHabitacion();
	});
}

function fcomoNosConocio(id) {
	nosConocio = id;
}

function mostrarSelectFecha(){
	eligioFecha = true;
	$("#TBHABITACIONES").slideUp("slow");
	mostrarLlegada();
	mostrarSalida();
	$("#DIVfechaHora .ui-widget-content").removeClass("ui-bordeON");
//	$("#DIVfechaHora .ui-widget-content").addClass("ui-bordeOFF");
	$("#DIVcalendario").find(".ui-widget-content").addClass("ui-bordeON");
	$("#DIVfechaHora").slideToggle();
	$.scrollTo($("#DIVfechaHora"));
}

$(function(){
	iniciarSELECCION();
	if (hotelm=='barcelona') {
		colorBoton = "#014568";
	}else{
		colorBoton = "#4A3402";
	}
	$(".cNc").mouseover(function(){
		$(this).addClass("conocioSeleccionado");
	}).mouseout(function(){
		var id = this.id.split("_");
		if (nosConocio != id[1]) {
			$(this).removeClass("conocioSeleccionado");
		}
	}).click(function(){
		var id = this.id.split("_");
		fcomoNosConocio(id[1]);
		$(".cNc").removeClass("conocioSeleccionado");
		$(this).addClass("conocioSeleccionado");
	}).css("cursor","pointer");

	$("#continuarFechaHora").click(function(){
		$("#TDeuros").find("img").attr("src","img/formulario/manitoBlink.gif");
		$("#DIVfechaHora").slideUp();
		scrollAgregarHabitacion();
		//mostrarHabitaciones();	
	}).css("cursor","pointer");
	
	$("#nuevaHabitacionSI").click(function(){
		iniciarSELECCION();
		$.modal.close();
		scrollAgregarHabitacion();
	}).mouseover(function(){
		$(this).css("color","green");
	}).mouseout(function(){
		$(this).css("color","red");
	}).css("cursor","pointer");
	
	$("#nuevaHabitacionNO").click(function(){
		iniciarSELECCION();
		$("#manitoHabitacion").attr("src","img/formulario/manito.gif");
		$.modal.close();
		mostrarForm('TBdatosPersonales');
		$("#nombre").focus();
		$.scrollTo($("#DIVhabitaciones"));
		$(".BTNagregaHab").qtip({
			   //content: 'This is an active list element',
			   show: { when: { event: 'mouseover' } } ,
			   hide: { when: { event: 'unfocus' } } ,
			   position: {
	      		corner: {
					 target: 'bottomRight',
					 tooltip: 'topRight'
					  }
			   	},
			   style: 'mystyle'
			});
	}).mouseover(function(){
		$(this).css("color","green");
	}).mouseout(function(){
		$(this).css("color","red");
	}).css("cursor","pointer");
	
	$("#enviarFormulario").click(function(){
		if (validar()){
			$("#Freservas").submit();
		}
	}).css("cursor","pointer");	
		
	$("#continuarDatos").click(function(){
		if (validar()){
			mostrarForm('TBtarjetaCredito');
			$(".BTNagregaHab").qtip({
				//content: 'This is an active list element',
				show: { when: { event: 'mouseover' } } ,
				hide: { when: { event: 'unfocus' } } ,
				position: {
					corner: {
					target: 'bottomRight',
					tooltip: 'topRight'
				}
				},
				style: 'mystyle'
			});
		}
	}).css("cursor","pointer");

	$("#continuarTarjeta").click(function(){
		mostrarForm('TBenviar');
	}).css("cursor","pointer");
	
	$(".DIVoption").mouseover(function(){
		$(this).addClass("DIVoptionOn");
	}).mouseout(function(){
		$(this).removeClass("DIVoptionOn");
	});
	
	//dayNamesMin: ['Dom', 'Lun', 'Mar', 'Mi&eacute;', 'Jue', 'Vie', 'S&aacute;b'],
	
	$("#DIVcalendario").datepicker(calendario);
	$("#DIVdias").slider({
		range: "max",
		min: 1,
		max: 20,
		value: diasEstadia,
		slide: function(event, ui) {
			$("#SLBLdias").html(ui.value );
			diasEstadia = ui.value;
			mostrarSalida();
			
		},
		stop: function(){
			$("#DIVfechaHora .ui-widget-content").removeClass("ui-bordeON");
			$(".DIVsliders2").addClass("ui-bordeON");
			$(".DIVsliders .ui-slider-handle").css("background",colorBoton);
			$(".DIVsliders2 .ui-slider-handle").css("background","red url(img/formulario/manitoBlink.gif) no-repeat");

		},
		start: function(){
			$("#DIVfechaHora .ui-widget-content").removeClass("ui-bordeON");
			$(".DIVsliders").addClass("ui-bordeON");
			$(".DIVsliders2 .ui-slider-handle").css("background",colorBoton);
			$(".DIVsliders .ui-slider-handle").css("background","red url(img/formulario/manitoBlink.gif) no-repeat");

		}

	});
	$("#DIVhoraLlegada").slider({
		range: "min",
		min: 1,
		max: 24,
		value: horaLlegada,
		slide: function(event, ui) {
			horaLlegada = ui.value;
			$("#SLBLhoraLlegada").html(horaLlegada+" hs.");
			$("#LBLhoraLlegada").html('<span class="fontSeleccion2">'+horaLlegada+" hs.</span>");
			$(".DIVsliders2 .ui-slider-handle").css("background",colorBoton);
		},
		start: function(){
			$("#DIVfechaHora .ui-widget-content").removeClass("ui-bordeON");
			$(".DIVsliders2").addClass("ui-bordeON");
			$(".DIVsliders .ui-slider-handle").css("background",colorBoton);
			$(".DIVsliders2 .ui-slider-handle").css("background","red url(img/formulario/manitoBlink.gif) no-repeat");

		}
	});

	$(".IMGcama").mouseover(function(){
			var archivo = $(this).attr("src").split(".");
			$(this).attr("src", archivo[0]+"-flor.gif");
//			$(this).addClass("camaOver");
		}).mouseout(function(){
			var archivo = $(this).attr("src").replace("-flor","");
			$(this).attr("src", archivo);
//			$(this).removeClass("camaOver");z
		}).click(function(){
			cambiaHabitacion(this.id);
			$("#DIVadultos").find("img").attr("src","img/formulario/manitoBlink.gif");
			scrollAgregarHabitacion();
			//$("#DIVadultos").html(selectAdultos).unbind("click");
		}).css("cursor","pointer");
});

function mostrarPreciosHabitacion(){
	$("#eurosSupAdultos").html(sup_ad * supAdultos);
	$("#eurosSupChild").html(sup_ni * supChilds);
	$("#eurosNoche").html(importeHabitacion);
}

function mostrarSalida(){
	fechaSalida = sumarDias(fechaLlegada, diasEstadia);
	$("#LBLnoches").html('<span class="fontSeleccion3 ">'+diasEstadia+"</span>");
	$("#SLBLfechaSalida").html(queFecha(fechaSalida));
	$("#SLBLdeparture").html(queFecha(fechaSalida));
	$("#LBLfechaSalida").html('<span class="fontSeleccion2">'+queDia(fechaSalida)+"/"+queMes(fechaSalida)+"/"+queAnio(fechaSalida)+"</span>");

}

function mostrarLlegada(){
	$("#LBLfechaLlegada").html('<span class="fontSeleccion2">'+queDia(fechaLlegada)+"/"+queMes(fechaLlegada)+"/"+queAnio(fechaLlegada)+"</span>");
	$("#LBLhoraLlegada").html('<span class="fontSeleccion2">'+horaLlegada+" hs.</span>");
}

function selectLlegada(dateText, inst){
	//$("#DIVfLlegada").hide();
	fechaLlegada = dateText;
	mostrarLlegada();
	mostrarSalida();
	$("#DIVfechaHora .ui-widget-content").removeClass("ui-bordeON");
	$(".DIVsliders").addClass("ui-bordeON");
	$(".DIVsliders .ui-slider-handle").css("background","red url(img/formulario/manitoBlink.gif) no-repeat");
	$(".DIVsliders2 .ui-slider-handle").css("background",colorBoton);
}

function mostrarHabitaciones(){
//	if (!bMuestrHabitaciones) {
		$("#DIVfechaHora").slideUp();
		$("#TBHABITACIONES").slideDown();
		scrollAgregarHabitacion();
//		bMuestrHabitaciones = true;
//	}
}

function cambiaHabitacion(id){

	tipoCama = parseInt(id.substr(2,1));
	tipoHabitacion = parseInt(id.substr(4,1));
	nombreHabitacion = nhabitacion[tipoHabitacion];
//	nombreHabitacion = nombreHabitacion.replace(" ", "<br />");
	
	$("#DIVtipoHabitacion").html(nombreHabitacion);
	//	$("#TDcama").html(camahabitacion[sel]);
	switch (tipoCama){
		case 0:
			$("#TDcama").html('<img src="img/formulario/'+hotelm+'/individual.gif">');
			break;
		case 1:
			$("#TDcama").html('<img src="img/formulario/'+hotelm+'/king.gif">');
			break;
		case 2:
			$("#TDcama").html('<img src="img/formulario/'+hotelm+'/dos-camas.gif">');
			break;
	}
	
	$("#TBHABITACIONES").slideUp();
	tipoCama++;
	$("#TDeuros").html("&euro;&nbsp;"+precios[tipos[tipoHabitacion]+"_"+tipoCama]);
	$("#adultos").focus();
	scrollAgregarHabitacion();
	bMuestrHabitaciones = false;
}


function scrollAgregarHabitacion(){
	$.scrollTo( {top:'200px', left:'10px'} );
}



function calcularPrecioLinea(){	
	
	var sobran = (adultos + childs) - (cantHab * capacidadAdultos[tipoHabitacion]);
	supAdultos = supChilds = 0;
	if (sobran>0){
		supAdultos = sobran - childs;
		supChilds = childs
	}
	var precioLinea = cantHab * preciosHab[tipoHabitacion] + supAdultos * sup_ad + supChilds * sup_ni;
	precioLinea = isNaN(precioLinea) ? 0 : precioLinea;
	return precioLinea;
}


function calcularTotal(){
//	return true;
	var TGnoche = 0;
	var TGtotal = 0;
	var TGadultos = 0;
	var TGchilds = 0;
	var TGadultosE = 0;
	var TGchildsE = 0;
	var hayQueMostrar = false;
	$.each( aLineasHabitaciones, function(a, n){
		var linea = aLineasHabitaciones[a];
		if (!linea.eliminado){
			TGnoche += parseInt(linea.precioNoche);
			TGtotal += parseInt(linea.precioNoche) *  parseInt(linea.diasEstadia);
			
			TGadultos += parseInt(linea.adultos);
			TGchilds += parseInt(linea.childs);
			TGadultosE += parseInt(linea.adultosE);
			TGchildsE += parseInt(linea.childsE);
			hayQueMostrar = true;
		}
	});
	if (hayQueMostrar) {
		$("#DIVhabitaciones").slideDown();
	}else {
		$("#DIVhabitaciones").slideUp();
	}
	$("#totEurosNoche").html(formatNumber(TGnoche, "###,##0"));
	$("#totReserva").html(formatNumber(TGtotal, "###,##0"));
	$("#totAdultos").html(TGadultos);
	$("#totChild").html(TGchilds);
	$("#totEurosSupAdultos").html(formatNumber(TGadultosE, "###,##0"));
	$("#totEurosSupChild").html(formatNumber(TGchildsE, "###,##0"));
	totalReserva = TGtotal;
}

function agregarLinea(){

	if(!eligioFecha) {
		alert(LBLindiqueFechaLlegada);
		return false;
	}
	
	adultos =  childs = 0;
	try{
		adultos = parseInt($("#adultos").val());
	}catch (ex){
	}
	adultos = isNaN(adultos) ? 0 : adultos;
	//$("#adultos").val(adultos);
	try{
		childs = parseInt($("#childs").val());
	}catch (ex){
	}
	childs = isNaN(childs) ? 0 : childs;
	//$("#childs").val(childs);


	$("#DIVfechaHora").slideUp();
	$("#TBHABITACIONES").slideUp();
	
	if ( tipoHabitacion < 0){
		alert(LBLelijaHabitacion);
		return false;
	}
	if( adultos < 1 || isNaN(adultos)){
		alert(LBLindiqueAdultos);
		$("#adultos").get(0).focus();
		return false;
	}
	if ( isNaN(childs) ) childs = 0;
	if ( (maximos[tipoHabitacion] * cantHab) < (adultos + childs) ){
		alert(LBLexcedidoPAX);
		return false;
	}
	var precioNoche = calcularPrecioLinea();
	lineaHabitaciones++ ;
	if (aLineasHabitaciones.length == 0){
		//$("#TRVACIO").hide();
	}
	var adultosE = $("#eurosSupAdultos").html();
	var childsE = $("#eurosSupChild").html();
	switch ((tipoCama-1)){
	case 0:
		var lacama ='<img src="img/formulario/'+hotelm+'/individual-flor.gif">';
		//tipoCama = 1;
		break;
	case 1:
		var lacama ='<img src="img/formulario/'+hotelm+'/king-flor.gif">';
		break;
	case 2:
		var lacama ='<img src="img/formulario/'+hotelm+'/dos-camas-flor.gif">';
		break;
	}
	
	
	aLineasHabitaciones[lineaHabitaciones] = {
			fechaLlegada: fechaLlegada, 
			fechaSalida: fechaSalida, 
			horaLlegada: horaLlegada, 
			cantHab: cantHab, 
			tipoHabitacion: tipoHabitacion, 
			nombreHabitacion: nombreHabitacion, 
			tipoCama: tipoCama, 
			diasEstadia: diasEstadia, 
			adultos: adultos, 
			childs: childs, 
			adultosE: adultosE, 
			childsE: childsE, 
			precioNoche: precioNoche,
			eliminado: false,
			comoNosConocio: nosConocio
	};
	if (cuentaLHabitaciones() == 1) {
		$("#lineasHabitaciones").html("");
	}
	//alert(tipoCama);
	
	var laletra=cadenaLetras.substr(cuentaLHabitaciones()-1,1);
	 var html='<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" id="HAB_'+lineaHabitaciones+'" class="textosVarios2" >';
	 html+='<tr>';
	 html+='   <td width="36" height="32" align="center">&nbsp;<label class="BTNletraLinea">'+laletra+'</label></td>';
	 html+='   <td width="82" align="center">'+$("#LBLfechaLlegada").html()+'</td>';
	 html+='   <td width="63" align="center">'+horaLlegada+'</td>';
	 html+='   <td width="67" align="center">'+diasEstadia+'</td>';
	 html+='   <td width="85" align="center">'+$("#LBLfechaSalida").html()+'</td>';
	 html+='   <td align="center" >'+nhabitacion2[tipoHabitacion]+'</td>';
	 html+='   <td width="70" align="center">'+$("#TDeuros").html()+'</td>';
	 html+='   <td width="100" align="center">'+lacama+'</td>';
	 html+='   <td width="63" align="center">'+adultos+'</td>';
	 html+='   <td width="54" align="center">'+childs+'</td>';
	 html+='   <td width="60" align="center">&euro; '+formatNumber(precioNoche, "###,##0")+'</td>';
	 html+='   <td width="89" align="center">&euro; '+formatNumber(precioNoche * diasEstadia, "###,##0")+'</td>';
	 html+='   <td width="44" align="center"><div class="BTNeliminar" id="BTNeliminar_'+lineaHabitaciones+'"><img src="images/blank.gif" border="0" width="20" heigth="20"></td>';
	 html+='</tr>';
	 html+='</table>';
	
	$("#lineasHabitaciones").append(html).show();
	$("#DIVhabitaciones").appendTo("#DIVoculto");
	$("#TDSELECCION").html(trseleccion);
	$("#FRMtotales").show();
	$("#FRMresumenCabecera").show();
	$("#BTNeliminar_"+lineaHabitaciones).click(function(){
		var lineas = this.id.split("_"); 
		eliminarLinea(lineas[1]);
	}).css("cursor", "pointer");
	calcularTotal();

	var posX = ($(window).width()/2) - ($('#agregaHabitacion').width()/2);
	var habLineas = 0;
	for (var a = 0; a < aLineasHabitaciones.length; a++){
		if (!aLineasHabitaciones[a].eliminado){
			habLineas++;
		}
	}
	
	
	//$.scrollTo('#DIVhabitaciones');
	
	var posY = 80 + (habLineas * 32);
	posY = 256;
	//alert (posY);
	$('#agregaHabitacion').modal({
		opacity: 50,
		position: [posY,posX],
		//autoPosition:false,

		overlayCss: {
			backgroundColor:"#000000"
		},
		
		
		onOpen: function (dialog) {
			dialog.overlay.fadeIn('slow', function () {
				dialog.data.hide();
				dialog.container.fadeIn('fast', function () {
					dialog.data.slideDown('fast');
				});
			});
			$.scrollTo('#DIVhabitaciones');
		}

	});
	
	pasarHabitaciones();
}

function cuentaLHabitaciones() {
	var totalLineas=0;
	for( a=0;a<aLineasHabitaciones.length;a++) {
		if (!aLineasHabitaciones[a].eliminado) {
			totalLineas++;
		}
	}	
	return totalLineas;
}

function eliminarLinea(linea){
	aLineasHabitaciones[linea].eliminado = true;
	aLineasHabitaciones[linea].diasEstadia = 0;
	aLineasHabitaciones[linea].cantHab = 0;
	aLineasHabitaciones[linea].adultos = 0;
	$("#HAB_"+linea).remove();
	var totalLineas=cuentaLHabitaciones();

	if (totalLineas==0) {
		$("#lineasHabitaciones").html('<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="FRMlineas"><tr><td>&nbsp;</td></tr></table>');
	}else {
		var pos = 0;
		$("#lineasHabitaciones .BTNletraLinea").each(function(){
			var laletra=cadenaLetras.substr(pos,1);
			$(this).html(laletra);
			pos++;
		});
	}
	calcularTotal();
	pasarHabitaciones();
}

function pasarHabitaciones() {
	var alineas2 =[];
	var indice=0;
	$.each( aLineasHabitaciones, function(a, n){
		var linea = aLineasHabitaciones[a];
		if (!linea.eliminado){
			alineas2[indice] = linea;
			indice++;
		}
	});
	cadDatosHabitaciones = JSON.encode(alineas2);
	$("#datosHabitaciones").val(cadDatosHabitaciones);
	
}

function validarEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return (true)
	} else {
		return (false);
	}
}


function mostrarForm(obj) {
	$("#TBdatos").hide();
	$("#TBdatosPersonales").hide();
	$("#TBtarjetaCredito").hide();
	$("#TBenviar").hide();
	$("#"+obj).show();
	$("#TBdatos").show();
}


//Funcion que valida la tarjeta de credito
function ValidarTJ(numa) {
	var numero_tarjeta=numa;
	
	// Comprobamos que solo hemos introducido numeros
	if (!EsNumeroEntero(numero_tarjeta)){
		alert("{DICMSGintroducirsolonumero}");
		return false;
	}

//Paso 1: Tomamos las cifras en posiciones impares y las multiplicamos por 2 y
	// sumamos el resultado
	var cadena = numero_tarjeta.toString();
	var longitud = cadena.length;
	var cifra = null;
	var cifra_cad=null;
	var suma=0;
	for (var i=0; i < longitud; i+=2){
		cifra = parseInt(cadena.charAt(i))*2;
		// Si la cifra resultante es mayor que 9 sumamos las cifras
		if (cifra > 9){ 
			cifra_cad = cifra.toString();
			cifra = parseInt(cifra_cad.charAt(0))+parseInt(cifra_cad.charAt(1));
		}
		suma+=cifra;
	}
	// Paso 2: Tomamos las cifras en posiciones pares y las sumamos
	for (var i=1; i < longitud; i+=2){
		suma += parseInt(cadena.charAt(i));
	}
	
	// Paso 3: Comprobamos que el resultado es múltiplo de 10
	if ((suma % 10) == 0){ 
		// Si todo es correcto enviamos el formulario
		//window.document.miformulario.submit();
		return true;
	} else {
		return false;
	}
}

function imprimirForm(){
	if (validar()){
		$("#Freservas").attr("target","_blank");
		$("#FIMPRIMIR").val("SI");
		$("#Freservas").get(0).submit();
		$("#Freservas").attr("target","_self");
		$("#FIMPRIMIR").val("NO");
	}
}


/*
 * FUNCIONES PARA FECHAS
 * 
 */
function fechaANSI(fecha){
    if (fecha.substr(2, 1) == '/' || fecha.substr(2, 1) == '-') {
        fecha = fechaSQL(fecha);
    }
    return fecha.replace(/-/g, '').replace(/\//g, '');
}

function queAnio(fecha){
    if (fecha.substr(2, 1) == '/' || fecha.substr(2, 1) == '-') {
        fecha = fechaSQL(fecha);
    }
    return fecha.substr(0,4);
}

function queMes(fecha){
    if (fecha.substr(2, 1) == '/' || fecha.substr(2, 1) == '-') {
        fecha = fechaSQL(fecha);
    }
    return fecha.substr(5,2);
}

function queDia(fecha){
    if (fecha.substr(2, 1) == '/' || fecha.substr(2, 1) == '-') {
        fecha = fechaSQL(fecha);
    }
    return fecha.substr(8,2);
}

function fechaDeANSI(fecha){
	return (fecha.substr(0,4) + '-' + fecha.substr(4,2) + '-' + fecha.substr(6,2));
}

function fechaAnioCorto(fecha){
    return fecha.substr(0, 6) + fecha.substr(8, 2);
}


function Hoy(){
    var mydate = new Date();
    var Xyear = parseInt(mydate.getFullYear());
    var Xmes = parseInt(mydate.getMonth()) + 1;
    var Xdia = parseInt(mydate.getDate());
    return sprintf("%02d/%02d/%04d", Xdia, Xmes, Xyear);
}

function HoySQL(){
    var mydate = new Date();
    var Xyear = parseInt(mydate.getFullYear());
    var Xmes = parseInt(mydate.getMonth()) + 1;
    var Xdia = parseInt(mydate.getDate());
	ret = sprintf("%04d-%02d-%02d", Xyear, Xmes, Xdia);
    return ret;
}


function date2String(mydate){
    var Xyear = parseInt(mydate.getFullYear());
    var Xmes = parseInt(mydate.getMonth()) + 1;
    var Xdia = parseInt(mydate.getDate());
    return sprintf("%02d/%02d/%04d", Xdia, Xmes, Xyear);
}


function fechaSQL(fecha){
	if (fecha == ''){
		return '0000-00-00';
	}
    return fecha.substr(6, 4) + "-" + fecha.substr(3, 2) + "-" + fecha.substr(0, 2);
}


function queFecha(fecha, muestraHora){
	if (fecha == ''){
		return '';
	}
    if (arguments.length < 2) 
        muestraHora = false;
    if (muestraHora) {
        return fecha.substr(8, 2) + "/" + fecha.substr(5, 2) + "/" + fecha.substr(0, 4) + fecha.substr(10);
    }
    else {
        return fecha.substr(8, 2) + "/" + fecha.substr(5, 2) + "/" + fecha.substr(0, 4);
    }
}

function fecha(cadena){
    //Separador para la introduccion de las fechas  
    var separador = "/";
    //Separa por dia, mes y año  
    if (cadena.indexOf(separador) != -1) {
        var posi1 = 0;
        var posi2 = cadena.indexOf(separador, posi1 + 1);
        var posi3 = cadena.indexOf(separador, posi2 + 1);
        this.dia = cadena.substring(posi1, posi2);
        this.mes = cadena.substring(posi2 + 1, posi3);
        this.anio = cadena.substring(posi3 + 1, cadena.length);
    }
    else {
        this.dia = 0;
        this.mes = 0;
        this.anio = 0;
    }
}

function restarFechas(f0, f1) {
	var f = fechaSQL(f0);
	var fechaIni = new Date( queAnio(f), queMes(f)-1, queDia(f) );
	debug(f0+" ->"+f1);
	
	var f = fechaSQL(f1);
	var fechaFin = new Date( queAnio(f), queMes(f)-1, queDia(f) );
	debug(date2String(fechaIni)+" -- "+date2String(fechaFin))
	var resta = dojo.date.difference(fechaIni, fechaFin, "day");
	
//	var resta = fechaFin - fechaIni
//	resta = resta/86400000
	return(resta);
} 

function sumarDias(fecha, dias){
	var f = fechaSQL(fecha);
	var fechaNueva = new Date( queAnio(f), queMes(f)-1, queDia(f) );
	fechaNueva.setDate(fechaNueva.getDate() + dias);
	return fechaSQL(date2String(fechaNueva));
}



/*
 *  FIN FUNCIONES PARA FECHAS
 */
