























//<!--
var fechaFormateadaHoy = '07/09/2010';

var RANGO_FECHAS_EN_DIAS = 'D';
var RANGO_FECHAS_EN_MESES = 'M';
var NUMERO_MAXIMO_MESES_EVOLUCION_SALDO=12;

function get_date( fecha, pidioma) {
    idioma = 'es';
    if ( pidioma != null )
        idioma = pidioma;
    var date;
	if( fecha.length == 10 ) {
		var dia, mes, ano;
		if( idioma == 'es' ) {
			dia = fecha.substring(0,2);
			mes = fecha.substring(3,5) - 1;
			ano = fecha.substring(6,10);
		}else if( idioma == 'eu' ) {
			dia = fecha.substring(8,10);
			mes = fecha.substring(5,7) - 1;
			ano = fecha.substring(0,4);
		} else {
			dia = fecha.substring(0,2);
			mes = fecha.substring(3,5) - 1;
			ano = fecha.substring(6,10);
		}
	    date = new Date(ano, mes, dia);
	}
    return date;
}
function get_dia( fecha, idioma ) {
    dia = 0;
    if( fecha.length == 10 ) {
        if( idioma == 'es' )
            dia = fecha.substring(0,2);
        else if( idioma == 'eu' )
            dia = fecha.substring(8,10);
        else
	        dia = fecha.substring(0,2);
    }
    return dia;
}
function get_mes( fecha, idioma ) {
    mes = 0;
    if( fecha.length == 10 ) {
        if( idioma == 'es' )
            mes = fecha.substring(3,5);
        else if( idioma == 'eu' )
            mes = fecha.substring(5,7);
        else
        	mes = fecha.substring(3,5);
    }
    return mes;
}
function get_ano( fecha, idioma ) {
    ano = 0;
    if( fecha.length == 10 ) {
        if( idioma == 'es' )
            ano = fecha.substring(6,10);
        else if( idioma == 'eu' )
            ano = fecha.substring(0,4);
        else
        	ano = fecha.substring(6,10);
    }
    return ano;
}
function es_valida_fecha( fecha, p_idioma ) {
	is_correcto = false;
    idioma = 'es';
    if ( p_idioma != null )
        idioma = p_idioma;
    if( fecha.length == 10 ) {
		dia = get_dia( fecha, idioma );
		mes = get_mes( fecha, idioma );
		ano = get_ano( fecha, idioma );
		var date = get_date( fecha , idioma);
		if( ano == date.getFullYear() && mes*1 == (date.getMonth()+1) && dia == date.getDate() )
			is_correcto = true;
	}
	return is_correcto;
}

function comprobarRangoMaxDias( date_desde, date_hasta, dias ) {
    idioma = 'es';
    millis_dia = 24*60*60*1000;
    if( date_hasta.getTime() - date_desde.getTime() > dias * millis_dia )
        return false;
    else
        return true;
}
function comprobarRangoMaxMeses( date_desde, date_hasta, meses ) {
    var date_limite = new Date( date_hasta.getTime() );
    while( meses >= 12 ) {
        date_limite.setYear( date_limite.getFullYear()-1 );
        meses = meses - 12;
    }
   
    while( meses > 0 ) {
        if( date_limite.getMonth() == 0 ){
            date_limite.setYear( date_limite.getFullYear()-1 );
            date_limite.setMonth(11);
        } else {
            date_limite.setMonth( date_limite.getMonth()-1 );
        }
        meses--;
    }
    if( date_desde.getTime() >= date_limite.getTime() )
        return true;
    else
        return false;
}
function validarSeleccionFecha(theForm) {
	return validarSeleccionFecha(theForm,true);
}
function validarSeleccionFecha(theForm,puedeSerFutura) {
  resultado = true;
  fecha = theForm.PNBFEC;
  
  
  if(!es_valida_fecha( fecha.value ) ) {
        resultado = false;

        avisar('La fecha  no es válida');
    }
    
  if (!puedeSerFutura && is_fecha_futura(fecha.value)){
  	resultado=false;
	avisar('La fecha es posterior a hoy');
  }
  return resultado;
}

function validarSeleccionFechas(theForm, tipo, cantidad) {
  resultado = true;
  fecha_desde = theForm.PNBFED;
  fecha_hasta = theForm.PNBFEC;
  
  if (fecha_hasta == null) fecha_hasta= theForm.PNBFEH;
  

  
    if(resultado)
    if( !es_valida_fecha( fecha_desde.value ) ) {
        resultado = false;

        avisar('La fecha Desde no es válida');
    }

    if( !es_valida_fecha( fecha_hasta.value ) ) {
        resultado = false;

        avisar('La fecha Hasta no es válida');
    }

  var date_desde = get_date( fecha_desde.value );
  var date_hasta = get_date( fecha_hasta.value );
  if(resultado)
    if( date_desde.getTime() >  date_hasta.getTime() ){
        resultado = false;
        avisar('El rango de fechas está al revés');
    }

  if(resultado){
    if( tipo == RANGO_FECHAS_EN_DIAS ){
      if(!comprobarRangoMaxDias( date_desde, date_hasta, cantidad )) {
        resultado = false;
        avisar('El rango de fechas no puede ser superior a '+ cantidad +' Días');
      }
    }
    if( tipo == RANGO_FECHAS_EN_MESES ){
      if(!comprobarRangoMaxMeses( date_desde, date_hasta, cantidad )) {
        resultado = false;
        avisar('El rango de fechas no puede ser superior a '+ cantidad +' meses');
      }
    }
  }

  return resultado;
}
function is_fecha_futura( fecha ) {
    var date = get_date( fecha );
    var date_hoy = get_date( fechaFormateadaHoy );
    if( date.getTime() > date_hoy.getTime() ){
        return true;
    }
    return false;
}
function is_fecha_pasada( fecha ) {
    date = get_date( fecha );
    if (date != null && date != 'undefined') {
        date_hoy = get_date( fechaFormateadaHoy );
        if( date.getTime() < date_hoy.getTime() )
            return true;
    }
    return false;
}
//-->





