calendar 수정

git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5031 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ngleader 2008-12-03 09:36:06 +00:00
parent b6c0b99ac0
commit 0be6188c8a
26 changed files with 5557 additions and 3346 deletions

View file

@ -134,6 +134,7 @@
else $this->allow_rewrite = false;
// 기본 JS/CSS 등록
$this->addJsFile("./common/js/jquery-1.2.6.js");
$this->addJsFile("./common/js/x.js");
$this->addJsFile("./common/js/common.js");
$this->addJsFile("./common/js/xml_handler.js");

View file

@ -1,127 +0,0 @@
// ** I18N
// DyCalendar EN language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Encoding: any
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("Sun",
"Mon",
"Tue",
"Wed",
"Thu",
"Fri",
"Sat",
"Sun");
// First day of the week. "0" means display Sunday first, "1" means display
// Monday first, etc.
DyCalendar._FD = 0;
// full month names
DyCalendar._MN = new Array
("January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December");
// short month names
DyCalendar._SMN = new Array
("Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "About the calendar";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Date selection:\n" +
"- Use the \xab, \xbb buttons to select year\n" +
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
"- Hold mouse button on any of the above buttons for faster selection.";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";
DyCalendar._TT["PREV_YEAR"] = "Prev. year (hold for menu)";
DyCalendar._TT["PREV_MONTH"] = "Prev. month (hold for menu)";
DyCalendar._TT["GO_TODAY"] = "Go Today";
DyCalendar._TT["NEXT_MONTH"] = "Next month (hold for menu)";
DyCalendar._TT["NEXT_YEAR"] = "Next year (hold for menu)";
DyCalendar._TT["SEL_DATE"] = "Select date";
DyCalendar._TT["DRAG_TO_MOVE"] = "Drag to move";
DyCalendar._TT["PART_TODAY"] = " (today)";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
DyCalendar._TT["DAY_FIRST"] = "Display %s first";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "Close";
DyCalendar._TT["TODAY"] = "Today";
DyCalendar._TT["TIME_PART"] = "(Shift-)Click or drag to change value";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
DyCalendar._TT["WK"] = "wk";
DyCalendar._TT["TIME"] = "Time:";

View file

@ -1,130 +0,0 @@
// ** I18N
// DyCalendar ES language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: Bradly1, <bradly1@paran.com>
// Encoding: UTF-8
// lang : es
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("Domingo",
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado",
"Domingo");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("Domingo",
"Lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado",
"Domingo");
// First day of the week. "0" means display Sunday first, "1" means display
// Monday first, etc.
DyCalendar._FD = 0;
// full month names
DyCalendar._MN = new Array
("Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre");
// short month names
DyCalendar._SMN = new Array
("Enero",
"Febrero",
"Marzo",
"Abril",
"Mayo",
"Junio",
"Julio",
"Agosto",
"Septiembre",
"Octubre",
"Noviembre",
"Diciembre");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "Sobre el calendario";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Date selection:\n" +
"- Use the \xab, \xbb buttons to select year\n" +
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
"- Hold mouse button on any of the above buttons for faster selection.";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";
DyCalendar._TT["PREV_YEAR"] = "Prev. año (mantener para menu)";
DyCalendar._TT["PREV_MONTH"] = "Prev. mes (mantener para menu)";
DyCalendar._TT["GO_TODAY"] = "Ir Hoy";
DyCalendar._TT["NEXT_MONTH"] = "El mes próximo (mantener para menu)";
DyCalendar._TT["NEXT_YEAR"] = "El año que viene (mantener para menu)";
DyCalendar._TT["SEL_DATE"] = "Seleccionar fecha";
DyCalendar._TT["DRAG_TO_MOVE"] = "Arrastra para mover";
DyCalendar._TT["PART_TODAY"] = " (hoy)";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
DyCalendar._TT["DAY_FIRST"] = "Mostrar% s primero";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "Cerrar";
DyCalendar._TT["TODAY"] = "Hoy";
DyCalendar._TT["TIME_PART"] = "(Shift-) Haga clic o arrastre para cambiar el valor";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
DyCalendar._TT["WK"] = "wk";
DyCalendar._TT["TIME"] = "Tiempo:";

View file

@ -1,129 +0,0 @@
// ** I18N
// DyCalendar GE language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: bradly1, <bradly1@paran.com>
// Encoding: UTF-8
// lang : ge
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag",
"Sonntag");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("Sonntag",
"Montag",
"Dienstag",
"Mittwoch",
"Donnerstag",
"Freitag",
"Samstag",
"Sonntag");
// First day of the week. "0" means display Sunday first, "1" means display
// Monday first, etc.
DyCalendar._FD = 0;
// full month names
DyCalendar._MN = new Array
("Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember");
// short month names
DyCalendar._SMN = new Array
("Januar",
"Februar",
"März",
"April",
"Mai",
"Juni",
"Juli",
"August",
"September",
"Oktober",
"November",
"Dezember");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "Über den Kalender";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Date selection:\n" +
"- Use the \xab, \xbb buttons to select year\n" +
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
"- Hold mouse button on any of the above buttons for faster selection.";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";
DyCalendar._TT["PREV_YEAR"] = "Prev. Jahr (halten für Menü)";
DyCalendar._TT["PREV_MONTH"] = "Prev. Monat (halten für Menü)";
DyCalendar._TT["GO_TODAY"] = "Gehe Heute";
DyCalendar._TT["NEXT_MONTH"] = "Nächsten Monat (halten für Menü)";
DyCalendar._TT["NEXT_YEAR"] = "Nächstes Jahr (halten für Menü)";
DyCalendar._TT["SEL_DATE"] = "Wählen Sie das Datum";
DyCalendar._TT["DRAG_TO_MOVE"] = "Per Drag & Drop verschieben";
DyCalendar._TT["PART_TODAY"] = " (heute)";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
DyCalendar._TT["DAY_FIRST"] = "Anzeige% s erste";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "Schließen";
DyCalendar._TT["TODAY"] = "Heute";
DyCalendar._TT["TIME_PART"] = "(Shift-)Klicken Sie oder ziehen Sie ändern Wert";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%a, %b %e";
DyCalendar._TT["WK"] = "wk";
DyCalendar._TT["TIME"] = "Zeit:";

View file

@ -1,124 +0,0 @@
// ** I18N
// DyCalendar JA language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: ミニミ
// Encoding: UTF-8
// lang : jp
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("日曜日",
"月曜日",
"火曜日",
"水曜日",
"木曜日",
"金曜日",
"土曜日",
"日曜日");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("日",
"月",
"火",
"水",
"木",
"金",
"土",
"日");
// full month names
DyCalendar._MN = new Array
("1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月");
// short month names
DyCalendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "カレンダーの紹介";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"\n"+
"最新バージョンは http://www.dynarch.com/projects/calendar/ にご訪問して下さい。\n" +
"\n"+
"GNU LGPL ライセンスで配布されます。 \n"+
"より詳しいライセンスの内容は http://gnu.org/licenses/lgpl.html をお読みください。" +
"\n\n" +
"日付選択:\n" +
"- 年度の選択には \xab, \xbb ボタンを使います。\n" +
"- 月の選択には " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " ボタンを使って下さい。\n" +
"- ずっと押していると上の値をよら楽に選択できます。";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"時間の選択:\n" +
"- マウスをクリックすると時間が増加します。\n" +
"- Shiftキーと同時にクリックすると減ります。\n" +
"- 押している状態で、マウスを動かすとより早く値が変化します。\n";
DyCalendar._TT["PREV_YEAR"] = "前年 (長く押すとリスト)";
DyCalendar._TT["PREV_MONTH"] = "前月 (長く押すとリスト)";
DyCalendar._TT["GO_TODAY"] = "今日";
DyCalendar._TT["NEXT_MONTH"] = "翌月 (長く押すとリスト)";
DyCalendar._TT["NEXT_YEAR"] = "翌年 (長く押すとリスト)";
DyCalendar._TT["SEL_DATE"] = "日付選択";
DyCalendar._TT["DRAG_TO_MOVE"] = "ウィンドウの移動";
DyCalendar._TT["PART_TODAY"] = " (今日)";
DyCalendar._TT["DAY_FIRST"] = "%s を先頭に";
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "閉じる";
DyCalendar._TT["TODAY"] = "今日";
DyCalendar._TT["TIME_PART"] = "(Shift-)クリック、もしくはドラッグして下さい。";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
DyCalendar._TT["WK"] = "週";
DyCalendar._TT["TIME"] = "時:";

View file

@ -1,124 +0,0 @@
// ** I18N
// DyCalendar KO language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: Yourim Yi <yyi@yourim.net>
// Encoding: UTF-8
// lang : ko
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("일요일",
"월요일",
"화요일",
"수요일",
"목요일",
"금요일",
"토요일",
"일요일");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("일",
"월",
"화",
"수",
"목",
"금",
"토",
"일");
// full month names
DyCalendar._MN = new Array
("1월",
"2월",
"3월",
"4월",
"5월",
"6월",
"7월",
"8월",
"9월",
"10월",
"11월",
"12월");
// short month names
DyCalendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "calendar 소개";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"\n"+
"최신 버전을 받으시려면 http://www.dynarch.com/projects/calendar/ 에 방문하세요\n" +
"\n"+
"GNU LGPL 라이선스로 배포됩니다. \n"+
"라이선스에 대한 자세한 내용은 http://gnu.org/licenses/lgpl.html 을 읽으세요." +
"\n\n" +
"날짜 선택:\n" +
"- 연도를 선택하려면 \xab, \xbb 버튼을 사용합니다\n" +
"- 달을 선택하려면 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 버튼을 누르세요\n" +
"- 계속 누르고 있으면 위 값들을 빠르게 선택하실 수 있습니다.";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"시간 선택:\n" +
"- 마우스로 누르면 시간이 증가합니다\n" +
"- Shift 키와 함께 누르면 감소합니다\n" +
"- 누른 상태에서 마우스를 움직이면 좀 더 빠르게 값이 변합니다.\n";
DyCalendar._TT["PREV_YEAR"] = "지난 해 (길게 누르면 목록)";
DyCalendar._TT["PREV_MONTH"] = "지난 달 (길게 누르면 목록)";
DyCalendar._TT["GO_TODAY"] = "오늘 날짜로";
DyCalendar._TT["NEXT_MONTH"] = "다음 달 (길게 누르면 목록)";
DyCalendar._TT["NEXT_YEAR"] = "다음 해 (길게 누르면 목록)";
DyCalendar._TT["SEL_DATE"] = "날짜를 선택하세요";
DyCalendar._TT["DRAG_TO_MOVE"] = "마우스 드래그로 이동 하세요";
DyCalendar._TT["PART_TODAY"] = " (오늘)";
DyCalendar._TT["DAY_FIRST"] = "%s 먼저 표시";
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "닫기";
DyCalendar._TT["TODAY"] = "오늘";
DyCalendar._TT["TIME_PART"] = "(Shift-)클릭 또는 드래그 하세요";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
DyCalendar._TT["WK"] = "주";
DyCalendar._TT["TIME"] = "시:";

View file

@ -1,129 +0,0 @@
// ** I18N
// DyCalendar RU language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: bradly1, <bradly1@paran.com>
// Encoding: UTF-8
// lang : RU
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("Воскресенье",
"Понедельник",
"Вторник",
"Среда",
"Четверг",
"Пятница",
"Суббота",
"Воскресенье");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("Sun",
"ПН",
"ВТ",
"Wed",
"Thu",
"Пят",
"СБ",
"Солнце");
// First day of the week. "0" means display Sunday first, "1" means display
// Monday first, etc.
DyCalendar._FD = 0;
// full month names
DyCalendar._MN = new Array
("Январь",
"Февраль",
"Марта",
"Апрель",
"Мая",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь");
// short month names
DyCalendar._SMN = new Array
("Январь",
"Февраль",
"Марта",
"Апрель",
"Мая",
"Июнь",
"Июль",
"Август",
"Сентябрь",
"Октябрь",
"Ноябрь",
"Декабрь");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "О календаре";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Date selection:\n" +
"- Use the \xab, \xbb buttons to select year\n" +
"- Use the " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " buttons to select month\n" +
"- Hold mouse button on any of the above buttons for faster selection.";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";
DyCalendar._TT [ "PREV_YEAR"] = "Пред. Год (удерживать для меню)";
DyCalendar._TT [ "PREV_MONTH"] = "Пред. Месяце (удерживать для меню)";
DyCalendar._TT [ "GO_TODAY"] = "Перейти Сегодня";
DyCalendar._TT [ "NEXT_MONTH"] = "В следующем месяце (удерживать для меню)";
DyCalendar._TT [ "NEXT_YEAR"] = "В следующем году (удерживать для меню)";
DyCalendar._TT [ "SEL_DATE"] = "Выберите дату";
DyCalendar._TT [ "DRAG_TO_MOVE"] = "Перетаскивайте двигаться";
DyCalendar._TT [ "PART_TODAY"] = "(сегодня)";
// the following is to inform that "%s" is to be the first day of week
// %s will be replaced with the day name.
DyCalendar._TT [ "DAY_FIRST"] = "display% с первой";
// This may be locale-dependent. It specifies the week-end days, as an array
// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1
// means Monday, etc.
DyCalendar._TT [ "WEEKEND"] = "0,6";
DyCalendar._TT [ "CLOSE"] = "Закрыть";
DyCalendar._TT [ "Today"] = "Сегодня";
DyCalendar._TT [ "TIME_PART"] = "(Shift-) клик или перетащите для изменения стоимости";
// date formats
DyCalendar._TT [ "DEF_DATE_FORMAT"] = "% Y-% м-% г";
DyCalendar._TT [ "TT_DATE_FORMAT"] = "%,%% е б";
DyCalendar._TT [ "WK"] = "Нед";
DyCalendar._TT [ "TIME"] = "Время:";

View file

@ -1,62 +0,0 @@
/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/
* ---------------------------------------------------------------------------
*
* The DHTML Calendar
*
* Details and latest version at:
* http://dynarch.com/mishoo/calendar.epl
*
* This script is distributed under the GNU Lesser General Public License.
* Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
*
* This file defines helper functions for setting up the calendar. They are
* intended to help non-programmers get a working calendar on their site
* quickly. This script should not be seen as part of the calendar. It just
* shows you what one can do with the calendar, while in the same time
* providing a quick and simple method for setting it up. If you need
* exhaustive customization of the calendar creation process feel free to
* modify this code to suit your needs (this is recommended and much better
* than modifying calendar.js itself).
*/
// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $
/**
* This function "patches" an input field (or other element) to use a calendar
* widget for date selection.
*
* The "params" is a single object that can have the following properties:
*
* prop. name | description
* -------------------------------------------------------------------------------------------------
* inputField | the ID of an input field to store the date
* displayArea | the ID of a DIV or other element to show the date
* button | ID of a button or other element that will trigger the calendar
* eventName | event that will trigger the calendar, without the "on" prefix (default: "click")
* ifFormat | date format that will be stored in the input field
* daFormat | the date format that will be used to display the date in displayArea
* singleClick | (true/false) wether the calendar is in single click mode or not (default: true)
* firstDay | numeric: 0 to 6. "0" means display Sunday first, "1" means display Monday first, etc.
* align | alignment (default: "Br"); if you don't know what's this see the calendar documentation
* range | array with 2 elements. Default: [1900, 2999] -- the range of years available
* weekNumbers | (true/false) if it's true (default) the calendar will display week numbers
* flat | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
* flatCallback | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
* disableFunc | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
* onSelect | function that gets called when a date is selected. You don't _have_ to supply this (the default is generally okay)
* onClose | function that gets called when the calendar is closed. [default]
* onUpdate | function that gets called after the date is updated in the input field. Receives a reference to the calendar.
* date | the date that the calendar will be initially displayed to
* showsTime | default: false; if true the calendar will include a time selector
* timeFormat | the time format; can be "12" or "24", default is "12"
* electric | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
* step | configures the step of the years in drop-down boxes; default: 2
* position | configures the calendar absolute position; default: null
* cache | if "true" (but default: "false") it will reuse the same calendar object, where possible
* showOthers | if "true" (but default: "false") it will show days from other months too
*
* None of them is required, they all have default values. However, if you
* pass none of "inputField", "displayArea" or "button" you'll get a warning
* saying "nothing to setup".
*/
DyCalendar.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("DyCalendar.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("DyCalendar.setup:\n Flat specified but can't find parent.");return false}var cal=new DyCalendar(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=null;if(params.displayArea)dateEl=params.displayArea;else dateEl=params.inputField;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 DyCalendar(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};

View file

@ -1,124 +0,0 @@
// ** I18N
// DyCalendar zh-CN language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Translation: Yourim Yi <yyi@yourim.net>
// Encoding: UTF-8
// lang : ko
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期日");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("日",
"一",
"二",
"三",
"四",
"五",
"六",
"日");
// full month names
DyCalendar._MN = new Array
("1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月");
// short month names
DyCalendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "calendar 简介";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"\n"+
"下载最新版本请访问 http://www.dynarch.com/projects/calendar/ \n" +
"\n"+
"遵循GNU LGPL许可协议。 \n"+
"具体许可内容请参考 http://gnu.org/licenses/lgpl.html " +
"\n\n" +
"日期选择:\n" +
"- 选择年份请使用 \xab, \xbb 按钮\n" +
"- 选择月份请使用 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 按钮\n" +
"- 按住按钮可快速的选择所需的年份或月份";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"时间选择:\n" +
"- 鼠标点击可增加时间\n" +
"- 配合Shift键时间减少 \n" +
"- 鼠标按住状态下向右为增加向左为减少,这样时间调整会快一些。\n";
DyCalendar._TT["PREV_YEAR"] = "去年 (按住显示目录)";
DyCalendar._TT["PREV_MONTH"] = "上月 (按住显示目录)";
DyCalendar._TT["GO_TODAY"] = "设为今日";
DyCalendar._TT["NEXT_MONTH"] = "下月 (按住显示目录)";
DyCalendar._TT["NEXT_YEAR"] = "来年 (按住显示目录)";
DyCalendar._TT["SEL_DATE"] = "请选择日期";
DyCalendar._TT["DRAG_TO_MOVE"] = "可以用鼠标拖动";
DyCalendar._TT["PART_TODAY"] = " (今日)";
DyCalendar._TT["DAY_FIRST"] = "%s排到第一列";
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "关闭";
DyCalendar._TT["TODAY"] = "今日";
DyCalendar._TT["TIME_PART"] = "(Shift-)点击或拖动";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
DyCalendar._TT["WK"] = "周";
DyCalendar._TT["TIME"] = "时:";

View file

@ -1,122 +0,0 @@
// ** I18N
// DyCalendar zh-TW language
// Author: Mihai Bazon, <mihai_bazon@yahoo.com>
// Encoding: UTF-8
// Distributed under the same terms as the calendar itself.
// For translators: please use UTF-8 if possible. We strongly believe that
// Unicode is the answer to a real internationalized world. Also please
// include your contact information in the header, as can be seen above.
// full day names
DyCalendar._DN = new Array
("星期日",
"星期一",
"星期二",
"星期三",
"星期四",
"星期五",
"星期六",
"星期日");
// Please note that the following array of short day names (and the same goes
// for short month names, _SMN) isn't absolutely necessary. We give it here
// for exemplification on how one can customize the short day names, but if
// they are simply the first N letters of the full name you can simply say:
//
// DyCalendar._SDN_len = N; // short day name length
// DyCalendar._SMN_len = N; // short month name length
//
// If N = 3 then this is not needed either since we assume a value of 3 if not
// present, to be compatible with translation files that were written before
// this feature.
// short day names
DyCalendar._SDN = new Array
("日",
"一",
"二",
"三",
"四",
"五",
"六",
"日");
// full month names
DyCalendar._MN = new Array
("1月",
"2月",
"3月",
"4月",
"5月",
"6月",
"7月",
"8月",
"9月",
"10月",
"11月",
"12月");
// short month names
DyCalendar._SMN = new Array
("1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12");
// tooltips
DyCalendar._TT = {};
DyCalendar._TT["INFO"] = "日曆簡介";
DyCalendar._TT["ABOUT"] =
"DHTML Date/Time Selector\n" +
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-)
"\n"+
"請到 http://www.dynarch.com/projects/calendar/ 下載最新版本\n" +
"\n"+
"遵照 GNU LGPL版權。 \n"+
"實際的版權内容請參考考 http://gnu.org/licenses/lgpl.html " +
"\n\n" +
"選擇日期:\n" +
"- 選擇年份請使用 \xab, \xbb 按鈕\n" +
"- 選擇月份請使用 " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " 按鈕\n" +
"- 按住按鈕可快速的選擇所要的年份或月份";
DyCalendar._TT["ABOUT_TIME"] = "\n\n" +
"選擇時間:\n" +
"- 以滑鼠點擊可增加時間\n" +
"- 配合Shift按鍵可減少時間 \n" +
"- 在按住滑鼠的狀態下,往右是增加、往左是減少,可快速調整時間。\n";
DyCalendar._TT["PREV_YEAR"] = "去年 (按住顯示目錄)";
DyCalendar._TT["PREV_MONTH"] = "上個月 (按住顯示目錄)";
DyCalendar._TT["GO_TODAY"] = "設為今天";
DyCalendar._TT["NEXT_MONTH"] = "下個月 (按住顯示目錄)";
DyCalendar._TT["NEXT_YEAR"] = "明年 (按住顯示目錄)";
DyCalendar._TT["SEL_DATE"] = "請選擇日期";
DyCalendar._TT["DRAG_TO_MOVE"] = "可用滑鼠拖曳";
DyCalendar._TT["PART_TODAY"] = " (今日)";
DyCalendar._TT["DAY_FIRST"] = "%s排到第一列";
DyCalendar._TT["WEEKEND"] = "0,6";
DyCalendar._TT["CLOSE"] = "關閉";
DyCalendar._TT["TODAY"] = "今日";
DyCalendar._TT["TIME_PART"] = "(Shift-)點擊或拖曳";
// date formats
DyCalendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d";
DyCalendar._TT["TT_DATE_FORMAT"] = "%b/%e [%a]";
DyCalendar._TT["WK"] = "周";
DyCalendar._TT["TIME"] = "時:";

File diff suppressed because it is too large Load diff

View file

@ -1,204 +0,0 @@
/* Copyright Mihai Bazon, 2002-2005 | www.bazon.net/mishoo
* -----------------------------------------------------------
*
* The DHTML Calendar, version 1.0 "It is happening again"
*
* Details and latest version at:
* www.dynarch.com/projects/calendar
*
* This script is developed by Dynarch.com. Visit us at www.dynarch.com.
*
* This script is distributed under the GNU Lesser General Public License.
* Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
*/
// $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $
/** The Calendar object constructor. */
DyCalendar=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=DyCalendar._TT["DEF_DATE_FORMAT"];this.ttDateFormat=DyCalendar._TT["TT_DATE_FORMAT"];this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=typeof firstDayOfWeek=="number"?firstDayOfWeek:DyCalendar._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 DyCalendar._SDN=="undefined"){if(typeof DyCalendar._SDN_len=="undefined")
DyCalendar._SDN_len=3;var ar=new Array();for(var i=8;i>0;){ar[--i]=DyCalendar._DN[i].substr(0,DyCalendar._SDN_len);}
DyCalendar._SDN=ar;if(typeof DyCalendar._SMN_len=="undefined")
DyCalendar._SMN_len=3;ar=new Array();for(var i=12;i>0;){ar[--i]=DyCalendar._MN[i].substr(0,DyCalendar._SMN_len);}
DyCalendar._SMN=ar;}};DyCalendar._C=null;DyCalendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));DyCalendar.is_ie5=(DyCalendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));DyCalendar.is_opera=/opera/i.test(navigator.userAgent);DyCalendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);DyCalendar.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;};DyCalendar.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;};DyCalendar.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(" ");};DyCalendar.addClass=function(el,className){DyCalendar.removeClass(el,className);el.className+=" "+className;};DyCalendar.getElement=function(ev){var f=DyCalendar.is_ie?window.event.srcElement:ev.currentTarget;while(f.nodeType!=1||/^div$/i.test(f.tagName))
f=f.parentNode;return f;};DyCalendar.getTargetElement=function(ev){var f=DyCalendar.is_ie?window.event.srcElement:ev.target;while(f.nodeType!=1)
f=f.parentNode;return f;};DyCalendar.stopEvent=function(ev){ev||(ev=window.event);if(DyCalendar.is_ie){ev.cancelBubble=true;ev.returnValue=false;}else{ev.preventDefault();ev.stopPropagation();}
return false;};DyCalendar.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;}};DyCalendar.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;}};DyCalendar.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;};DyCalendar._add_evs=function(el){with(DyCalendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true);}}};DyCalendar.findMonth=function(el){if(typeof el.month!="undefined"){return el;}else if(typeof el.parentNode.month!="undefined"){return el.parentNode;}
return null;};DyCalendar.findYear=function(el){if(typeof el.year!="undefined"){return el;}else if(typeof el.parentNode.year!="undefined"){return el.parentNode;}
return null;};DyCalendar.showMonthsCombo=function(){var cal=DyCalendar._C;if(!cal){return false;}
var cal=cal;var cd=cal.activeDiv;var mc=cal.monthsCombo;if(cal.hilitedMonth){DyCalendar.removeClass(cal.hilitedMonth,"hilite");}
if(cal.activeMonth){DyCalendar.removeClass(cal.activeMonth,"active");}
var mon=cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];DyCalendar.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";};DyCalendar.showYearsCombo=function(fwd){var cal=DyCalendar._C;if(!cal){return false;}
var cal=cal;var cd=cal.activeDiv;var yc=cal.yearsCombo;if(cal.hilitedYear){DyCalendar.removeClass(cal.hilitedYear,"hilite");}
if(cal.activeYear){DyCalendar.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";}};DyCalendar.tableMouseUp=function(ev){var cal=DyCalendar._C;if(!cal){return false;}
if(cal.timeout){clearTimeout(cal.timeout);}
var el=cal.activeDiv;if(!el){return false;}
var target=DyCalendar.getTargetElement(ev);ev||(ev=window.event);DyCalendar.removeClass(el,"active");if(target==el||target.parentNode==el){DyCalendar.cellClick(el,ev);}
var mon=DyCalendar.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=DyCalendar.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(DyCalendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev);}};DyCalendar.tableMouseOver=function(ev){var cal=DyCalendar._C;if(!cal){return;}
var el=cal.activeDiv;var target=DyCalendar.getTargetElement(ev);if(target==el||target.parentNode==el){DyCalendar.addClass(el,"hilite active");DyCalendar.addClass(el.parentNode,"rowhilite");}else{if(typeof el.navtype=="undefined"||(el.navtype!=50&&(el.navtype==0||Math.abs(el.navtype)>2)))
DyCalendar.removeClass(el,"active");DyCalendar.removeClass(el,"hilite");DyCalendar.removeClass(el.parentNode,"rowhilite");}
ev||(ev=window.event);if(el.navtype==50&&target!=el){var pos=DyCalendar.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=DyCalendar.findMonth(target);if(mon){if(mon.month!=cal.date.getMonth()){if(cal.hilitedMonth){DyCalendar.removeClass(cal.hilitedMonth,"hilite");}
DyCalendar.addClass(mon,"hilite");cal.hilitedMonth=mon;}else if(cal.hilitedMonth){DyCalendar.removeClass(cal.hilitedMonth,"hilite");}}else{if(cal.hilitedMonth){DyCalendar.removeClass(cal.hilitedMonth,"hilite");}
var year=DyCalendar.findYear(target);if(year){if(year.year!=cal.date.getFullYear()){if(cal.hilitedYear){DyCalendar.removeClass(cal.hilitedYear,"hilite");}
DyCalendar.addClass(year,"hilite");cal.hilitedYear=year;}else if(cal.hilitedYear){DyCalendar.removeClass(cal.hilitedYear,"hilite");}}else if(cal.hilitedYear){DyCalendar.removeClass(cal.hilitedYear,"hilite");}}
return DyCalendar.stopEvent(ev);};DyCalendar.tableMouseDown=function(ev){if(DyCalendar.getTargetElement(ev)==DyCalendar.getElement(ev)){return DyCalendar.stopEvent(ev);}};DyCalendar.calDragIt=function(ev){var cal=DyCalendar._C;if(!(cal&&cal.dragging)){return false;}
var posX;var posY;if(DyCalendar.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 DyCalendar.stopEvent(ev);};DyCalendar.calDragEnd=function(ev){var cal=DyCalendar._C;if(!cal){return false;}
cal.dragging=false;with(DyCalendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev);}
cal.hideShowCovered();};DyCalendar.dayMouseDown=function(ev){var el=DyCalendar.getElement(ev);if(el.disabled){return false;}
var cal=el.calendar;cal.activeDiv=el;DyCalendar._C=cal;if(el.navtype!=300)with(DyCalendar){if(el.navtype==50){el._current=el.innerHTML;addEvent(document,"mousemove",tableMouseOver);}else
addEvent(document,DyCalendar.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("DyCalendar.showMonthsCombo()",250);}else if(el.navtype==-2||el.navtype==2){if(cal.timeout)clearTimeout(cal.timeout);cal.timeout=setTimeout((el.navtype>0)?"DyCalendar.showYearsCombo(true)":"DyCalendar.showYearsCombo(false)",250);}else{cal.timeout=null;}
return DyCalendar.stopEvent(ev);};DyCalendar.dayMouseDblClick=function(ev){DyCalendar.cellClick(DyCalendar.getElement(ev),ev||window.event);if(DyCalendar.is_ie){document.selection.empty();}};DyCalendar.dayMouseOver=function(ev){var el=DyCalendar.getElement(ev);if(DyCalendar.isRelated(el,ev)||DyCalendar._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){DyCalendar.addClass(el,"hilite");if(el.caldate){DyCalendar.addClass(el.parentNode,"rowhilite");}}
return DyCalendar.stopEvent(ev);};DyCalendar.dayMouseOut=function(ev){with(DyCalendar){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);}};DyCalendar.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){DyCalendar.removeClass(cal.currentDateEl,"selected");DyCalendar.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){DyCalendar.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:DyCalendar.removeClass(el,"hilite");var text=DyCalendar._TT["ABOUT"];if(typeof text!="undefined"){text+=cal.showsTime?DyCalendar._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){DyCalendar.removeClass(el,"hilite");ev&&cal.callCloseHandler();}};DyCalendar.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=DyCalendar.createElement("table");this.table=table;table.cellSpacing=0;table.cellPadding=0;table.calendar=this;DyCalendar.addEvent(table,"mousedown",DyCalendar.tableMouseDown);var div=DyCalendar.createElement("div");this.element=div;div.className="calendar";div.style.zIndex="9999";if(this.isPopup){div.style.position="absolute";div.style.display="none";}
div.appendChild(table);var thead=DyCalendar.createElement("thead",table);var cell=null;var row=null;var cal=this;var hh=function(text,cs,navtype){cell=DyCalendar.createElement("td",row);cell.colSpan=cs;cell.className="button";if(navtype!=0&&Math.abs(navtype)<=2)
cell.className+=" nav";DyCalendar._add_evs(cell);cell.calendar=cal;cell.navtype=navtype;cell.innerHTML="<div unselectable='on'>"+text+"</div>";return cell;};row=DyCalendar.createElement("tr",thead);var title_length=6;(this.isPopup)&&--title_length;(this.weekNumbers)&&++title_length;hh("?",1,400).ttip=DyCalendar._TT["INFO"];this.title=hh("",title_length,300);this.title.className="title";if(this.isPopup){this.title.ttip=DyCalendar._TT["DRAG_TO_MOVE"];this.title.style.cursor="move";hh("&#x00d7;",1,200).ttip=DyCalendar._TT["CLOSE"];}
row=DyCalendar.createElement("tr",thead);row.className="headrow";this._nav_py=hh("&#x00ab;",1,-2);this._nav_py.ttip=DyCalendar._TT["PREV_YEAR"];this._nav_pm=hh("&#x2039;",1,-1);this._nav_pm.ttip=DyCalendar._TT["PREV_MONTH"];this._nav_now=hh(DyCalendar._TT["TODAY"],this.weekNumbers?4:3,0);this._nav_now.ttip=DyCalendar._TT["GO_TODAY"];this._nav_nm=hh("&#x203a;",1,1);this._nav_nm.ttip=DyCalendar._TT["NEXT_MONTH"];this._nav_ny=hh("&#x00bb;",1,2);this._nav_ny.ttip=DyCalendar._TT["NEXT_YEAR"];row=DyCalendar.createElement("tr",thead);row.className="daynames";if(this.weekNumbers){cell=DyCalendar.createElement("td",row);cell.className="name wn";cell.innerHTML=DyCalendar._TT["WK"];}
for(var i=7;i>0;--i){cell=DyCalendar.createElement("td",row);if(!i){cell.navtype=100;cell.calendar=this;DyCalendar._add_evs(cell);}}
this.firstdayname=(this.weekNumbers)?row.firstChild.nextSibling:row.firstChild;this._displayWeekdays();var tbody=DyCalendar.createElement("tbody",table);this.tbody=tbody;for(i=6;i>0;--i){row=DyCalendar.createElement("tr",tbody);if(this.weekNumbers){cell=DyCalendar.createElement("td",row);}
for(var j=7;j>0;--j){cell=DyCalendar.createElement("td",row);cell.calendar=this;DyCalendar._add_evs(cell);}}
if(this.showsTime){row=DyCalendar.createElement("tr",tbody);row.className="time";cell=DyCalendar.createElement("td",row);cell.className="time";cell.colSpan=2;cell.innerHTML=DyCalendar._TT["TIME"]||"&nbsp;";cell=DyCalendar.createElement("td",row);cell.className="time";cell.colSpan=this.weekNumbers?4:3;(function(){function makeTimePart(className,init,range_start,range_end){var part=DyCalendar.createElement("span",cell);part.className=className;part.innerHTML=init;part.calendar=cal;part.ttip=DyCalendar._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;}}
DyCalendar._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=DyCalendar.createElement("span",cell);span.innerHTML=":";span.className="colon";var M=makeTimePart("minute",mins,0,59);var AP=null;cell=DyCalendar.createElement("td",row);cell.className="time";cell.colSpan=2;if(t12)
AP=makeTimePart("ampm",pm?"pm":"am",["am","pm"]);else
cell.innerHTML="&nbsp;";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=DyCalendar.createElement("tfoot",table);row=DyCalendar.createElement("tr",tfoot);row.className="footrow";cell=hh(DyCalendar._TT["SEL_DATE"],this.weekNumbers?8:7,300);cell.className="ttip";if(this.isPopup){cell.ttip=DyCalendar._TT["DRAG_TO_MOVE"];cell.style.cursor="move";}
this.tooltips=cell;div=DyCalendar.createElement("div",this.element);this.monthsCombo=div;div.className="combo";for(i=0;i<DyCalendar._MN.length;++i){var mn=DyCalendar.createElement("div");mn.className=DyCalendar.is_ie?"label-IEfix":"label";mn.month=i;mn.innerHTML=DyCalendar._SMN[i];div.appendChild(mn);}
div=DyCalendar.createElement("div",this.element);this.yearsCombo=div;div.className="combo";for(i=12;i>0;--i){var yr=DyCalendar.createElement("div");yr.className=DyCalendar.is_ie?"label-IEfix":"label";div.appendChild(yr);}
this._init(this.firstDayOfWeek,this.date);parent.appendChild(this.element);};DyCalendar._keyEvent=function(ev){var cal=window._dynarch_popupDyCalendar;if(!cal||cal.multiple)
return false;(DyCalendar.is_ie)&&(ev=window.event);var act=(DyCalendar.is_ie||ev.type=="keypress"),K=ev.keyCode;if(ev.ctrlKey){switch(K){case 37:act&&DyCalendar.cellClick(cal._nav_pm);break;case 38:act&&DyCalendar.cellClick(cal._nav_py);break;case 39:act&&DyCalendar.cellClick(cal._nav_nm);break;case 40:act&&DyCalendar.cellClick(cal._nav_ny);break;default:return false;}}else switch(K){case 32:DyCalendar.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)
DyCalendar.cellClick(ne);else if(prev)
prevMonth();else
nextMonth();}}
break;case 13:if(act)
DyCalendar.cellClick(cal.currentDateEl,ev);break;default:return false;}
return DyCalendar.stopEvent(ev);};DyCalendar.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=DyCalendar._SMN[month];var ar_days=this.ar_days=new Array();var weekend=DyCalendar._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="&nbsp;";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&&current_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+=DyCalendar._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=DyCalendar._MN[month]+", "+year;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};DyCalendar.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";}}};DyCalendar.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){DyCalendar.addClass(cell,"selected");this.multiple[ds]=date;}else{DyCalendar.removeClass(cell,"selected");delete this.multiple[ds];}}}};DyCalendar.prototype.setDateToolTipHandler=function(unaryFunction){this.getDateToolTip=unaryFunction;};DyCalendar.prototype.setDate=function(date){if(!date.equalsTo(this.date)){this._init(this.firstDayOfWeek,date);}};DyCalendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};DyCalendar.prototype.setFirstDayOfWeek=function(firstDayOfWeek){this._init(firstDayOfWeek,this.date);this._displayWeekdays();};DyCalendar.prototype.setDateStatusHandler=DyCalendar.prototype.setDisabledHandler=function(unaryFunction){this.getDateStatus=unaryFunction;};DyCalendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};DyCalendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};DyCalendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}
this.hideShowCovered();};DyCalendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);DyCalendar._C=null;window._dynarch_popupDyCalendar=null;};DyCalendar.prototype.reparent=function(new_parent){var el=this.element;el.parentNode.removeChild(el);new_parent.appendChild(el);};DyCalendar._checkDyCalendar=function(ev){var calendar=window._dynarch_popupDyCalendar;if(!calendar){return false;}
var el=DyCalendar.is_ie?DyCalendar.getElement(ev):DyCalendar.getTargetElement(ev);for(;el!=null&&el!=calendar.element;el=el.parentNode);if(el==null){window._dynarch_popupDyCalendar.callCloseHandler();return DyCalendar.stopEvent(ev);}};DyCalendar.prototype.show=function(){var rows=this.table.getElementsByTagName("tr");for(var i=rows.length;i>0;){var row=rows[--i];DyCalendar.removeClass(row,"rowhilite");var cells=row.getElementsByTagName("td");for(var j=cells.length;j>0;){var cell=cells[--j];DyCalendar.removeClass(cell,"hilite");DyCalendar.removeClass(cell,"active");}}
this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupDyCalendar=this;DyCalendar.addEvent(document,"keydown",DyCalendar._keyEvent);DyCalendar.addEvent(document,"keypress",DyCalendar._keyEvent);DyCalendar.addEvent(document,"mousedown",DyCalendar._checkDyCalendar);}
this.hideShowCovered();};DyCalendar.prototype.hide=function(){if(this.isPopup){DyCalendar.removeEvent(document,"keydown",DyCalendar._keyEvent);DyCalendar.removeEvent(document,"keypress",DyCalendar._keyEvent);DyCalendar.removeEvent(document,"mousedown",DyCalendar._checkDyCalendar);}
this.element.style.display="none";this.hidden=true;this.hideShowCovered();};DyCalendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};DyCalendar.prototype.showAtElement=function(el,opts){var self=this;var p=DyCalendar.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=DyCalendar.getAbsolutePos(cp);document.body.removeChild(cp);if(document.body.scrollLeft){br.x+=document.body.scrollLeft;}
br.x+=window.scrollX;if(document.body.scrollTop){br.y+=document.body.scrollTop;}
br.y+=window.scrollY;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";DyCalendar.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(DyCalendar.is_khtml)
setTimeout("DyCalendar.continuation_for_the_fucking_khtml_browser()",10);else
DyCalendar.continuation_for_the_fucking_khtml_browser();};DyCalendar.prototype.setDateFormat=function(str){this.dateFormat=str;};DyCalendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};DyCalendar.prototype.parseDate=function(str,fmt){if(!fmt)
fmt=this.dateFormat;this.setDate(Date.parseDate(str,fmt));};DyCalendar.prototype.hideShowCovered=function(){if(!DyCalendar.is_ie&&!DyCalendar.is_opera)
return;function getVisib(obj){var value=obj.style.visibility;if(!value){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!DyCalendar.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=DyCalendar.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=DyCalendar.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";}}}};DyCalendar.prototype._displayWeekdays=function(){var fdow=this.firstDayOfWeek;var cell=this.firstdayname;var weekend=DyCalendar._TT["WEEKEND"];for(var i=0;i<7;++i){cell.className="day name";var realday=(i+fdow)%7;if(i){cell.ttip=DyCalendar._TT["DAY_FIRST"].replace("%s",DyCalendar._DN[realday]);cell.navtype=100;cell.calendar=this;cell.fdow=realday;DyCalendar._add_evs(cell);}
if(weekend.indexOf(realday.toString())!=-1){DyCalendar.addClass(cell,"weekend");}
cell.innerHTML=DyCalendar._SDN[(i+fdow)%7];cell=cell.nextSibling;}};DyCalendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};DyCalendar.prototype._dragStart=function(ev){if(this.dragging){return;}
this.dragging=true;var posX;var posY;if(DyCalendar.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(DyCalendar){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(DyCalendar._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(DyCalendar._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"]=DyCalendar._SDN[w];s["%A"]=DyCalendar._DN[w];s["%b"]=DyCalendar._SMN[m];s["%B"]=DyCalendar._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(!DyCalendar.is_ie5&&!DyCalendar.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_popupDyCalendar=null;

3549
common/js/jquery-1.2.6.js vendored Normal file

File diff suppressed because it is too large Load diff

1786
common/js/ui.datepicker.js Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,22 +1,5 @@
<!--// 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--// type=select,checkbox이고 기본값이 , 로 연결되어 있으면 배열로 만든다 -->
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
@ -30,7 +13,7 @@
{@ $val->value = $oDocument->getExtraValue($key)}
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 홈페이지 주소 -->
@ -73,12 +56,25 @@
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<!--// calendar -->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->

View file

@ -1,21 +1,3 @@
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
{@ $val->default = explode(',', $val->default) }
<!--@end-->
@ -24,7 +6,7 @@
{@ $val->value = $oDocument->getExtraValue($key)}
<!--@if($val->type == 'text')-->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputText" />
<!--@elseif($val->type == 'homepage')-->
@ -61,12 +43,24 @@
</select>
<!--@elseif($val->type == 'date')-->
<!--// calendar -->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->

View file

@ -1,23 +1,5 @@
<!--// 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--// type=select,checkbox이고 기본값이 , 로 연결되어 있으면 배열로 만든다 -->
<!--@if(in_array($val->type, array('select', 'checkbox')))-->
{@ $val->default = explode(',', $val->default) }
@ -30,7 +12,7 @@
{@ $val->value = $oDocument->getExtraValue($key)}
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 홈페이지 주소 -->
@ -73,14 +55,27 @@
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<!--// calendar -->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->
<p class="info">{$val->desc}</p>
<!--@end-->

View file

@ -2,22 +2,8 @@
<!--%import("css/counter.css")-->
<!--// calendar -->
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../common/css/ui.datepicker.css",optimized=false)-->
<script type="text/javascript">
function moveDate() {
@ -42,10 +28,29 @@
<th scope="row" class="half_wide"><div>{$lang->total_counter}</div></th>
<th scope="row" class="half_wide">
<div>
<span id="str_selected_date">{zdate($selected_date, "Y-m-d")}</span>
<img src="./images/buttonCalendar.gif" alt="calendar" width="16" height="13" id="trigger_calendar" />
<span id="str_selected_date">{zdate($selected_date, "Y-m-d")}</span>
<input type="hidden" class="inputDate" value="{zdate($selected_date,'Y-m-d')}" />
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "selected_date", ifFormat : "%Y%m%d", displayArea : "str_selected_date", daFormat : "%Y-%m-%d" , button : "trigger_calendar", onClose: moveDate } );
(function($){
$(function(){
var option = {
gotoCurrent: false
,yearRange:'-100:+10'
,showOn:"button"
,buttonImage:"./modules/counter/tpl/images/buttonCalendar.gif"
,buttonImageOnly:true
,mandatory:true
,onSelect:function(){
$("#str_selected_date").html(this.value);
$("#selected_date").val(this.value.replace(/-/g,''));
moveDate();
}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
</div>
</th>

View file

@ -3,24 +3,9 @@
<!--%import("filter/insert_poll.xml")-->
<!--%import("../lang")-->
<!-- calendar -->
<!--%import("../../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../../common/css/calendar-system.css",optimized=false)-->
<!--// calendar -->
<!--%import("../../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../../common/css/ui.datepicker.css",optimized=false)-->
<script type="text/javascript">
@ -35,7 +20,7 @@
<input type="hidden" name="component" value="{$component_info->component_name}" />
<input type="hidden" name="method" value="insertPoll" />
<input type="hidden" name="poll_srl" value="" />
<input type="hidden" name="stop_date" id="stop_date" value="{date("Ymd",time()+60*60*24*30)}" />
<div id="popBody">
@ -45,10 +30,21 @@
<tr>
<th scope="row"><div>{$lang->poll_stop_date}</div></th>
<td>
<div class="display_date" id="display_date">{date("Y-m-d",time()+60*60*24*30)}</div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "stop_date", ifFormat : "%Y%m%d", displayArea : "display_date", daFormat : "%Y-%m-%d"});
</script>
<input type="hidden" name="stop_date" id="stop_date" value="{date("Ymd",time()+60*60*24*30)}" />
<input type="text" class="inputDate" value="{date("Y-m-d",time()+60*60*24*30)}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
</td>
</tr>
<tr>

View file

@ -20,7 +20,7 @@
</tr>
<tr class="row2">
<th scope="row"><div>{$lang->regdate}</div></th>
<td>{zdate($component->date, 'Y-m-d')}</td>
<td>{zdate(str_replace('-',"",$component->date), 'Y-m-d')}</td>
</tr>
<tr>
<th scope="row"><div>{$lang->component_license}</div></th>

View file

@ -1,22 +1,5 @@
<!--// 이 파일은 extra_vars의 form을 출력하는 파일이며 다른 스킨에서 그대로 가져가서 css만 바꾸어 주면 된다 -->
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--// type=select,checkbox이고 기본값이 , 로 연결되어 있으면 , 를 기준으로 explode하여 배열로 만든다 -->
<!--@if(in_array($val->type,array('select','checkbox'))&&strpos($val->default,",")!==false)-->
@ -30,7 +13,7 @@
{@ $val->value = $oIssue->getExtraValue($key)}
<!--// 일반 text -->
<!--@if($val->type == 'text')-->
<!--@if($val->type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText wide" />
<!--// 홈페이지 주소 -->
@ -73,12 +56,27 @@
<!--// 날짜 입력 -->
<!--@elseif($val->type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<!--// calendar -->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->
<!--@if($val->desc)-->

View file

@ -3,23 +3,8 @@
<!--%import("filter/insert_milestone.xml")-->
<!--// calendar -->
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../common/css/ui.datepicker.css",optimized=false)-->
<!--@if($milestone)-->
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_milestone)">
@ -29,8 +14,8 @@
<table cellspacing="0" class="adminTable">
<thead>
<tr>
<th scope="col" class="wide"><div>{$lang->name} </div></th>
<th scope="col"><div>{$lang->deadline} </div></th>
<th scope="col" class="wide"><div>{$lang->name} </div></th>
<th scope="col"><div>{$lang->deadline} </div></th>
<th scope="col"><div>{$lang->complete}</div></th>
<th scope="col"><div>{$lang->completed_date}</div></th>
<th scope="col"><div>{$lang->is_default}</div></th>
@ -41,18 +26,12 @@
<td><input name="title" type="text" class="inputTypeText w400" value="{$milestone->title}" /></td>
<td>
<input type="hidden" name="deadline" id="date_deadline" value="{$milestone->deadline}"/>
<div class="display_date" id="str_deadline"><!--@if($milestone->deadline)-->{zdate("Ymd",$milestone->deadline)}<!--@end--></div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_deadline", ifFormat : "%Y%m%d", displayArea : "str_deadline", daFormat : "%Y-%m-%d" } );
</script>
<input type="text" class="inputDate" value="<!--@if($milestone->deadline)-->{zdate($milestone->deadline,'Y-m-d')}<!--@end-->" readonly="readonly" />
</td>
<td><input type="checkbox" value="Y" name="is_completed" <!--@if($milestone->is_completed == 'Y')-->checked<!--@end--> /></td>
<td>
<input type="hidden" name="released_date" id="date_released_date" value="{$milestone->released_date}"/>
<div class="display_date" id="str_released_date"><!--@if($milestone->released_date)-->{zdate("Ymd",$milestone->released_date)}<!--@end--></div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_released_date", ifFormat : "%Y%m%d", displayArea : "str_released_date", daFormat : "%Y-%m-%d" } );
</script>
<input type="text" class="inputDate" value="<!--@if($milestone->released_date)-->{zdate($milestone->released_date,'Y-m-d')}<!--@end-->" readonly="readonly" />
</td>
<td class="nowrap">
<!--@if($milestone->is_default=='Y')-->
@ -73,4 +52,18 @@
</tbody>
</table>
</form>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--@end-->

View file

@ -10,22 +10,8 @@
<!--%import("filter/delete_component.xml")-->
<!--// calendar -->
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../common/css/ui.datepicker.css",optimized=false)-->
<form action="{Context::getRequestUri()}" method="post" onsubmit="return procFilter(this, insert_milestone)">
<input type="hidden" name="module_srl" value="{$module_srl}" />
@ -61,10 +47,20 @@
</td>
<td class="nowrap">
<input type="hidden" name="deadline" id="date_deadline" />
<div class="display_date" id="str_deadline"></div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_deadline", ifFormat : "%Y%m%d", displayArea : "str_deadline", daFormat : "%Y-%m-%d" } );
</script>
<input type="text" class="inputDate" value="" readonly="readonly" />
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
</td>
<td class="center"><input type="checkbox" name="is_default" value="Y" /></td>
<td class="vtop" rowspan="2"><input type="submit" value="{$lang->cmd_registration}" accesskey="s"class="btnSubmit" /></td>

View file

@ -17,22 +17,9 @@
<!--@end-->
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<form id="fo_insert_member" action="./" method="post" onsubmit="return procFilter(this, modify_info)" <!--@if($member_config->profile_image == 'Y' || $member_config->image_name=='Y' || $member_config->image_mark=='Y')-->enctype="multipart/form-data"<!--@end-->>
<input type="hidden" name="mid" value="{$mid}" />
@ -130,13 +117,11 @@
<tr>
<th scope="row">{$lang->birthday}</th>
<td>
<input type="hidden" name="birthday" id="date_birthday" value="{$member_info->birthday}" />
<div class="display_date" id="str_birthday">{zdate($member_info->birthday,"Y-m-d")}</div>
<input type="hidden" name="birthday" value="{$member_info->birthday}" />
<input type="text" class="inputDate" value="{zdate($member_info->birthday,'Y-m-d')}" readonly="readonly" />
<p>{$lang->about_birthday}</p>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_birthday", ifFormat : "%Y%m%d", displayArea : "str_birthday", daFormat : "%Y-%m-%d" } );
</script>
</td>
</tr>
<tr>
@ -237,11 +222,9 @@
<!--// 날짜 입력 -->
<!--@elseif($val->column_type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" />
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<!--@end-->
@ -257,4 +240,18 @@
<a href="{getUrl('act','dispMemberInfo','member_srl','')}" class="button"><span>{$lang->cmd_cancel}</span></a>
</div>
</form>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--#include("./common_footer.html")-->

View file

@ -3,28 +3,14 @@
<!--%import("filter/signup.xml")-->
<!--// calendar -->
<!--%import("../../../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../../../common/css/ui.datepicker.css",optimized=false)-->
<!--#include("./common_header.html")-->
<div class="boardHeader">
<h3>{$lang->cmd_signup}</h3>
</div>
<div class="boardHeader">
<h3>{$lang->cmd_signup}</h3>
</div>
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, signup)">
<input type="hidden" name="mid" value="{$mid}" />
@ -60,35 +46,35 @@
<tr>
<th scope="row">{$lang->user_name} *</th>
<td>
<input type="text" name="user_name" value="" />
<input type="text" name="user_name" value="" />
<p>{$lang->about_user_name}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->nick_name} *</th>
<td>
<input type="text" name="nick_name" value="" />
<input type="text" name="nick_name" value="" />
<p>{$lang->about_nick_name}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->email_address} *</th>
<td>
<input type="text" name="email_address" value="" />
<input type="text" name="email_address" value="" />
<p>{$lang->about_email_address}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->homepage}</th>
<td>
<input type="text" name="homepage" value="" />
<input type="text" name="homepage" value="" />
<p>{$lang->about_homepage}</p>
</td>
</tr>
<tr>
<th scope="row">{$lang->blog}</th>
<td>
<input type="text" name="blog" value="" />
<input type="text" name="blog" value="" />
<p>{$lang->about_blog_url}</p>
</td>
</tr>
@ -96,7 +82,9 @@
<th scope="row">{$lang->birthday}</th>
<td>
<input type="hidden" name="birthday" id="date_birthday" value="" />
<div class="display_date" id="str_birthday"></div>
<input type="text" class="inputDate" value="" readonly="readonly" />
<p>{$lang->about_birthday}</p>
</td>
</tr>
@ -106,10 +94,6 @@
</tr>
</table>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_birthday", ifFormat : "%Y%m%d", displayArea : "str_birthday", daFormat : "%Y-%m-%d"});
</script>
<!--@if($extend_form_list)-->
<table cellspacing="0" class="memberInfoTable">
<col width="20%" />
@ -128,7 +112,7 @@
</th>
<td>
<!--// 일반 text -->
<!--@if($val->column_type == 'text')-->
<!--@if($val->column_type == 'text')-->
<input type="text" name="{$val->column_name}" value="{htmlspecialchars($val->value)}" class="inputTypeText w400" />
<!--// 홈페이지 주소 -->
@ -198,11 +182,7 @@
<!--// 날짜 입력 -->
<!--@elseif($val->column_type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<input type="text" class="inputDate" value="{zdate($val->value,'Y-m-d')}" readonly="readonly" />
<!--@end-->
<div class="extendDesc">{$val->description}</div>
@ -221,5 +201,16 @@
<!--@end-->
</div>
</form>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>
<!--#include("./common_footer.html")-->

View file

@ -3,22 +3,8 @@
<!--%import("css/member_admin.css")-->
<!--// calendar -->
<!--%import("../../common/js/calendar.min.js",optimized=false)-->
<!--@if($lang_type == 'ko')-->
<!--%import("../../common/js/calendar-ko.js",optimized=false)-->
<!--@elseif($lang_type == 'es')-->
<!--%import("../../common/js/calendar-es.js",optimized=false)-->
<!--@elseif($lang_type == 'ge')-->
<!--%import("../../common/js/calendar-ge.js",optimized=false)-->
<!--@elseif($lang_type == 'ru')-->
<!--%import("../../common/js/calendar-ru.js",optimized=false)-->
<!--@elseif($lang_type == 'zh-CN')-->
<!--%import("../../common/js/calendar-zh-CN.js",optimized=false)-->
<!--@else-->
<!--%import("../../common/js/calendar-en.js",optimized=false)-->
<!--@end-->
<!--%import("../../common/js/calendar-setup.js",optimized=false)-->
<!--%import("../../common/css/calendar-system.css",optimized=false)-->
<!--%import("../../common/js/ui.datepicker.js",optimized=false)-->
<!--%import("../../common/css/ui.datepicker.css",optimized=false)-->
<form id="fo_insert_member" action="./" method="get" onsubmit="return procFilter(this, insert)">
<input type="hidden" name="page" value="{$page}" />
@ -85,12 +71,8 @@
<th scope="row"><div>{$lang->birthday}</div></th>
<td>
<input type="hidden" name="birthday" id="date_birthday" value="{$member_info->birthday}" />
<div class="display_date" id="str_birthday">{zdate($member_info->birthday,"Y-m-d")}</div>
<input type="text" class="inputDate" value="{zdate($member_info->birthday,'Y-m-d')}" readonly="readonly" />
<p>{$lang->about_birthday}</p>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_birthday", ifFormat : "%Y%m%d", displayArea : "str_birthday", daFormat : "%Y-%m-%d" } );
</script>
</td>
</tr>
<tr>
@ -244,11 +226,7 @@
<!--// 날짜 입력 -->
<!--@elseif($val->column_type == 'date')-->
<input type="hidden" name="{$val->column_name}" id="date_{$val->column_name}" value="{$val->value}" />
<div class="display_date" id="str_{$val->column_name}">{zdate($val->value,"Y-m-d")}</div>
<script type="text/javascript">
DyCalendar.setup( { firstDay : 0, inputField : "date_{$val->column_name}", ifFormat : "%Y%m%d", displayArea : "str_{$val->column_name}", daFormat : "%Y-%m-%d"});
</script>
<input type="text" class="inputDate" value="{zdate($val->value,"Y-m-d")}" />
<!--@end-->
@ -269,3 +247,17 @@
<!--@end-->
</div>
</form>
<script type="text/javascript">
(function($){
$(function(){
var option = { gotoCurrent: false,yearRange:'-100:+10', onSelect:function(){
$(this).prev('input[type="hidden"]').val(this.value.replace(/-/g,""))}
};
$.extend(option,$.datepicker.regional['{$lang_type}']);
$(".inputDate").datepicker(option);
});
})(jQuery);
</script>