function ClassTimeDate( init_time_date, template, idElement, stringMeses, stringDias ) {
    this.init_time_date = init_time_date;
    this.template = template;
    this.idElement = idElement;
    this.stringMeses = stringMeses;
    this.stringDias = stringDias;
    this.showParseTimeDate = showParseTimeDate;
}
function showParseTimeDate(field_name) {
//alert(field_name);
    var fulldh = this.init_time_date;
    var hours = fulldh.substring(0,2);
    var minutes = fulldh.substring(3,5);
    var second = fulldh.substring(6,8);
    var year = fulldh.substring(9,13);
    var month = fulldh.substring(14,16);
    var month_day = fulldh.substring(17,19);
    var week_day = fulldh.substring(20);
    var arrayMonths = this.stringMeses.split(",");
    var arrayDays = this.stringDias.split(",");
    var id_element = this.idElement;

    var plantilla = this.template;
    do {
      plantilla = plantilla.replace('{H}', hours); //hora, de "00" a "23"
    } while(plantilla.indexOf('{H}') >= 0);
    do {
     plantilla = plantilla.replace('{g}', (parseInt(hours, 10) < 13)?(parseInt(hours,10) == 0)?"12":parseInt(hours,10):parseInt(hours,10)-12); //hora, sin ceros, de "1" a "12"
   } while(plantilla.indexOf('{g}') >= 0);
   do {
     plantilla = plantilla.replace('{G}', parseInt(hours, 10)); //hora, sin ceros; de "0" a "23"
   } while(plantilla.indexOf('{G}') >= 0);
   do {
     plantilla = plantilla.replace('{i}', minutes); //minutos; de "00" a "59"
   } while(plantilla.indexOf('{i}') >= 0);
  do {
    plantilla = plantilla.replace('{s}', second); //segundos; de "00" a "59"
  } while(plantilla.indexOf('{s}') >= 0);
  do {
    plantilla = plantilla.replace('{a}', (parseInt(hours,10) < 12)?"am":"pm");
  } while(plantilla.indexOf('{a}') >= 0);
  do {
    plantilla = plantilla.replace('{A}', (parseInt(hours,10) < 12)?"AM":"PM");
  } while(plantilla.indexOf('{A}') >= 0);
  do {
    plantilla = plantilla.replace('{Y}', year); //año, cuatro cifras; por ejemplo, "2008"
  } while(plantilla.indexOf('{Y}') >= 0);
  do {
    plantilla = plantilla.replace('{y}', year.substring(2,4)); //año, dos cifras; por ejemplo, "08"
  } while(plantilla.indexOf('{y}') >= 0);
  do {
    plantilla = plantilla.replace('{F}', arrayMonths[parseInt(month,10)-1]); //mes, en texto, completo; por ejemplo, "Enero"
  } while(plantilla.indexOf('{F}') >= 0);
  do {
    plantilla = plantilla.replace('{m}', month); //mes; de "01" a "12"
  } while(plantilla.indexOf('{m}') >= 0);
  do {
    plantilla = plantilla.replace('{n}', parseInt(month,10)); //mes sin cero inicial; de "1" a "12"
  } while(plantilla.indexOf('{n}') >= 0);
  do {
    plantilla = plantilla.replace('{M}', arrayMonths[parseInt(month,10)-1].substring(0,3)); //mes, en texto, 3 letras; por ejemplo, "Ene"
  } while(plantilla.indexOf('{M}') >= 0);
  do {
    plantilla = plantilla.replace('{d}', month_day); //día del mes, dos dígitos con cero a la izquierda; es decir, de "01" a "31"
  } while(plantilla.indexOf('{d}') >= 0);
  do {
    plantilla = plantilla.replace('{j}', parseInt(month_day,10)); //día del mes sin cero inicial; de "1" a "31"
  } while(plantilla.indexOf('{j}') >= 0);
  do {
    plantilla = plantilla.replace('{l}', arrayDays[parseInt(week_day)-1]); //día de la semana, en texto, completo; por ejemplo, "Lunes"
  } while(plantilla.indexOf('{l}') >= 0);
  do {
    plantilla = plantilla.replace('{D}', arrayDays[parseInt(week_day)-1].substring(0,3)); //día de la semana, en texto, con tres letras; por ejemplo, "Lun"
  } while(plantilla.indexOf('{D}') >= 0);
  
  document.getElementById(id_element).innerHTML = plantilla;

  var d = new Date();
  d.setYear(year);  
  d.setMonth(parseInt(month,10)-1);   
  d.setDate(month_day);  
  d.setHours(hours,minutes,second);

  d.setSeconds(d.getSeconds()+1);

  year = d.getFullYear();  
  month = (d.getMonth()+1 < 10)?"0"+(parseInt(d.getMonth(),10)+1):(parseInt(d.getMonth(),10)+1);
  month_day = (d.getDate() < 10)?"0"+d.getDate():d.getDate();
  hours = (d.getHours() < 10)?"0"+d.getHours():d.getHours();
  minutes = (d.getMinutes() < 10)?"0"+d.getMinutes():d.getMinutes(); 
  second = (d.getSeconds() < 10)?"0"+d.getSeconds():d.getSeconds();  
  week_day = (d.getDay() == 0)?7:d.getDay();
  
  this.init_time_date = hours+'.'+minutes+'.'+second+'.'+year+'.'+month+'.'+month_day+'.'+week_day;
  
  setTimeout( field_name + '.showParseTimeDate( \'' + field_name + '\')',1000);

}
