nextcloud/apps/calendar/js/calendar.js

887 lines
30 KiB
JavaScript
Raw Normal View History

2011-08-11 13:22:07 +04:00
/*************************************************
* ownCloud - Calendar Plugin *
* *
* (c) Copyright 2011 Georg Ehrke *
2011-08-11 13:22:07 +04:00
* author: Georg Ehrke *
* email: ownclouddev at georgswebsite dot de *
* homepage: ownclouddev.georgswebsite.de *
* manual: ownclouddev.georgswebsite.de/manual *
2011-08-12 16:29:45 +04:00
* License: GNU AFFERO GENERAL PUBLIC LICENSE *
2011-08-11 13:22:07 +04:00
* *
2011-08-12 16:29:45 +04:00
* <http://www.gnu.org/licenses/> *
2011-08-11 13:22:07 +04:00
* If you are not able to view the License, *
* <http://www.gnu.org/licenses/> *
* <http://ownclouddev.georgswebsite.de/license/> *
* please write to the Free Software Foundation. *
* Address: *
* 59 Temple Place, Suite 330, Boston, *
* MA 02111-1307 USA *
**************************************************
* list of all fx *
* calw - Calendarweek *
* doy - Day of the year *
* checkforleapyear - check for a leap year *
* forward_day - switching one day forward *
* forward_week - switching one week forward *
* forward_month - switching one month forward *
* backward_day - switching one day backward *
* backward_week - switching one week backward *
* backward_month - switching one month backward *
2011-08-31 17:59:22 +04:00
* update_view - update the view of the calendar *
* onedayview - one day view *
* oneweekview - one week view *
* onemonthview - four Weeks view *
* onemonthview - one Month view *
* listview - listview *
2011-08-11 13:22:07 +04:00
* generate_monthview - generating month view *
* generate_dates - generate other days for view *
* load_events - load the events *
* switch2today - switching to today *
* remove_events - remove old events in view *
*************************************************/
2011-08-31 17:59:22 +04:00
Calendar={
Date:{
normal_year_cal: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
leap_year_cal: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
2011-08-31 17:59:22 +04:00
calw:function() {
var generate_dayofweek = oc_cal_dayofweek;
if(generate_dayofweek == 0) {
generate_dayofweek = 7;
}
var calw = Math.floor((this.doy() - generate_dayofweek) / 7) + 1;
return calw;
},
2011-08-11 13:22:07 +04:00
2011-08-31 17:59:22 +04:00
doy:function() {
var cal = this.getnumberofdays(oc_cal_year);
2011-08-31 17:59:22 +04:00
var doy = 0;
for(var i = 0; i < oc_cal_month; i++) {
doy = doy + parseInt(cal[i]);
}
doy = doy + parseInt(oc_cal_dayofmonth);
return doy;
},
2011-08-11 13:22:07 +04:00
getnumberofdays:function(year) {
if(this.checkforleapyear(year) == true) {
var cal = this.leap_year_cal;
} else {
var cal = this.normal_year_cal;
}
return cal;
},
2011-08-31 17:59:22 +04:00
checkforleapyear:function(year2check) {
if((year2check / 600) == Math.floor(year2check / 400)) {
return true;
}
if((year2check / 4) == Math.floor(year2check / 4)) {
if((year2check / 100) == Math.floor(year2check / 100)) {
return false;
}
return true;
}
2011-08-11 13:22:07 +04:00
return false;
2011-08-31 17:59:22 +04:00
},
forward_day:function(){
var cal = this.getnumberofdays(oc_cal_year);
2011-08-31 17:59:22 +04:00
if(oc_cal_dayofmonth == cal[oc_cal_month]) {
if(oc_cal_month == 11) {
oc_cal_year++;
oc_cal_month = 0;
oc_cal_dayofmonth = 1;
if(oc_cal_dayofweek == 6) {
oc_cal_dayofweek = 0;
} else {
oc_cal_dayofweek++;
}
} else {
oc_cal_month++;
oc_cal_dayofmonth = 1;
if(oc_cal_dayofweek == 6) {
oc_cal_dayofweek = 0;
} else {
oc_cal_dayofweek++;
}
}
} else {
oc_cal_dayofmonth++;
if(oc_cal_dayofweek == 6) {
oc_cal_dayofweek = 0;
} else {
oc_cal_dayofweek++;
}
}
},
forward_week:function(){
for(var i = 1; i <= 7; i++) {
this.forward_day();
}
},
forward_month:function(){
var cal = this.getnumberofdays(oc_cal_year);
2011-08-31 17:59:22 +04:00
for(var i = 1; i <= cal[oc_cal_month]; i++) {
this.forward_day();
}
},
backward_day:function(){
var cal = this.getnumberofdays(oc_cal_year);
2011-08-31 17:59:22 +04:00
if(oc_cal_dayofmonth == 1) {
if(oc_cal_month == 0) {
oc_cal_year--;
oc_cal_month = 11;
oc_cal_dayofmonth = 31
if(oc_cal_dayofweek == 0) {
oc_cal_dayofweek = 6;
} else {
oc_cal_dayofweek--;
}
} else {
oc_cal_month--;
oc_cal_dayofmonth = cal[oc_cal_month];
if(oc_cal_dayofweek == 0) {
oc_cal_dayofweek = 6;
} else {
oc_cal_dayofweek--;
}
}
} else {
oc_cal_dayofmonth--;
if(oc_cal_dayofweek == 0) {
oc_cal_dayofweek = 6;
} else {
oc_cal_dayofweek--;
}
}
},
backward_week:function(){
for(var i = 1; i <= 7; i++) {
this.backward_day();
}
},
backward_month:function(){
var cal = this.getnumberofdays(oc_cal_year);
2011-08-31 17:59:22 +04:00
for(var i = cal[oc_cal_month]; i >= 1; i--) {
this.backward_day();
}
},
2011-08-11 13:22:07 +04:00
}
}
2011-08-12 16:29:45 +04:00
function oc_cal_update_view(view, task) {
2011-08-11 13:22:07 +04:00
if(view == "") {
2011-08-12 16:29:45 +04:00
view = oc_cal_currentview;
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
$("#sysbox").load(oc_webroot + "/apps/calendar/ajax/changeview.php?v="+view+"");
//no necessary to check whether the response is true or not
2011-08-11 13:22:07 +04:00
switch(view) {
case "onedayview":
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_day();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_day();
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
oc_cal_remove_events("oneday");
oc_cal_load_cal("oneday");
oc_cal_load_events("oneday");
2011-08-11 13:22:07 +04:00
break;
case "oneweekview":
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_week();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_week();
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
oc_cal_remove_events("oneweek");
oc_cal_load_cal("oneweek");
oc_cal_load_events("oneweek");
2011-08-11 13:22:07 +04:00
break;
case "fourweeksview":
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_week();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_week();
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
oc_cal_remove_events("fourweeks");
oc_cal_load_cal("fourweeks");
oc_cal_load_events("fourweeks");
2011-08-11 13:22:07 +04:00
break;
case "onemonthview":
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_month();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_month();
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
oc_cal_remove_events("onemonth");
oc_cal_load_cal("onemonth");
oc_cal_load_events("onemonth");
2011-08-11 13:22:07 +04:00
break;
case "listview":
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_day();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_day();
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
oc_cal_remove_events("list");
oc_cal_load_cal("list");
oc_cal_load_events("list");
2011-08-11 13:22:07 +04:00
break;
default:
2011-08-12 16:29:45 +04:00
break;
}
if(oc_cal_month == 0){
oc_cal_update_eventsvar(oc_cal_year - 1);
}
if(oc_cal_month == 11){
oc_cal_update_eventsvar(oc_cal_year + 1);
2011-08-11 13:22:07 +04:00
}
}
2011-08-12 16:29:45 +04:00
function oc_cal_listview(task) {
2011-08-11 13:22:07 +04:00
if(task == "forward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.forward_day();
2011-08-11 13:22:07 +04:00
}
if(task == "backward") {
2011-08-31 17:59:22 +04:00
Calendar.Date.backward_day();
2011-08-11 13:22:07 +04:00
}
$("#datecontrol_date").val(dayshort[dayofweek] + space + dayofmonth + space + monthshort[month] + space + year);
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
function oc_cal_generate_dates(view) {
2011-08-11 13:22:07 +04:00
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(view == "oneweek") {
2011-08-12 16:29:45 +04:00
var generate_dayofweek = oc_cal_dayofweek;
var generate_dayofmonth = oc_cal_dayofmonth;
var generate_month = oc_cal_month;
var generate_year = oc_cal_year;
2011-08-11 13:22:07 +04:00
var dates = new Array();
if(generate_dayofweek == 0) {
generate_dayofweek = 7;
}
for(var i = generate_dayofweek; i > 1; i--) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == 1) {
if(generate_month == 0) {
generate_year--;
generate_month = 11;
generate_dayofmonth = cal[generate_month];
} else {
generate_month--;
generate_dayofmonth = cal[generate_month];
}
} else {
generate_dayofmonth--;
}
generate_dayofweek--;
}
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
for(var i = 1; i <= 6; i++) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == cal[generate_month]) {
if(generate_month == 11) {
generate_year++;
generate_month = 0;
generate_dayofmonth = 1;
} else {
generate_month++;
generate_dayofmonth = 1;
}
} else {
generate_dayofmonth++;
}
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
}
return dates;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(view == "fourweeks") {
2011-08-12 16:29:45 +04:00
var generate_dayofweek = oc_cal_dayofweek;
var generate_dayofmonth = oc_cal_dayofmonth;
var generate_month = oc_cal_month;
var generate_year = oc_cal_year;
2011-08-11 13:22:07 +04:00
var dates = new Array();
if(generate_dayofweek == 0) {
generate_dayofweek = 7;
}
for(var i = generate_dayofweek; i > 1; i--) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == 1) {
if(generate_month == 0) {
generate_year--;
generate_month = 11;
generate_dayofmonth = cal[generate_month];
} else {
generate_month--;
generate_dayofmonth = cal[generate_month];
}
} else {
generate_dayofmonth--;
}
generate_dayofweek--;
}
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
for(var i = 1; i <= 27; i++) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == cal[generate_month]) {
if(generate_month == 11) {
generate_year++;
generate_month = 0;
generate_dayofmonth = 1;
} else {
generate_month++;
generate_dayofmonth = 1;
}
} else {
generate_dayofmonth++;
}
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
}
return dates;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(view == "onemonth") {
2011-08-12 16:29:45 +04:00
var generate_dayofweek = oc_cal_dayofweek;
var generate_dayofmonth = oc_cal_dayofmonth;
var generate_month = oc_cal_month;
var generate_year = oc_cal_year;
2011-08-11 13:22:07 +04:00
var dates = new Array();
for(var i = generate_dayofmonth; i > 1; i--) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == 1) {
if(generate_month == 0) {
generate_year--;
generate_month = 11;
generate_dayofmonth = cal[generate_month];
} else {
generate_month--;
generate_dayofmonth = cal[generate_month];
}
} else {
generate_dayofmonth--;
}
if(generate_dayofweek == 0) {
generate_dayofweek = 6;
} else {
generate_dayofweek--;
}
}
if(generate_dayofweek == 0) {
generate_dayofweek = 7;
2011-08-12 16:29:45 +04:00
oc_cal_rows++;
2011-08-11 13:22:07 +04:00
}
for(var i = generate_dayofweek; i > 1; i--) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == 1) {
if(generate_month == 0) {
generate_year--;
generate_month = 11;
generate_dayofmonth = cal[generate_month];
} else {
generate_month--;
generate_dayofmonth = cal[generate_month];
}
} else {
generate_dayofmonth--;
}
generate_dayofweek--;
}
dates[0] = new Array(generate_dayofmonth, generate_month, generate_year);
for(var i = 1; i <= 41; i++) {
var cal = Calendar.Date.getnumberofdays(generate_year);
2011-08-11 13:22:07 +04:00
if(generate_dayofmonth == cal[generate_month]) {
if(generate_month == 11) {
generate_year++;
generate_month = 0;
generate_dayofmonth = 1;
} else {
generate_month++;
generate_dayofmonth = 1;
}
} else {
generate_dayofmonth++;
}
dates[i] = new Array(generate_dayofmonth, generate_month, generate_year);
}
return dates;
} else {////////////////////////////////////////////////////////////////////////////////////////////////////
return false;
}
}
2011-08-12 16:29:45 +04:00
function oc_cal_switch2today() {
oc_cal_date = oc_cal_today;
oc_cal_dayofweek = oc_cal_todaydayofweek;
oc_cal_month = oc_cal_todaymonth;
oc_cal_dayofmonth = oc_cal_todaydayofmonth;
oc_cal_year = oc_cal_todayyear;
oc_cal_update_view('', '');
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
function oc_cal_update_eventsvar(loadyear) {
$.getJSON(oc_webroot + "/apps/calendar/ajax/getcal.php?year=" + loadyear, function(newevents, status) {
if(status == "nosession") {
2011-08-11 13:22:07 +04:00
alert("You are not logged in. That can happen if you don't use owncloud for a long time.");
document.location(oc_webroot);
2011-08-11 13:22:07 +04:00
}
if(status == "parsingfail" || typeof (newevents) == "undefined") {
2011-08-11 13:22:07 +04:00
$(function() {
$( "#parsingfail_dialog" ).dialog();
});
} else {
oc_cal_events[loadyear] = newevents[loadyear];
oc_cal_update_view('', '');
2011-08-11 13:22:07 +04:00
}
});
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
function oc_cal_load_cal(loadview) {
2011-08-11 13:22:07 +04:00
if(loadview == "oneday") {
$("#datecontrol_date").val(oc_cal_dayshort[oc_cal_dayofweek] + oc_cal_space + oc_cal_dayofmonth + oc_cal_space + oc_cal_monthshort[oc_cal_month] + oc_cal_space + oc_cal_year);
$("#onedayview_today").html(oc_cal_daylong[oc_cal_dayofweek] + oc_cal_space + oc_cal_dayofmonth + oc_cal_space + oc_cal_monthshort[oc_cal_month]);
var generate_dayofmonth = oc_cal_dayofmonth;
var generate_month = oc_cal_month;
var generate_year = oc_cal_year;
if(parseInt(generate_dayofmonth) <= 9){
generate_dayofmonth = "0" + generate_dayofmonth;
}
generate_month++;
if(parseInt(generate_month) <= 9){
generate_month = "0" + generate_month;
}
var generate_title = String(generate_dayofmonth) + String(generate_month) + String(generate_year);
$('#onedayview_today').attr('title', generate_title);
2011-08-11 13:22:07 +04:00
}
if(loadview == "oneweek") {
$("#datecontrol_date").val(cw_label + ": " + Calendar.Date.calw());
2011-08-12 16:29:45 +04:00
var dates = oc_cal_generate_dates("oneweek");
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
var weekday = 1;
for(var i = 0; i <= 6; i++){
var generate_dayofmonth = String(dates[i][0]);
var generate_month = String(dates[i][1]);
$("#oneweekview_" + weekdays[i]).html(oc_cal_dayshort[weekday] + oc_cal_space + dates[i][0] + oc_cal_space + oc_cal_monthshort[dates[i][1]]);
if(parseInt(generate_dayofmonth) <= 9){
generate_dayofmonth = "0" + generate_dayofmonth;
}
generate_month++;
if(parseInt(generate_month) <= 9){
generate_month = "0" + generate_month;
}
var generate_title = String(generate_dayofmonth) + String(generate_month) + String(dates[i][2]);
$("#oneweekview_" + weekdays[i]).attr('title', generate_title);
if(weekday == 6){
weekday = 0;
}else{
weekday++;
}
}
2011-08-11 13:22:07 +04:00
}
if(loadview == "fourweeks") {
2011-08-31 17:59:22 +04:00
var calw1 = Calendar.Date.calw();
if(calw1 == 52) {
2011-08-11 13:22:07 +04:00
var calw2 = 1;
} else {
2011-08-31 17:59:22 +04:00
var calw2 = Calendar.Date.calw() + 1;
2011-08-11 13:22:07 +04:00
}
if(calw1 == 51) {
var calw3 = 1;
} else if(calw1 == 52) {
var calw3 = 2;
} else {
2011-08-31 17:59:22 +04:00
var calw3 = Calendar.Date.calw() + 2;
2011-08-11 13:22:07 +04:00
}
if(calw1 == 50) {
var calw4 = 1;
} else if(calw1 == 51) {
var calw4 = 2;
} else if(calw1 == 52) {
var calw4 = 3;
} else {
2011-08-31 17:59:22 +04:00
var calw4 = Calendar.Date.calw() + 3;
2011-08-11 13:22:07 +04:00
}
var calwplusfour = calw4;
2011-08-12 16:29:45 +04:00
var dates = oc_cal_generate_dates("fourweeks");
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
var weeknum = 1;
var weekday = 0;
for(var i = 0; i <= 27; i++){
var generate_dayofmonth = String(dates[i][0]);
var generate_month = String(dates[i][1]);
var generate_year = dates[i][2];
$("#dateinfo_fourweeksview_" + weekdays[weekday] + "_" + weeknum).html(generate_dayofmonth + oc_cal_space + oc_cal_monthshort[generate_month]);
if(parseInt(generate_dayofmonth) <= 9){
generate_dayofmonth = "0" + generate_dayofmonth;
}
if(generate_dayofmonth == oc_cal_todaydayofmonth && generate_month == oc_cal_todaymonth && generate_year == oc_cal_todayyear){
$("#fourweeksview_" + weekdays[weekday] + "_" + weeknum).attr('class', "thisday");
}else{
$("#fourweeksview_" + weekdays[weekday] + "_" + weeknum).attr('class', "fourweeksview_item");
}
generate_month++;
if(parseInt(generate_month) <= 9){
generate_month = "0" + generate_month;
}
var generate_title = String(generate_dayofmonth) + String(generate_month) + String(dates[i][2]);
$("#fourweeksview_" + weekdays[weekday] + "_" + weeknum).attr('title', generate_title);
if(weekday == 6){
weekday = 0;
weeknum++;
}else{
weekday++;
}
}
$("#fourweeksview_calw1").html(calw1);
$("#fourweeksview_calw2").html(calw2);
$("#fourweeksview_calw3").html(calw3);
$("#fourweeksview_calw4").html(calw4);
$("#datecontrol_date").val(cws_label + ": " + Calendar.Date.calw() + " - " + calwplusfour);
2011-08-11 13:22:07 +04:00
}
if(loadview == "onemonth") {
$("#datecontrol_date").val(oc_cal_monthlong[oc_cal_month] + oc_cal_space + oc_cal_year);
var cal = Calendar.Date.getnumberofdays(oc_cal_year);
2011-08-12 16:29:45 +04:00
var monthview_dayofweek = oc_cal_dayofweek;
var monthview_dayofmonth = oc_cal_dayofmonth;
2011-08-11 13:22:07 +04:00
for(var i = monthview_dayofmonth; i > 1; i--) {
if(monthview_dayofweek == 0) {
monthview_dayofweek = 6;
} else {
monthview_dayofweek--;
}
}
$("#onemonthview_week_5").css('display', "none");
$("#onemonthview_week_6").css('display', "none");
2011-08-12 16:29:45 +04:00
oc_cal_rows = parseInt(monthview_dayofweek) + parseInt(cal[oc_cal_month]);
oc_cal_rows = oc_cal_rows / 7;
oc_cal_rows = Math.ceil(oc_cal_rows);
var dates = oc_cal_generate_dates("onemonth");
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
var weeknum = 1;
var weekday = 0;
for(var i = 0; i <= 41; i++){
var generate_dayofmonth = dates[i][0];
var generate_month = dates[i][1];
var generate_year = dates[i][2];
$("#dateinfo_onemonthview_" + weekdays[weekday] + "_" + weeknum).html(generate_dayofmonth + oc_cal_space + oc_cal_monthshort[generate_month]);
if(parseInt(generate_dayofmonth) <= 9){
generate_dayofmonth = "0" + generate_dayofmonth;
}
if(generate_dayofmonth == oc_cal_todaydayofmonth && generate_month == oc_cal_todaymonth && generate_year == oc_cal_todayyear){
$("#onemonthview_" + weekdays[weekday] + "_" + weeknum).attr('class', "thisday");
}else{
$("#onemonthview_" + weekdays[weekday] + "_" + weeknum).attr('class', "onemonthview_item");
}
generate_month++;
if(parseInt(generate_month) <= 9){
generate_month = "0" + generate_month;
}
var generate_title = String(generate_dayofmonth) + String(generate_month) + String(generate_year);
$("#onemonthview_" + weekdays[weekday] + "_" + weeknum).attr('title', generate_title);
if(weekday == 6){
weekday = 0;
weeknum++;
}else{
weekday++;
}
}
2011-08-12 16:29:45 +04:00
if(oc_cal_rows == 5) {
$("#onemonthview_week_5").css('display', "table-row");
2011-08-11 13:22:07 +04:00
}
2011-08-12 16:29:45 +04:00
if(oc_cal_rows == 6) {
$("#onemonthview_week_5").css('display', "table-row");
$("#onemonthview_week_6").css('display', "table-row");
2011-08-11 13:22:07 +04:00
}
}
if(loadview == "list") {
$("#datecontrol_date").val(oc_cal_dayshort[oc_cal_dayofweek] + oc_cal_space + oc_cal_dayofmonth + oc_cal_space + oc_cal_monthshort[oc_cal_month] + oc_cal_space + oc_cal_year);
2011-08-11 13:22:07 +04:00
}
}
2011-08-12 16:29:45 +04:00
function oc_cal_load_events(loadview) {
2011-08-11 13:22:07 +04:00
if(loadview == "oneday") {
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth]) != "undefined") {
if( typeof (oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth]["allday"]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#onedayview_wholeday");
2011-08-12 16:29:45 +04:00
while( typeof (oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth]["allday"][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "onedayview_allday_" + eventnumber;
newp.className = "onedayview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth]["allday"][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
}
}
for( i = 0; i <= 23; i++) {
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth][i]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#onedayview_" + i);
2011-08-12 16:29:45 +04:00
while( typeof (oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth][i][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "onedayview_" + i + "_" + eventnumber;
newp.className = "onedayview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][oc_cal_month][oc_cal_dayofmonth][i][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
}
}
}
}
}
if(loadview == "oneweek") {//(generate_dayofmonth, generate_month, generate_year);
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
2011-08-12 16:29:45 +04:00
var dates = oc_cal_generate_dates("oneweek");
2011-08-11 13:22:07 +04:00
for(var i = 0; i <= 6; i++) {
var loadevents_month = dates[i][1];
var loadevents_days = dates[i][0];
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month]) != "undefined") {
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]) != "undefined") {
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#oneweekview_" + weekdays[i] + "_allday");
2011-08-12 16:29:45 +04:00
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "oneweekview_" + weekdays[i] + "_allday_" + eventnumber;
newp.className = "oneweekview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
}
}
for(var time = 0; time <= 23; time++) {
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#oneweekview_" + weekdays[i] + "_" + time);
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "oneweekview_" + weekdays[i] + "_" + time + "_" + eventnumber;
2011-08-11 13:22:07 +04:00
newp.className = "oneweekview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
}
}
}
}
}
}
}
if(loadview == "fourweeks") {
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
2011-08-12 16:29:45 +04:00
var dates = oc_cal_generate_dates("fourweeks");
2011-08-11 13:22:07 +04:00
var weekdaynum = 0;
var weeknum = 1;
for(var i = 0; i <= 27; i++) {
var loadevents_month = dates[i][1];
var loadevents_days = dates[i][0];
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month]) != "undefined") {
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]) != "undefined") {
2011-08-11 13:22:07 +04:00
var pnum = 0;
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#events_fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum);
2011-08-12 16:29:45 +04:00
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum;
newp.className = "fourweeksview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
pnum++;
}
}
for(var time = 0; time <= 23; time++) {
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#events_fourweeksview_" + weekdays[weekdaynum] + "_" + weeknum);
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "fourweeksview_" + weekdays[i] + "_" + i + "_" + eventnumber;
2011-08-11 13:22:07 +04:00
newp.className = "fourweeksview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
pnum++;
}
}
}
}
}
if(weekdaynum == 6){
weekdaynum = 0;
weeknum++;
}else{
weekdaynum++;
}
}
}
if(loadview == "onemonth") {
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
2011-08-12 16:29:45 +04:00
var dates = oc_cal_generate_dates("onemonth");
2011-08-11 13:22:07 +04:00
var weekdaynum = 0;
var weeknum = 1;
for(var i = 0; i <= 41; i++) {
var loadevents_month = dates[i][1];
var loadevents_days = dates[i][0];
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month]) != "undefined") {
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]) != "undefined") {
2011-08-11 13:22:07 +04:00
var pnum = 0;
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#events_onemonthview_" + weekdays[weekdaynum] + "_" + weeknum);
2011-08-12 16:29:45 +04:00
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "onemonthview_" + weekdays[weekdaynum] + "_" + weeknum + "_" + pnum;
newp.className = "onemonthview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days]["allday"][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
pnum++;
}
}
for(var time = 0; time <= 23; time++) {
2011-08-12 16:29:45 +04:00
if( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time]) != "undefined") {
2011-08-11 13:22:07 +04:00
var eventnumber = 1;
var eventcontainer = $("#events_onemonthview_" + weekdays[weekdaynum] + "_" + weeknum);
while( typeof (oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]) != "undefined") {
2011-08-11 13:22:07 +04:00
var newp = document.createElement("p");
newp.id = "onemonthview_" + weekdays[i] + "_" + time + "_" + eventnumber;
2011-08-11 13:22:07 +04:00
newp.className = "onemonthview_event";
eventcontainer.append(newp);
newp.innerHTML = oc_cal_events[oc_cal_year][loadevents_month][loadevents_days][time][eventnumber]["description"];
2011-08-11 13:22:07 +04:00
eventnumber++;
pnum++;
}
}
}
}
}
if(weekdaynum == 6){
weekdaynum = 0;
weeknum++;
}else{
weekdaynum++;
}
}
}
if(loadview == "list") {
//
}
}
2011-08-12 16:29:45 +04:00
function oc_cal_remove_events(removeview) {
2011-08-11 13:22:07 +04:00
if(removeview == "oneday") {
$("#onedayview_wholeday").html("");
2011-08-11 13:22:07 +04:00
for(var i = 0; i <= 23; i++) {
$("#onedayview_" + i).html("");
2011-08-11 13:22:07 +04:00
}
}
if(removeview == "oneweek") {
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
for( i = 0; i <= 6; i++) {
$("#oneweekview_" + weekdays[i] + "_allday").html("");
2011-08-11 13:22:07 +04:00
for(var time = 0; time <= 23; time++) {
$("#oneweekview_" + weekdays[i] + "_" + time).html("");
2011-08-11 13:22:07 +04:00
}
}
}
if(removeview == "fourweeks") {
$("#events_fourweeksview_monday_1").html("");
$("#events_fourweeksview_tuesday_1").html("");
$("#events_fourweeksview_wednesday_1").html("");
$("#events_fourweeksview_thursday_1").html("");
$("#events_fourweeksview_friday_1").html("");
$("#events_fourweeksview_saturday_1").html("");
$("#events_fourweeksview_sunday_1").html("");
$("#events_fourweeksview_monday_2").html("");
$("#events_fourweeksview_tuesday_2").html("");
$("#events_fourweeksview_wednesday_2").html("");
$("#events_fourweeksview_thursday_2").html("");
$("#events_fourweeksview_friday_2").html("");
$("#events_fourweeksview_saturday_2").html("");
$("#events_fourweeksview_sunday_2").html("");
$("#events_fourweeksview_monday_3").html("");
$("#events_fourweeksview_tuesday_3").html("");
$("#events_fourweeksview_wednesday_3").html("");
$("#events_fourweeksview_thursday_3").html("");
$("#events_fourweeksview_friday_3").html("");
$("#events_fourweeksview_saturday_3").html("");
$("#events_fourweeksview_sunday_3").html("");
$("#events_fourweeksview_monday_4").html("");
$("#events_fourweeksview_tuesday_4").html("");
$("#events_fourweeksview_wednesday_4").html("");
$("#events_fourweeksview_thursday_4").html("");
$("#events_fourweeksview_friday_4").html("");
$("#events_fourweeksview_saturday_4").html("");
$("#events_fourweeksview_sunday_4").html("");
2011-08-11 13:22:07 +04:00
}
if(removeview == "onemonth") {
var weekdays = new Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday");
var weeknum = 1;
var weekday = 0;
for(var i = 0; i <= 41; i++){//events_onemonthview_saturday_6
$("#events_onemonthview_" + weekdays[weekday] + "_" + weeknum).html("");
$("#onemonthview_" + weekdays[weekday] + "_" + weeknum).attr('class', "onemonthview_item");
if(weekday == 6){
weekday = 0;
weeknum++;
}else{
weekday++;
}
}
2011-08-11 13:22:07 +04:00
}
if(removeview == "list") {
$("#listview").html("");
2011-08-11 13:22:07 +04:00
}
}
function oc_cal_newevent(date, time){
if(oc_cal_opendialog == 0){
$("#dialog_holder").load(oc_webroot + "/apps/calendar/ajax/neweventform.php?d=" + date + "&t=" + time);
oc_cal_opendialog = 1;
}else{
alert(t("calendar", "You can't open more than one dialog per site!"));
}
}
function oc_cal_choosecalendar(){
if(oc_cal_opendialog == 0){
$("#dialog_holder").load(oc_webroot + "/apps/calendar/ajax/choosecalendar.php");
oc_cal_opendialog = 1;
}else{
alert(t("calendar", "You can't open more than one dialog per site!"));
}
}
function oc_cal_calender_activation(checkbox, calendarid)
{
$.post(oc_webroot + "/apps/calendar/ajax/activation.php", { calendarid: calendarid, active: checkbox.checked?1:0 },
function(data) {
checkbox.checked = data == 1;
});
}
function oc_cal_editcalendar(object, calendarid){
$(object).closest('tr').load(oc_webroot + "/apps/calendar/ajax/editcalendar.php?calendarid="+calendarid);
}
function oc_cal_editcalendar_submit(button, calendarid){
var displayname = $("#displayname_"+calendarid).val();
var active = $("#active_"+calendarid+":checked").length;
var description = $("#description_"+calendarid).val();
var calendarcolor = $("#calendarcolor_"+calendarid).val();
$.post("ajax/updatecalendar.php", { id: calendarid, name: displayname, active: active, description: description, color: calendarcolor },
function(data){
if(data.error == "true"){
}else{
$(button).closest('tr').html(data.data)
}
}, 'json');
}