data_grid 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.rspec +3 -0
- data/CHANGELOG +5 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/Rakefile +1 -0
- data/app/assets/images/data_grid/calendar_view_month.png +0 -0
- data/app/assets/images/data_grid/csv.gif +0 -0
- data/app/assets/images/data_grid/delete.png +0 -0
- data/app/assets/images/data_grid/edit.png +0 -0
- data/app/assets/images/data_grid/no.png +0 -0
- data/app/assets/images/data_grid/sort_down.gif +0 -0
- data/app/assets/images/data_grid/sort_up.gif +0 -0
- data/app/assets/images/data_grid/yes.png +0 -0
- data/app/assets/javascripts/data_grid/data_grid.js +24 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar-setup.js +200 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar-setup_stripped.js +21 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar.js +1819 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_original.js +1845 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_patched.js +1819 -0
- data/app/assets/javascripts/data_grid/grid_calendar/calendar_stripped.js +14 -0
- data/app/assets/javascripts/data_grid/grid_calendar/img.gif +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-af.js +39 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-al.js +101 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-bg.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-big5-utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-big5.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-br.js +108 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ca.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-cs-utf8.js +65 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-cs-win.js +65 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-da.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-de.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-du.js +45 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-el.js +89 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-en.js +127 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-es.js +129 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-fi.js +98 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-fr.js +125 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-he-utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hr-utf8.js +49 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hr.js +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-hu.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-it.js +124 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-jp.js +45 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ko-utf8.js +120 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ko.js +120 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lt-utf8.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lt.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-lv.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-nl.js +73 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-no.js +114 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pl-utf8.js +93 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pl.js +56 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-pt.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ro.js +66 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ru.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-ru_win_.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-si.js +94 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sk.js +99 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sp.js +110 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-sv.js +93 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-tr.js +58 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/calendar-zh.js +119 -0
- data/app/assets/javascripts/data_grid/grid_calendar/lang/cn_utf8.js +123 -0
- data/app/assets/javascripts/data_grid/grid_calendar/menuarrow.gif +0 -0
- data/app/assets/javascripts/data_grid/grid_calendar/menuarrow2.gif +0 -0
- data/app/assets/stylesheets/data_grid/data_grid.css +90 -0
- data/app/assets/stylesheets/data_grid/data_grid_3_0.css +90 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-blue.css +233 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-blue2.css +237 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-brown.css +226 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-green.css +230 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-system.css +252 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-tas.css +240 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-1.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-2.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-cold-1.css +266 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/calendar-win2k-cold-2.css +272 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/img.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/menuarrow.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/menuarrow2.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/active-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/dark-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/hover-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/menuarrow.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/normal-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/rowhover-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/status-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/theme.css +236 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/title-bg.gif +0 -0
- data/app/assets/stylesheets/data_grid/grid_calendar/skins/aqua/today-bg.gif +0 -0
- data/app/views/data_grid/_data_grid.html.erb +101 -0
- data/config/locales/en.yml +10 -0
- data/data_grid.gemspec +27 -0
- data/lib/data_grid/column.rb +38 -0
- data/lib/data_grid/controller.rb +30 -0
- data/lib/data_grid/cookies_state_saver.rb +42 -0
- data/lib/data_grid/csv_exporter.rb +79 -0
- data/lib/data_grid/data_grid_logic.rb +175 -0
- data/lib/data_grid/data_source_array.rb +267 -0
- data/lib/data_grid/data_source_orm.rb +207 -0
- data/lib/data_grid/engine.rb +19 -0
- data/lib/data_grid/summaries.rb +34 -0
- data/lib/data_grid/version.rb +3 -0
- data/lib/data_grid/view_helpers.rb +271 -0
- data/lib/data_grid.rb +43 -0
- data/lib/generators/data_grid/copy_view_generator.rb +16 -0
- data/lib/generators/data_grid/install_generator.rb +29 -0
- data/lib/generators/templates/data_grid.rb +29 -0
- data/lib/generators/templates/stylesheets/data_grid/data_grid_3_0.css +90 -0
- data/spec/orm_spec.rb +57 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/support/active_record.rb +17 -0
- metadata +118 -5
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo
|
|
2
|
+
* -----------------------------------------------------------
|
|
3
|
+
*
|
|
4
|
+
* The DHTML Calendar, version 1.0 "It is happening again"
|
|
5
|
+
*
|
|
6
|
+
* Details and latest version at:
|
|
7
|
+
* www.dynarch.com/projects/calendar
|
|
8
|
+
*
|
|
9
|
+
* This script is developed by Dynarch.com. Visit us at www.dynarch.com.
|
|
10
|
+
*
|
|
11
|
+
* This script is distributed under the GNU Lesser General Public License.
|
|
12
|
+
* Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
|
|
13
|
+
*/
|
|
14
|
+
Calendar=function(firstDayOfWeek,dateStr,onSelected,onClose){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=onSelected||null;this.onClose=onClose||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=Calendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:Calendar._FD;this.showsOtherMonths=false;this.dateStr=dateStr;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.multiple=null;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=Calendar._DN[i].substr(0,Calendar._SDN_len);}Calendar._SDN=ar;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=Calendar._MN[i].substr(0,Calendar._SMN_len);}Calendar._SMN=ar;}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(el){var SL=0,ST=0;var is_div=/^div$/i.test(el.tagName);if(is_div&&el.scrollLeft)SL=el.scrollLeft;if(is_div&&el.scrollTop)ST=el.scrollTop;var r={x:el.offsetLeft-SL,y:el.offsetTop-ST};if(el.offsetParent){var tmp=this.getAbsolutePos(el.offsetParent);r.x+=tmp.x;r.y+=tmp.y;}return r;};Calendar.isRelated=function(el,evt){var related=evt.relatedTarget;if(!related){var type=evt.type;if(type=="mouseover"){related=evt.fromElement;}else if(type=="mouseout"){related=evt.toElement;}}while(related){if(related==el){return true;}related=related.parentNode;}return false;};Calendar.removeClass=function(el,className){if(!(el&&el.className)){return;}var cls=el.className.split(" ");var ar=new Array();for(var i=cls.length;i>0;){if(cls[--i]!=className){ar[ar.length]=cls[i];}}el.className=ar.join(" ");};Calendar.addClass=function(el,className){Calendar.removeClass(el,className);el.className+=" "+className;};Calendar.getElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))f=f.parentNode;return f;};Calendar.getTargetElement=function(ev){var f=Calendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)f=f.parentNode;return f;};Calendar.stopEvent=function(ev){ev||(ev=window.event);if(Calendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}return false;};Calendar.addEvent=function(el,evname,func){if(el.attachEvent){el.attachEvent("on"+evname,func);}else if(el.addEventListener){el.addEventListener(evname,func,true);}else{el["on"+evname]=func;}};Calendar.removeEvent=function(el,evname,func){if(el.detachEvent){el.detachEvent("on"+evname,func);}else if(el.removeEventListener){el.removeEventListener(evname,func,true);}else{el["on"+evname]=null;}};Calendar.createElement=function(type,parent){var el=null;if(document.createElementNS){el=document.createElementNS("http://www.w3.org/1999/xhtml",type);}else{el=document.createElement(type);}if(typeof parent!="undefined"){parent.appendChild(el);}return el;};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};Calendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}return null;};Calendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}return null;};Calendar.showMonthsCombo=function(){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}if(cal.activeMonth){Calendar.removeClass(cal.activeMonth,"active");}var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];Calendar.addClass(mon,"active");cal.activeMonth=mon;var s=mc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var mcw=mc.offsetWidth;if(typeof mcw=="undefined")mcw=50;s.left=(cd.offsetLeft+cd.offsetWidth-mcw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";};Calendar.showYearsCombo=function(fwd){var cal=Calendar._C;if(!cal){return false;}var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}if(cal.activeYear){Calendar.removeClass(cal.activeYear,"active");}cal.activeYear=null;var Y=cal.date.getFullYear()+(fwd?1:-1);var yr=yc.firstChild;var show=false;for(var i=12;i>0;--i){if(Y>=cal.minYear&&Y<=cal.maxYear){yr.innerHTML=Y;yr.year=Y;yr.style.display="block";show=true;}else{yr.style.display="none";}yr=yr.nextSibling;Y+=fwd?cal.yearStep:-cal.yearStep;}if(show){var s=yc.style;s.display="block";if(cd.navtype<0)s.left=cd.offsetLeft+"px";else{var ycw=yc.offsetWidth;if(typeof ycw=="undefined")ycw=50;s.left=(cd.offsetLeft+cd.offsetWidth-ycw)+"px";}s.top=(cd.offsetTop+cd.offsetHeight)+"px";}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false;}if(cal.timeout){clearTimeout(cal.timeout);}var el=cal.activeDiv;if(!el){return false;}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev);}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler();}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};Calendar.tableMouseOver=function(ev){var cal=Calendar._C;if(!cal){return;}var el=cal.activeDiv;var target=Calendar.getTargetElement(ev);if(target==el||target.parentNode==el){Calendar.addClass(el,"hilite active");Calendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))Calendar.removeClass(el,"active");Calendar.removeClass(el,"hilite");Calendar.removeClass(el.parentNode,"rowhilite");}ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=Calendar.getAbsolutePos(el);var w=el.offsetWidth;var x=ev.clientX;var dx;var decrease=true;if(x>pos.x+w){dx=x-pos.x-w;decrease=false;}else dx=pos.x-x;if(dx<0)dx=0;var range=el._range;var current=el._current;var count=Math.floor(dx/10)%range.length;for(var i=range.length;--i>=0;)if(range[i]==current)break;while(count-->0)if(decrease){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();}var mon=Calendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}Calendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){Calendar.removeClass(cal.hilitedMonth,"hilite");}var year=Calendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}Calendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){Calendar.removeClass(cal.hilitedYear,"hilite");}}return Calendar.stopEvent(ev);};Calendar.tableMouseDown=function(ev){if(Calendar.getTargetElement(ev)==Calendar.getElement(ev)){return Calendar.stopEvent(ev);}};Calendar.calDragIt=function(ev){var cal=Calendar._C;if(!(cal&&cal.dragging)){return false;}var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posX=ev.pageX;posY=ev.pageY;}cal.hideShowCovered();var st=cal.element.style;st.left=(posX-cal.xOffs)+"px";st.top=(posY-cal.yOffs)+"px";return Calendar.stopEvent(ev);};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false;}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}cal.hideShowCovered();};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false;}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300)with(Calendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp);}else if(cal.isPopup){cal._dragStart(ev);}if(el.navtype==-1||el.navtype==1){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout("Calendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250);}else{cal.timeout=null;}return Calendar.stopEvent(ev);};Calendar.dayMouseDblClick=function(ev){Calendar.cellClick(Calendar.getElement(ev),ev||window.event);if(Calendar.is_ie){document.selection.empty();}};Calendar.dayMouseOver=function(ev){var el=Calendar.getElement(ev);if(Calendar.isRelated(el,ev)||Calendar._C||el.disabled){return false;}if(el.ttip){if(el.ttip.substr(0,1)=="_"){el.ttip=el.caldate.print(el.calendar.ttDateFormat)+el.ttip.substr(1);}el.calendar.tooltips.innerHTML=el.ttip;}if(el.navtype!=300){Calendar.addClass(el,"hilite");if(el.caldate){Calendar.addClass(el.parentNode,"rowhilite");}}return Calendar.stopEvent(ev);};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled)return false;removeClass(el,"hilite");if(el.caldate)removeClass(el.parentNode,"rowhilite");if(el.calendar)el.calendar.tooltips.innerHTML=_TT["SEL_DATE"];return stopEvent(ev);}};Calendar.cellClick=function(el,ev){var cal=el.calendar;var closing=false;var newdate=false;var date=null;if(typeof el.navtype=="undefined"){if(cal.currentDateEl){Calendar.removeClass(cal.currentDateEl,"selected");Calendar.addClass(el,"selected");closing=(cal.currentDateEl==el);if(!closing){cal.currentDateEl=el;}}cal.date.setDateOnly(el.caldate);date=cal.date;var other_month=!(cal.dateClicked=!el.otherMonth);if(!other_month&&!cal.currentDateEl)cal._toggleMultipleDate(new Date(date));else newdate=!el.disabled;if(other_month)cal._init(cal.firstDayOfWeek,date);}else{if(el.navtype==200){Calendar.removeClass(el,"hilite");cal.callCloseHandler();return;}date=new Date(cal.date);if(el.navtype==0)date.setDateOnly(new Date());cal.dateClicked=false;var year=date.getFullYear();var mon=date.getMonth();function setMonth(m){var day=date.getDate();var max=date.getMonthDays(m);if(day>max){date.setDate(max);}date.setMonth(m);};switch(el.navtype){case 400:Calendar.removeClass(el,"hilite");var text=Calendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?Calendar._TT["ABOUT_TIME"]:"";}else{text="Help and about box text is not translated into this language.\n"+"If you know this language and you feel generous please update\n"+"the corresponding file in \"lang\" subdir to match calendar-en.js\n"+"and send it back to <mihai_bazon@yahoo.com> to get it into the distribution ;-)\n\n"+"Thank you!\n"+"http://dynarch.com/mishoo/calendar.epl\n";}alert(text);return;case-2:if(year>cal.minYear){date.setFullYear(year-1);}break;case-1:if(mon>0){setMonth(mon-1);}else if(year-->cal.minYear){date.setFullYear(year);setMonth(11);}break;case 1:if(mon<11){setMonth(mon+1);}else if(year<cal.maxYear){date.setFullYear(year+1);setMonth(0);}break;case 2:if(year<cal.maxYear){date.setFullYear(year+1);}break;case 100:cal.setFirstDayOfWeek(el.fdow);return;case 50:var range=el._range;var current=el.innerHTML;for(var i=range.length;--i>=0;)if(range[i]==current)break;if(ev&&ev.shiftKey){if(--i<0)i=range.length-1;}else if(++i>=range.length)i=0;var newval=range[i];el.innerHTML=newval;cal.onUpdateTime();return;case 0:if((typeof cal.getDateStatus=="function")&&cal.getDateStatus(date,date.getFullYear(),date.getMonth(),date.getDate())){return false;}break;}if(!date.equalsTo(cal.date)){cal.setDate(date);newdate=true;}else if(el.navtype==0)newdate=closing=true;}if(newdate){ev&&cal.callHandler();}if(closing){Calendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};Calendar.prototype.create=function(_par){var parent=null;if(!_par){parent=document.getElementsByTagName("body")[0];this.isPopup=true;}else{parent=_par;this.isPopup=false;}this.date=this.dateStr?new Date(this.dateStr):new Date();var table=Calendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;Calendar.addEvent(table,"mousedown",Calendar.tableMouseDown);var div=Calendar.createElement("div");this.element=div;div.className="calendar";if(this.isPopup){div.style.position="absolute";div.style.display="none";}div.appendChild(table);var thead=Calendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=Calendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)cell.className+=" nav";Calendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=Calendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=Calendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("×",1,200).ttip=Calendar._TT["CLOSE"];}row=Calendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("«",1,-2);this._nav_py.ttip=Calendar._TT["PREV_YEAR"];this._nav_pm=hh("‹",1,-1);this._nav_pm.ttip=Calendar._TT["PREV_MONTH"];this._nav_now=hh(Calendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT["GO_TODAY"];this._nav_nm=hh("›",1,1);this._nav_nm.ttip=Calendar._TT["NEXT_MONTH"];this._nav_ny=hh("»",1,2);this._nav_ny.ttip=Calendar._TT["NEXT_YEAR"];row=Calendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=Calendar.createElement("td",row);cell.className="name wn";cell.innerHTML=Calendar._TT["WK"];}for(var i=7;i>0;--i){cell=Calendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;Calendar._add_evs(cell);}}this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=Calendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=Calendar.createElement("tr",tbody);if(this.weekNumbers){cell=Calendar.createElement("td",row);}for(var j=7;j>0;--j){cell=Calendar.createElement("td",row);cell.calendar=this;Calendar._add_evs(cell);}}if(this.showsTime){row=Calendar.createElement("tr",tbody);row.className="time";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=Calendar._TT["TIME"]||" ";cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=Calendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=Calendar._TT["TIME_PART"];part.navtype=50;part._range=[];if(typeof range_start!="number")part._range=range_start;else{for(var i=range_start;i<=range_end;++i){var txt;if(i<10&&range_end>=10)txt='0'+i;else txt=''+i;part._range[part._range.length]=txt;}}Calendar._add_evs(part);return part;};var hrs=cal.date.getHours();var mins=cal.date.getMinutes();var t12=!cal.time24;var pm=(hrs>12);if(t12&&pm)hrs-=12;var H=makeTimePart("hour",hrs,t12?1:0,t12?12:23);var span=Calendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=Calendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else cell.innerHTML=" ";cal.onSetTime=function(){var pm,hrs=this.date.getHours(),mins=this.date.getMinutes();if(t12){pm=(hrs>=12);if(pm)hrs-=12;if(hrs==0)hrs=12;AP.innerHTML=pm?"pm":"am";}H.innerHTML=(hrs<10)?("0"+hrs):hrs;M.innerHTML=(mins<10)?("0"+mins):mins;};cal.onUpdateTime=function(){var date=this.date;var h=parseInt(H.innerHTML,10);if(t12){if(/pm/i.test(AP.innerHTML)&&h<12)h+=12;else if(/am/i.test(AP.innerHTML)&&h==12)h=0;}var d=date.getDate();var m=date.getMonth();var y=date.getFullYear();date.setHours(h);date.setMinutes(parseInt(M.innerHTML,10));date.setFullYear(y);date.setMonth(m);date.setDate(d);this.dateClicked=false;this.callHandler();};})();}else{this.onSetTime=this.onUpdateTime=function(){};}var tfoot=Calendar.createElement("tfoot",table);row=Calendar.createElement("tr",tfoot);row.className="footrow";cell=hh(Calendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=Calendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}this.tooltips=cell;div=Calendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<Calendar._MN.length;++i){var mn=Calendar.createElement("div");mn.className=Calendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=Calendar._SMN[i];div.appendChild(mn);}div=Calendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=Calendar.createElement("div");yr.className=Calendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};Calendar._keyEvent=function(ev){var cal=window._dynarch_popupCalendar;if(!cal||cal.multiple)return false;(Calendar.is_ie)&&(ev=window.event);var act=(Calendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&Calendar.cellClick(cal._nav_pm);break;case 38:act&&Calendar.cellClick(cal._nav_py);break;case 39:act&&Calendar.cellClick(cal._nav_nm);break;case 40:act&&Calendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:Calendar.cellClick(cal._nav_now);break;case 27:act&&cal.callCloseHandler();break;case 37:case 38:case 39:case 40:if(act){var prev,x,y,ne,el,step;prev=K==37||K==38;step=(K==37||K==39)?1:7;function setVars(){el=cal.currentDateEl;var p=el.pos;x=p&15;y=p>>4;ne=cal.ar_days[y][x];};setVars();function prevMonth(){var date=new Date(cal.date);date.setDate(date.getDate()-step);cal.setDate(date);};function nextMonth(){var date=new Date(cal.date);date.setDate(date.getDate()+step);cal.setDate(date);};while(1){switch(K){case 37:if(--x>=0)ne=cal.ar_days[y][x];else{x=6;K=38;continue;}break;case 38:if(--y>=0)ne=cal.ar_days[y][x];else{prevMonth();setVars();}break;case 39:if(++x<7)ne=cal.ar_days[y][x];else{x=0;K=40;continue;}break;case 40:if(++y<cal.ar_days.length)ne=cal.ar_days[y][x];else{nextMonth();setVars();}break;}break;}if(ne){if(!ne.disabled)Calendar.cellClick(ne);else if(prev)prevMonth();else nextMonth();}}break;case 13:if(act)Calendar.cellClick(cal.currentDateEl,ev);break;default:return false;}return Calendar.stopEvent(ev);};Calendar.prototype._init=function(firstDayOfWeek,date){var today=new Date(),TY=today.getFullYear(),TM=today.getMonth(),TD=today.getDate();this.table.style.visibility="hidden";var year=date.getFullYear();if(year<this.minYear){year=this.minYear;date.setFullYear(year);}else if(year>this.maxYear){year=this.maxYear;date.setFullYear(year);}this.firstDayOfWeek=firstDayOfWeek;this.date=new Date(date);var month=date.getMonth();var mday=date.getDate();var no_days=date.getMonthDays();date.setDate(1);var day1=(date.getDay()-this.firstDayOfWeek)%7;if(day1<0)day1+=7;date.setDate(-day1);date.setDate(date.getDate()+1);var row=this.tbody.firstChild;var MN=Calendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=Calendar._TT["WEEKEND"];var dates=this.multiple?(this.datesCells={}):null;for(var i=0;i<6;++i,row=row.nextSibling){var cell=row.firstChild;if(this.weekNumbers){cell.className="day wn";cell.innerHTML=date.getWeekNumber();cell=cell.nextSibling;}row.className="daysrow";var hasdays=false,iday,dpos=ar_days[i]=[];for(var j=0;j<7;++j,cell=cell.nextSibling,date.setDate(iday+1)){iday=date.getDate();var wday=date.getDay();cell.className="day";cell.pos=i<<4|j;dpos[j]=cell;var current_month=(date.getMonth()==month);if(!current_month){if(this.showsOtherMonths){cell.className+=" othermonth";cell.otherMonth=true;}else{cell.className="emptycell";cell.innerHTML=" ";cell.disabled=true;continue;}}else{cell.otherMonth=false;hasdays=true;}cell.disabled=false;cell.innerHTML=this.getDateText?this.getDateText(date,iday):iday;if(dates)dates[date.print("%Y%m%d")]=cell;if(this.getDateStatus){var status=this.getDateStatus(date,year,month,iday);if(this.getDateToolTip){var toolTip=this.getDateToolTip(date,year,month,iday);if(toolTip)cell.title=toolTip;}if(status===true){cell.className+=" disabled";cell.disabled=true;}else{if(/disabled/i.test(status))cell.disabled=true;cell.className+=" "+status;}}if(!cell.disabled){cell.caldate=new Date(date);cell.ttip="_";if(!this.multiple&¤t_month&&iday==mday&&this.hiliteToday){cell.className+=" selected";this.currentDateEl=cell;}if(date.getFullYear()==TY&&date.getMonth()==TM&&iday==TD){cell.className+=" today";cell.ttip+=Calendar._TT["PART_TODAY"];}if(weekend.indexOf(wday.toString())!=-1)cell.className+=cell.otherMonth?" oweekend":" weekend";}}if(!(hasdays||this.showsOtherMonths))row.className="emptyrow";}this.title.innerHTML=Calendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var cell=this.datesCells[i];var d=this.multiple[i];if(!d)continue;if(cell)cell.className+=" selected";}}};Calendar.prototype._toggleMultipleDate=function(date){if(this.multiple){var ds=date.print("%Y%m%d");var cell=this.datesCells[ds];if(cell){var d=this.multiple[ds];if(!d){Calendar.addClass(cell,"selected");this.multiple[ds]=date;}else{Calendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};Calendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};Calendar._checkCalendar=function(ev){var calendar=window._dynarch_popupCalendar;if(!calendar){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];Calendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];Calendar.removeClass(cell,"hilite");Calendar.removeClass(cell,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,opts){var self=this;var p=Calendar.getAbsolutePos(el);if(!opts||typeof opts!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0)box.x=0;if(box.y<0)box.y=0;var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0)box.x-=tmp;tmp=box.y+box.height-br.y;if(tmp>0)box.y-=tmp;};this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=self.element.offsetWidth;var h=self.element.offsetHeight;self.element.style.display="none";var valign=opts.substr(0,1);var halign="l";if(opts.length>1){halign=opts.substr(1,1);}switch(valign){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(halign){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "l":p.x+=el.offsetWidth-w;break;case "r":break;}p.width=w;p.height=h+40;self.monthsCombo.style.display="none";fixPosition(p);self.showAt(p.x,p.y);};if(Calendar.is_khtml)setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);else Calendar.continuation_for_the_fucking_khtml_browser();};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt)fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera)return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml)value=document.defaultView. getComputedStyle(obj,"").getPropertyValue("visibility");else value='';}else if(obj.currentStyle){value=obj.currentStyle.visibility;}else value='';}return value;};var tags=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=tags.length;k>0;){var ar=document.getElementsByTagName(tags[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;Calendar._add_evs(cell);}if(weekend.indexOf(realday.toString())!=-1){Calendar.addClass(cell,"weekend");}cell.innerHTML=Calendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft;}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt){var today=new Date();var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i])continue;switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case "%b":case "%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12)hr+=12;else if(/am/i.test(a[i])&&hr>=12)hr-=12;break;case "%M":min=parseInt(a[i],10);break;}}if(isNaN(y))y=today.getFullYear();if(isNaN(m))m=today.getMonth();if(isNaN(d))d=today.getDate();if(isNaN(hr))hr=today.getHours();if(isNaN(min))min=today.getMinutes();if(y!=0&&m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else if(d==0){d=a[i];}}if(y==0)y=today.getFullYear();if(m!=-1&&d!=0)return new Date(y,m,d,hr,min,0);return today;};Date.prototype.getMonthDays=function(month){var year=this.getFullYear();if(typeof month=="undefined"){month=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&month==1){return 29;}else{return Date._MD[month];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*864e5))+1;};Date.prototype.equalsTo=function(date){return((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0)ir=12;var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(''+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return str.replace(re,function(par){return s[par]||par;});var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],'g');str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth())this.setDate(28);this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;
|
|
Binary file
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// ** I18N Afrikaans
|
|
2
|
+
Calendar._DN = new Array
|
|
3
|
+
("Sondag",
|
|
4
|
+
"Maandag",
|
|
5
|
+
"Dinsdag",
|
|
6
|
+
"Woensdag",
|
|
7
|
+
"Donderdag",
|
|
8
|
+
"Vrydag",
|
|
9
|
+
"Saterdag",
|
|
10
|
+
"Sondag");
|
|
11
|
+
Calendar._MN = new Array
|
|
12
|
+
("Januarie",
|
|
13
|
+
"Februarie",
|
|
14
|
+
"Maart",
|
|
15
|
+
"April",
|
|
16
|
+
"Mei",
|
|
17
|
+
"Junie",
|
|
18
|
+
"Julie",
|
|
19
|
+
"Augustus",
|
|
20
|
+
"September",
|
|
21
|
+
"Oktober",
|
|
22
|
+
"November",
|
|
23
|
+
"Desember");
|
|
24
|
+
|
|
25
|
+
// tooltips
|
|
26
|
+
Calendar._TT = {};
|
|
27
|
+
Calendar._TT["TOGGLE"] = "Verander eerste dag van die week";
|
|
28
|
+
Calendar._TT["PREV_YEAR"] = "Vorige jaar (hou vir keuselys)";
|
|
29
|
+
Calendar._TT["PREV_MONTH"] = "Vorige maand (hou vir keuselys)";
|
|
30
|
+
Calendar._TT["GO_TODAY"] = "Gaan na vandag";
|
|
31
|
+
Calendar._TT["NEXT_MONTH"] = "Volgende maand (hou vir keuselys)";
|
|
32
|
+
Calendar._TT["NEXT_YEAR"] = "Volgende jaar (hou vir keuselys)";
|
|
33
|
+
Calendar._TT["SEL_DATE"] = "Kies datum";
|
|
34
|
+
Calendar._TT["DRAG_TO_MOVE"] = "Sleep om te skuif";
|
|
35
|
+
Calendar._TT["PART_TODAY"] = " (vandag)";
|
|
36
|
+
Calendar._TT["MON_FIRST"] = "Vertoon Maandag eerste";
|
|
37
|
+
Calendar._TT["SUN_FIRST"] = "Display Sunday first";
|
|
38
|
+
Calendar._TT["CLOSE"] = "Close";
|
|
39
|
+
Calendar._TT["TODAY"] = "Today";
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
// Calendar ALBANIAN language
|
|
2
|
+
//author Rigels Gordani rige@hotmail.com
|
|
3
|
+
|
|
4
|
+
// ditet
|
|
5
|
+
Calendar._DN = new Array
|
|
6
|
+
("E Diele",
|
|
7
|
+
"E Hene",
|
|
8
|
+
"E Marte",
|
|
9
|
+
"E Merkure",
|
|
10
|
+
"E Enjte",
|
|
11
|
+
"E Premte",
|
|
12
|
+
"E Shtune",
|
|
13
|
+
"E Diele");
|
|
14
|
+
|
|
15
|
+
//ditet shkurt
|
|
16
|
+
Calendar._SDN = new Array
|
|
17
|
+
("Die",
|
|
18
|
+
"Hen",
|
|
19
|
+
"Mar",
|
|
20
|
+
"Mer",
|
|
21
|
+
"Enj",
|
|
22
|
+
"Pre",
|
|
23
|
+
"Sht",
|
|
24
|
+
"Die");
|
|
25
|
+
|
|
26
|
+
// muajt
|
|
27
|
+
Calendar._MN = new Array
|
|
28
|
+
("Janar",
|
|
29
|
+
"Shkurt",
|
|
30
|
+
"Mars",
|
|
31
|
+
"Prill",
|
|
32
|
+
"Maj",
|
|
33
|
+
"Qeshor",
|
|
34
|
+
"Korrik",
|
|
35
|
+
"Gusht",
|
|
36
|
+
"Shtator",
|
|
37
|
+
"Tetor",
|
|
38
|
+
"Nentor",
|
|
39
|
+
"Dhjetor");
|
|
40
|
+
|
|
41
|
+
// muajte shkurt
|
|
42
|
+
Calendar._SMN = new Array
|
|
43
|
+
("Jan",
|
|
44
|
+
"Shk",
|
|
45
|
+
"Mar",
|
|
46
|
+
"Pri",
|
|
47
|
+
"Maj",
|
|
48
|
+
"Qes",
|
|
49
|
+
"Kor",
|
|
50
|
+
"Gus",
|
|
51
|
+
"Sht",
|
|
52
|
+
"Tet",
|
|
53
|
+
"Nen",
|
|
54
|
+
"Dhj");
|
|
55
|
+
|
|
56
|
+
// ndihmesa
|
|
57
|
+
Calendar._TT = {};
|
|
58
|
+
Calendar._TT["INFO"] = "Per kalendarin";
|
|
59
|
+
|
|
60
|
+
Calendar._TT["ABOUT"] =
|
|
61
|
+
"Zgjedhes i ores/dates ne DHTML \n" +
|
|
62
|
+
"\n\n" +"Zgjedhja e Dates:\n" +
|
|
63
|
+
"- Perdor butonat \xab, \xbb per te zgjedhur vitin\n" +
|
|
64
|
+
"- Perdor butonat" + String.fromCharCode(0x2039) + ", " +
|
|
65
|
+
String.fromCharCode(0x203a) +
|
|
66
|
+
" per te zgjedhur muajin\n" +
|
|
67
|
+
"- Mbani shtypur butonin e mousit per nje zgjedje me te shpejte.";
|
|
68
|
+
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
|
69
|
+
"Zgjedhja e kohes:\n" +
|
|
70
|
+
"- Kliko tek ndonje nga pjeset e ores per ta rritur ate\n" +
|
|
71
|
+
"- ose kliko me Shift per ta zvogeluar ate\n" +
|
|
72
|
+
"- ose cliko dhe terhiq per zgjedhje me te shpejte.";
|
|
73
|
+
|
|
74
|
+
Calendar._TT["PREV_YEAR"] = "Viti i shkuar (prit per menune)";
|
|
75
|
+
Calendar._TT["PREV_MONTH"] = "Muaji i shkuar (prit per menune)";
|
|
76
|
+
Calendar._TT["GO_TODAY"] = "Sot";
|
|
77
|
+
Calendar._TT["NEXT_MONTH"] = "Muaji i ardhshem (prit per menune)";
|
|
78
|
+
Calendar._TT["NEXT_YEAR"] = "Viti i ardhshem (prit per menune)";
|
|
79
|
+
Calendar._TT["SEL_DATE"] = "Zgjidh daten";
|
|
80
|
+
Calendar._TT["DRAG_TO_MOVE"] = "Terhiqe per te levizur";
|
|
81
|
+
Calendar._TT["PART_TODAY"] = " (sot)";
|
|
82
|
+
|
|
83
|
+
// "%s" eshte dita e pare e javes
|
|
84
|
+
// %s do te zevendesohet me emrin e dite
|
|
85
|
+
Calendar._TT["DAY_FIRST"] = "Trego te %s te paren";
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
Calendar._TT["WEEKEND"] = "0,6";
|
|
89
|
+
|
|
90
|
+
Calendar._TT["CLOSE"] = "Mbyll";
|
|
91
|
+
Calendar._TT["TODAY"] = "Sot";
|
|
92
|
+
Calendar._TT["TIME_PART"] = "Kliko me (Shift-)ose terhiqe per te ndryshuar
|
|
93
|
+
vleren";
|
|
94
|
+
|
|
95
|
+
// date formats
|
|
96
|
+
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
|
97
|
+
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
|
|
98
|
+
|
|
99
|
+
Calendar._TT["WK"] = "Java";
|
|
100
|
+
Calendar._TT["TIME"] = "Koha:";
|
|
101
|
+
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
// ** I18N
|
|
2
|
+
|
|
3
|
+
// Calendar BG language
|
|
4
|
+
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
|
|
5
|
+
// Translator: Valentin Sheiretsky, <valio@valio.eu.org>
|
|
6
|
+
// Encoding: Windows-1251
|
|
7
|
+
// Distributed under the same terms as the calendar itself.
|
|
8
|
+
|
|
9
|
+
// For translators: please use UTF-8 if possible. We strongly believe that
|
|
10
|
+
// Unicode is the answer to a real internationalized world. Also please
|
|
11
|
+
// include your contact information in the header, as can be seen above.
|
|
12
|
+
|
|
13
|
+
// full day names
|
|
14
|
+
Calendar._DN = new Array
|
|
15
|
+
("������",
|
|
16
|
+
"����������",
|
|
17
|
+
"�������",
|
|
18
|
+
"�����",
|
|
19
|
+
"���������",
|
|
20
|
+
"�����",
|
|
21
|
+
"������",
|
|
22
|
+
"������");
|
|
23
|
+
|
|
24
|
+
// Please note that the following array of short day names (and the same goes
|
|
25
|
+
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
|
26
|
+
// for exemplification on how one can customize the short day names, but if
|
|
27
|
+
// they are simply the first N letters of the full name you can simply say:
|
|
28
|
+
//
|
|
29
|
+
// Calendar._SDN_len = N; // short day name length
|
|
30
|
+
// Calendar._SMN_len = N; // short month name length
|
|
31
|
+
//
|
|
32
|
+
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
|
33
|
+
// present, to be compatible with translation files that were written before
|
|
34
|
+
// this feature.
|
|
35
|
+
|
|
36
|
+
// short day names
|
|
37
|
+
Calendar._SDN = new Array
|
|
38
|
+
("���",
|
|
39
|
+
"���",
|
|
40
|
+
"���",
|
|
41
|
+
"���",
|
|
42
|
+
"���",
|
|
43
|
+
"���",
|
|
44
|
+
"���",
|
|
45
|
+
"���");
|
|
46
|
+
|
|
47
|
+
// full month names
|
|
48
|
+
Calendar._MN = new Array
|
|
49
|
+
("������",
|
|
50
|
+
"��������",
|
|
51
|
+
"����",
|
|
52
|
+
"�����",
|
|
53
|
+
"���",
|
|
54
|
+
"���",
|
|
55
|
+
"���",
|
|
56
|
+
"������",
|
|
57
|
+
"���������",
|
|
58
|
+
"��������",
|
|
59
|
+
"�������",
|
|
60
|
+
"��������");
|
|
61
|
+
|
|
62
|
+
// short month names
|
|
63
|
+
Calendar._SMN = new Array
|
|
64
|
+
("���",
|
|
65
|
+
"���",
|
|
66
|
+
"���",
|
|
67
|
+
"���",
|
|
68
|
+
"���",
|
|
69
|
+
"���",
|
|
70
|
+
"���",
|
|
71
|
+
"���",
|
|
72
|
+
"���",
|
|
73
|
+
"���",
|
|
74
|
+
"���",
|
|
75
|
+
"���");
|
|
76
|
+
|
|
77
|
+
// tooltips
|
|
78
|
+
Calendar._TT = {};
|
|
79
|
+
Calendar._TT["INFO"] = "���������� �� ���������";
|
|
80
|
+
|
|
81
|
+
Calendar._TT["ABOUT"] =
|
|
82
|
+
"DHTML Date/Time Selector\n" +
|
|
83
|
+
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
|
84
|
+
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
|
85
|
+
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
|
86
|
+
"\n\n" +
|
|
87
|
+
"Date selection:\n" +
|
|
88
|
+
"- Use the \xab, \xbb buttons to select year\n" +
|
|
89
|
+
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
|
|
90
|
+
"- Hold mouse button on any of the above buttons for faster selection.";
|
|
91
|
+
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
|
92
|
+
"Time selection:\n" +
|
|
93
|
+
"- Click on any of the time parts to increase it\n" +
|
|
94
|
+
"- or Shift-click to decrease it\n" +
|
|
95
|
+
"- or click and drag for faster selection.";
|
|
96
|
+
|
|
97
|
+
Calendar._TT["PREV_YEAR"] = "������ ������ (�������� �� ����)";
|
|
98
|
+
Calendar._TT["PREV_MONTH"] = "������ ����� (�������� �� ����)";
|
|
99
|
+
Calendar._TT["GO_TODAY"] = "�������� ����";
|
|
100
|
+
Calendar._TT["NEXT_MONTH"] = "������� ����� (�������� �� ����)";
|
|
101
|
+
Calendar._TT["NEXT_YEAR"] = "�������� ������ (�������� �� ����)";
|
|
102
|
+
Calendar._TT["SEL_DATE"] = "�������� ����";
|
|
103
|
+
Calendar._TT["DRAG_TO_MOVE"] = "�����������";
|
|
104
|
+
Calendar._TT["PART_TODAY"] = " (����)";
|
|
105
|
+
|
|
106
|
+
// the following is to inform that "%s" is to be the first day of week
|
|
107
|
+
// %s will be replaced with the day name.
|
|
108
|
+
Calendar._TT["DAY_FIRST"] = "%s ���� ����� ���";
|
|
109
|
+
|
|
110
|
+
// This may be locale-dependent. It specifies the week-end days, as an array
|
|
111
|
+
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
|
112
|
+
// means Monday, etc.
|
|
113
|
+
Calendar._TT["WEEKEND"] = "0,6";
|
|
114
|
+
|
|
115
|
+
Calendar._TT["CLOSE"] = "���������";
|
|
116
|
+
Calendar._TT["TODAY"] = "����";
|
|
117
|
+
Calendar._TT["TIME_PART"] = "(Shift-)Click ��� drag �� �� ��������� ����������";
|
|
118
|
+
|
|
119
|
+
// date formats
|
|
120
|
+
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
|
121
|
+
Calendar._TT["TT_DATE_FORMAT"] = "%A - %e %B %Y";
|
|
122
|
+
|
|
123
|
+
Calendar._TT["WK"] = "����";
|
|
124
|
+
Calendar._TT["TIME"] = "���:";
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// ** I18N
|
|
2
|
+
|
|
3
|
+
// Calendar big5-utf8 language
|
|
4
|
+
// Author: Gary Fu, <gary@garyfu.idv.tw>
|
|
5
|
+
// Encoding: utf8
|
|
6
|
+
// Distributed under the same terms as the calendar itself.
|
|
7
|
+
|
|
8
|
+
// For translators: please use UTF-8 if possible. We strongly believe that
|
|
9
|
+
// Unicode is the answer to a real internationalized world. Also please
|
|
10
|
+
// include your contact information in the header, as can be seen above.
|
|
11
|
+
|
|
12
|
+
// full day names
|
|
13
|
+
Calendar._DN = new Array
|
|
14
|
+
("星期日",
|
|
15
|
+
"星期一",
|
|
16
|
+
"星期二",
|
|
17
|
+
"星期三",
|
|
18
|
+
"星期四",
|
|
19
|
+
"星期五",
|
|
20
|
+
"星期六",
|
|
21
|
+
"星期日");
|
|
22
|
+
|
|
23
|
+
// Please note that the following array of short day names (and the same goes
|
|
24
|
+
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
|
25
|
+
// for exemplification on how one can customize the short day names, but if
|
|
26
|
+
// they are simply the first N letters of the full name you can simply say:
|
|
27
|
+
//
|
|
28
|
+
// Calendar._SDN_len = N; // short day name length
|
|
29
|
+
// Calendar._SMN_len = N; // short month name length
|
|
30
|
+
//
|
|
31
|
+
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
|
32
|
+
// present, to be compatible with translation files that were written before
|
|
33
|
+
// this feature.
|
|
34
|
+
|
|
35
|
+
// short day names
|
|
36
|
+
Calendar._SDN = new Array
|
|
37
|
+
("日",
|
|
38
|
+
"一",
|
|
39
|
+
"二",
|
|
40
|
+
"三",
|
|
41
|
+
"四",
|
|
42
|
+
"五",
|
|
43
|
+
"六",
|
|
44
|
+
"日");
|
|
45
|
+
|
|
46
|
+
// full month names
|
|
47
|
+
Calendar._MN = new Array
|
|
48
|
+
("一月",
|
|
49
|
+
"二月",
|
|
50
|
+
"三月",
|
|
51
|
+
"四月",
|
|
52
|
+
"五月",
|
|
53
|
+
"六月",
|
|
54
|
+
"七月",
|
|
55
|
+
"八月",
|
|
56
|
+
"九月",
|
|
57
|
+
"十月",
|
|
58
|
+
"十一月",
|
|
59
|
+
"十二月");
|
|
60
|
+
|
|
61
|
+
// short month names
|
|
62
|
+
Calendar._SMN = new Array
|
|
63
|
+
("一月",
|
|
64
|
+
"二月",
|
|
65
|
+
"三月",
|
|
66
|
+
"四月",
|
|
67
|
+
"五月",
|
|
68
|
+
"六月",
|
|
69
|
+
"七月",
|
|
70
|
+
"八月",
|
|
71
|
+
"九月",
|
|
72
|
+
"十月",
|
|
73
|
+
"十一月",
|
|
74
|
+
"十二月");
|
|
75
|
+
|
|
76
|
+
// tooltips
|
|
77
|
+
Calendar._TT = {};
|
|
78
|
+
Calendar._TT["INFO"] = "關於";
|
|
79
|
+
|
|
80
|
+
Calendar._TT["ABOUT"] =
|
|
81
|
+
"DHTML Date/Time Selector\n" +
|
|
82
|
+
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
|
83
|
+
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
|
84
|
+
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
|
85
|
+
"\n\n" +
|
|
86
|
+
"日期選擇方法:\n" +
|
|
87
|
+
"- 使用 \xab, \xbb 按鈕可選擇年份\n" +
|
|
88
|
+
"- 使用 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 按鈕可選擇月份\n" +
|
|
89
|
+
"- 按住上面的按鈕可以加快選取";
|
|
90
|
+
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
|
91
|
+
"時間選擇方法:\n" +
|
|
92
|
+
"- 點擊任何的時間部份可增加其值\n" +
|
|
93
|
+
"- 同時按Shift鍵再點擊可減少其值\n" +
|
|
94
|
+
"- 點擊並拖曳可加快改變的值";
|
|
95
|
+
|
|
96
|
+
Calendar._TT["PREV_YEAR"] = "上一年 (按住選單)";
|
|
97
|
+
Calendar._TT["PREV_MONTH"] = "下一年 (按住選單)";
|
|
98
|
+
Calendar._TT["GO_TODAY"] = "到今日";
|
|
99
|
+
Calendar._TT["NEXT_MONTH"] = "上一月 (按住選單)";
|
|
100
|
+
Calendar._TT["NEXT_YEAR"] = "下一月 (按住選單)";
|
|
101
|
+
Calendar._TT["SEL_DATE"] = "選擇日期";
|
|
102
|
+
Calendar._TT["DRAG_TO_MOVE"] = "拖曳";
|
|
103
|
+
Calendar._TT["PART_TODAY"] = " (今日)";
|
|
104
|
+
|
|
105
|
+
// the following is to inform that "%s" is to be the first day of week
|
|
106
|
+
// %s will be replaced with the day name.
|
|
107
|
+
Calendar._TT["DAY_FIRST"] = "將 %s 顯示在前";
|
|
108
|
+
|
|
109
|
+
// This may be locale-dependent. It specifies the week-end days, as an array
|
|
110
|
+
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
|
111
|
+
// means Monday, etc.
|
|
112
|
+
Calendar._TT["WEEKEND"] = "0,6";
|
|
113
|
+
|
|
114
|
+
Calendar._TT["CLOSE"] = "關閉";
|
|
115
|
+
Calendar._TT["TODAY"] = "今日";
|
|
116
|
+
Calendar._TT["TIME_PART"] = "點擊or拖曳可改變時間(同時按Shift為減)";
|
|
117
|
+
|
|
118
|
+
// date formats
|
|
119
|
+
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
|
120
|
+
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
|
|
121
|
+
|
|
122
|
+
Calendar._TT["WK"] = "週";
|
|
123
|
+
Calendar._TT["TIME"] = "Time:";
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
// ** I18N
|
|
2
|
+
|
|
3
|
+
// Calendar big5 language
|
|
4
|
+
// Author: Gary Fu, <gary@garyfu.idv.tw>
|
|
5
|
+
// Encoding: big5
|
|
6
|
+
// Distributed under the same terms as the calendar itself.
|
|
7
|
+
|
|
8
|
+
// For translators: please use UTF-8 if possible. We strongly believe that
|
|
9
|
+
// Unicode is the answer to a real internationalized world. Also please
|
|
10
|
+
// include your contact information in the header, as can be seen above.
|
|
11
|
+
|
|
12
|
+
// full day names
|
|
13
|
+
Calendar._DN = new Array
|
|
14
|
+
("�P����",
|
|
15
|
+
"�P���@",
|
|
16
|
+
"�P���G",
|
|
17
|
+
"�P���T",
|
|
18
|
+
"�P���|",
|
|
19
|
+
"�P����",
|
|
20
|
+
"�P����",
|
|
21
|
+
"�P����");
|
|
22
|
+
|
|
23
|
+
// Please note that the following array of short day names (and the same goes
|
|
24
|
+
// for short month names, _SMN) isn't absolutely necessary. We give it here
|
|
25
|
+
// for exemplification on how one can customize the short day names, but if
|
|
26
|
+
// they are simply the first N letters of the full name you can simply say:
|
|
27
|
+
//
|
|
28
|
+
// Calendar._SDN_len = N; // short day name length
|
|
29
|
+
// Calendar._SMN_len = N; // short month name length
|
|
30
|
+
//
|
|
31
|
+
// If N = 3 then this is not needed either since we assume a value of 3 if not
|
|
32
|
+
// present, to be compatible with translation files that were written before
|
|
33
|
+
// this feature.
|
|
34
|
+
|
|
35
|
+
// short day names
|
|
36
|
+
Calendar._SDN = new Array
|
|
37
|
+
("��",
|
|
38
|
+
"�@",
|
|
39
|
+
"�G",
|
|
40
|
+
"�T",
|
|
41
|
+
"�|",
|
|
42
|
+
"��",
|
|
43
|
+
"��",
|
|
44
|
+
"��");
|
|
45
|
+
|
|
46
|
+
// full month names
|
|
47
|
+
Calendar._MN = new Array
|
|
48
|
+
("�@��",
|
|
49
|
+
"�G��",
|
|
50
|
+
"�T��",
|
|
51
|
+
"�|��",
|
|
52
|
+
"����",
|
|
53
|
+
"����",
|
|
54
|
+
"�C��",
|
|
55
|
+
"�K��",
|
|
56
|
+
"�E��",
|
|
57
|
+
"�Q��",
|
|
58
|
+
"�Q�@��",
|
|
59
|
+
"�Q�G��");
|
|
60
|
+
|
|
61
|
+
// short month names
|
|
62
|
+
Calendar._SMN = new Array
|
|
63
|
+
("�@��",
|
|
64
|
+
"�G��",
|
|
65
|
+
"�T��",
|
|
66
|
+
"�|��",
|
|
67
|
+
"����",
|
|
68
|
+
"����",
|
|
69
|
+
"�C��",
|
|
70
|
+
"�K��",
|
|
71
|
+
"�E��",
|
|
72
|
+
"�Q��",
|
|
73
|
+
"�Q�@��",
|
|
74
|
+
"�Q�G��");
|
|
75
|
+
|
|
76
|
+
// tooltips
|
|
77
|
+
Calendar._TT = {};
|
|
78
|
+
Calendar._TT["INFO"] = "����";
|
|
79
|
+
|
|
80
|
+
Calendar._TT["ABOUT"] =
|
|
81
|
+
"DHTML Date/Time Selector\n" +
|
|
82
|
+
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
|
|
83
|
+
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
|
|
84
|
+
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
|
|
85
|
+
"\n\n" +
|
|
86
|
+
"�����ܤ�k:\n" +
|
|
87
|
+
"- �ϥ� \xab, \xbb ���s�i��ܦ~��\n" +
|
|
88
|
+
"- �ϥ� " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ���s�i��ܤ��\n" +
|
|
89
|
+
"- �����W�������s�i�H�[�ֿ��";
|
|
90
|
+
Calendar._TT["ABOUT_TIME"] = "\n\n" +
|
|
91
|
+
"�ɶ���ܤ�k:\n" +
|
|
92
|
+
"- �I�����ɶ������i�W�[���\n" +
|
|
93
|
+
"- �P�ɫ�Shift��A�I���i��֨��\n" +
|
|
94
|
+
"- �I���é즲�i�[�֧��ܪ���";
|
|
95
|
+
|
|
96
|
+
Calendar._TT["PREV_YEAR"] = "�W�@�~ (�������)";
|
|
97
|
+
Calendar._TT["PREV_MONTH"] = "�U�@�~ (�������)";
|
|
98
|
+
Calendar._TT["GO_TODAY"] = "�줵��";
|
|
99
|
+
Calendar._TT["NEXT_MONTH"] = "�W�@�� (�������)";
|
|
100
|
+
Calendar._TT["NEXT_YEAR"] = "�U�@�� (�������)";
|
|
101
|
+
Calendar._TT["SEL_DATE"] = "��ܤ��";
|
|
102
|
+
Calendar._TT["DRAG_TO_MOVE"] = "�즲";
|
|
103
|
+
Calendar._TT["PART_TODAY"] = " (����)";
|
|
104
|
+
|
|
105
|
+
// the following is to inform that "%s" is to be the first day of week
|
|
106
|
+
// %s will be replaced with the day name.
|
|
107
|
+
Calendar._TT["DAY_FIRST"] = "�N %s ��ܦb�e";
|
|
108
|
+
|
|
109
|
+
// This may be locale-dependent. It specifies the week-end days, as an array
|
|
110
|
+
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
|
|
111
|
+
// means Monday, etc.
|
|
112
|
+
Calendar._TT["WEEKEND"] = "0,6";
|
|
113
|
+
|
|
114
|
+
Calendar._TT["CLOSE"] = "����";
|
|
115
|
+
Calendar._TT["TODAY"] = "����";
|
|
116
|
+
Calendar._TT["TIME_PART"] = "�I��or�즲�i���ܮɶ�(�P�ɫ�Shift����)";
|
|
117
|
+
|
|
118
|
+
// date formats
|
|
119
|
+
Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
|
|
120
|
+
Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
|
|
121
|
+
|
|
122
|
+
Calendar._TT["WK"] = "�g";
|
|
123
|
+
Calendar._TT["TIME"] = "Time:";
|