var hoy=new Date()
var mes=hoy.getMonth()
var dia=1
var anio=hoy.getFullYear()
var diasSemana=new Array('L','M','M','J','V','S','D')
var meses=new Array('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre')
var tunIex=navigator.appName=="Microsoft Internet Explorer"?true:false;if(tunIex&&navigator.userAgent.indexOf('Opera')>=0){tunIex=false}
tunOp=navigator.userAgent.indexOf('Opera')>=0?true:false;var tunSel=false
var gHoy=0;var anCelda,alCelda,carga=false;function tunCalendario(){if(!carga)escribeControles();dia2=dia
tab=document.createElement('table')
tab.id='calendario'
document.getElementById(idContenedor).appendChild(tab)
tcabeza=document.createElement('thead')
tab.appendChild(tcabeza)
fCalendario=document.createElement('div')
fCalendario.style.position='relative';fCalendario.className="cuadroTexto"
fCalendario.id='tunCuadroTexto'
document.getElementById(idContenedor).appendChild(fCalendario)
fi2=document.createElement('tr')
fi2b=document.createElement('th')
fi2b.colSpan=7
fi2.id='mesCalendario'
fi2b.appendChild(document.createTextNode(meses[mes]+"  -  "+anio))
fi2.appendChild(fi2b)
tcabeza.appendChild(fi2)
fi=document.createElement('tr')
tcabeza.appendChild(fi)
for(m=0;m<7;m++){ce=document.createElement('th')
ce.appendChild(document.createTextNode(diasSemana[m]))
fi.appendChild(ce)}
var escribe=false
var escribe2=true
fecha=new Date(anio,mes,dia)
var d=fecha.getDay()-1
if(d<0){d=6}
tcuerpo=document.createElement('tbody')
tab.appendChild(tcuerpo)
while(escribe2){fi=document.createElement('tr')
co=0
for(t=0;t<7;t++){ce=document.createElement('td')
if(escribe&&escribe2){fecha2=new Date(anio,mes,dia)
var _anio=fecha2.getFullYear().toString()
var _mes=fecha2.getMonth()+1
_mes=_mes<10?'0'+_mes:_mes.toString()
var _dia=fecha2.getDate()
_dia=_dia<10?'0'+_dia:_dia.toString()
buscaEv=buscaEvento(_anio+_mes+_dia,_mes+_dia)
if(buscaEv){_titl='';for(var x in buscaEv){_titl+=buscaEv[x].titulo
_titl+=x<(buscaEv.length-1)?'; ':'';}}
ce.title=buscaEv?_titl:formatoFecha(_anio+_mes+_dia)
ce.className=buscaEv?'hayEvento':''
if(fecha2.getMonth()!=mes){escribe2=false;}
else{ce.appendChild(document.createTextNode(dia));dia++;co++;ce.style.cursor=calendarioCursor
ce.onclick=marcaCalendario}}
if(d==t&&!escribe){ce.appendChild(document.createTextNode(dia))
var _anio=anio
var _mes=mes+1
_mes=_mes<10?'0'+_mes:_mes.toString()
var _dia=dia
_dia=_dia<10?'0'+_dia:_dia.toString()
buscaEv=buscaEvento(_anio+_mes+_dia,_mes+_dia)
if(buscaEv){_titl='';for(var x in buscaEv){_titl+=buscaEv[x].titulo
_titl+=x<(buscaEv.length-1)?'; ':'';}}
ce.title=buscaEv?_titl:formatoFecha(_anio+_mes+_dia)
ce.className=buscaEv?'hayEvento':''
dia++;co++
escribe=true
ce.style.cursor=calendarioCursor
ce.onclick=marcaCalendario}
else{ce.appendChild(document.createTextNode(" "))}
fi.appendChild(ce)
if(hoy.getDate()+1==dia&&mes==hoy.getMonth()&&anio==hoy.getFullYear()&&!gHoy){ce.className="Hoy"
gHoy=1;if(buscaEv){escribeEvento(buscaEv)}
else{escribeFecha(_anio+_mes+_dia);enlaceListarMes()}}}
if(co>0){tcuerpo.appendChild(fi)}}
dia=dia2}
function marcaCalendario(){var _anio=anio.toString();var _mes=mes+1
_mes=_mes<10?'0'+_mes:_mes.toString()
var _dia=this.firstChild.nodeType==1?this.firstChild.nextSibling.nodeValue:this.firstChild.nodeValue;_dia=_dia<10?'0'+_dia:_dia.toString()
hayEvento=buscaEvento(_anio+_mes+_dia,_mes+_dia)
if(hayEvento){escribeEvento(hayEvento)}
else{escribeFecha(_anio+_mes+_dia);enlaceListarMes()}
ceSe=document.createElement('div')
ceSe.id="tunSeleccionado"
with(ceSe.style){borderWidth="1px"
borderStyle="solid"
borderColor="#ff0000"
width=this.scrollWidth+"px"
height=this.scrollHeight+"px"
position="absolute"
zIndex="1000"}
if(tunSel){tunSel.removeChild(tunSel.firstChild)}
tunSel=this
this.insertBefore(ceSe,this.firstChild)
with(ceSe.style){width=this.scrollWidth+"px"
marginLeft="-"+(calendarioPaddingCelda+1)+"px"
marginTop="-"+(calendarioPaddingCelda+1)+"px"}}
function borra(){document.getElementById(idContenedor).removeChild(document.getElementById('calendario'))
document.getElementById(idContenedor).removeChild(document.getElementById('tunCuadroTexto'))}
function establecerFecha(){tunFe=new Date()
document.getElementById('tunMes').options[tunFe.getMonth()].selected=true
document.getElementById('tunAnio').value=tunFe.getFullYear()}
function buscaEvento(f,fc){try{eval(meses[mes].toLowerCase())}
catch(error){return false}
var _array=eval(meses[mes].toLowerCase())
var _eventos=new Array()
for(var m in _array){if(_array[m].fecha==f||_array[m].fecha==fc){_eventos.push(_array[m])}}
return _eventos.length>0?_eventos:false;}
function escribeEvento(obj){escribeFecha(obj[0].fecha)
escribeEvento2(obj,false)}
function escribeEvento2(obj,fec){for(var w in obj){var ti=document.createElement(tagTitulos)
if(fec){_fec=formatoFecha(obj[w].fecha)
_d=_fec.substr(0,2)
ti.appendChild(document.createTextNode(_d+" - "))}
var o=ti
if(obj[w].enlace){var en=document.createElement('a')
en.href=obj[w].enlace
o.appendChild(en)
o=en}
o.appendChild(document.createTextNode(obj[w].titulo))
document.getElementById('tunCuadroTexto').appendChild(ti)
var te=document.createElement('p')
te.appendChild(document.createTextNode(obj[w].texto))
document.getElementById('tunCuadroTexto').appendChild(te)}
enlaceListarMes()}
function enlaceListarMes(){try{eval(meses[mes].toLowerCase())}
catch(error){return false}
var verTodos=document.createElement('strong')
verTodos.style.cursor='pointer'
verTodos.style.display='block'
verTodos.appendChild(document.createTextNode(textoVerTodos))
verTodos.onclick=escribirEventosMes
document.getElementById('tunCuadroTexto').appendChild(verTodos)}
function escribeFecha(fecha){lNodos=document.getElementById('tunCuadroTexto').childNodes.length
if(lNodos){for(var m=0;m<lNodos;m++){document.getElementById('tunCuadroTexto').removeChild(document.getElementById('tunCuadroTexto').childNodes[0])}}
var fe=document.createElement('strong')
fe.appendChild(document.createTextNode(formatoFecha(fecha)))
document.getElementById('tunCuadroTexto').appendChild(fe)}
function formatoDiaMes(v){v=v<10?'0'+v:v;return v}
function formatoFecha(fecha){if(fecha.toString().length==8){var an=fecha.toString().substring(0,4)
var me=fecha.toString().substring(4,6)
var di=fecha.toString().substring(6,8)}
else{if(fecha.toString().length==6){var an=fecha.toString().substring(0,4)
var me=fecha.toString().substring(4,6);var di=''}
else{var an=''
var me=fecha.toString().substring(0,2)
var di=fecha.toString().substring(2,4)}}
me=eval(me)
me=meses[me-1]
return di+" "+me+" "+an}
function cambiarMes(val){var _anio=document.getElementById('tunAnio').value
var _dia=1;if(val){var _mes=document.getElementById('tunMes').options[document.getElementById('tunMes').selectedIndex].value
eval('_mes'+val+val)
_mes=_mes<0&&val=='-'?11:_mes
_mes=_mes>11&&val=='+'?0:_mes
if(eval(_mes)==0&&val=='+')_anio++
if(eval(_mes)==11&&val=='-')_anio--
document.getElementById('tunMes').options[_mes].selected=true
document.getElementById('tunAnio').value=_anio}
else{var _mes=mes}
mes=_mes
anio=_anio
borra();gHoy=0;tunCalendario()
escribeFecha(_anio.toString()+formatoDiaMes(_mes+1));enlaceListarMes()}
function escribirEventosMes(){escribeFecha(anio.toString()+formatoDiaMes((mes+1).toString()))
escribeEvento2(eval(meses[mes].toLowerCase()),true)}
function escribeControles(){var obj=document.getElementById(idContenedor)
var sp=document.createElement('span')
sp.className="cambiaMes"
sp.onclick=function(){cambiarMes('-')}
sp.appendChild(document.createTextNode('<<'))
obj.appendChild(sp)
var sel=document.createElement('select')
sel.className='selectores'
sel.id='tunMes'
sel.onchange=function(){mes=this.selectedIndex;cambiarMes(false)}
for(var p in meses){opt=document.createElement('option')
opt.value=p
opt.appendChild(document.createTextNode(meses[p]))
sel.appendChild(opt)}
obj.appendChild(sel)
var campo=document.createElement('input')
campo.type='text'
campo.id='tunAnio'
campo.className="selectores"
campo.maxlength="4"
campo.size=4
campo.onblur=function(){if(!isNaN(this.value)){anio=this.value;borra();tunCalendario()}}
obj.appendChild(campo)
var sp=document.createElement('span')
sp.className="cambiaMes"
sp.onclick=function(){cambiarMes('+')}
sp.appendChild(document.createTextNode('>>'))
obj.appendChild(sp)
carga=true}
