// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function createSessionEvent(title, start, end, event_id,receiver){
jQuery.ajax({
data:
'session[title]='+title+
'&session[_contact_id]='+receiver+
'&session[initDate]='+start.toString().substring(0, 24)+
'&session[endDate]='+end.toString().substring(0, 24)+
'&event_id='+event_id,
dataType: 'script',
type: 'POST',
url: '/events/'+event_id+'/sessions/create'
});
}
function moveSession(session, dayDelta, minuteDelta, allDay){
jQuery.ajax({
data: 'id=' + session.id + '&title=' + session.title + '&day_delta=' + dayDelta + '&minute_delta=' + minuteDelta + '&all_day=' + allDay,
dataType: 'script',
type: 'post',
url: '/sessions/'+session.id+'/move'
});
}
function resizeSession(session, dayDelta, minuteDelta){
jQuery.ajax({
data: 'id=' + session.id + '&title=' + session.title + '&day_delta=' + dayDelta + '&minute_delta=' + minuteDelta,
dataType: 'script',
type: 'post',
url: '/sessions/'+session.id+'/resize'
});
}
function showSessionDetails(session){
$('#event_desc').html(session.description);
//$('#edit_event').html("Editar");
title = session.title;
$('#delete_event').html("Eliminar");
$('#desc_dialog').dialog({
title: title,
modal: true,
width: 500,
close: function(session, ui){
$('#desc_dialog').dialog('destroy')
}
});
}
function showSessionDescription(event){
$('#event_desc').html(event.description);
$('#edit_event').html("");
$('#delete_event').html("");
$('#desc_dialog').dialog({
title: event.title,
modal: true,
width: 500,
close: function(event, ui){
$('#desc_dialog').dialog('destroy')
}
});
}
function deleteSession(session_id, delete_all){
jQuery.ajax({
data: 'id=' + session_id + '&delete_all='+delete_all,
dataType: 'script',
type: 'post',
url: '/sessions/'+session_id+'/destroy'
});
}
function dateScheduleAvailable(start, end, allDay){
return $('#calendar').fullCalendar('clientEvents', function(session)
{
if ((session.initDate < start && start < session.endDate) ||
(session.initDate < end && end < session.endDate) ||
(compareDate(session.initDate, start) && (session.allDay || allDay))
)
{
return true;
}
return false;
}) == '';
}
function dateAvailable(start, end, allDay){
return $('#calendar').fullCalendar('clientEvents', function(session)
{
if (session.initDate < start && start < session.endDate)
return true;
else if (session.initDate < end && end < session.endDate)
return true;
else if (session.initDate > start && (session.endDate && session.endDate < end))
return true;
else if (compareDateWithMinutes(session.initDate, start))
return true;
else if (session.endDate && compareDateWithMinutes(session.endDate, end))
return true;
else if (compareDate(session.initDate, start) && (session.allDay || allDay))
return true;
else
return false;
}) == '' && (start >= new Date(new Date().getTime() + 5*60*1000) && start <= new Date(new Date().getTime() + 3*30*24*60*60*1000));
}
function compareDate(date1, date2)
{
return $.fullCalendar.formatDate(date1, "yyyy-MM-dd") == $.fullCalendar.formatDate(date2, "yyyy-MM-dd");
}
function compareDateWithMinutes(date1, date2)
{
return $.fullCalendar.formatDate(date1, "yyyy-MM-dd HH:mm") == $.fullCalendar.formatDate(date2, "yyyy-MM-dd HH:mm");
}