//if(!confirm('¿Continuar debug?'))return false;
var MonthStr="Diciembre;Enero;Febrero;Marzo;Abril;Mayo;Junio;Julio;Agosto;Septiembre;Octubre;Noviembre;Diciembre;Enero";
var cabthStr="L;M;X;J;V;S;D";
var MonthStr="Abendua;Urtarrila;Otsaila;Martzoa;Apirila;Maiatza;Ekaina;Uztaila;Abustua;Iraila;Urria;Azaroa;Abendua;Urtarrila";
var cabthStr="Al;Aa;Ak;Og;Or;La;Ig";
function ReturnHoy()
{
  var Hoy= new Date();
  var StrDiaHoy=Hoy.getDate();
  var StrMesHoy=format00(Hoy.getMonth()+1);
  var StrAnoHoy=Hoy.getFullYear();
  var StrHoy=StrAnoHoy+'-'+StrMesHoy+'-'+format00(StrDiaHoy);
  return StrHoy;
}

function CreateCalendarGetValue(donde,de,fechaStr)
{
var StrHoy=ReturnHoy();

if(fechaStr==''){fechaStr='0000-00-00';}
var fechaArr=fechaStr.split('-');
aa=eval(fechaArr[0]);
mm=eval(fechaArr[1]);
dd=eval(fechaArr[2]);
var cabthArr=cabthStr.split(';');
var MonthArr=MonthStr.split(";");

var obj=document.getElementById(donde);

if(document.getElementById(donde+de+'calendar')){removeElementById(donde+de+'calendar');}
var tabla=CreateAppend('table',obj);
tabla.id=donde+de+'calendar';
tabla.className='calendar';
var tbody=CreateAppend('tbody',tabla);
var thead=CreateAppend('thead',tabla);
var tfoot=CreateAppend('tfoot',tabla);
mes = new Date();
if(aa=='0000')
{
  with(mes)
  {
    setDate(1);
    aa=getFullYear();
    mm=getMonth()+1;
    dd=getDate();
    setDate(1);
    var startday=diaSemana(getDay())-2;
  }
}
else
{

  with(mes)
 {
   setDate(1);
   setFullYear(aa);
   setMonth(mm-1);
   setDate(1);
   var startday=diaSemana(getDay())-2;
 }
}



var Ant=mesAnterior(mes);
var Sig=mesSiguiente(mes);

var anterior=formatDate(Ant);
var posterior=formatDate(Sig);
var Hoy=formatDate(mes);

var diasMesAnterior=diasMes(Ant);
var diasMesSiguiente=diasMes(Sig);
var diasMesActual=diasMes(mes);

var numSemanasMes=NumeroSemanasMes_(mes);



var tr_=CreateAppend('tr',thead);
var th_=CreateAppend('td',tr_);
th_.colSpan=2;

a=CreateAppend('a',th_);
a.href='#';
a.title=MonthArr[eval(mm)-1];
a.innerHTML='&larr;';

a.onclick=function(){removeElementById(donde);CreateCalendarGetValue(donde,de,anterior);}

th_=CreateAppend('td',tr_);
th_.colSpan=3;
a=CreateAppend('a',th_);
a.href='#'
a.title=Hoy;
a.innerText='gaur';
a.onclick=function(){removeElementById(donde);CreateCalendarGetValue(donde,de,'0000-00-00');}


th_=CreateAppend('td',tr_);
th_.colSpan=2;
a=CreateAppend('a',th_);
a.href='#';
a.title=MonthArr[eval(mm)+1];
a.innerHTML='&rarr;';
a.onclick=function(){removeElementById(donde);CreateCalendarGetValue(donde,de,posterior);}



tr=CreateAppend('tr',thead);
th=CreateAppend('th',tr);
th.colSpan=7;
th.className='LMXJVSD';
th.innerText=MonthArr[mm]+' '+aa;

tr=CreateAppend('tr',thead);

for(d=0;d<7;d++)
{
th=CreateAppend('th',tr);
th.className='LMXJVSD';
th.innerText=cabthArr[d];
}


for(i=0;i<numSemanasMes;i++)
{

  tr=CreateAppend('tr',tbody);
  for(d=0;d<7;d++)
  {
    td=CreateAppend('td',tr);
    a=CreateAppend('a',td);
    a.href='#';

    diaLink= (i*7+d)-startday;//diasMesAnterior;

    if(diaLink<=0)
    {
      diaLink+=diasMesAnterior;
      a.id=Ant.getFullYear()+'-'+format00(Ant.getMonth()+1)+'-'+format00(diaLink);
      a.innerText=diaLink;
    }
    else if(diaLink>diasMesActual)
    {
      diaLink-=diasMesActual;
      a.id=Sig.getFullYear()+'-'+format00(Sig.getMonth()+1)+'-'+format00(diaLink);
      a.id=aa+'-'+format00(mm+1)+'-'+format00(diaLink);
      a.innerText=diaLink;
    }
    else
    {
      a.id=aa+'-'+format00(mm)+'-'+format00(diaLink);
      a.innerText=diaLink;
    }

    if(StrHoy==a.id)
    {
      //a.style.color='#ff0000;';
      a.className='hoy';
      
      //a.style['background-color']='blue';
    }

    a.title=a.id;
    a.onclick=function(){put_value(de,this.id);removeElementById(donde)};

  }

}
 
}

///////////////

/*
function removeElementById(ide)
{
obj=document.getElementById(ide);
removeallChilds(obj);
}

function CreateAppend(tipo,where)
{
  var obj=document.createElement(tipo);
  where.appendChild(obj);
  return obj;
}

function removeallChilds(Element)
{
if(!Element.firstChild) return 0;// Si no tiene hijos fuera
if (Element.firstChild.fistChild)
   removeallChilds(Element.firstChild)
else
   do
   {
   Element.removeChild(Element.firstChild);
   }while(Element.firstChild)

}
*/
/************/

/*

function diaSemana(num)
{
  if(num==0)
  {
    num=7;
  }
  return num;
}
function mesSiguiente(mes)
{

    var aa=mes.getFullYear();
    var mm=mes.getMonth();
    var dd=mes.getDate();

  mm+=1;
  dd=1;
  if(mm>11)
  {
    mm=0;
    aa+=1;
  }
  var sig=new Date();

  sig.setYear(aa);
  sig.setMonth(mm);
  sig.setDate(dd);

  return sig;
}

function mesAnterior(Act)
{
   with(Act)
   {
    var aa=getFullYear();
    var mm=getMonth();
    var dd=getDate();
   }
  mm-=1;
  dd=1;
  if(mm<0)
  {
    mm=11;
    aa-=1;

  }
  var ant=new Date();

  ant.setYear(aa);
  ant.setMonth(mm);
  ant.setDate(dd);

  return ant;
}
function diasMes(mes_)
{
  mes_.setDate(28);
  var dia1=diaSemana(mes_.getDay());
  var sig = new Date();
  sig=mesSiguiente(mes_);
  sig.setDate(1);
  var dia2=diaSemana(sig.getDay());
  var distancia=(dia2-dia1)-1;

  if(distancia<0)
  {
   distancia= 6+(dia2-dia1);
  }
  else
  {
   distancia=(dia2-dia1)-1;
  }

 return 28 +distancia;
}
/**/
/*
function format00(n)
{
  nStr='0'+n;
  var offset=0;
  if(nStr.length==3)
  {
    var offset=1;
  }
  return nStr.slice(0+offset,2+offset);
}
function NumeroSemanasMes(pStartday,pdiasMes)
{
  var semanas=6;
  var semanas= ((pStartday+pdiasMes+1)/7);
  return Math.ceil(semanas);
}
function formatDate(fecha)
{
  with(fecha)
  {
  return getFullYear()+'-'+format00(getMonth()+1)+'-'+format00(getDate());
  }
}
*/
