Files
sogo/UI/WebServerResources/UIxRecurrenceEditor.js
Ludovic Marcotte 2d2fcffec5 see changelog
Monotone-Parent: 0f4484bf642d11bc96f9672226ec495c99e2301f
Monotone-Revision: b7b4b1f3f729de477db90d41fee55b91ea781b02

Monotone-Author: ludovic@Sophos.ca
Monotone-Date: 2008-01-14T13:57:28
Monotone-Branch: ca.inverse.sogo
2008-01-14 13:57:28 +00:00

136 lines
5.1 KiB
JavaScript

function initializeWindowButtons() {
var okButton = $("okButton");
var cancelButton = $("cancelButton");
Event.observe(okButton, "click", onEditorOkClick, false);
Event.observe(cancelButton, "click", onEditorCancelClick, false);
}
function initializeFormValues() {
$("repeatType").value = parent$("repeatType").value;
if ($("repeatType").value == 0) {
$('recurrence_form').setRadioValue('dailyRadioButtonName', parent$("repeat1").value);
$('dailyDaysField').value = parent$("repeat2").value;
}
else if ($("repeatType").value == 1) {
$('weeklyWeeksField').value = parent$("repeat1").value;
$('recurrence_form').setCheckBoxListValues('weeklyCheckBoxName', parent$("repeat2").value);
}
else if ($("repeatType").value == 2) {
$('monthlyMonthsField').value = parent$("repeat1").value;
$('recurrence_form').setRadioValue('monthlyRadioButtonName', parent$("repeat2").value);
$('monthlyRepeat').value = parent$("repeat3").value;
$('monthlyDay').value = parent$("repeat4").value;
$('recurrence_form').setCheckBoxListValues('monthlyCheckBoxName', parent$("repeat5").value);
}
else {
$('yearlyYearsField').value = parent$("repeat1").value;
$('recurrence_form').setRadioValue('yearlyRadioButtonName', parent$("repeat2").value);
$('yearlyDayField').value = parent$("repeat3").value;
$('yearlyMonth1').value = parent$("repeat4").value;
$('yearlyRepeat').value = parent$("repeat5").value;
$('yearlyDay').value = parent$("repeat6").value;
$('yearlyMonth2').value = parent$("repeat7").value;
}
$('recurrence_form').setRadioValue('rangeRadioButtonName', parent$("range1").value);
if (parent$("range1").value == 1) {
$('rangeAppointmentsField').value = parent$("range2").value;
}
else if (parent$("range1").value == 2) {
$('endDate').value = parent$("range2").value;
}
}
function onEditorOkClick(event) {
preventDefault(event);
var v;
parent$("repeatType").value = $("repeatType").value;
if ($("repeatType").value == 0) {
parent$("repeat1").value = $('recurrence_form').getRadioValue('dailyRadioButtonName');
parent$("repeat2").value = $('dailyDaysField').value;
// We check if the dailyDaysField really contains an integer
v = parseInt(parent$("repeat2").value);
if (parent$("repeat1").value == 0 && (isNaN(v) || v <= 0)) {
window.alert("Please specify a numerical value in the Days field greater or equal to 1.");
return false;
}
}
else if ($("repeatType").value == 1) {
parent$("repeat1").value = $('weeklyWeeksField').value;
parent$("repeat2").value = $('recurrence_form').getCheckBoxListValues('weeklyCheckBoxName');
// We check if the weeklyWeeksField really contains an integer
v = parseInt(parent$("repeat1").value);
if (isNaN(v) || v <= 0) {
window.alert("Please specify a numerical value in the Week(s) field greater or equal to 1.");
return false;
}
}
else if ($("repeatType").value == 2) {
parent$("repeat1").value = $('monthlyMonthsField').value;
parent$("repeat2").value = $('recurrence_form').getRadioValue('monthlyRadioButtonName');
parent$("repeat3").value = $('monthlyRepeat').value;
parent$("repeat4").value = $('monthlyDay').value;
parent$("repeat5").value = $('recurrence_form').getCheckBoxListValues('monthlyCheckBoxName');
// We check if the monthlyMonthsField really contains an integer
v = parseInt(parent$("repeat1").value);
if (isNaN(v) || v <= 0) {
window.alert("Please specify a numerical value in the Month(s) field greater or equal to 1.");
return false;
}
}
else {
parent$("repeat1").value = $('yearlyYearsField').value;
parent$("repeat2").value = $('recurrence_form').getRadioValue('yearlyRadioButtonName');
parent$("repeat3").value = $('yearlyDayField').value;
parent$("repeat4").value = $('yearlyMonth1').value;
parent$("repeat5").value = $('yearlyRepeat').value;
parent$("repeat6").value = $('yearlyDay').value;
parent$("repeat7").value = $('yearlyMonth2').value;
// We check if the yearlyYearsField really contains an integer
v = parseInt(parent$("repeat1").value);
if (isNaN(v) || v <= 0) {
window.alert("Please specify a numerical value in the Year(s) field greater or equal to 1.");
return false;
}
}
parent$("range1").value = $('recurrence_form').getRadioValue('rangeRadioButtonName');
if (parent$("range1").value == 1) {
parent$("range2").value = $('rangeAppointmentsField').value;
// We check if the rangeAppointmentsField really contains an integer
v = parseInt(parent$("range2").value);
if (isNaN(v) || v <= 0) {
window.alert("Please specify a numerical value in the Appointment(s) field greater or equal to 1.");
return false;
}
}
else if (parent$("range1").value == 2) {
parent$("range2").value = $('endDate').value;
}
window.close();
}
function onEditorCancelClick(event) {
preventDefault(event);
window.close();
}
function onRecurrenceLoadHandler() {
initializeWindowButtons();
initializeFormValues();
}
FastInit.addOnLoad(onRecurrenceLoadHandler);