Podrias hacer algo desde 0, vamos que tampoco es tan dificil.
Por ejemplo:
calendario.js
Código Javascript
:
Ver originalvar eventos = document.getElementsByClassName("evento");
for(var evt = 0; evt<eventos.length; evt++)
{
eventos[evt].addEventListener("click", function(){
var lista = document.getElementsByTagName("li");
for(var li = 0; li<lista.length; li++)
lista[li].classList.remove("active");
document.getElementById("evnt_"+this.dataset.fecha).classList.add("active");
}, false);
}
calendario.css
Código CSS:
Ver originaltable
{
width: 400px;
float: left;
}
td
{
padding: 10px;
border: 1px solid #eee;
text-align: center;
}
td.evento
{
background: #eee;
}
td.evento.reserva
{
border-color: red;
}
ul
{
width: 400px;
float: left;
}
ul > li
{
display: none;
}
ul > li.active
{
display: block !important;
}
ul > li > img
{
float: left;
width: 200px;
}
calendario.php
Código PHP:
Ver original<?php
$mes_a_mostrar = "2014-12";
// Esto lo obtines de una bd.
$eventos_mes = [
"2014-12-05" => [
"titulo" => "Responder un tema",
"lugar" => "Foros del web",
"imagen" => "http://www.maestrosdelweb.com/images/2008/11/isotipofdw_hr.png",
"descripcion" => "Ejemplo de datos de calendario."
],
"2014-12-15" => [
"titulo" => "Responder otro tema",
"lugar" => "Foros del web",
"imagen" => "http://www.maestrosdelweb.com/images/2008/11/isotipofdw_hr.png",
"descripcion" => "Ejemplo de datos de otro calendario."
]
];
$reservas_mes = [
"2014-12-15" => [
[
"nombre" => "Persona 1",
"butaca" => 1
],
[
"nombre" => "Persona 2",
"butaca" => 2
]
]
];
?>
<html>
<head>
<title>Calendario</title>
<link rel="stylesheet" type="text/css" href="calendario.css">
</head>
<body>
<table>
<tr>
<th colspan="7"><?=$mes_a_mostrar;?></th>
</tr>
<tr>
<th>Domingo</th>
<th>Lunes</th>
<th>Martes</th>
<th>Miercoles</th>
<th>Jueves</th>
<th>Viernes</th>
<th>Sabado</th>
</tr>
<tr>
<?php
for($dia = $inicio; $dia<$dias; $dia++)
{
if(!(($dia)%7))
echo("</tr><tr>");
$dia = ($dia < 10 ? "0$dia" : $dia);
$class = (isset($eventos_mes["$mes_a_mostrar-$dia"]) ?
"evento" : ""); $class .= (isset($reservas_mes["$mes_a_mostrar-$dia"]) ?
" reserva" : "");
echo("<td class=\"$class\" data-fecha=\"$mes_a_mostrar-$dia\">".($dia*1)."</td>");
}
?>
</tr>
</table>
<ul>
<?php
foreach($eventos_mes as $fecha => $evento)
{
?>
<li id="evnt_<?=$fecha;?>">
<img src="<?=$evento["imagen"];?>">
<strong><?=$fecha;?></strong>
<h3><?=$evento["titulo"];?></h3>
<h5><?=$evento["lugar"];?></h5>
<p><?=$evento["descripcion"];?></p>
<?php
if(isset($reservas_mes[$fecha])) {
?>
<table>
<tr>
<th>Persona</th>
<th>Butaca</th>
</tr>
<?php
foreach($reservas_mes[$fecha] as $reserva)
{
?>
<tr>
<td><?=$reserva["nombre"];?></td>
<td><?=$reserva["butaca"];?></td>
</tr>
<?php
}
?>
</table>
<?php
}
?>
</li>
<?php
}
?>
</ul>
<script src="calendario.js"></script>
</body>
</html>
Solo te queda agregar el formulario y hacerlo funcionar.