reindentation

Monotone-Parent: 7dbe5d340e27b64c25a5f3398668c84d53c03e06
Monotone-Revision: 8e126dfeb48ae8881fcac3c1c099c31f2ec8a165

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2010-02-17T21:31:59
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2010-02-17 21:31:59 +00:00
parent 9bb85f3ca5
commit 54276d3f1d
1 changed files with 307 additions and 307 deletions

View File

@ -1,410 +1,410 @@
/* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* -*- Mode: java; tab-width: 2; c-label-minimum-indentation: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
var RecurrenceEditor = {
types: new Array("Daily", "Weekly", "Monthly", "Yearly"),
currentRepeatType: 0
types: new Array("Daily", "Weekly", "Monthly", "Yearly"),
currentRepeatType: 0
};
function onRepeatTypeChange(event) {
setRepeatType(parseInt(this.value));
setRepeatType(parseInt(this.value));
}
function setRepeatType(type) {
var elements;
var elements;
RecurrenceEditor.currentRepeatType = type;
RecurrenceEditor.currentRepeatType = type;
for (var i = 0; i <= 3; i++) {
elements = $$("TABLE TR.recurrence" + RecurrenceEditor.types[i]);
if (i != type)
elements.each(function(row) {
row.hide();
});
}
elements = $$("TABLE TR.recurrence" + RecurrenceEditor.types[type]);
elements.each(function(row) {
row.show();
});
for (var i = 0; i <= 3; i++) {
elements = $$("TABLE TR.recurrence" + RecurrenceEditor.types[i]);
if (i != type)
elements.each(function(row) {
row.hide();
});
}
elements = $$("TABLE TR.recurrence" + RecurrenceEditor.types[type]);
elements.each(function(row) {
row.show();
});
}
function getSelectedDays(periodType) {
var element = $(periodType);
var elementsArray = $A(element.getElementsByTagName('DIV'));
var days = new Array();
var dayPrefix = periodType + "Day";
elementsArray.each(function(item) {
if (isNodeSelected(item)) {
var label = "" + item.getAttribute("id");
days.push(label.substr(dayPrefix.length));
}
});
return days.join(",");
var element = $(periodType);
var elementsArray = $A(element.getElementsByTagName('DIV'));
var days = new Array();
var dayPrefix = periodType + "Day";
elementsArray.each(function(item) {
if (isNodeSelected(item)) {
var label = "" + item.getAttribute("id");
days.push(label.substr(dayPrefix.length));
}
});
return days.join(",");
}
function onDayClick(event) {
var element = $(this);
if (isNodeSelected(element))
this.removeClassName("_selected");
else
this.addClassName("_selected");
var element = $(this);
if (isNodeSelected(element))
this.removeClassName("_selected");
else
this.addClassName("_selected");
}
function onRangeChange(event) {
$('endDate_date').disabled = (this.value != 2);
$('endDate_date').disabled = (this.value != 2);
}
function onAdjustTime(event) {
// must be defined for date picker widget
// must be defined for date picker widget
}
function initializeSelectors() {
$$("DIV#week SPAN.week DIV").each(function(element) {
element.observe("click", onDayClick, false);
});
$$("DIV#week SPAN.week DIV").each(function(element) {
element.observe("click", onDayClick, false);
});
$$("DIV#month SPAN.week DIV").each(function(element) {
element.observe("click", onDayClick, false);
});
$$("DIV#month SPAN.week DIV").each(function(element) {
element.observe("click", onDayClick, false);
});
}
function initializeWindowButtons() {
var okButton = $("okButton");
var cancelButton = $("cancelButton");
var okButton = $("okButton");
var cancelButton = $("cancelButton");
okButton.observe("click", onEditorOkClick, false);
cancelButton.observe("click", onEditorCancelClick, false);
okButton.observe("click", onEditorOkClick, false);
cancelButton.observe("click", onEditorCancelClick, false);
var repeatType = $("repeatType");
setRepeatType(parseInt(repeatType.value));
repeatType.observe("change", onRepeatTypeChange, false);
var repeatType = $("repeatType");
setRepeatType(parseInt(repeatType.value));
repeatType.observe("change", onRepeatTypeChange, false);
}
function initializeFormValues() {
var repeatType = parent$("repeatType").value;
var repeatType = parent$("repeatType").value;
// Select repeat type
$("repeatType").value = repeatType;
// Select repeat type
$("repeatType").value = repeatType;
// Default values
var startTimeDate = parent$("startTime_date").value.asDate();
$('yearlyDayField').value = startTimeDate.getDate();
$('yearlyMonth1').value = startTimeDate.getMonth();
$("weekDay"+startTimeDate.getDay()).addClassName("_selected");
$("monthDay"+startTimeDate.getDate()).addClassName("_selected");
// Default values
var startTimeDate = parent$("startTime_date").value.asDate();
$('yearlyDayField').value = startTimeDate.getDate();
$('yearlyMonth1').value = startTimeDate.getMonth();
$("weekDay"+startTimeDate.getDay()).addClassName("_selected");
$("monthDay"+startTimeDate.getDate()).addClassName("_selected");
$('recurrence_form').setRadioValue('dailyRadioButtonName', 0);
$('recurrence_form').setRadioValue('monthlyRadioButtonName', 1);
$('recurrence_form').setRadioValue('yearlyRadioButtonName', 0);
$('endDate_date').disabled = true;
$('dailyDaysField').value = "1";
$('weeklyWeeksField').value = "1";
$('monthlyMonthsField').value = "1";
$('yearlyYearsField').value = "1";
if (repeatType == 0) {
// Repeat daily
$('recurrence_form').setRadioValue('dailyRadioButtonName', parent$("repeat1").value);
$('dailyDaysField').value = parent$("repeat2").value;
}
else if (repeatType == 1) {
// Repeat weekly
$('weeklyWeeksField').value = parent$("repeat1").value;
// log ("div: " + weekDiv);
// log ("days: " + parent$("repeat2").value);
for (var i = 0; i < 7; i++) {
$("weekDay" + i).removeClassName("_selected");
}
var days = "" + parent$("repeat2").value;
if (days.length > 0) {
var daysArray = days.split(",");
daysArray.each(function(index) {
$("weekDay"+index).addClassName("_selected");
});
$('recurrence_form').setRadioValue('dailyRadioButtonName', 0);
$('recurrence_form').setRadioValue('monthlyRadioButtonName', 1);
$('recurrence_form').setRadioValue('yearlyRadioButtonName', 0);
$('endDate_date').disabled = true;
$('dailyDaysField').value = "1";
$('weeklyWeeksField').value = "1";
$('monthlyMonthsField').value = "1";
$('yearlyYearsField').value = "1";
if (repeatType == 0) {
// Repeat daily
$('recurrence_form').setRadioValue('dailyRadioButtonName', parent$("repeat1").value);
$('dailyDaysField').value = parent$("repeat2").value;
}
}
else if (repeatType == 2) {
// Repeat monthly
$('monthlyMonthsField').value = parent$("repeat1").value;
$('recurrence_form').setRadioValue('monthlyRadioButtonName', parent$("repeat2").value);
$('monthlyRepeat').value = parent$("repeat3").value;
$('monthlyDay').value = parent$("repeat4").value;
var days = "" + parent$("repeat5").value;
for (var i = 0; i < 31; i++) {
$("monthDay" + (i + 1)).removeClassName("_selected");
}
if (days.length > 0) {
var daysArray = days.split(",");
daysArray.each(function(index) {
$("monthDay" + index).addClassName("_selected");
});
else if (repeatType == 1) {
// Repeat weekly
$('weeklyWeeksField').value = parent$("repeat1").value;
// log ("div: " + weekDiv);
// log ("days: " + parent$("repeat2").value);
for (var i = 0; i < 7; i++) {
$("weekDay" + i).removeClassName("_selected");
}
var days = "" + parent$("repeat2").value;
if (days.length > 0) {
var daysArray = days.split(",");
daysArray.each(function(index) {
$("weekDay"+index).addClassName("_selected");
});
}
}
}
else if (repeatType == 3) {
// Repeat yearly
$('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;
}
else
repeatType = 0;
setRepeatType(repeatType);
else if (repeatType == 2) {
// Repeat monthly
$('monthlyMonthsField').value = parent$("repeat1").value;
$('recurrence_form').setRadioValue('monthlyRadioButtonName', parent$("repeat2").value);
$('monthlyRepeat').value = parent$("repeat3").value;
$('monthlyDay').value = parent$("repeat4").value;
var days = "" + parent$("repeat5").value;
for (var i = 0; i < 31; i++) {
$("monthDay" + (i + 1)).removeClassName("_selected");
}
var range = parent$("range1").value;
$('recurrence_form').setRadioValue('rangeRadioButtonName', range);
if (days.length > 0) {
var daysArray = days.split(",");
daysArray.each(function(index) {
$("monthDay" + index).addClassName("_selected");
});
}
}
else if (repeatType == 3) {
// Repeat yearly
$('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;
}
else
repeatType = 0;
if (range == 1) {
$('rangeAppointmentsField').value = parent$("range2").value;
}
else if (range == 2) {
$('endDate_date').value = parent$("range2").value;
$('endDate_date').disabled = false;
}
setRepeatType(repeatType);
$('rangeAppointmentsField').observe("click", function(event) {
// Set the range to a fixed number of appointments if user
// clicks in the range field.
$('recurrence_form').setRadioValue('rangeRadioButtonName', 1);
});
var range = parent$("range1").value;
$('recurrence_form').setRadioValue('rangeRadioButtonName', range);
// Observe change of range radio buttons to activate the date picker when required
Form.getInputs($('recurrence_form'), 'radio', 'rangeRadioButtonName').each(function(input) {
input.observe("change", onRangeChange);
});
if (range == 1) {
$('rangeAppointmentsField').value = parent$("range2").value;
}
else if (range == 2) {
$('endDate_date').value = parent$("range2").value;
$('endDate_date').disabled = false;
}
// Show page
$("recurrence_pattern").show();
$("range_of_recurrence").show();
$('rangeAppointmentsField').observe("click", function(event) {
// Set the range to a fixed number of appointments if user
// clicks in the range field.
$('recurrence_form').setRadioValue('rangeRadioButtonName', 1);
});
// Observe change of range radio buttons to activate the date picker when required
Form.getInputs($('recurrence_form'), 'radio', 'rangeRadioButtonName').each(function(input) {
input.observe("change", onRangeChange);
});
// Show page
$("recurrence_pattern").show();
$("range_of_recurrence").show();
}
function handleDailyRecurrence() {
var validate = false;
var validate = false;
var radioValue = $('recurrence_form').getRadioValue('dailyRadioButtonName');
var radioValue = $('recurrence_form').getRadioValue('dailyRadioButtonName');
// We check if the dailyDaysField really contains an integer
if (radioValue == 0) {
var showError = true;
// We check if the dailyDaysField really contains an integer
if (radioValue == 0) {
var showError = true;
var v = "" + $('dailyDaysField').value;
if (v.length > 0) {
v = parseInt(v);
// log("v: " + v);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = radioValue;
parent$("repeat2").value = v;
}
var v = "" + $('dailyDaysField').value;
if (v.length > 0) {
v = parseInt(v);
// log("v: " + v);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = radioValue;
parent$("repeat2").value = v;
}
}
if (showError)
window.alert(dayFieldInvalid);
}
else {
validate = true;
parent$("repeat1").value = radioValue;
}
if (showError)
window.alert(dayFieldInvalid);
}
else {
validate = true;
parent$("repeat1").value = radioValue;
}
return validate;
return validate;
}
function handleWeeklyRecurrence() {
var validate = false;
var validate = false;
var showError = true;
var fieldValue = "" + $('weeklyWeeksField').value;
if (fieldValue.length > 0) {
// We check if the weeklyWeeksField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = getSelectedDays("week");
var showError = true;
var fieldValue = "" + $('weeklyWeeksField').value;
if (fieldValue.length > 0) {
// We check if the weeklyWeeksField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = getSelectedDays("week");
}
}
}
if (showError)
window.alert(weekFieldInvalid);
if (showError)
window.alert(weekFieldInvalid);
return validate;
return validate;
}
function handleMonthlyRecurrence() {
var validate = false;
var validate = false;
var radioValue = $('recurrence_form').getRadioValue('monthlyRadioButtonName');
var radioValue = $('recurrence_form').getRadioValue('monthlyRadioButtonName');
// FIXME - right now we do not support rules
// such as The Second Tuesday...
if (radioValue == 0)
window.alert(recurrenceUnsupported);
else {
// We check if the monthlyMonthsField really contains an integer
var showError = true;
// FIXME - right now we do not support rules
// such as The Second Tuesday...
if (radioValue == 0)
window.alert(recurrenceUnsupported);
else {
// We check if the monthlyMonthsField really contains an integer
var showError = true;
var fieldValue = "" + $('monthlyMonthsField').value;
if (fieldValue.length > 0) {
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
parent$("repeat3").value = $('monthlyRepeat').value;
parent$("repeat4").value = $('monthlyDay').value;
parent$("repeat5").value = getSelectedDays("month");
}
var fieldValue = "" + $('monthlyMonthsField').value;
if (fieldValue.length > 0) {
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
parent$("repeat3").value = $('monthlyRepeat').value;
parent$("repeat4").value = $('monthlyDay').value;
parent$("repeat5").value = getSelectedDays("month");
}
}
if (showError)
window.alert(monthFieldInvalid);
}
if (showError)
window.alert(monthFieldInvalid);
}
return validate;
return validate;
}
function validateYearlyRecurrence() {
var errors = [yearFieldInvalid, monthDayFieldInvalid];
var errors = [yearFieldInvalid, monthDayFieldInvalid];
var errorToShow = 0;
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = 1;
fieldValue = "" + $('yearlyDayField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = -1;
}
}
}
}
var errorToShow = 0;
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = 1;
fieldValue = "" + $('yearlyDayField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
errorToShow = -1;
}
}
}
}
if (errorToShow > -1)
window.alert(errors[errorToShow]);
if (errorToShow > -1)
window.alert(errors[errorToShow]);
return (errorToShow == -1);
return (errorToShow == -1);
}
function handleYearlyRecurrence() {
var validate = false;
var validate = false;
var radioValue = $('recurrence_form').getRadioValue('yearlyRadioButtonName');
// FIXME - right now we do not support rules
// such as Every Second Tuesday of February
if (radioValue == 1)
window.alert(recurrenceUnsupported);
else {
if (validateYearlyRecurrence()) {
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
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;
}
}
}
else
validate = false;
}
var radioValue = $('recurrence_form').getRadioValue('yearlyRadioButtonName');
// FIXME - right now we do not support rules
// such as Every Second Tuesday of February
if (radioValue == 1)
window.alert(recurrenceUnsupported);
else {
if (validateYearlyRecurrence()) {
var fieldValue = "" + $('yearlyYearsField').value;
if (fieldValue.length > 0) {
// We check if the yearlyYearsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("repeat1").value = fieldValue;
parent$("repeat2").value = radioValue;
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;
}
}
}
else
validate = false;
}
return validate;
return validate;
}
function handleRange() {
var validate = false;
var validate = false;
var radioValue = $('recurrence_form').getRadioValue('rangeRadioButtonName');
if (radioValue == 0)
validate = true;
else if (radioValue == 1) {
var showError = true;
var radioValue = $('recurrence_form').getRadioValue('rangeRadioButtonName');
if (radioValue == 0)
validate = true;
else if (radioValue == 1) {
var showError = true;
var fieldValue = "" + $('rangeAppointmentsField').value;
if (fieldValue.length > 0) {
// We check if the rangeAppointmentsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("range2").value = fieldValue;
}
var fieldValue = "" + $('rangeAppointmentsField').value;
if (fieldValue.length > 0) {
// We check if the rangeAppointmentsField really contains an integer
var v = parseInt(fieldValue);
if (!isNaN(v) && v > 0) {
validate = true;
showError = false;
parent$("range2").value = fieldValue;
}
}
if (showError)
window.alert(appointmentFieldInvalid);
}
else if (radioValue == 2) {
validate = true;
parent$("range2").value = $('endDate_date').value;
}
if (showError)
window.alert(appointmentFieldInvalid);
}
else if (radioValue == 2) {
validate = true;
parent$("range2").value = $('endDate_date').value;
}
if (validate)
parent$("range1").value = radioValue;
if (validate)
parent$("range1").value = radioValue;
return validate;
return validate;
}
function onEditorOkClick(event) {
preventDefault(event);
var repeatType = $("repeatType").value;
parent$("repeatType").value = repeatType;
preventDefault(event);
var repeatType = $("repeatType").value;
parent$("repeatType").value = repeatType;
var validate;
if (repeatType == 0)
validate = handleDailyRecurrence();
else if (repeatType == 1)
validate = handleWeeklyRecurrence();
else if (repeatType == 2)
validate = handleMonthlyRecurrence();
else
validate = handleYearlyRecurrence();
var validate;
if (repeatType == 0)
validate = handleDailyRecurrence();
else if (repeatType == 1)
validate = handleWeeklyRecurrence();
else if (repeatType == 2)
validate = handleMonthlyRecurrence();
else
validate = handleYearlyRecurrence();
if (validate && handleRange())
window.close();
if (validate && handleRange())
window.close();
}
function onEditorCancelClick(event) {
preventDefault(event);
window.close();
preventDefault(event);
window.close();
}
function escapeAlertMessages () {
dayFieldInvalid = dayFieldInvalid.decodeEntities ();
weekFieldInvalid = weekFieldInvalid.decodeEntities ();
monthFieldInvalid = monthFieldInvalid.decodeEntities ();
monthDayFieldInvalid = monthDayFieldInvalid.decodeEntities ();
yearFieldInvalid = yearFieldInvalid.decodeEntities ();
appointmentFieldInvalid = appointmentFieldInvalid.decodeEntities ();
recurrenceUnsupported = recurrenceUnsupported.decodeEntities ();
dayFieldInvalid = dayFieldInvalid.decodeEntities ();
weekFieldInvalid = weekFieldInvalid.decodeEntities ();
monthFieldInvalid = monthFieldInvalid.decodeEntities ();
monthDayFieldInvalid = monthDayFieldInvalid.decodeEntities ();
yearFieldInvalid = yearFieldInvalid.decodeEntities ();
appointmentFieldInvalid = appointmentFieldInvalid.decodeEntities ();
recurrenceUnsupported = recurrenceUnsupported.decodeEntities ();
}
function onRecurrenceLoadHandler() {
initializeFormValues();
initializeSelectors();
initializeWindowButtons();
assignCalendar('endDate_date');
escapeAlertMessages ();
initializeFormValues();
initializeSelectors();
initializeWindowButtons();
assignCalendar('endDate_date');
escapeAlertMessages ();
}
document.observe("dom:loaded", onRecurrenceLoadHandler);