diff --git a/public/js/airtime/schedule/full-calendar-functions.js b/public/js/airtime/schedule/full-calendar-functions.js
index 86b448d84..60d85e927 100644
--- a/public/js/airtime/schedule/full-calendar-functions.js
+++ b/public/js/airtime/schedule/full-calendar-functions.js
@@ -4,17 +4,24 @@
*
*/
+function openAddShowForm() {
+
+ if(($("#add-show-form").length == 1) && ($("#add-show-form").css('display')=='none')) {
+ $("#add-show-form").show();
+ var y = $("#schedule_calendar").width();
+ var z = $("#schedule-add-show").width();
+ $("#schedule_calendar").width(y-z-50);
+ $("#schedule_calendar").fullCalendar('render');
+ }
+}
+
function makeAddShowButton(){
$('.fc-header-left tbody tr:first')
.append('
| ')
.append('Show | ')
.find('td:last > a')
.click(function(){
- $("#add-show-form").show();
- var y = $("#schedule_calendar").width();
- var z = $("#schedule-add-show").width();
- $("#schedule_calendar").width(y-z-50);
- $("#schedule_calendar").fullCalendar('render');
+ openAddShowForm();
var td = $(this).parent();
$(td).prev().remove();
@@ -36,7 +43,64 @@ function makeTimeStamp(date){
}
function dayClick(date, allDay, jsEvent, view) {
- var x;
+ var now, today, selected, chosenDate, chosenTime;
+
+ now = new Date();
+
+ if(view.name === "month") {
+ today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
+ selected = new Date(date.getFullYear(), date.getMonth(), date.getDate());
+ }
+ else {
+ today = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), now.getMinutes());
+ selected = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes());
+ }
+
+ if(selected >= today) {
+ var addShow = $('.add-button');
+
+ //remove the +show button if it exists.
+ if(addShow.length == 1){
+ var td = $(addShow).parent();
+ $(td).prev().remove();
+ $(td).remove();
+ }
+
+ chosenDate = selected.getFullYear();
+
+ var month = selected.getMonth() + 1;
+ if(month < 10) {
+ chosenDate = chosenDate+'-0'+month;
+ }
+ else {
+ chosenDate = chosenDate+'-'+month;
+ }
+
+ var day = selected.getDate();
+ if(day < 10) {
+ chosenDate = chosenDate+'-0'+day;
+ }
+ else {
+ chosenDate = chosenDate+'-'+day;
+ }
+
+ var min = selected.getMinutes();
+ var hours = selected.getHours();
+ if(min < 10){
+ chosenTime = hours+":0"+min;
+ }
+ else {
+ chosenTime = hours+":"+min;
+ }
+
+ $("#add_show_start_date").val(chosenDate);
+ $("#add_show_end_date").datepicker("option", "minDate", chosenDate);
+ $("#add_show_end_date").val(chosenDate);
+ $("#add_show_start_time").val(chosenTime);
+ $("#schedule-show-when").show();
+
+ openAddShowForm();
+ }
}
function viewDisplay( view ) {