Hola, estoy programando un calendario donde la tabla esta fija y juego guiandome por los id de los celdas de la tabla, no soy muy experto en el lenguage como veran por eso les pido recomendaciones para que lo pueda usar con cualquier navegador ademas de alguna optimizacion si les parece porque siempre uso window['variable'] dentro de funciones
Código HTML:
<script language="javascript">
var bandera=false;
var objFecha=new Date;
var mes = objFecha.getMonth(); //////////////////////////////////////////////////////////
var ano = objFecha.getFullYear();
var memoria_mes=mes;
var memoria_ano=ano;
var meses=new Array(12);
meses=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
function hola(){
//document.all['celda1'].innerHTML="HOLAAAA";
alert("hola: "+objFecha.getMonth());
}
function calculaNumeroDiaSemana(diap,mesp,anop){
var objFecha = new Date(anop,mesp,diap);
//alert("dia: "+objFecha.getDay());
return objFecha.getDay();
}
function checkdate(m,d,y){
// función por http://kevin.vanzonneveld.net
// extraida de las librerías phpjs.org manual en http://www.desarrolloweb.com/manuales/manual-librerias-phpjs.html
return m > 0 && m < 13 && y > 0 && y < 32768 && d > 0 && d <= (new Date(y,m,0)).getDate();
}
function ultimoDia(m,a){
var ud = 28;
while(checkdate(m+1,ud+1,a))
ud++;
return ud;
}
function comenzar(){
if(!window['bandera']){
document.all['qano'].innerHTML=window['ano'];
document.all['qmes'].innerHTML=window['meses'][window['mes']];
window['bandera']=true;
}else{
document.all['qano'].innerHTML=window['memoria_ano'];
document.all['qmes'].innerHTML=window['meses'][window['memoria_mes']];
}
window['cargames'](window['memoria_mes'],window['memoria_ano']);
}
function cargames(mesp,anop){
var dia_i=calculaNumeroDiaSemana(1,mesp,anop);
var dias=0;
var dia_l=ultimoDia(mesp,anop);
var guia=0;
while(dias<dia_l){
//var tmp=guia+1;
//alert(tmp);
document.all["celda"+(guia+1)].innerHTML=(guia<dia_i)?' ':dias+1;
if(dia_i<=guia)
dias++;
guia++;
}
}
function mmes(e){
if(e==-1)
if(window['memoria_mes']==0){
window['memoria_ano']--;
window['memoria_mes']=11;
}else
window['memoria_mes']--;
if(e==1)
if(window['memoria_mes']==11){
window['memoria_ano']++;
window['memoria_mes']=0;
}else
window['memoria_mes']++;
window['comenzar']();
}
function mano(e){
if(e==-1)
window['memoria_ano']--;
if(e==1)
window['memoria_ano']++;
window['comenzar']();
}
</script>
Espero me puedan ayudar. Muchas Gracias desde argentina. Leonardo