/* cvs $Revision: 1170 $ */
/* cvs $Date: 2008-10-28 15:15:30 -0200 (Tue, 28 Oct 2008) $ */
/* cvs $Author: javier $ */

// vim: set foldmethod=marker:
// vim: set nu:
// vim: set nowrap:
// vim: set sw=4:
// vim: set tabstop=4:


// id de los elementos del formulario html
var _id_form   = 'form_ant';  //id del formulario para el calendario
var _id_mes    = 'ant_mes';   //id del select meses
var _id_anio   = 'ant_anio';  //id del select anios
var _id_titulo = 'mes_anio';  //id para el titulo del calendario


// array con los nombres de meses
var _month_of_year = new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Setiembre','Octubre','Noviembre','Diciembre');


//fecha para la edicion mas antigua posible
var _ini_date = new Date();

if ( _que_es == 'rosario12' ) {
    /* _ini_date.setFullYear(2001,7 - 1,27); //rosario 12 (27-07-2001)- primera edición web --- suprimida*/
	_ini_date.setFullYear(2002,1 - 1,1); //rosario 12 (01-01-2002)- primera edición web
} else {
    // pag12
    _ini_date.setFullYear(1998,3 - 1,1);  //pag12 (01-03-1998) - primera edición web
}

var _primer_anio = _ini_date.getFullYear();



// la primera vez cargamos el calendario con  la fecha del servidor
change_date( _server_date.getFullYear(), _server_date.getMonth());


// carga los select de mes, año y el calendario
// es la unica funcion publica
function change_date(year,month) {/*{{{*/
    
    var fecha = new Date();
    fecha.setDate(1);
    fecha.setMonth(month);
    fecha.setYear(year);

    var index; //auxiliar para el indice del año
    
    //carga el select de los años
    for (i = _primer_anio; i <= _server_date.getFullYear(); i++) {
        index = i - _primer_anio;
        document.getElementById( _id_anio ).options[index] =  new Option(i,i);
    }
    
    // seleccinamos el año
    index = year - _primer_anio;
    document.getElementById( _id_anio ).options[index].selected = true;

    // cargamos el select del mes
    month = populate_month(fecha);
    
    // correjimos fecha por si populate_month nos retorno un mes diferente del pasado
    fecha.setDate(1);
    fecha.setMonth(month);

    // cargamos el calendario
    populate_calendar(fecha);
    
}
/*}}}*/


// carga el mes pasado en fecha en el select
// retorna el numero de mes cargado (de 0 a 11)
// funcion privada
function populate_month( fecha ) {/*{{{*/

    // el objeto Date usa los meses de 0 a 11
    var start_month = 0;
    var end_month = 11;

    document.getElementById( _id_mes ).selectedIndex = null;

    // si estamos cargando el año actual
    // fijamos los limites del calendario a la ultima edicion
    if ( fecha.getFullYear() == _server_date.getFullYear() )  {
        end_month = _server_date.getMonth();
        if ( fecha.getMonth() > _server_date.getMonth() ) {
            fecha.setMonth( _server_date.getMonth() );
        }
    }
    
    // si es el primer año fijamos el limite de las primeras ediciones version web
    if ( fecha.getFullYear() == _primer_anio ) {
        start_month = _ini_date.getMonth(); //primer mes
        if ( fecha.getMonth() < start_month ) {
            fecha.setMonth( start_month );
        }
    }

    // cantidad de meses a cargar
    document.getElementById( _id_mes ).length =  end_month - start_month + 1;
       
    // cargamos los meses
    for (i=0; i<=(end_month-start_month); i++) {
        document.getElementById( _id_mes ).options[i] =  new Option(_month_of_year[i+start_month],i+start_month );
    }
    
    // indice del mes actual
    var aux = fecha.getMonth() - start_month;
 
    //seleccionamos el mes a mostrar
    document.getElementById( _id_mes ).options[aux].selected = true;
    
    return fecha.getMonth();

}
/*}}}*/


// carga el calendeario para la fecha pasada
// funcion privada
function populate_calendar(fecha) {/*{{{*/

    var now       = _server_date;

    var Calendar  = fecha;
    var year      = Calendar.getFullYear(); 
    var month     = Calendar.getMonth();   
    var today     = Calendar.getDate();    

    var DAYS_OF_MONTH = 42;    
    var anterior = 0;

    
    // primer día del mes
    Calendar.setDate(1);
 
    
    // titulo del calendario
    document.getElementById( _id_titulo ).innerHTML = _month_of_year[month] + '&nbsp;' + year;

    
    // miramos en que dia de la semana comenzó el mes
    // y dejamos los cuadros en blanco hasta ahí
    for( index=1; index <= Calendar.getDay(); index++ ) {
        document.getElementById(index).innerHTML = '&nbsp;';
        document.getElementById(index).className = 'nolink_nonum';
    }
    
    // atencion !!
    // no inicializamos index, usamos el valor que viene del for anterior
    // llenamos con los links
    for( trash = 0; index <= DAYS_OF_MONTH; index++ ) {
    
        if ( anterior < Calendar.getDate() ) {

            dia   = String(Calendar.getDate());
            xmes  = String(Calendar.getMonth()+1);
            oink  = Calendar.getFullYear()-1900;
            anio2 = String(oink>=100?oink-100:oink);
            anio4 = Calendar.getFullYear();

            if ( dia.length == 1) dia = "0"+dia;
            if ( xmes.length == 1) xmes = "0"+xmes;
            if ( anio2.length == 1) anio2 = "0"+anio2;

            if ( 
                    ( ( now.getDate() >= Calendar.getDate() ) && 
                      ( now.getFullYear() == Calendar.getFullYear() ) &&
                      ( now.getMonth() == Calendar.getMonth() ) 
                    ) ||
                    ( ( now.getFullYear() > Calendar.getFullYear() ) ||
                      ( ( now.getMonth() > Calendar.getMonth() ) &&
                        ( now.getFullYear() == Calendar.getFullYear() )
                      )
                    ) ) {




                // llenamos los links segun sea pagina12 o rosario12
                if ( _que_es == 'rosario12' ) {
                    // rosario 12
                    
                    if ( Calendar.getFullYear() == 2001 && Calendar.getMonth() == 6 && Calendar.getDate() < 27) {
                        document.getElementById(index).innerHTML = Calendar.getDate();
                        document.getElementById(index).className = 'nolink';
                    } else {
                        if ( 
                                Calendar.getFullYear() < 2005 || 
                                (Calendar.getFullYear() == 2005 && Calendar.getMonth() < 8) ||
                                (Calendar.getFullYear() == 2005 && Calendar.getMonth() == 8 && Calendar.getDate() < 28)
                           ) {
                            document.getElementById(index).innerHTML = '<a href=http://www.rosario-12.com.ar/' + anio4 + '/' + xmes + '/' + dia + '/index.htm>' + Calendar.getDate() + '</a>';
                        } else {
                            document.getElementById(index).innerHTML = '<a href=/diario/suplementos/rosario/index-' + anio4+ '-' + xmes + '-' + dia + '.html>' + Calendar.getDate() + '</a>';
                        }
                        document.getElementById(index).className = 'linkfecha';
                    }
                    
                    
                    // fin rosario 12
                } else {
                    // para pag12
                    if ( Calendar.getFullYear() == 1998 && Calendar.getMonth() == 2 && Calendar.getDate() < 24) {
                        document.getElementById(index).innerHTML = Calendar.getDate();
                        document.getElementById(index).className = 'nolink';
                    } else {
                
                        if ( Calendar.getFullYear() < 2002 ) {
                            //document.getElementById(index).innerHTML = '<a href=http://old.pagina12web.com.ar/' + anio4 + '/' + anio2 + '-' + xmes + '/' + anio2 + '-' + xmes + '-' + dia + '/index.html>' + Calendar.getDate() + '</a>';
                            document.getElementById(index).innerHTML = '<a href=/' + anio4 + '/' + anio2 + '-' + xmes + '/' + anio2 + '-' + xmes + '-' + dia + '/index.html>' + Calendar.getDate() + '</a>';

                        } else {
                            // http://old.pagina12web.com.ar/Calendar.getFullYear()/98-05/98-05-03/index.htm
                            document.getElementById(index).innerHTML = '<a href=/diario/principal/index-' + anio4+ '-' + xmes + '-' + dia + '.html>' + Calendar.getDate() + '</a>';
                        }

                        document.getElementById(index).className = 'linkfecha';
                    }


                    // fin pag12
                }

            
            // código comun a ambos
 
            } else {
                // días del mes en los que no hay publicaciones
                document.getElementById(index).innerHTML = Calendar.getDate();
                document.getElementById(index).className = 'nolink';
            }

            anterior = Calendar.getDate();
            Calendar.setDate(Calendar.getDate()+1);
            
        } else {
            // resto de los cuadros en blanco
            document.getElementById(index).innerHTML = '&nbsp;';
            document.getElementById(index).className = 'nolink_nonum';
        }
    }
}
/*}}}*/



