annotate gnv/src/main/webapp/scripts/calendar-setup_stripped.js @ 690:254f062e334b

Added JavaDoc. gnv/trunk@908 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 12 Apr 2010 16:45:16 +0000
parents 9719cbd1a23f
children
rev   line source
14
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
1 /* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
2 * ---------------------------------------------------------------------------
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
3 *
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
4 * The DHTML Calendar
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
5 *
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
6 * Details and latest version at:
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
7 * http://dynarch.com/mishoo/calendar.epl
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
8 *
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
9 * This script is distributed under the GNU Lesser General Public License.
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
10 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
11 *
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
12 * This file defines helper functions for setting up the calendar. They are
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
13 * intended to help non-programmers get a working calendar on their site
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
14 * quickly. This script should not be seen as part of the calendar. It just
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
15 * shows you what one can do with the calendar, while in the same time
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
16 * providing a quick and simple method for setting it up. If you need
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
17 * exhaustive customization of the calendar creation process feel free to
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
18 * modify this code to suit your needs (this is recommended and much better
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
19 * than modifying calendar.js itself).
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
20 */
9719cbd1a23f Import of MainLayout, Styles, images and Scripts from old System Revision: 3101 Does not compile
Tim Englich <tim.englich@intevation.de>
parents:
diff changeset
21 Calendar.setup=function(params){function param_default(pname,def){if(typeof params[pname]=="undefined"){params[pname]=def;}};param_default("inputField",null);param_default("displayArea",null);param_default("button",null);param_default("eventName","click");param_default("ifFormat","%Y/%m/%d");param_default("daFormat","%Y/%m/%d");param_default("singleClick",true);param_default("disableFunc",null);param_default("dateStatusFunc",params["disableFunc"]);param_default("dateText",null);param_default("firstDay",null);param_default("align","Br");param_default("range",[1900,2999]);param_default("weekNumbers",true);param_default("flat",null);param_default("flatCallback",null);param_default("onSelect",null);param_default("onClose",null);param_default("onUpdate",null);param_default("date",null);param_default("showsTime",false);param_default("timeFormat","24");param_default("electric",true);param_default("step",2);param_default("position",null);param_default("cache",false);param_default("showOthers",false);param_default("multiple",null);var tmp=["inputField","displayArea","button"];for(var i in tmp){if(typeof params[tmp[i]]=="string"){params[tmp[i]]=document.getElementById(params[tmp[i]]);}}if(!(params.flat||params.multiple||params.inputField||params.displayArea||params.button)){alert("Calendar.setup:\n Nothing to setup (no fields found). Please check your code");return false;}function onSelect(cal){var p=cal.params;var update=(cal.dateClicked||p.electric);if(update&&p.inputField){p.inputField.value=cal.date.print(p.ifFormat);if(typeof p.inputField.onchange=="function")p.inputField.onchange();}if(update&&p.displayArea)p.displayArea.innerHTML=cal.date.print(p.daFormat);if(update&&typeof p.onUpdate=="function")p.onUpdate(cal);if(update&&p.flat){if(typeof p.flatCallback=="function")p.flatCallback(cal);}if(update&&p.singleClick&&cal.dateClicked)cal.callCloseHandler();};if(params.flat!=null){if(typeof params.flat=="string")params.flat=document.getElementById(params.flat);if(!params.flat){alert("Calendar.setup:\n Flat specified but can't find parent.");return false;}var cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect);cal.showsOtherMonths=params.showOthers;cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.params=params;cal.weekNumbers=params.weekNumbers;cal.setRange(params.range[0],params.range[1]);cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;if(params.ifFormat){cal.setDateFormat(params.ifFormat);}if(params.inputField&&typeof params.inputField.value=="string"){cal.parseDate(params.inputField.value);}cal.create(params.flat);cal.show();return false;}var triggerEl=params.button||params.displayArea||params.inputField;triggerEl["on"+params.eventName]=function(){var dateEl=params.inputField||params.displayArea;var dateFmt=params.inputField?params.ifFormat:params.daFormat;var mustCreate=false;var cal=window.calendar;if(dateEl)params.date=Date.parseDate(dateEl.value||dateEl.innerHTML,dateFmt);if(!(cal&&params.cache)){window.calendar=cal=new Calendar(params.firstDay,params.date,params.onSelect||onSelect,params.onClose||function(cal){cal.hide();});cal.showsTime=params.showsTime;cal.time24=(params.timeFormat=="24");cal.weekNumbers=params.weekNumbers;mustCreate=true;}else{if(params.date)cal.setDate(params.date);cal.hide();}if(params.multiple){cal.multiple={};for(var i=params.multiple.length;--i>=0;){var d=params.multiple[i];var ds=d.print("%Y%m%d");cal.multiple[ds]=d;}}cal.showsOtherMonths=params.showOthers;cal.yearStep=params.step;cal.setRange(params.range[0],params.range[1]);cal.params=params;cal.setDateStatusHandler(params.dateStatusFunc);cal.getDateText=params.dateText;cal.setDateFormat(dateFmt);if(mustCreate)cal.create();cal.refresh();if(!params.position)cal.showAtElement(params.button||params.displayArea||params.inputField,params.align);else cal.showAt(params.position[0],params.position[1]);return false;};return cal;};

http://dive4elements.wald.intevation.org