/** * * Schedule Dialog creation methods. * */ function makeTimeStamp(date){ var sy, sm, sd, h, m, s, timestamp; sy = date.getFullYear(); sm = date.getMonth() + 1; sd = date.getDate(); h = date.getHours(); m = date.getMinutes(); s = date.getSeconds(); timestamp = sy+"-"+ sm +"-"+ sd +" "+ h +":"+ m +":"+ s; return timestamp; } //dateText mm-dd-yy function startDpSelect(dateText, inst) { var time, date; time = dateText.split("-"); date = new Date(time[0], time[1] - 1, time[2]); $("#end_date").datepicker("option", "minDate", date); } function endDpSelect(dateText, inst) { var time, date; time = dateText.split("-"); date = new Date(time[0], time[1] - 1, time[2]); $("#start_date").datepicker( "option", "maxDate", date); } function createDateInput(el, onSelect) { var date; el.datepicker({ minDate: new Date(), onSelect: onSelect, dateFormat: 'yy-mm-dd' }); date = $.datepicker.formatDate("yy-mm-dd", new Date()); el.val(date); } function submitShow() { var formData, dialog; formData = $("#schedule_add_event_dialog").find("form").serializeArray(); dialog = $(this); $.post("/Schedule/add-show-dialog/format/json", formData, function(data){ if(data.form) { dialog.find("form").remove(); dialog.append(data.form); var start = dialog.find("#start_date"); var end = dialog.find("#end_date"); createDateInput(start, startDpSelect); createDateInput(end, endDpSelect); if(data.overlap) { var table, tr, days; table = $(""); days = $.datepicker.regional[''].dayNamesShort; $.each(data.overlap, function(i, val){ tr = $(""); tr .append("") .append("") .append("") .append(""); table.append(tr); }); dialog.append("Cannot add show. New show overlaps the following shows:"); dialog.append(table); } } else { $("#schedule_calendar").fullCalendar( 'refetchEvents' ); dialog.remove(); } }); } function closeDialog(event, ui) { $(this).remove(); } function schedulePlaylist() { var li, pl_id, url, event, start, dialog; dialog = $(this); li = $("#schedule_playlist_dialog").find(".ui-state-active"); if(li.length === 0) { dialog.remove(); return; } pl_id = li.data('pl_id'); event = li.parent().data('event'); start_date = makeTimeStamp(event.start); url = '/Schedule/schedule-show/format/json'; $.post(url, {plId: pl_id, start: start_date, showId: event.id}, function(json){ dialog.remove(); $("#schedule_calendar").fullCalendar( 'refetchEvents' ); }); } function makeShowDialog(html) { var dialog; //main jqueryUI dialog dialog = $('
'); dialog.append(html); var start = dialog.find("#start_date"); var end = dialog.find("#end_date"); createDateInput(start, startDpSelect); createDateInput(end, endDpSelect); dialog.dialog({ autoOpen: false, title: 'Add Show', width: 950, height: 400, close: closeDialog, buttons: { "Cancel": closeDialog, "Ok": submitShow} }); return dialog; } function makeScheduleDialog(playlists, event) { var dialog; //main jqueryUI dialog dialog = $('
'); var ol, li; ol = $('
"+val.name+""+days[val.day]+""+val.start_time+""+val.end_time+"