var dynamicContent_ajaxObjects = new Array();var jsCache = new Array();var enableCache = true;var returnCalendarView = '';function ajax_loadContent(divId,pathToFile){  if(activeCalendarView != 'formbox')  	returnCalendarView = activeCalendarView;  activeCalendarView = 'formbox';  if(enableCache && jsCache[pathToFile]){    document.getElementById(divId).innerHTML = jsCache[pathToFile];    return;  }  var ajaxIndex = dynamicContent_ajaxObjects.length;  document.getElementById(divId).innerHTML = '<span class="v1">Loading...</span>';  dynamicContent_ajaxObjects[ajaxIndex] = new sack();  dynamicContent_ajaxObjects[ajaxIndex].requestFile = pathToFile;  dynamicContent_ajaxObjects[ajaxIndex].onCompletion =  function(){ ajax_showContent(divId,ajaxIndex,pathToFile); };  dynamicContent_ajaxObjects[ajaxIndex].runAJAX();}function ajax_loadSpecialContent(div,pathToFile){  if(enableCache && jsCache[pathToFile]){    div.innerHTML = jsCache[pathToFile];    return;  }  var ajaxIndex = dynamicContent_ajaxObjects.length;  div.innerHTML =  '<span class="v1">Loading...</span>';  dynamicContent_ajaxObjects[ajaxIndex] = new sack();  dynamicContent_ajaxObjects[ajaxIndex].requestFile = pathToFile;  dynamicContent_ajaxObjects[ajaxIndex].onCompletion =  function(){ div.innerHTML= dynamicContent_ajaxObjects[ajaxIndex].response; };  dynamicContent_ajaxObjects[ajaxIndex].runAJAX();}function ajax_showContent(divId,ajaxIndex,pathToFile){  document.getElementById(divId).innerHTML =    dynamicContent_ajaxObjects[ajaxIndex].response;  if(enableCache){    jsCache[pathToFile] =    dynamicContent_ajaxObjects[ajaxIndex].response;  }  dynamicContent_ajaxObjects[ajaxIndex] = false;}function add_ajax_event( form ){  var title = form.event_title.value;  var o_start_date = form.event_start_date.value;  var o_start_time = form.event_start_time.value;  var end_date = form.event_end_date.value;  var end_time = form.event_end_time.value;  var start_date=o_start_date.split("-");  var start_time=o_start_time.split(":");  var end_date=end_date.split("-");  var end_time=end_time.split(":");  var event_start = new Date(start_date[0],start_date[1]/1-1,start_date[2]/1,start_time[0],start_time[1],0);  var event_end = new Date(end_date[0],end_date[1]/1-1,end_date[2]/1,end_time[0],end_time[1],0);  var event_start = event_start.toGMTString().replace('UTC','GMT');  var event_end = event_end.toGMTString().replace('UTC','GMT');  var where = form.event_where.value;  var calendar = form.event_calendar.value;  var desc = form.event_description.value;  if(form.event_allday.checked)   var allday = 1 ;  else   var allday = 0 ;  var mysack = new sack("/xajax/calendar_form_saveevent.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 1 );  mysack.setVar( "title", title );  mysack.setVar( "event_start", event_start );  mysack.setVar( "event_end", event_end );  mysack.setVar( "where", where );  mysack.setVar( "calendar", calendar );  mysack.setVar( "userId", userId );  mysack.setVar( "desc", desc );  mysack.setVar( "allday", allday );  mysack.onCompletion = function(){ returntocalendar(); ajax_message('Dodano wydarzenie '+title+' w dniu '+ o_start_date +' o godzinie '+o_start_time); };  mysack.onError = function() { alert('Ajax error while saving an event' )};  mysack.runAJAX();  return true;}function add_ajax_special_event( form ){  var event_id = form.event_id.value;  var title = form.event_title.value;  if(!appointmentProperties[event_id]['eventStartDate']){updateAppointmentProperties(event_id);}  appointmentProperties[event_id]['title'] = title;  var o_start_date = new Date("Y-m-d",appointmentProperties[event_id]['eventStartDate']);  var o_start_time = new Date("H:i",appointmentProperties[event_id]['eventStartDate']);  var event_start = appointmentProperties[event_id]['eventStartDate'].toGMTString().replace('UTC','GMT');  var event_end = appointmentProperties[event_id]['eventEndDate'].toGMTString().replace('UTC','GMT');  var calendar = form.event_calendar.value;  var mysack = new sack("/xajax/calendar_form_saveevent.php" );  var allday = 0;  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 1 );  mysack.setVar( "title", title );  mysack.setVar( "event_start", event_start );  mysack.setVar( "event_end", event_end );  mysack.setVar( "calendar", calendar );  mysack.setVar( "userId", userId );  mysack.setVar( "allday", allday );  mysack.onCompletion = function(){ save_special_event_complete(mysack.response,appointmentProperties[event_id]['id']); returntocalendar(); closeBubble(); ajax_message('Dodano wydarzenie '+title+' w dniu '+ o_start_date +' o godzinie '+o_start_time); };  mysack.onError = function() { alert('Ajax error in save event' )};  mysack.runAJAX();  return true;}function save_special_event_complete(newId,oldId){	if(oldId.indexOf('new_')>=0){		appointmentProperties[oldId]['id'] = newId;		appointmentProperties[oldId]['object'].id = newId.replace(/\s/g,'');		appointmentProperties[newId] = appointmentProperties[oldId];		var hourPrefix = "";		if(appointmentProperties[oldId]['eventStartDate'].getHours()<10)hourPrefix = "0";		var minutePrefix = "";		if(appointmentProperties[oldId]['eventStartDate'].getMinutes()<10)minutePrefix = "0";		appointmentDate = appointmentProperties[oldId]['eventStartDate'].getFullYear() +'-'+ ((appointmentProperties[oldId]['eventStartDate'].getMonth()/1) + 1) +'-'+ appointmentProperties[oldId]['eventStartDate'].getDate();		appointmentTime = hourPrefix+appointmentProperties[oldId]['eventStartDate'].getHours()+':'+minutePrefix+appointmentProperties[oldId]['eventStartDate'].getMinutes();		ajax_message('Dodano wydarzenie '+appointmentProperties[oldId]['title']+' w dniu '+ appointmentDate +' o godzinie '+appointmentTime);				currentAppointmentContentDiv.innerHTML = appointmentProperties[oldId]['title'];		appointmentProperties[newId]['object'].className = 'calendar_event';			}else{		ajax_message('Wydarzenie zostalo zaktualizowane');	}}function update_ajax_event( form ){  var event_id = form.event_id.value;  var title = form.event_title.value;  var o_start_date = form.event_start_date.value;  var o_start_time = form.event_start_time.value;  var end_date = form.event_end_date.value;  var end_time = form.event_end_time.value;  var start_date=o_start_date.split("-");  var start_time=o_start_time.split(":");  var end_date=end_date.split("-");  var end_time=end_time.split(":");  var event_start = new Date(start_date[0],start_date[1]/1-1,start_date[2]/1,start_time[0],start_time[1],0);  var event_end = new Date(end_date[0],end_date[1]/1-1,end_date[2]/1,end_time[0],end_time[1],0);  var event_start = event_start.toGMTString().replace('UTC','GMT');  var event_end = event_end.toGMTString().replace('UTC','GMT');  var where = form.event_where.value;  var calendar = form.event_calendar.value;  var desc = form.event_description.value;  if(form.event_allday.checked)   var allday = 1 ;  else   var allday = 0 ;  var mysack = new sack("/xajax/calendar_form_saveevent.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 0 );  mysack.setVar( "id", event_id );  mysack.setVar( "title", title );  mysack.setVar( "event_start", event_start );  mysack.setVar( "event_end", event_end );  mysack.setVar( "where", where );  mysack.setVar( "calendar", calendar );  mysack.setVar( "userId", userId );  mysack.setVar( "desc", desc );  mysack.setVar( "allday", allday );  mysack.onCompletion = function(){ returntocalendar(); ajax_message('Zaktualizowano wydarzenie '+title+' w dniu '+ o_start_date +' o godzinie '+o_start_time); };  mysack.onError = function() { alert('Ajax error in save event' )};  mysack.runAJAX();  return true;}function delete_ajax_event( form ){  closeBubble();  var event_id = form.event_id.value;  var title = form.event_title.value;  var o_start_date = form.event_start_date.value;  var o_start_time = form.event_start_time.value;  var mysack = new sack("/xajax/calendar_form_deleteevent.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 0 );  mysack.setVar( "id", event_id );  mysack.onCompletion = function(){ returntocalendar();  ajax_message('usunięto wydarzenie '+title+' w dniu '+ o_start_date +' o godzinie '+o_start_time); };  mysack.onError = function() { alert('Ajax error in save event' )};  mysack.runAJAX();  return true;}function delete_fromlink_event( form ){	var event_id = form.event_id.value;	closeBubble();	var ajaxIndex = weekSchedule_ajaxObjects.length;	weekSchedule_ajaxObjects[ajaxIndex] = new sack();	weekSchedule_ajaxObjects[ajaxIndex].requestFile = externalSourceFile_delete  + '?eventToDeleteId=' + event_id;	weekSchedule_ajaxObjects[ajaxIndex].onCompletion = function(){ deleteEventFromView(ajaxIndex); };	weekSchedule_ajaxObjects[ajaxIndex].runAJAX();}function add_ajax_calendar( form ){  var title = form.calendar_title.value;  var desc = form.calendar_description.value;  if(title == ''){  	showDialog('Blad ustawien','Nie mozna utworzyc kalendarza bez nazwy.','warning',3);  	return false;  }  var mysack = new sack("/xajax/calendar_form_savecalendar.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 1 );  mysack.setVar( "title", title );  mysack.setVar( "userId", userId );  mysack.setVar( "desc", desc );  mysack.onCompletion = function(){ getConfigFromServer(mysack.response); returntocalendar();  ajax_message('Dodano kalendarz o tytule '+ title); };  mysack.onError = function() { alert('Blad przy dodawaniu kalendarza' )};  mysack.runAJAX();  return true;}function update_ajax_calendar( form ){  var title = form.calendar_title.value;  var cal_id = form.calendar_id.value;  if(title == ''){  	showDialog('Blad ustawien','Nie mozna zapisas kalendarza bez nazwy.','warning',3);  	return false;  }  var mysack = new sack("/xajax/calendar_form_savecalendar.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 0 );  mysack.setVar( "title", title );  mysack.setVar( "userId", userId );  mysack.setVar( "cal_id", cal_id );  mysack.onCompletion = function(){ getConfigFromServer(mysack.response); returntocalendar();  ajax_message('Zapisano kalendarz o tytule '+ title); };  mysack.onError = function() { alert('Blad przy aktualizacji kalendarza' )};  mysack.runAJAX();  return true;}function share_ajax_calendar( form ){  var title = form.calendar_title.value;  var cal_id = form.calendar_id.value;  if(form.calendar_public.checked)   var cal_public= 1 ;  else   var cal_public = 0 ;  var mysack = new sack("/xajax/calendar_form_savecalendar.php" );  mysack.execute = 1;  mysack.method = 'POST';  mysack.setVar( "saveAnItem", 1 );  mysack.setVar( "newItem", 0 );  mysack.setVar( "title", title );  mysack.setVar( "cal_public", cal_public );  mysack.setVar( "userId", userId );  mysack.setVar( "cal_id", cal_id );  mysack.onCompletion = function(){ getConfigFromServer(mysack.response); returntocalendar();  ajax_message('Kalendarz '+ title + ' został opublikowany'); };  mysack.onError = function() { alert('Blad przy udostepnianiu publicznym kalendarza' )};  mysack.runAJAX();  return true;}
function allday(checkbox){	if(checkbox.checked){		document.forms[0].event_start_time.style.display="none";		document.forms[0].event_end_time.style.display="none";	}else{		document.forms[0].event_start_time.style.display="";		document.forms[0].event_end_time.style.display="";	}}function returntocalendar(){	if(returnCalendarView == 'day')		initDayCalendar();	if(returnCalendarView == 'week')		initWeekCalendar();	if(returnCalendarView == 'month')		initMonthCalendar();}var _replaceContext = false;var _mouseOverContext = false;var _noContext = false;   var _divContext = false;function InitContext(){	_divContext = createContextMenu();	bodyDocument.appendChild(_divContext);    _divContext.onmouseover = function() { _mouseOverContext = true; };    _divContext.onmouseout = function() { _mouseOverContext = false; };}function scrolls(){	closeBubble();}function createContextMenu(){	var contextDiv = document.createElement('DIV');	contextDiv.id = 'divContext';		var list = document.createElement('UL');	list.className='cmenu';	var calname = document.createElement('LI');	calname.className='bottomSep';	list.appendChild(calname);	var calname = document.createElement('LI');	calname.className='linkSep';	calname.id='aContextOnly';	calname.innerHTML = showOnlyThisRange;	list.appendChild(calname);	var calname = document.createElement('LI');	calname.className='linkSep';	calname.id='aContextSetting';	calname.innerHTML = rangeSettings;	list.appendChild(calname);	contextDiv.appendChild(list);	return contextDiv;}function createEventContext(calendar_id){	if(calendar_id>0)		ajax_loadContent('bigCalendarContainer','/xajax/calendar_form_addevent.php?cal_id='+calendar_id);	return false;}function editEventCalendar(){	return false;}function editEventCalendar2(id){	return false;}function configCalendarContext(calendar_id){	if(calendar_id>0)		ajax_loadContent('bigCalendarContainer','/xajax/calendar_form_setingcalendar.php?cal_id='+calendar_id);	return false;}function shareCalendarContext(calendar_id){	if(calendar_id>0)		ajax_loadContent('bigCalendarContainer','/xajax/calendar_form_sharecalendar.php?cal_id='+calendar_id);	return false;}function onlyCalendarContext(calendar_id){	if(calendar_id>0)		saveOnlyConfigFromServer(calendar_id);}function ContextMouseDown(event){	closeBubble();    if (_noContext || _mouseOverContext)        return;    if (event == null)        event = window.event;    var target = event.target != null ? event.target : event.srcElement;	calendar_id = 0;    if(target.id){    	calendar_id = target.id.split('_');    	calendar_id = calendar_id[2];	}    if (event.button == 0 && target.className == 'calendar_buttons'){    _replaceContext = true;    }else if (!_mouseOverContext){        _divContext.style.display = 'none';	}    ContextShow(event,target,calendar_id);}function CloseContext(){    _mouseOverContext = false;    _divContext.style.display = 'none';}
function ContextShow(event,target,calendar_id)
{

if (_noContext || _mouseOverContext)
return;

if (event == null)
event = window.event;


var target = event.target != null ? event.target : event.srcElement;

if (_replaceContext)
{

_divContext.style.display = 'none';
_divContext.style.left = (getLeftPos(target)+16) + 'px';
_divContext.style.top = getTopPos(target) + 'px';

kolor = configProperties[calendar_id]['color'];

_divContext.style.backgroundColor = colors[kolor][4];
_divContext.style.borderLeft = "1px solid "+colors[kolor][3];
_divContext.style.borderTop = "1px solid "+colors[kolor][3];
_divContext.style.borderRight = "1px solid "+colors[kolor][0];
_divContext.style.borderBottom = "1px solid "+colors[kolor][0];

var linki = _divContext.getElementsByTagName('LI')

for(i=0;i<linki.length;i++){
if(linki[i].className == 'bottomSep'){
linki[i].innerHTML = configProperties[calendar_id]['title'];
linki[i].style.borderBottom = "1px solid "+colors[kolor][3];
}
if(linki[i].className == 'linkSep'){
linki[i].style.backgroundColor = colors[kolor][4];

linki[i].onmouseover=function() {
this.style.backgroundColor = colors[kolor][3];
}

linki[i].onmouseout=function() {
this.style.backgroundColor = colors[kolor][4];
};

if(linki[i].id == 'aContextCreate'){

linki[i].onmousedown=function() {
createEventContext(calendar_id);
CloseContext();
};

}

if(linki[i].id == 'aContextSetting'){

linki[i].onmousedown=function() {
configCalendarContext(calendar_id);
CloseContext();
};

}

if(linki[i].id == 'aContextShare'){

linki[i].onmousedown=function() {
shareCalendarContext(calendar_id);
CloseContext();
};

}

if(linki[i].id == 'aContextOnly'){

linki[i].onmousedown=function() {
onlyCalendarContext(calendar_id);
CloseContext();
};

}
}

}

_divContext.style.display = 'block';

_replaceContext = false;

return false;
}
}

function DisableContext(){    _noContext = true;    CloseContext();    $('aEnable').style.display = '';    return false;}function EnableContext(){    _noContext = false;    _mouseOverContext = false;    $('aEnable').style.display = 'none';    return false;}

