Foros del Web » Programando para Internet » Javascript »

ayuda con codigo de calendario.js

Estas en el tema de ayuda con codigo de calendario.js en el foro de Javascript en Foros del Web. buenas, tengo un codigo de una practica para hacer un calendario estilo windows, con alerts al pasar por encima de una fecha determinada, creada con ...
  #1 (permalink)  
Antiguo 11/11/2010, 14:41
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
ayuda con codigo de calendario.js

buenas,

tengo un codigo de una practica para hacer un calendario estilo windows, con alerts al pasar por encima de una fecha determinada, creada con xml.

el problema es que imagino que será en formato inglés, y la semana empieza en domingo, y me gustaria que fuese en lunes. he intentado modificarlo, pero al modificar la columna, cambia el nombre del dia, pero no el dia del mes. os dejo el codigo entero, a ver si alguien sabe si puedo modificar algo:

Código:
var getCalendario = null;
var xmlCalendario = null;
var CualMes=0;

function CrearCalendario(QueMes){
	if (window.XMLHttpRequest){
		getCalendario=new XMLHttpRequest()
	}else if (window.ActiveXObject){
		getCalendario=new ActiveXObject("Microsoft.XMLHTTP")
	}
	if (getCalendario){
		var url="calendario.xml";
		getCalendario.onreadystatechange=CambioDeEstado;
		getCalendario.open("GET",url,true);
		getCalendario.send(null);
		CualMes=QueMes;
	}else{
		alert ("Tu explorador no soporta XMLHttpRequest");
	}
}

function CambioDeEstado(){
	if (getCalendario.readyState == 4){
		xmlCalendario = getCalendario.responseXML;
		xmlCalendario = xmlCalendario.getElementsByTagName('cita');
		setCal(CualMes);
	} 
} 

function bisiesto(Anio) {
	if (Anio % 4 == 0)
	return true
	return false
}

function diasPorMes(mes, Anio) {
var meses = new Array(12)
meses[1] = 31; // Enero
meses[2] = (((Anio % 4 == 0) && (Anio % 100 != 0)) || (Anio % 400 == 0)) ? 29 : 28
meses[3] = 31 // Marzo
meses[4] = 30 // Abril
meses[5] = 31 // Mayo
meses[6] = 30 // Junio
meses[7] = 31 // Julio
meses[8] = 31 // Agosto
meses[9] = 30 // Septiembre
meses[10] = 31 // Octubre
meses[11] = 30 // Noviembre
meses[12] = 31 // Diciembre
return meses[mes]
}

function getNombreDelMes(mes) {
var meses = new Array(12)
meses[1] = "Gener"
meses[2] = "Febrer"
meses[3] = "Març"
meses[4] = "Abril"
meses[5] = "Maig"
meses[6] = "Juny"
meses[7] = "Juliol"
meses[8] = "Agost"
meses[9] = "Setembre"
meses[10] = "Octubre"
meses[11] = "Novembre"
meses[12] = "Desembre"
return meses[mes]
}

function setCal(QueMes) {
	var now = new Date()
	var anio = now.getYear()
	if (anio < 1000) {anio+=1900}
	var mes = now.getMonth()+QueMes
	if (now.getMonth()+QueMes > 11) {mes-=12;anio++}
	if (now.getMonth()+QueMes < 0) {mes+=12;anio--}
	var fecha = now.getDate()
	var primerDia = new Date(anio, mes, 1)
	var primerDia2 = primerDia.getDay()
	primerDia = null
	var dias = diasPorMes(mes+1, anio)
	drawCal(primerDia2 + 1, dias, fecha, mes+1, anio)
}

function drawCal(firstDay, lastDate, date, Mes, Anio) {
var now = new Date()
var codigo = ""
codigo += '<table class="tabla">'
codigo += '<tr><td class="encabezado" colspan="7">'
codigo += getNombreDelMes(Mes) + ' ' + Anio 
codigo += '</td></tr>'

var diasSemana = new Array(7)
diasSemana[0] = "<acronym title=\"Dilluns\">Dl</acronym>"
diasSemana[1] = "<acronym title=\"Dimarts\">Dt</acronym>"
diasSemana[2] = "<acronym title=\"Dimecres\">Dx</acronym>"
diasSemana[3] = "<acronym title=\"Dijous\">Dj</acronym>"
diasSemana[4] = "<acronym title=\"Divendres\">Dv</acronym>"
diasSemana[5] = "<acronym title=\"Dissabte\">Ds</acronym>"
diasSemana[6] = "<acronym title=\"Diumenge\">Dg</acronym>"

codigo += '<tr>'
for (var dayNum = 0; dayNum < 7; ++dayNum) {
codigo += '<td class="celdaDiaSemana">' + diasSemana[dayNum] + '</td>' 
}
codigo += '</tr>'

var cDia = 1
var curCell = 1

for (var row = 1; row <= Math.ceil((lastDate + firstDay - 1) / 7); ++row) {
codigo += '<tr>'
for (var col = 1; col <= 7; ++col) {
if (cDia > lastDate)
break
if (curCell < firstDay) {
codigo += '<td></td>';
curCell++
} else {
var textoCelda = cDia;
var textoTd = '<td class="celda">'

for (i=0;i<xmlCalendario.length;i++){
	var fecha = xmlCalendario[i].getAttribute('fecha');
	if (fecha == cDia+ "-" + Mes + "-" + Anio){
		var titulo = xmlCalendario[i].getAttribute('titulo');
		var descripcion = xmlCalendario[i].getAttribute('descripcion');
		textoCelda = '<a href="#" class="diacita" title="'+titulo+'">' + cDia + '</a>';
		//textoCelda = '<class="diacita" onmouseover="alert(\''+descripcion+'\');return false" title="'+titulo+'">' + cDia + '>';
		textoTd = '<td class="celdacita">'
	}
}

if (cDia == date && Mes == now.getMonth()+1) {
textoTd = '<td class="hoy">'
}

codigo += textoTd + textoCelda + '</td>'
cDia++
}
}
codigo += '</tr>'
}

codigo += '</table>'
document.getElementById("boxcalendario").innerHTML=codigo;
saludos!
  #2 (permalink)  
Antiguo 11/11/2010, 15:02
 
Fecha de Ingreso: junio-2009
Ubicación: Lima
Mensajes: 84
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ayuda con codigo de calendario.js

La mayoria de los calendarios, vienen con un codigo para configurarlo segun se desee...eso no ha venido con tu codigo?
  #3 (permalink)  
Antiguo 11/11/2010, 15:09
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: ayuda con codigo de calendario.js

no, era una explicacion con los 4 archivos, un html, un js, un css y un xml. explicaba cada uno de los scripts, pero no podia nada de como modificarlo. y no se en que piunto de la programacion mteerle mano, soy mas de php!
  #4 (permalink)  
Antiguo 11/11/2010, 15:45
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: ayuda con codigo de calendario.js

miguelpunk, no tengo ningun codigo, debe de haber alguna opcion en el codigo de correr un dia..no? necesito sacarlo como sea

saludos!
  #5 (permalink)  
Antiguo 12/11/2010, 05:30
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: ayuda con codigo de calendario.js

sigo sin saber como hacerlo, alguien puede orientarme si se puede hacer sobre el codigo que he expuesto o no?

saludos!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:52.