a parte che non mi sembra molto comodo un calendario così (i DatePicker di solito sono un pelo diversi )...
mi sa che ti conviene gestirlo come un range di 7 giorni ed alterare solo il valore dei div, non la struttura stessa.
Un esempio di HTML
Codice PHP:
<div id = "All">
<div id = "LeftLnk">
<
</div>
<div class = "Day" rel="0"></div>
<div class = "Day" rel="1"></div>
<div class = "Day" rel="2"></div>
<div class = "Day" rel="3"></div>
<div class = "Day" rel="4"></div>
<div class = "Day" rel="5"></div>
<div class = "Day" rel="6"></div>
<div id = "RightLnk">
>
</div>
</div>
questa struttura verrà popolata da JS con i giorni corretti, in JS gestirai un array di 7 giorni che verrà alterato dai div #LeftLnk e #RightLnk. Quindi ti serve una funzione che, dato un array di 7 Date, estragga quello che vuoi far visualizzare per ogni giorno in base al rel corrispondente, voglio dire:
Questo è Pseudocodice, NON JS vero e proprio, perché l'è un pelo lungo da fare:
codice:
ArrayOfDays = Array contenente 7 giorni consecutivi, Es. Date(2009-12-1), Date(2009-12-2), ...
Function ShowDays:
ArrayOfDivs = Popolo L'array con i Div che hanno class = "Day"
ForEach Day in ArrayOfDivs:
Rel = estraggo il rel del Day
Date = ArrayOfDays[Rel]
Str = Parso la Data nella stringa da Visualizzare
Day->text = Str
EndForEach
End Function
Questa funzione verrà chiamata all'apertura della pagina, per popolare il calendario, poi devi fare una funzione per il link di sinsitra ed una per il link di destra. Queste funzioni non faranno altro che:
Sinistra: Cancellare l'ultimo elemento dell'array di Date ed inserirne una all'inizio con la data precedente alla prima
Destra: Cancellare il primo elemento dell'array di Date ed inserirne una alla fine con la dara successiva all'ultima
E poi, ciascuna delle due funzioni chiama la funzione ShowDays per aggiornare il contenuto del calendario.
Spero di essere stato chiaro, se non capisci chiedi pure.