From 75649c8430a3540003c9ba37182070c568664d12 Mon Sep 17 00:00:00 2001
From: naomiaro <naomiaro@gmail.com>
Date: Wed, 2 Feb 2011 01:02:31 -0500
Subject: [PATCH] added ability to change slot widths on the calendar to see
 small shows.

---
 .../schedule/full-calendar-functions.js       | 40 +++++++++++++++++++
 public/js/airtime/schedule/schedule.js        |  3 +-
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/public/js/airtime/schedule/full-calendar-functions.js b/public/js/airtime/schedule/full-calendar-functions.js
index 337be235d..1651d042a 100644
--- a/public/js/airtime/schedule/full-calendar-functions.js
+++ b/public/js/airtime/schedule/full-calendar-functions.js
@@ -21,6 +21,46 @@ function dayClick(date, allDay, jsEvent, view) {
 	var x;
 }
 
+function viewDisplay( view ) {
+    
+    if(view.name === 'agendaDay' || view.name === 'agendaWeek') {
+
+        var select = $('.schedule_change_slots');
+        var calendarEl = this;
+
+        if(select.length === 0) {
+
+            select = $('<select class="schedule_change_slots"/>')
+                .append('<option value="5">5 min</option>')
+                .append('<option value="10">10 min</option>')
+                .append('<option value="15">15 min</option>')
+                .append('<option value="30">30 min</option>')
+                .append('<option value="60">60 min</option>')
+                .change(function(){
+                    var x = $(this).val();
+                    var opt = view.calendar.options;
+                    opt.slotMinutes = parseInt(x);
+                    opt.events = getFullCalendarEvents;
+                    $(calendarEl).fullCalendar('destroy');
+                    $(calendarEl).fullCalendar(opt); 
+
+                    var mainHeight = document.documentElement.clientHeight - 200 - 50;
+                    $(calendarEl).fullCalendar('option', 'contentHeight', mainHeight);
+                    $(calendarEl).fullCalendar('render');
+                });
+
+            $('.fc-header-left tbody tr:first')
+                .append('<td><span class="fc-header-space"></span></td>')
+                .append('<td></td>')
+                .find('td:last')
+                    .append(select);
+
+            var slotMin = view.calendar.options.slotMinutes;
+            $('.schedule_change_slots option[value="'+slotMin+'"]').attr('selected', 'selected');
+        }
+    }
+}
+
 function eventRender(event, element, view) { 
 	//element.qtip({
      //       content: event.description
diff --git a/public/js/airtime/schedule/schedule.js b/public/js/airtime/schedule/schedule.js
index cc26e1647..2ec0ebe9c 100644
--- a/public/js/airtime/schedule/schedule.js
+++ b/public/js/airtime/schedule/schedule.js
@@ -206,10 +206,11 @@ $(document).ready(function() {
             agenda: 'H:mm{ - H:mm}',
             month: 'H:mm{ - H:mm}'
         },
-        
+       
 		events: getFullCalendarEvents,
 
 		//callbacks (in full-calendar-functions.js)
+        viewDisplay: viewDisplay,
 		dayClick: dayClick,
 		eventRender: eventRender,
 		eventAfterRender: eventAfterRender,