Первая копия
79
metadata/include/jscalendar/demo/3-months.html
Normal file
@ -0,0 +1,79 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Single calendar for multiple fields</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr>
|
||||
<td id="mon1"></td>
|
||||
<td id="mon2"></td>
|
||||
<td id="mon3"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<script>//<![CDATA[
|
||||
// initial dates
|
||||
var now = new Date();
|
||||
var prev = new Date(); prev.setMonth(prev.getMonth() - 1);
|
||||
var next = new Date(); next.setMonth(next.getMonth() + 1);
|
||||
|
||||
// create the calendars
|
||||
var cal1 = Calendar.setup({ cont: "mon1", date: prev });
|
||||
var cal2 = Calendar.setup({ cont: "mon2", date: now });
|
||||
var cal3 = Calendar.setup({ cont: "mon3", date: next });
|
||||
|
||||
// this hack is necessary to prevent infinite recursion
|
||||
var updating = false;
|
||||
|
||||
// next, assign some onChange handlers to each calendar; when
|
||||
// the month/year is changed, update the other calendars
|
||||
// accordingly.
|
||||
|
||||
cal1.addEventListener("onChange", function(cal, date, anim) {
|
||||
if (!updating) {
|
||||
updating = true;
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
cal2.moveTo(date, anim);
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
cal3.moveTo(date, anim);
|
||||
updating = false;
|
||||
}
|
||||
});
|
||||
|
||||
cal2.addEventListener("onChange", function(cal, date, anim) {
|
||||
if (!updating) {
|
||||
updating = true;
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() - 1);
|
||||
cal1.moveTo(date, anim);
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() + 2);
|
||||
cal3.moveTo(date, anim);
|
||||
updating = false;
|
||||
}
|
||||
});
|
||||
|
||||
cal3.addEventListener("onChange", function(cal, date, anim) {
|
||||
if (!updating) {
|
||||
updating = true;
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() - 2);
|
||||
cal1.moveTo(date, anim);
|
||||
date = new Date(date);
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
cal2.moveTo(date, anim);
|
||||
updating = false;
|
||||
}
|
||||
});
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
50
metadata/include/jscalendar/demo/dateInfo.html
Normal file
@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Special date information</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/matrix/matrix.css" />
|
||||
<style type="text/css">
|
||||
.highlight { color: #f00 !important; }
|
||||
.highlight2 { color: #0f0 !important; font-weight: bold; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr>
|
||||
<td><div id="cont"></div></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var DATE_INFO = {
|
||||
20090507: { klass: "highlight", tooltip: "%Y/%m/%d (%A)<br />That was yesterday" },
|
||||
20090508: { klass: "highlight", tooltip: "And this is TODAY" }
|
||||
};
|
||||
|
||||
function getDateInfo(date, wantsClassName) {
|
||||
var as_number = Calendar.dateToInt(date);
|
||||
if (as_number >= 20090518 && as_number <= 20090524)
|
||||
return {
|
||||
klass : "highlight2",
|
||||
tooltip : "<div style='text-align: center'>This is the green week</div>"
|
||||
};
|
||||
return DATE_INFO[as_number];
|
||||
};
|
||||
|
||||
var cal = Calendar.setup({
|
||||
cont : "cont",
|
||||
fdow : 1,
|
||||
date : 20090501,
|
||||
dateInfo : getDateInfo
|
||||
});
|
||||
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
42
metadata/include/jscalendar/demo/disabled.html
Normal file
@ -0,0 +1,42 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Disabled dates</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 20em">
|
||||
<div id="cont"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
Calendar.setup({
|
||||
cont : "cont",
|
||||
fdow : 1,
|
||||
selectionType : Calendar.SEL_MULTIPLE,
|
||||
disabled : function(date) {
|
||||
// disable all dates between 5 and 15 every month
|
||||
return (date.getDate() >= 5 &&
|
||||
date.getDate() <= 15);
|
||||
},
|
||||
|
||||
// checkRange: true, // if you simply want to disallow selection but not display anything
|
||||
|
||||
checkRange : function(date, cal) {
|
||||
// if you pass a function, it gets called and receives the first date that
|
||||
// disallowed the selection, and the calendar object.
|
||||
alert("Date " + date + " cannot be selected");
|
||||
}
|
||||
});
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
37
metadata/include/jscalendar/demo/multipleFields.html
Normal file
@ -0,0 +1,37 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Single calendar for multiple fields</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
To save memory, you can use a single (popup) calendar object to manage
|
||||
multiple input fields. The following sample shows you how to do it.
|
||||
</p>
|
||||
|
||||
<input size="30" id="f_date1" /><button id="f_btn1">...</button><br />
|
||||
<input size="30" id="f_date2" /><button id="f_btn2">...</button><br />
|
||||
<input size="30" id="f_date3" /><button id="f_btn3">...</button><br />
|
||||
<input size="30" id="f_date4" /><button id="f_btn4">...</button>
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var cal = Calendar.setup({
|
||||
onSelect: function(cal) { cal.hide() },
|
||||
showTime: true
|
||||
});
|
||||
cal.manageFields("f_btn1", "f_date1", "%Y-%m-%d %I:%M %p");
|
||||
cal.manageFields("f_btn2", "f_date2", "%b %e, %Y %I:%M %p");
|
||||
cal.manageFields("f_btn3", "f_date3", "%e %B %Y %I:%M %p");
|
||||
cal.manageFields("f_btn4", "f_date4", "%A, %e %B, %Y %I:%M %p");
|
||||
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
43
metadata/include/jscalendar/demo/nextprev.html
Normal file
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- external next/prev date buttons</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr><td id="container"></td></tr>
|
||||
<tr style="test-align: center"><td>
|
||||
<button onclick="move_relative(+1)">Next</button>
|
||||
<button onclick="move_relative(-1)">Prev</button>
|
||||
</td></tr>
|
||||
</table>
|
||||
|
||||
<script>//<![CDATA[
|
||||
|
||||
var now = new Date();
|
||||
|
||||
var cal = Calendar.setup({
|
||||
min : 20100401,
|
||||
max : 20100430,
|
||||
cont : "container",
|
||||
selection : [ Calendar.dateToInt(now) ]
|
||||
});
|
||||
|
||||
function move_relative(delta) {
|
||||
var date = Calendar.intToDate(cal.selection.get());
|
||||
date.setDate(date.getDate() + delta);
|
||||
if (!cal.isDisabled(date)) {
|
||||
cal.selection.reset([ Calendar.dateToInt(date) ]);
|
||||
}
|
||||
};
|
||||
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
63
metadata/include/jscalendar/demo/populateFields.html
Normal file
@ -0,0 +1,63 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Populate fields</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
The following sample shows you how you can populate some input fields
|
||||
based on the selection in the calendar. The fields are visible here,
|
||||
but you can add type="hidden" to make them hidden — they will still be
|
||||
submitted along with the form.
|
||||
</p>
|
||||
<form>
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="4" id="cont"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<input style="text-align: center" readonly="true" name="date" id="f_date" size="14" />
|
||||
</td>
|
||||
<td>
|
||||
<input style="text-align: center" readonly="true" name="hour" id="f_hour" size="2" />
|
||||
</td>
|
||||
<td>:</td>
|
||||
<td>
|
||||
<input style="text-align: center" readonly="true" name="minute" id="f_minute" size="2" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
// this handler is designed to work both for onSelect and onTimeChange
|
||||
// events. It updates the input fields according to what's selected in
|
||||
// the calendar.
|
||||
function updateFields(cal) {
|
||||
var date = cal.selection.get();
|
||||
if (date) {
|
||||
date = Calendar.intToDate(date);
|
||||
document.getElementById("f_date").value = Calendar.printDate(date, "%Y-%m-%d");
|
||||
}
|
||||
document.getElementById("f_hour").value = cal.getHours();
|
||||
document.getElementById("f_minute").value = cal.getMinutes();
|
||||
};
|
||||
|
||||
Calendar.setup({
|
||||
cont : "cont",
|
||||
showTime : 12,
|
||||
onSelect : updateFields,
|
||||
onTimeChange : updateFields
|
||||
});
|
||||
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
76
metadata/include/jscalendar/demo/rangeSelection.html
Normal file
@ -0,0 +1,76 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Range selection without SHIFT</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<table>
|
||||
<tr>
|
||||
<td style="width: 20em">
|
||||
<div id="cont"></div>
|
||||
<div id="info" style="text-align: center; margin-top: 1em;">Click to select start date</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var SELECTED_RANGE = null;
|
||||
function getSelectionHandler() {
|
||||
var startDate = null;
|
||||
var ignoreEvent = false;
|
||||
return function(cal) {
|
||||
var selectionObject = cal.selection;
|
||||
|
||||
// avoid recursion, since selectRange triggers onSelect
|
||||
if (ignoreEvent)
|
||||
return;
|
||||
|
||||
var selectedDate = selectionObject.get();
|
||||
if (startDate == null) {
|
||||
startDate = selectedDate;
|
||||
SELECTED_RANGE = null;
|
||||
document.getElementById("info").innerHTML = "Click to select end date";
|
||||
|
||||
// comment out the following two lines and the ones marked (*) in the else branch
|
||||
// if you wish to allow selection of an older date (will still select range)
|
||||
cal.args.min = Calendar.intToDate(selectedDate);
|
||||
cal.refresh();
|
||||
} else {
|
||||
ignoreEvent = true;
|
||||
selectionObject.selectRange(startDate, selectedDate);
|
||||
ignoreEvent = false;
|
||||
SELECTED_RANGE = selectionObject.sel[0];
|
||||
|
||||
// alert(SELECTED_RANGE.toSource());
|
||||
//
|
||||
// here SELECTED_RANGE contains two integer numbers: start date and end date.
|
||||
// you can get JS Date objects from them using Calendar.intToDate(number)
|
||||
|
||||
startDate = null;
|
||||
document.getElementById("info").innerHTML = selectionObject.print("%Y-%m-%d") +
|
||||
"<br />Click again to select new start date";
|
||||
|
||||
// (*)
|
||||
cal.args.min = null;
|
||||
cal.refresh();
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Calendar.setup({
|
||||
cont : "cont",
|
||||
fdow : 1,
|
||||
selectionType : Calendar.SEL_SINGLE,
|
||||
onSelect : getSelectionHandler()
|
||||
});
|
||||
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
26
metadata/include/jscalendar/demo/simple.html
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html PUBLIC
|
||||
"-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Dynarch Calendar -- Simple popup calendar</title>
|
||||
<script src="../src/js/jscal2.js"></script>
|
||||
<script src="../src/js/lang/en.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/jscal2.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/border-radius.css" />
|
||||
<link rel="stylesheet" type="text/css" href="../src/css/steel/steel.css" />
|
||||
</head>
|
||||
<body>
|
||||
<input size="30" id="f_date1" /><button id="f_btn1">...</button><br />
|
||||
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
Calendar.setup({
|
||||
inputField : "f_date1",
|
||||
trigger : "f_btn1",
|
||||
onSelect : function() { this.hide() },
|
||||
showTime : 12,
|
||||
dateFormat : "%Y-%m-%d %I:%M %p"
|
||||
});
|
||||
//]]></script>
|
||||
</body>
|
||||
</html>
|
||||
9
metadata/include/jscalendar/demopage.css
Normal file
@ -0,0 +1,9 @@
|
||||
body {
|
||||
font: 14px Arial,"Lucida Grande","Arial","Tahoma","Verdana",sans-serif;
|
||||
}
|
||||
|
||||
.properties .label {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
h1 { font-size: 130%; text-align: center; }
|
||||
399
metadata/include/jscalendar/index.html
Normal file
@ -0,0 +1,399 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<link type="text/css" rel="stylesheet" href="src/css/jscal2.css" />
|
||||
<link type="text/css" rel="stylesheet" href="src/css/border-radius.css" />
|
||||
<!-- <link type="text/css" rel="stylesheet" href="src/css/reduce-spacing.css" /> -->
|
||||
|
||||
<link id="skin-win2k" title="Win 2K" type="text/css" rel="alternate stylesheet" href="src/css/win2k/win2k.css" />
|
||||
<link id="skin-steel" title="Steel" type="text/css" rel="alternate stylesheet" href="src/css/steel/steel.css" />
|
||||
<link id="skin-gold" title="Gold" type="text/css" rel="alternate stylesheet" href="src/css/gold/gold.css" />
|
||||
<link id="skin-matrix" title="Matrix" type="text/css" rel="alternate stylesheet" href="src/css/matrix/matrix.css" />
|
||||
|
||||
<link id="skinhelper-compact" type="text/css" rel="alternate stylesheet" href="src/css/reduce-spacing.css" />
|
||||
|
||||
<script src="src/js/jscal2.js"></script>
|
||||
<script src="src/js/unicode-letter.js"></script>
|
||||
|
||||
<!-- you actually only need to load one of these; we put them all here for demo purposes -->
|
||||
<script src="src/js/lang/ca.js"></script>
|
||||
<script src="src/js/lang/cn.js"></script>
|
||||
<script src="src/js/lang/cz.js"></script>
|
||||
<script src="src/js/lang/de.js"></script>
|
||||
<script src="src/js/lang/es.js"></script>
|
||||
<script src="src/js/lang/fr.js"></script>
|
||||
<script src="src/js/lang/hr.js"></script>
|
||||
<script src="src/js/lang/it.js"></script>
|
||||
<script src="src/js/lang/jp.js"></script>
|
||||
<script src="src/js/lang/nl.js"></script>
|
||||
<script src="src/js/lang/pl.js"></script>
|
||||
<script src="src/js/lang/pt.js"></script>
|
||||
<script src="src/js/lang/ro.js"></script>
|
||||
<script src="src/js/lang/ru.js"></script>
|
||||
<script src="src/js/lang/sk.js"></script>
|
||||
<script src="src/js/lang/sv.js"></script>
|
||||
|
||||
<!-- this must stay last so that English is the default one -->
|
||||
<script src="src/js/lang/en.js"></script>
|
||||
|
||||
<link type="text/css" rel="stylesheet" href="demopage.css" />
|
||||
</head>
|
||||
<body style="background-color: #fff">
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td valign="top" style="width: 30em;">
|
||||
<h1><a href="http://www.dynarch.com/projects/calendar/">The new coolest JavaScript calendar</a></h1>
|
||||
<div id="cont"></div>
|
||||
<script type="text/javascript">
|
||||
var LEFT_CAL = Calendar.setup({
|
||||
cont: "cont",
|
||||
weekNumbers: true,
|
||||
selectionType: Calendar.SEL_MULTIPLE,
|
||||
showTime: 12
|
||||
// titleFormat: "%B %Y"
|
||||
})
|
||||
</script>
|
||||
|
||||
<p>
|
||||
<a href="http://www.dynarch.com/projects/calendar/doc/">Extensive API documentation is available at www.dynarch.com</a>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
To select a date range, click the start date, then
|
||||
SHIFT+click on the end date. You can also use CTRL+click
|
||||
to select/unselect individual dates.
|
||||
</p>
|
||||
<p>
|
||||
You can use the mouse wheel to scroll through months. If
|
||||
the » or « or “Today” buttons are hovered, scroll through
|
||||
years.
|
||||
</p>
|
||||
<p>
|
||||
Keyboard operations, when the calendar is focused (note
|
||||
you can focus it with TAB):
|
||||
</p>
|
||||
<ul>
|
||||
<li><b>Arrows</b>: highlight a date</li>
|
||||
<li><b>ENTER</b>: select highlighted date</li>
|
||||
<li><b>CTRL-ENTER</b>: toggle selection for highlighted date</li>
|
||||
<li><b>SHIFT-ENTER</b>: select range end</li>
|
||||
<li><b>PAGE UP/DOWN</b>, or <b>CTRL-LEFT/RIGHT</b>: select month</li>
|
||||
<li><b>CTRL-UP/DOWN</b>: select year</li>
|
||||
<li><b>HOME</b>: go Today</li>
|
||||
<li><b>SPACE</b>: display menu, focus the year entry</li>
|
||||
<li><b>Type digit</b>: display the menu, begin typing year</li>
|
||||
<li><b>Type letter</b>: toggle between months that start with that letter (according to selected language)</li>
|
||||
<li><b>ESC</b>: dismiss menu (if present). Otherwise, dismiss calendar popup if in popup mode</li>
|
||||
</ul>
|
||||
</td>
|
||||
|
||||
<td valign="top" style="padding-left: 2em">
|
||||
<table class="properties">
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_language">Language:</label>
|
||||
</td>
|
||||
<td>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var html = [ "<select id='f_language' onchange='changeLanguage(this)'>" ];
|
||||
var def = Calendar.I18N.__;
|
||||
for (var i in Calendar.I18N) {
|
||||
if (!/^_/.test(i)) {
|
||||
var data = Calendar.I18N[i];
|
||||
html.push("<option value='", i, "'");
|
||||
if (data === def)
|
||||
html.push(" selected='selected'");
|
||||
html.push(">", data.name, "</option>");
|
||||
}
|
||||
}
|
||||
html.push("</select>");
|
||||
document.write(html.join(""));
|
||||
|
||||
function changeLanguage(select) {
|
||||
LEFT_CAL.setLanguage(select.value);
|
||||
RANGE_CAL_1.setLanguage(select.value);
|
||||
RANGE_CAL_2.setLanguage(select.value);
|
||||
}
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_skin">Color theme:</label>
|
||||
</td>
|
||||
<td>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var html = [ "<select id='f_skin' onchange='changeSkin(this)'><option value='-'>Bare</option>" ];
|
||||
var links = document.getElementsByTagName("link");
|
||||
var skins = {};
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
if (/^skin-(.*)/.test(links[i].id)) {
|
||||
var id = RegExp.$1;
|
||||
skins[id] = links[i];
|
||||
html.push("<option value='", id, "'>", links[i].title, "</option>");
|
||||
}
|
||||
}
|
||||
html.push("</select>");
|
||||
|
||||
document.write(html.join(""));
|
||||
|
||||
function changeSkin(select) {
|
||||
var skin = select.value;
|
||||
for (var i in skins) {
|
||||
if (skins.hasOwnProperty(i))
|
||||
skins[i].disabled = true;
|
||||
}
|
||||
if (skins[skin])
|
||||
skins[skin].disabled = false;
|
||||
};
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<input id="f_compactSkin" type="checkbox" onclick="changeCompactSkin(this)" />
|
||||
</td>
|
||||
<td>
|
||||
<label for="f_compactSkin">Compact</label>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
function changeCompactSkin(checkbox) {
|
||||
var skin = document.getElementById("skinhelper-compact");
|
||||
skin.rel = "stylesheet";
|
||||
skin.disabled = true;
|
||||
if (checkbox.checked)
|
||||
skin.disabled = false;
|
||||
}
|
||||
changeCompactSkin({ checked: false });
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_fdow">First day of week:</label>
|
||||
</td>
|
||||
<td>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
var html = [ "<select id='f_fdow' onchange='changeFDOW(this)'>" ];
|
||||
|
||||
for (var i = 0; i < 7; ++i) {
|
||||
html.push("<option value='", i, "'");
|
||||
if (i == LEFT_CAL.fdow)
|
||||
html.push(" selected='selected'");
|
||||
html.push(">", Calendar.i18n("dn")[i], "</option>");
|
||||
}
|
||||
|
||||
html.push("</select>");
|
||||
document.write(html.join(""));
|
||||
|
||||
function changeFDOW(select) {
|
||||
LEFT_CAL.fdow = parseInt(select.value, 10);
|
||||
LEFT_CAL.redraw();
|
||||
}
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
if (LEFT_CAL.args.animation)
|
||||
document.write('<input id="f_animation" onclick="changeAnimation(this)" type="checkbox" checked="checked" />');
|
||||
else
|
||||
document.write('<input id="f_animation" onclick="changeAnimation(this)" type="checkbox" />');
|
||||
|
||||
function changeAnimation(checkbox) {
|
||||
LEFT_CAL.args.animation = checkbox.checked;
|
||||
};
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
<td>
|
||||
<label for="f_animation">Animation</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
if (LEFT_CAL.args.weekNumbers)
|
||||
document.write('<input id="f_weekNumbers" onclick="changeWeekNumbers(this)" type="checkbox" checked="checked" />');
|
||||
else
|
||||
document.write('<input id="f_weekNumbers" onclick="changeWeekNumbers(this)" type="checkbox" />');
|
||||
|
||||
function changeWeekNumbers(checkbox) {
|
||||
LEFT_CAL.args.weekNumbers = checkbox.checked;
|
||||
LEFT_CAL.redraw();
|
||||
};
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
<td>
|
||||
<label for="f_weekNumbers">Week numbers</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
if (LEFT_CAL.args.showTime)
|
||||
document.write('<input id="f_showTime" onclick="changeShowTime(this)" type="checkbox" checked="checked" />');
|
||||
else
|
||||
document.write('<input id="f_showTime" onclick="changeShowTime(this)" type="checkbox" />');
|
||||
function changeShowTime(checkbox) {
|
||||
LEFT_CAL.args.showTime = checkbox.checked ? 12 : false;
|
||||
LEFT_CAL.redraw();
|
||||
document.getElementById("f_ampm").checked = checkbox.checked;
|
||||
document.getElementById("tr_timeprops").style.display = checkbox.checked ? "" : "none";
|
||||
};
|
||||
//]]></script>
|
||||
</td>
|
||||
<td>
|
||||
<label for="f_showTime">Show time</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="tr_timeprops">
|
||||
<td></td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td class="label">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
if (LEFT_CAL.args.showTime == 12)
|
||||
document.write('<input id="f_ampm" onclick="changeAMPM(this)" type="checkbox" checked="checked" />');
|
||||
else
|
||||
document.write('<input id="f_ampm" onclick="changeAMPM(this)" type="checkbox" />');
|
||||
function changeAMPM(checkbox) {
|
||||
LEFT_CAL.args.showTime = checkbox.checked ? 12 : true;
|
||||
LEFT_CAL.redraw();
|
||||
};
|
||||
//]]></script>
|
||||
</td>
|
||||
<td>
|
||||
<label for="f_ampm">12-hour time</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="f_timePos">Time position:</label></td>
|
||||
<td>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
var html = [ "<select id='f_timePos' onchange='changeTimePos(this)'>" ];
|
||||
var a = [ "left", "right" ];
|
||||
for (var i = 0; i < a.length; i++) {
|
||||
html.push("<option value='", a[i], "'");
|
||||
if (LEFT_CAL.args.timePos == a[i])
|
||||
html.push(" selected='selected'");
|
||||
html.push(">", a[i], "</option>");
|
||||
}
|
||||
html.push("</select>");
|
||||
document.write(html.join(""));
|
||||
|
||||
function changeTimePos(select) {
|
||||
LEFT_CAL.args.timePos = select.value;
|
||||
LEFT_CAL.redraw();
|
||||
};
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_rangeStart">Disable dates before:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="f_rangeStart" />
|
||||
<button id="f_rangeStart_trigger">...</button>
|
||||
<button id="f_clearRangeStart" onclick="clearRangeStart()">clear</button>
|
||||
<script type="text/javascript">
|
||||
RANGE_CAL_1 = new Calendar({
|
||||
inputField: "f_rangeStart",
|
||||
dateFormat: "%B %d, %Y",
|
||||
trigger: "f_rangeStart_trigger",
|
||||
bottomBar: false,
|
||||
onSelect: function() {
|
||||
var date = Calendar.intToDate(this.selection.get());
|
||||
LEFT_CAL.args.min = date;
|
||||
LEFT_CAL.redraw();
|
||||
this.hide();
|
||||
}
|
||||
});
|
||||
function clearRangeStart() {
|
||||
document.getElementById("f_rangeStart").value = "";
|
||||
LEFT_CAL.args.min = null;
|
||||
LEFT_CAL.redraw();
|
||||
};
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_rangeEnd">Disable dates after:</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="f_rangeEnd" />
|
||||
<button id="f_rangeEnd_trigger">...</button>
|
||||
<button id="f_clearRangeEnd" onclick="clearRangeEnd()">clear</button>
|
||||
<script type="text/javascript">
|
||||
RANGE_CAL_2 = new Calendar({
|
||||
inputField: "f_rangeEnd",
|
||||
dateFormat: "%B %d, %Y",
|
||||
trigger: "f_rangeEnd_trigger",
|
||||
bottomBar: false,
|
||||
onSelect: function() {
|
||||
var date = Calendar.intToDate(this.selection.get());
|
||||
LEFT_CAL.args.max = date;
|
||||
LEFT_CAL.redraw();
|
||||
this.hide();
|
||||
}
|
||||
});
|
||||
function clearRangeEnd() {
|
||||
document.getElementById("f_rangeEnd").value = "";
|
||||
LEFT_CAL.args.max = null;
|
||||
LEFT_CAL.redraw();
|
||||
};
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="f_selection">Selection:</label>
|
||||
</td>
|
||||
<td>
|
||||
<textarea id="f_selection" style="width: 20em; height: 10em"></textarea>
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
|
||||
LEFT_CAL.addEventListener("onSelect", function(){
|
||||
var ta = document.getElementById("f_selection");
|
||||
ta.value = this.selection.countDays() + " days selected:\n\n" + this.selection.print("%Y/%m/%d").join("\n");
|
||||
});
|
||||
|
||||
//]]></script>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
68
metadata/include/jscalendar/src/css/border-radius.css
Normal file
@ -0,0 +1,68 @@
|
||||
/* This is for Gecko-based browsers */
|
||||
|
||||
.DynarchCalendar {
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-title, .DynarchCalendar-title div {
|
||||
-webkit-border-radius: 0 0 4px 4px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-topBar {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-bottomBar {
|
||||
-webkit-border-radius: 0 0 4px 4px;
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-bottomBar-today {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-navBtn, .DynarchCalendar-navBtn div {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu {
|
||||
-webkit-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu table td div {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-weekNumber {
|
||||
-webkit-border-radius: 4px 0 0 4px;
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-disabled {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-tooltipCont {
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-time-hour, .DynarchCalendar-time-minute {
|
||||
-webkit-border-radius: 3px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-time-am {
|
||||
-webkit-border-radius: 3px;
|
||||
}
|
||||
BIN
metadata/include/jscalendar/src/css/gold/brushed-steel.jpg
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
metadata/include/jscalendar/src/css/gold/coolbg.png
Normal file
|
After Width: | Height: | Size: 493 B |
78
metadata/include/jscalendar/src/css/gold/gold.css
Normal file
@ -0,0 +1,78 @@
|
||||
.DynarchCalendar-focused {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-topBar {
|
||||
background: url("brushed-steel.jpg") no-repeat 50% -50px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-bottomBar {
|
||||
background: url("brushed-steel.jpg") no-repeat 50% -80px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu {
|
||||
background-color: #fed;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-title,
|
||||
.DynarchCalendar-hover-navBtn,
|
||||
.DynarchCalendar-hover-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
background: transparent url("coolbg.png") repeat-x 0 50%;
|
||||
}
|
||||
.DynarchCalendar-hover-title div,
|
||||
.DynarchCalendar-hover-navBtn div { background-color: transparent; }
|
||||
|
||||
.DynarchCalendar-pressed-title,
|
||||
.DynarchCalendar-pressed-navBtn,
|
||||
.DynarchCalendar-pressed-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-pressed-navBtn {
|
||||
background: #db2 url("coolbg.png") repeat-x 0 50%;
|
||||
color: #000 !important;
|
||||
}
|
||||
.DynarchCalendar-pressed-title div,
|
||||
.DynarchCalendar-pressed-navBtn div { background-color: transparent; color: #000; }
|
||||
|
||||
.DynarchCalendar-hover-week,
|
||||
.DynarchCalendar-focused .DynarchCalendar-hover-week {
|
||||
background: transparent url("coolbg.png") repeat-x 0 50%;
|
||||
}
|
||||
|
||||
.DynarchCalendar {
|
||||
background: url("gold.jpg") no-repeat 50% 30px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-weekNumber {
|
||||
border-right: 1px solid #f92;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.DynarchCalendar-hover-date {
|
||||
background-image: url("coolbg.png");
|
||||
background-position: 0 50%;
|
||||
background-repeat: repeat-x;
|
||||
border-color: #f92;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-selected {
|
||||
background-color: #f92;
|
||||
color: #000 !important;
|
||||
background-image: url("coolbg.png");
|
||||
background-position: 0 50%;
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-today.DynarchCalendar-day-selected {
|
||||
background-color: #f92;
|
||||
color: #00f !important;
|
||||
}
|
||||
|
||||
.DynarchCalendar-tooltipCont,
|
||||
.DynarchCalendar-focused .DynarchCalendar-tooltipCont {
|
||||
background: #db2 url("brushed-steel.jpg") no-repeat 50% -100px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-body {
|
||||
background: url("../shadow-b.png") repeat-x 0 0;
|
||||
}
|
||||
BIN
metadata/include/jscalendar/src/css/gold/gold.jpg
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
metadata/include/jscalendar/src/css/img/cool-bg-hard-inv.png
Normal file
|
After Width: | Height: | Size: 257 B |
BIN
metadata/include/jscalendar/src/css/img/cool-bg-hard.png
Normal file
|
After Width: | Height: | Size: 265 B |
BIN
metadata/include/jscalendar/src/css/img/cool-bg-inv.png
Normal file
|
After Width: | Height: | Size: 222 B |
BIN
metadata/include/jscalendar/src/css/img/cool-bg.png
Normal file
|
After Width: | Height: | Size: 232 B |
BIN
metadata/include/jscalendar/src/css/img/drop-down.gif
Normal file
|
After Width: | Height: | Size: 68 B |
BIN
metadata/include/jscalendar/src/css/img/drop-up.gif
Normal file
|
After Width: | Height: | Size: 68 B |
BIN
metadata/include/jscalendar/src/css/img/nav-left-x2.gif
Normal file
|
After Width: | Height: | Size: 76 B |
BIN
metadata/include/jscalendar/src/css/img/nav-left.gif
Normal file
|
After Width: | Height: | Size: 66 B |
BIN
metadata/include/jscalendar/src/css/img/nav-right-x2.gif
Normal file
|
After Width: | Height: | Size: 75 B |
BIN
metadata/include/jscalendar/src/css/img/nav-right.gif
Normal file
|
After Width: | Height: | Size: 64 B |
BIN
metadata/include/jscalendar/src/css/img/time-down.png
Normal file
|
After Width: | Height: | Size: 226 B |
BIN
metadata/include/jscalendar/src/css/img/time-up.png
Normal file
|
After Width: | Height: | Size: 226 B |
346
metadata/include/jscalendar/src/css/jscal2.css
Normal file
@ -0,0 +1,346 @@
|
||||
/* CSS */
|
||||
|
||||
.DynarchCalendar {
|
||||
border: 1px solid #aaa;
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
background: #e8e8e8;
|
||||
font: 11px "lucida grande",tahoma,verdana,sans-serif;
|
||||
line-height: 14px;
|
||||
position: relative;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.DynarchCalendar table {
|
||||
border-collapse: collapse;
|
||||
font: 11px "lucida grande",tahoma,verdana,sans-serif;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-topBar {
|
||||
border-bottom: 1px solid #aaa;
|
||||
background: #ddd;
|
||||
padding: 5px 0 0 0;
|
||||
}
|
||||
|
||||
table.DynarchCalendar-titleCont {
|
||||
font-size: 130%; font-weight: bold;
|
||||
color: #444;
|
||||
text-align: center;
|
||||
z-index: 9;
|
||||
position: relative;
|
||||
margin-top: -6px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-title div {
|
||||
padding: 5px 17px;
|
||||
text-shadow: 1px 1px 1px #777;
|
||||
}
|
||||
.DynarchCalendar-hover-title div {
|
||||
background-color: #fff;
|
||||
border: 1px solid #000;
|
||||
padding: 4px 16px;
|
||||
background-image: url("img/drop-down.gif");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 100% 50%;
|
||||
}
|
||||
.DynarchCalendar-pressed-title div {
|
||||
border: 1px solid #000;
|
||||
padding: 4px 16px;
|
||||
background-color: #777;
|
||||
color: #fff;
|
||||
background-image: url("img/drop-up.gif");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 100% 50%;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.DynarchCalendar-bottomBar {
|
||||
border-top: 1px solid #aaa;
|
||||
background: #ddd;
|
||||
padding: 2px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.DynarchCalendar-bottomBar-today {
|
||||
padding: 2px 15px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-bottomBar-today {
|
||||
border: 1px solid #000;
|
||||
background-color: #fff;
|
||||
padding: 1px 14px;
|
||||
}
|
||||
.DynarchCalendar-pressed-bottomBar-today {
|
||||
border: 1px solid #000;
|
||||
background-color: #777;
|
||||
color: #fff;
|
||||
padding: 1px 14px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.DynarchCalendar-body {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-first-col { padding-left: 5px; }
|
||||
.DynarchCalendar-last-col { padding-right: 5px; }
|
||||
|
||||
.DynarchCalendar-animBody-backYear {
|
||||
position: absolute;
|
||||
top: -100%;
|
||||
left: 0;
|
||||
}
|
||||
.DynarchCalendar-animBody-back {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: -100%;
|
||||
}
|
||||
.DynarchCalendar-animBody-fwd {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 100%;
|
||||
}
|
||||
.DynarchCalendar-animBody-now {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 0;
|
||||
}
|
||||
.DynarchCalendar-animBody-fwdYear {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-dayNames {
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-dayNames div { font-weight: bold; color: #444; text-shadow: 1px 1px 1px #777; }
|
||||
|
||||
.DynarchCalendar-navBtn {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.DynarchCalendar-navBtn div {
|
||||
background-repeat: no-repeat;
|
||||
background-position: 50% 50%;
|
||||
height: 15px;
|
||||
width: 16px;
|
||||
padding: 1px;
|
||||
}
|
||||
.DynarchCalendar-hover-navBtn div {
|
||||
border: 1px solid #000;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
.DynarchCalendar-navDisabled {
|
||||
opacity: 0.3;
|
||||
}
|
||||
.DynarchCalendar-pressed-navBtn div {
|
||||
border: 1px solid #000;
|
||||
padding: 0;
|
||||
background-color: #777;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-prevMonth {
|
||||
left: 25px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextMonth {
|
||||
left: 100%;
|
||||
margin-left: -43px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-prevYear {
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextYear {
|
||||
left: 100%;
|
||||
margin-left: -23px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-prevMonth div {
|
||||
background-image: url("img/nav-left.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextMonth div {
|
||||
background-image: url("img/nav-right.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-prevYear div {
|
||||
background-image: url("img/nav-left-x2.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextYear div {
|
||||
background-image: url("img/nav-right-x2.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #ddd;
|
||||
overflow: hidden;
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu table td div {
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 3px 5px;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-menu-month {
|
||||
width: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
border: 1px solid #000;
|
||||
padding: 2px 4px;
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-pressed-navBtn {
|
||||
border: 1px solid #000;
|
||||
padding: 2px 4px;
|
||||
background-color: #777;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu-year {
|
||||
text-align: center;
|
||||
font: 16px "lucida grande",tahoma,verdana,sans-serif;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu-sep {
|
||||
height: 1px; font-size: 1px; line-height: 1px;
|
||||
overflow: hidden;
|
||||
border-top: 1px solid #888;
|
||||
background: #fff;
|
||||
margin-top: 4px; margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.DynarchCalendar-time td { font-weight: bold; font-size: 120%; }
|
||||
.DynarchCalendar-time-hour, .DynarchCalendar-time-minute { padding: 1px 3px; }
|
||||
.DynarchCalendar-time-down { background: url("img/time-down.png") no-repeat 50% 50%; width: 11px; height: 8px; opacity: 0.5; }
|
||||
.DynarchCalendar-time-up { background: url("img/time-up.png") no-repeat 50% 50%; width: 11px; height: 8px; opacity: 0.5; }
|
||||
.DynarchCalendar-time-sep { padding: 0 2px; }
|
||||
.DynarchCalendar-hover-time { background-color: #444; color: #fff; opacity: 1; }
|
||||
.DynarchCalendar-pressed-time { background-color: #000; color: #fff; opacity: 1; }
|
||||
.DynarchCalendar-time-am { padding: 1px; width: 2.5em; text-align: center; }
|
||||
|
||||
/* body */
|
||||
|
||||
.DynarchCalendar-hover-week { background-color: #ddd; }
|
||||
|
||||
.DynarchCalendar-dayNames div, .DynarchCalendar-day, .DynarchCalendar-weekNumber {
|
||||
width: 1.7em;
|
||||
padding: 3px 4px;
|
||||
text-align: center;
|
||||
}
|
||||
.DynarchCalendar-weekNumber {
|
||||
border-right: 1px solid #aaa;
|
||||
margin-right: 4px;
|
||||
width: 2em !important;
|
||||
padding-right: 8px !important;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day {
|
||||
text-align: right; color: #222;
|
||||
}
|
||||
.DynarchCalendar-day-othermonth { color: #888; }
|
||||
.DynarchCalendar-weekend { color: #c22; }
|
||||
.DynarchCalendar-day-today { color: #00f; font-weight: bold; }
|
||||
|
||||
.DynarchCalendar-day-disabled {
|
||||
opacity: 0.5;
|
||||
text-shadow: 2px 1px 1px #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-date {
|
||||
padding: 2px 3px;
|
||||
background-color: #eef;
|
||||
border: 1px solid #88c;
|
||||
margin: 0 !important;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-othermonth.DynarchCalendar-hover-date { border-color: #aaa; color: #888; }
|
||||
|
||||
.DynarchCalendar-dayNames .DynarchCalendar-weekend { color: #c22; }
|
||||
.DynarchCalendar-day-othermonth.DynarchCalendar-weekend { color: #d88; }
|
||||
|
||||
.DynarchCalendar-day-selected {
|
||||
padding: 2px 3px;
|
||||
margin: 1px;
|
||||
background-color: #aaa;
|
||||
color: #000 !important;
|
||||
}
|
||||
.DynarchCalendar-day-today.DynarchCalendar-day-selected { background-color: #999; }
|
||||
|
||||
/* focus */
|
||||
|
||||
.DynarchCalendar-focusLink {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused {
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-topBar, .DynarchCalendar-focused .DynarchCalendar-bottomBar {
|
||||
background-color: #ccc;
|
||||
border-color: #336;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-hover-week {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.DynarchCalendar-tooltip {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.DynarchCalendar-tooltipCont {
|
||||
margin: 0 5px 0 5px;
|
||||
border: 1px solid #aaa;
|
||||
border-top: 0;
|
||||
padding: 3px 6px;
|
||||
background: #ddd;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-tooltipCont {
|
||||
background: #ccc;
|
||||
border-color: #000;
|
||||
}
|
||||
|
||||
@media print {
|
||||
.DynarchCalendar-day-selected {
|
||||
padding: 2px 3px;
|
||||
border: 1px solid #000;
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
115
metadata/include/jscalendar/src/css/matrix/matrix.css
Normal file
@ -0,0 +1,115 @@
|
||||
.DynarchCalendar, .DynarchCalendar-focused {
|
||||
background-color: #242;
|
||||
}
|
||||
.DynarchCalendar-focused { border-color: #0f0; }
|
||||
|
||||
.DynarchCalendar-topBar,
|
||||
.DynarchCalendar-bottomBar {
|
||||
background-color: #242;
|
||||
color: #0f0;
|
||||
border-color: #080;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-topBar,
|
||||
.DynarchCalendar-focused .DynarchCalendar-bottomBar {
|
||||
background-color: #020;
|
||||
color: #0f0;
|
||||
border-color: #0f0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-title div {
|
||||
color: #0f0;
|
||||
text-shadow: 1px 1px 1px #fa0;
|
||||
}
|
||||
.DynarchCalendar-pressed-title div {
|
||||
text-shadow: 1px 1px 1px #000;
|
||||
}
|
||||
|
||||
.DynarchCalendar-dayNames div { color: #0f0; }
|
||||
.DynarchCalendar-dayNames .DynarchCalendar-weekend { color: #fa0; }
|
||||
|
||||
.DynarchCalendar-hover-navBtn div,
|
||||
.DynarchCalendar-hover-title div,
|
||||
.DynarchCalendar-hover-bottomBar-today {
|
||||
border-color: #0f0;
|
||||
background-color: #000;
|
||||
color: #fa0;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
border-color: #0f0;
|
||||
background-color: #000;
|
||||
color: #fa0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-menu-year {
|
||||
background-color: #000;
|
||||
color: #0f0;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
|
||||
.DynarchCalendar-pressed-navBtn div,
|
||||
.DynarchCalendar-pressed-title div,
|
||||
.DynarchCalendar-pressed-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-pressed-navBtn {
|
||||
border-color: #000 #0c0 #0c0 #000;
|
||||
background-color: #464;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-date {
|
||||
border-color: #070;
|
||||
color: #0f0 !important;
|
||||
background-color: #000;
|
||||
}
|
||||
.DynarchCalendar-day-othermonth.DynarchCalendar-hover-date { border-color: #040; color: #2a2; }
|
||||
.DynarchCalendar-day {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-disabled {}
|
||||
|
||||
.DynarchCalendar-hover-week { background-color: #131 !important; }
|
||||
|
||||
.DynarchCalendar-menu {
|
||||
background-color: #040;
|
||||
color: #8f8;
|
||||
}
|
||||
.DynarchCalendar-menu-sep {
|
||||
border-color: #000;
|
||||
background-color: #080;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-selected {
|
||||
background-color: #000;
|
||||
border: 1px solid #a90;
|
||||
margin: 0;
|
||||
color: #8f4 !important;
|
||||
}
|
||||
.DynarchCalendar-weekNumber { border-color: #272; color: #0c0; }
|
||||
.DynarchCalendar-day { color: #0c0; }
|
||||
.DynarchCalendar-weekend { color: #fa0; }
|
||||
.DynarchCalendar-day-othermonth { color: #070; }
|
||||
.DynarchCalendar-day-othermonth.DynarchCalendar-weekend { color: #850; }
|
||||
.DynarchCalendar-day-today { color: #ff0; }
|
||||
|
||||
.DynarchCalendar-day-today.DynarchCalendar-day-selected { background-color: #000; }
|
||||
|
||||
.DynarchCalendar-prevMonth div {
|
||||
background-image: url("nav-left.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextMonth div {
|
||||
background-image: url("nav-right.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-prevYear div {
|
||||
background-image: url("nav-left-x2.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-nextYear div {
|
||||
background-image: url("nav-right-x2.gif");
|
||||
}
|
||||
|
||||
.DynarchCalendar-tooltipCont { background: #242; color: #9bf; }
|
||||
.DynarchCalendar-focused .DynarchCalendar-tooltipCont { background: #020; }
|
||||
BIN
metadata/include/jscalendar/src/css/matrix/nav-left-x2.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
metadata/include/jscalendar/src/css/matrix/nav-left.gif
Normal file
|
After Width: | Height: | Size: 87 B |
BIN
metadata/include/jscalendar/src/css/matrix/nav-right-x2.gif
Normal file
|
After Width: | Height: | Size: 96 B |
BIN
metadata/include/jscalendar/src/css/matrix/nav-right.gif
Normal file
|
After Width: | Height: | Size: 85 B |
31
metadata/include/jscalendar/src/css/reduce-spacing.css
Normal file
@ -0,0 +1,31 @@
|
||||
.DynarchCalendar, .DynarchCalendar table {
|
||||
font-size: 10px;
|
||||
}
|
||||
.DynarchCalendar-dayNames { padding: 0; }
|
||||
.DynarchCalendar-body { padding: 0; }
|
||||
.DynarchCalendar-animBody-back { top: 0; }
|
||||
.DynarchCalendar-animBody-fwd { top: 0; }
|
||||
.DynarchCalendar-animBody-now { top: 0; }
|
||||
.DynarchCalendar-first-col { padding-left: 0; }
|
||||
.DynarchCalendar-last-col { padding-right: 0; }
|
||||
.DynarchCalendar-weekNumber {
|
||||
margin-right: 0;
|
||||
padding-right: 4px !important;
|
||||
}
|
||||
.DynarchCalendar-dayNames div, .DynarchCalendar-day, .DynarchCalendar-weekNumber {
|
||||
padding: 1px 2px;
|
||||
}
|
||||
.DynarchCalendar-menu-year { font-size: 12px; }
|
||||
|
||||
.DynarchCalendar-hover-date {
|
||||
padding: 0px 1px;
|
||||
}
|
||||
.DynarchCalendar-day-selected {
|
||||
padding: 0px 1px;
|
||||
}
|
||||
.DynarchCalendar-menu table td div {
|
||||
padding: 2px 4px;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
padding: 1px 3px;
|
||||
}
|
||||
BIN
metadata/include/jscalendar/src/css/shadow-b.png
Normal file
|
After Width: | Height: | Size: 208 B |
BIN
metadata/include/jscalendar/src/css/steel/brushed-steel.jpg
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
metadata/include/jscalendar/src/css/steel/brushed-steel.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
metadata/include/jscalendar/src/css/steel/coolbg.png
Normal file
|
After Width: | Height: | Size: 493 B |
61
metadata/include/jscalendar/src/css/steel/steel.css
Normal file
@ -0,0 +1,61 @@
|
||||
.DynarchCalendar-focused {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-topBar {
|
||||
background: url("brushed-steel.jpg") no-repeat 50% 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-bottomBar {
|
||||
background: url("brushed-steel.jpg") no-repeat 50% 50%;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-title,
|
||||
.DynarchCalendar-hover-navBtn,
|
||||
.DynarchCalendar-hover-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
background: #dde url("coolbg.png") repeat-x 0 50%;
|
||||
}
|
||||
.DynarchCalendar-hover-title div,
|
||||
.DynarchCalendar-hover-navBtn div { background-color: transparent; }
|
||||
|
||||
.DynarchCalendar-pressed-title,
|
||||
.DynarchCalendar-pressed-navBtn,
|
||||
.DynarchCalendar-pressed-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-pressed-navBtn {
|
||||
background: #445 url("coolbg.png") repeat-x 0 50%;
|
||||
}
|
||||
.DynarchCalendar-pressed-title div,
|
||||
.DynarchCalendar-pressed-navBtn div { background-color: transparent; }
|
||||
|
||||
.DynarchCalendar-hover-week,
|
||||
.DynarchCalendar-focused .DynarchCalendar-hover-week {
|
||||
background: #ddd url("coolbg.png") repeat-x 0 50%;
|
||||
}
|
||||
|
||||
.DynarchCalendar {
|
||||
background: url("steel.jpg") no-repeat 50% 30px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.DynarchCalendar-day-selected {
|
||||
background-color: #1864fc;
|
||||
color: #fff !important;
|
||||
background-image: url("coolbg.png");
|
||||
background-position: 0 50%;
|
||||
background-repeat: repeat-x;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-today.DynarchCalendar-day-selected {
|
||||
background-color: #1864fc;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.DynarchCalendar-focused .DynarchCalendar-body {
|
||||
background: url("../shadow-b.png") repeat-x 0 0;
|
||||
}
|
||||
BIN
metadata/include/jscalendar/src/css/steel/steel.jpg
Normal file
|
After Width: | Height: | Size: 9.7 KiB |
65
metadata/include/jscalendar/src/css/win2k/win2k.css
Normal file
@ -0,0 +1,65 @@
|
||||
.DynarchCalendar, .DynarchCalendar-focused {
|
||||
background-color: #d4d0c8;
|
||||
}
|
||||
|
||||
.DynarchCalendar-topBar,
|
||||
.DynarchCalendar-bottomBar,
|
||||
.DynarchCalendar-focused .DynarchCalendar-topBar,
|
||||
.DynarchCalendar-focused .DynarchCalendar-bottomBar {
|
||||
background-color: #848078;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-title div { color: #fff; }
|
||||
|
||||
.DynarchCalendar-dayNames { background-color: #f4f0e8; }
|
||||
|
||||
.DynarchCalendar-hover-navBtn div,
|
||||
.DynarchCalendar-hover-title div,
|
||||
.DynarchCalendar-hover-bottomBar-today {
|
||||
border-color: #f4f0e8 #444038 #444038 #f4f0e8;
|
||||
background-color: #d4d0c8;
|
||||
color: #000;
|
||||
}
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-hover-navBtn {
|
||||
border-color: #f4f0e8 #444038 #444038 #f4f0e8;
|
||||
background-color: #e4e0d8;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.DynarchCalendar-pressed-navBtn div,
|
||||
.DynarchCalendar-pressed-title div,
|
||||
.DynarchCalendar-pressed-bottomBar-today,
|
||||
.DynarchCalendar-menu table td div.DynarchCalendar-pressed-navBtn {
|
||||
border-color: #444038 #f4f0e8 #f4f0e8 #444038;
|
||||
background-color: #646058;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-date {
|
||||
border-color: #f4f0e8 #444038 #444038 #f4f0e8;
|
||||
background-color: #e4e0d8;
|
||||
}
|
||||
.DynarchCalendar-day {
|
||||
-webkit-border-radius: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-disabled {
|
||||
background: #c4c0b8;
|
||||
}
|
||||
|
||||
.DynarchCalendar-hover-week { background-color: #e4e0d8 !important; }
|
||||
|
||||
.DynarchCalendar-day-selected {
|
||||
background-color: #e4e0d8;
|
||||
border: 1px solid;
|
||||
border-color: #444038 #f4f0e8 #f4f0e8 #444038;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.DynarchCalendar-day-today.DynarchCalendar-day-selected { background-color: #e4e0d8; }
|
||||
|
||||
.DynarchCalendar-menu {
|
||||
background-color: #d4d0c8;
|
||||
}
|
||||
998
metadata/include/jscalendar/src/js/jscal2.js
Normal file
@ -0,0 +1,998 @@
|
||||
/**
|
||||
* ____ _____
|
||||
* Dynarch Calendar -- JSCal2, version 1.9 \ /_ / /
|
||||
* Built at 2011/03/13 10:28 GMT \ / / /
|
||||
* \/ /_ /
|
||||
* (c) Dynarch.com 2009 \ / /
|
||||
* All rights reserved. / /
|
||||
* Visit www.dynarch.com/projects/calendar for details \/
|
||||
*
|
||||
*/
|
||||
Calendar=function(){
|
||||
function bm(a){
|
||||
typeof a=="string"&&(a=document.getElementById(a));
|
||||
return a
|
||||
}
|
||||
function bk(a,b,c){
|
||||
for(c=0;c<a.length;++c)b(a[c])
|
||||
}
|
||||
function bj(){
|
||||
var a=document.documentElement,b=document.body;
|
||||
return{
|
||||
x:a.scrollLeft||b.scrollLeft,
|
||||
y:a.scrollTop||b.scrollTop,
|
||||
w:a.clientWidth||window.innerWidth||b.clientWidth,
|
||||
h:a.clientHeight||window.innerHeight||b.clientHeight
|
||||
}
|
||||
}
|
||||
function bi(a){
|
||||
var b=0,c=0,d=/^div$/i.test(a.tagName),e,f;
|
||||
d&&a.scrollLeft&&(b=a.scrollLeft),d&&a.scrollTop&&(c=a.scrollTop),e={
|
||||
x:a.offsetLeft-b,
|
||||
y:a.offsetTop-c
|
||||
},a.offsetParent&&(f=bi(a.offsetParent),e.x+=f.x,e.y+=f.y);
|
||||
return e
|
||||
}
|
||||
function bh(a,b){
|
||||
var c=e?a.clientX+document.body.scrollLeft:a.pageX,d=e?a.clientY+document.body.scrollTop:a.pageY;
|
||||
b&&(c-=b.x,d-=b.y);
|
||||
return{
|
||||
x:c,
|
||||
y:d
|
||||
}
|
||||
}
|
||||
function bg(a,b){
|
||||
var c=a.style;
|
||||
b!=null&&(c.display=b?"":"none");
|
||||
return c.display!="none"
|
||||
}
|
||||
function bf(a,b){
|
||||
b===""?e?a.style.filter="":a.style.opacity="":b!=null?e?a.style.filter="alpha(opacity="+b*100+")":a.style.opacity=b:e?/alpha\(opacity=([0-9.])+\)/.test(a.style.opacity)&&(b=parseFloat(RegExp.$1)/100):b=parseFloat(a.style.opacity);
|
||||
return b
|
||||
}
|
||||
function bd(a,b,c){
|
||||
function h(){
|
||||
var b=a.len;
|
||||
a.onUpdate(c/b,d),c==b&&g(),++c
|
||||
}
|
||||
function g(){
|
||||
b&&(clearInterval(b),b=null),a.onStop(c/a.len,d)
|
||||
}
|
||||
function f(){
|
||||
b&&g(),c=0,b=setInterval(h,1e3/a.fps)
|
||||
}
|
||||
function d(a,b,c,d){
|
||||
return d?c+a*(b-c):b+a*(c-b)
|
||||
}
|
||||
a=U(a,{
|
||||
fps:50,
|
||||
len:15,
|
||||
onUpdate:bl,
|
||||
onStop:bl
|
||||
}),e&&(a.len=Math.round(a.len/2)),f();
|
||||
return{
|
||||
start:f,
|
||||
stop:g,
|
||||
update:h,
|
||||
args:a,
|
||||
map:d
|
||||
}
|
||||
}
|
||||
function bc(a,b){
|
||||
if(!b(a))for(var c=a.firstChild;c;c=c.nextSibling)c.nodeType==1&&bc(c,b)
|
||||
}
|
||||
function bb(a,b){
|
||||
var c=ba(arguments,2);
|
||||
return b==undefined?function(){
|
||||
return a.apply(this,c.concat(ba(arguments)))
|
||||
}:function(){
|
||||
return a.apply(b,c.concat(ba(arguments)))
|
||||
}
|
||||
}
|
||||
function ba(a,b){
|
||||
b==null&&(b=0);
|
||||
var c,d,e;
|
||||
try{
|
||||
c=Array.prototype.slice.call(a,b)
|
||||
}catch(f){
|
||||
c=Array(a.length-b);
|
||||
for(d=b,e=0;d<a.length;++d,++e)c[e]=a[d]
|
||||
}
|
||||
return c
|
||||
}
|
||||
function _(a,b,c){
|
||||
var d=null;
|
||||
document.createElementNS?d=document.createElementNS("http://www.w3.org/1999/xhtml",a):d=document.createElement(a),b&&(d.className=b),c&&c.appendChild(d);
|
||||
return d
|
||||
}
|
||||
function $(a,b,c){
|
||||
if(b instanceof Array)for(var d=b.length;--d>=0;)$(a,b[d],c);else Y(b,c,a?c:null);
|
||||
return a
|
||||
}
|
||||
function Z(a,b){
|
||||
return Y(a,b,b)
|
||||
}
|
||||
function Y(a,b,c){
|
||||
if(a){
|
||||
var d=a.className.replace(/^\s+|\s+$/,"").split(/\x20/),e=[],f;
|
||||
for(f=d.length;f>0;)d[--f]!=b&&e.push(d[f]);
|
||||
c&&e.push(c),a.className=e.join(" ")
|
||||
}
|
||||
return c
|
||||
}
|
||||
function X(a){
|
||||
a=a||window.event,e?(a.cancelBubble=!0,a.returnValue=!1):(a.preventDefault(),a.stopPropagation());
|
||||
return!1
|
||||
}
|
||||
function W(a,b,c,d){
|
||||
if(a instanceof Array)for(var f=a.length;--f>=0;)W(a[f],b,c);
|
||||
else if(typeof b=="object")for(var f in b)b.hasOwnProperty(f)&&W(a,f,b[f],c);else a.removeEventListener?a.removeEventListener(b,c,e?!0:!!d):a.detachEvent?a.detachEvent("on"+b,c):a["on"+b]=null
|
||||
}
|
||||
function V(a,b,c,d){
|
||||
if(a instanceof Array)for(var f=a.length;--f>=0;)V(a[f],b,c,d);
|
||||
else if(typeof b=="object")for(var f in b)b.hasOwnProperty(f)&&V(a,f,b[f],c);else a.addEventListener?a.addEventListener(b,c,e?!0:!!d):a.attachEvent?a.attachEvent("on"+b,c):a["on"+b]=c
|
||||
}
|
||||
function U(a,b,c,d){
|
||||
d={};
|
||||
|
||||
for(c in b)b.hasOwnProperty(c)&&(d[c]=b[c]);for(c in a)a.hasOwnProperty(c)&&(d[c]=a[c]);return d
|
||||
}
|
||||
function T(a){
|
||||
if(/\S/.test(a)){
|
||||
a=a.toLowerCase();
|
||||
function b(b){
|
||||
for(var c=b.length;--c>=0;)if(b[c].toLowerCase().indexOf(a)==0)return c+1
|
||||
}
|
||||
return b(L("smn"))||b(L("mn"))
|
||||
}
|
||||
}
|
||||
function S(a){
|
||||
if(a){
|
||||
if(typeof a=="number")return P(a);
|
||||
if(!(a instanceof Date)){
|
||||
var b=a.split(/-/);
|
||||
return new Date(parseInt(b[0],10),parseInt(b[1],10)-1,parseInt(b[2],10),12,0,0,0)
|
||||
}
|
||||
}
|
||||
return a
|
||||
}
|
||||
function R(a,b){
|
||||
var c=a.getMonth(),d=a.getDate(),e=a.getFullYear(),f=M(a),g=a.getDay(),h=a.getHours(),i=h>=12,j=i?h-12:h,k=N(a),l=a.getMinutes(),m=a.getSeconds(),n=/%./g,o;
|
||||
j===0&&(j=12),o={
|
||||
"%a":L("sdn")[g],
|
||||
"%A":L("dn")[g],
|
||||
"%b":L("smn")[c],
|
||||
"%B":L("mn")[c],
|
||||
"%C":1+Math.floor(e/100),
|
||||
"%d":d<10?"0"+d:d,
|
||||
"%e":d,
|
||||
"%H":h<10?"0"+h:h,
|
||||
"%I":j<10?"0"+j:j,
|
||||
"%j":k<10?"00"+k:k<100?"0"+k:k,
|
||||
"%k":h,
|
||||
"%l":j,
|
||||
"%m":c<9?"0"+(1+c):1+c,
|
||||
"%o":1+c,
|
||||
"%M":l<10?"0"+l:l,
|
||||
"%n":"\n",
|
||||
"%p":i?"PM":"AM",
|
||||
"%P":i?"pm":"am",
|
||||
"%s":Math.floor(a.getTime()/1e3),
|
||||
"%S":m<10?"0"+m:m,
|
||||
"%t":"\t",
|
||||
"%U":f<10?"0"+f:f,
|
||||
"%W":f<10?"0"+f:f,
|
||||
"%V":f<10?"0"+f:f,
|
||||
"%u":g+1,
|
||||
"%w":g,
|
||||
"%y":(""+e).substr(2,2),
|
||||
"%Y":e,
|
||||
"%%":"%"
|
||||
};
|
||||
|
||||
return b.replace(n,function(a){
|
||||
return o.hasOwnProperty(a)?o[a]:a
|
||||
})
|
||||
}
|
||||
function Q(a,b,c){
|
||||
var d=a.getFullYear(),e=a.getMonth(),f=a.getDate(),g=b.getFullYear(),h=b.getMonth(),i=b.getDate();
|
||||
return d<g?-3:d>g?3:e<h?-2:e>h?2:c?0:f<i?-1:f>i?1:0
|
||||
}
|
||||
function P(a,b,c,d,e){
|
||||
if(!(a instanceof Date)){
|
||||
a=parseInt(a,10);
|
||||
var f=Math.floor(a/1e4);
|
||||
a=a%1e4;
|
||||
var g=Math.floor(a/100);
|
||||
a=a%100,a=new Date(f,g-1,a,b==null?12:b,c==null?0:c,d==null?0:d,e==null?0:e)
|
||||
}
|
||||
return a
|
||||
}
|
||||
function O(a){
|
||||
if(a instanceof Date)return 1e4*a.getFullYear()+100*(a.getMonth()+1)+a.getDate();
|
||||
if(typeof a=="string")return parseInt(a,10);
|
||||
return a
|
||||
}
|
||||
function N(a){
|
||||
a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),12,0,0);
|
||||
var b=new Date(a.getFullYear(),0,1,12,0,0),c=a-b;
|
||||
return Math.floor(c/864e5)
|
||||
}
|
||||
function M(a){
|
||||
a=new Date(a.getFullYear(),a.getMonth(),a.getDate(),12,0,0);
|
||||
var b=a.getDay();
|
||||
a.setDate(a.getDate()-(b+6)%7+3);
|
||||
var c=a.valueOf();
|
||||
a.setMonth(0),a.setDate(4);
|
||||
return Math.round((c-a.valueOf())/6048e5)+1
|
||||
}
|
||||
function L(a,b){
|
||||
var c=i.__.data[a];
|
||||
b&&typeof c=="string"&&(c=K(c,b));
|
||||
return c
|
||||
}
|
||||
function K(a,b){
|
||||
return a.replace(/\$\{([^:\}]+)(:[^\}]+)?\}/g,function(a,c,d){
|
||||
var e=b[c],f;
|
||||
d&&(f=d.substr(1).split(/\s*\|\s*/),e=(e>=f.length?f[f.length-1]:f[e]).replace(/##?/g,function(a){
|
||||
return a.length==2?"#":e
|
||||
}));
|
||||
return e
|
||||
})
|
||||
}
|
||||
function J(b){
|
||||
if(!this._menuAnim){
|
||||
b=b||window.event;
|
||||
var c=b.target||b.srcElement,d=c.getAttribute("dyc-btn"),e=b.keyCode,f=b.charCode||e,g=H[e];
|
||||
if("year"==d&&e==13){
|
||||
var h=new Date(this.date);
|
||||
h.setDate(1),h.setFullYear(this._getInputYear()),this.moveTo(h,!0),z(this,!1);
|
||||
return X(b)
|
||||
}
|
||||
if(this._menuVisible){
|
||||
if(e==27){
|
||||
z(this,!1);
|
||||
return X(b)
|
||||
}
|
||||
}else{
|
||||
b.ctrlKey||(g=null),g==null&&!b.ctrlKey&&(g=I[e]),e==36&&(g=0);
|
||||
if(g!=null){
|
||||
y(this,g);
|
||||
return X(b)
|
||||
}
|
||||
f=String.fromCharCode(f).toLowerCase();
|
||||
var i=this.els.yearInput,j=this.selection;
|
||||
if(f==" "){
|
||||
z(this,!0),this.focus(),i.focus(),i.select();
|
||||
return X(b)
|
||||
}
|
||||
if(f>="0"&&f<="9"){
|
||||
z(this,!0),this.focus(),i.value=f,i.focus();
|
||||
return X(b)
|
||||
}
|
||||
var k=L("mn"),l=b.shiftKey?-1:this.date.getMonth(),m=0,n;
|
||||
while(++m<12){
|
||||
n=k[(l+m)%12].toLowerCase();
|
||||
if(n.indexOf(f)==0){
|
||||
var h=new Date(this.date);
|
||||
h.setDate(1),h.setMonth((l+m)%12),this.moveTo(h,!0);
|
||||
return X(b)
|
||||
}
|
||||
}
|
||||
if(e>=37&&e<=40){
|
||||
var h=this._lastHoverDate;
|
||||
if(!h&&!j.isEmpty()){
|
||||
h=e<39?j.getFirstDate():j.getLastDate();
|
||||
if(h<this._firstDateVisible||h>this._lastDateVisible)h=null
|
||||
}
|
||||
if(!h)h=e<39?this._lastDateVisible:this._firstDateVisible;
|
||||
else{
|
||||
var o=h;
|
||||
h=P(h);
|
||||
var l=100;
|
||||
while(l-->0){
|
||||
switch(e){
|
||||
case 37:
|
||||
h.setDate(h.getDate()-1);
|
||||
break;
|
||||
case 38:
|
||||
h.setDate(h.getDate()-7);
|
||||
break;
|
||||
case 39:
|
||||
h.setDate(h.getDate()+1);
|
||||
break;
|
||||
case 40:
|
||||
h.setDate(h.getDate()+7)
|
||||
}
|
||||
if(!this.isDisabled(h))break
|
||||
}
|
||||
h=O(h),(h<this._firstDateVisible||h>this._lastDateVisible)&&this.moveTo(h)
|
||||
}
|
||||
Y(this._getDateDiv(o),Z(this._getDateDiv(h),"DynarchCalendar-hover-date")),this._lastHoverDate=h;
|
||||
return X(b)
|
||||
}
|
||||
if(e==13&&this._lastHoverDate){
|
||||
j.type==a.SEL_MULTIPLE&&(b.shiftKey||b.ctrlKey)?(b.shiftKey&&this._selRangeStart&&(j.clear(!0),j.selectRange(this._selRangeStart,this._lastHoverDate)),b.ctrlKey&&j.set(this._selRangeStart=this._lastHoverDate,!0)):j.reset(this._selRangeStart=this._lastHoverDate);
|
||||
return X(b)
|
||||
}
|
||||
e==27&&!this.args.cont&&this.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
function G(){
|
||||
this.refresh();
|
||||
var a=this.inputField,b=this.selection;
|
||||
if(a){
|
||||
var c=b.print(this.dateFormat);
|
||||
/input|textarea/i.test(a.tagName)?a.value=c:a.innerHTML=c
|
||||
}
|
||||
this.callHooks("onSelect",this,b)
|
||||
}
|
||||
function F(a){
|
||||
a=a||window.event;
|
||||
var b=C(a);
|
||||
if(b){
|
||||
var c=b.getAttribute("dyc-btn"),d=b.getAttribute("dyc-type"),e=a.wheelDelta?a.wheelDelta/120:-a.detail/3;
|
||||
e=e<0?-1:e>0?1:0,this.args.reverseWheel&&(e=-e);
|
||||
if(/^(time-(hour|min))/.test(d)){
|
||||
switch(RegExp.$1){
|
||||
case"time-hour":
|
||||
this.setHours(this.getHours()+e);
|
||||
break;
|
||||
case"time-min":
|
||||
this.setMinutes(this.getMinutes()+this.args.minuteStep*e)
|
||||
}
|
||||
X(a)
|
||||
}else/Y/i.test(c)&&(e*=2),y(this,-e),X(a)
|
||||
}
|
||||
}
|
||||
function E(a,b){
|
||||
b=b||window.event;
|
||||
var c=C(b);
|
||||
if(c){
|
||||
var d=c.getAttribute("dyc-type");
|
||||
if(d&&!c.getAttribute("disabled"))if(!a||!this._bodyAnim||d!="date"){
|
||||
var e=c.getAttribute("dyc-cls");
|
||||
e=e?D(e,0):"DynarchCalendar-hover-"+d,(d!="date"||this.selection.type)&&$(a,c,e),d=="date"&&($(a,c.parentNode.parentNode,"DynarchCalendar-hover-week"),this._showTooltip(c.getAttribute("dyc-date"))),/^time-hour/.test(d)&&$(a,this.els.timeHour,"DynarchCalendar-hover-time"),/^time-min/.test(d)&&$(a,this.els.timeMinute,"DynarchCalendar-hover-time"),Y(this._getDateDiv(this._lastHoverDate),"DynarchCalendar-hover-date"),this._lastHoverDate=null
|
||||
}
|
||||
}
|
||||
a||this._showTooltip()
|
||||
}
|
||||
function D(a,b){
|
||||
return"DynarchCalendar-"+a.split(/,/)[b]
|
||||
}
|
||||
function C(a){
|
||||
var b=a.target||a.srcElement,c=b;
|
||||
while(b&&b.getAttribute&&!b.getAttribute("dyc-type"))b=b.parentNode;
|
||||
return b.getAttribute&&b||c
|
||||
}
|
||||
function B(a){
|
||||
a=a||window.event;
|
||||
var b=this.els.topCont.style,c=bh(a,this._mouseDiff);
|
||||
b.left=c.x+"px",b.top=c.y+"px"
|
||||
}
|
||||
function A(b,c){
|
||||
c=c||window.event;
|
||||
var d=C(c);
|
||||
if(d&&!d.getAttribute("disabled")){
|
||||
var f=d.getAttribute("dyc-btn"),g=d.getAttribute("dyc-type"),h=d.getAttribute("dyc-date"),i=this.selection,j,k={
|
||||
mouseover:X,
|
||||
mousemove:X,
|
||||
mouseup:function(a){
|
||||
var b=d.getAttribute("dyc-cls");
|
||||
b&&Y(d,D(b,1)),clearTimeout(j),W(document,k,!0),k=null
|
||||
}
|
||||
};
|
||||
|
||||
if(b){
|
||||
setTimeout(bb(this.focus,this),1);
|
||||
var l=d.getAttribute("dyc-cls");
|
||||
l&&Z(d,D(l,1));
|
||||
if("menu"==f)this.toggleMenu();
|
||||
else if(d&&/^[+-][MY]$/.test(f))if(y(this,f)){
|
||||
var m=bb(function(){
|
||||
y(this,f,!0)?j=setTimeout(m,40):(k.mouseup(),y(this,f))
|
||||
},this);
|
||||
j=setTimeout(m,350),V(document,k,!0)
|
||||
}else k.mouseup();
|
||||
else if("year"==f)this.els.yearInput.focus(),this.els.yearInput.select();
|
||||
else if(g=="time-am")V(document,k,!0);
|
||||
else if(/^time/.test(g)){
|
||||
var m=bb(function(a){
|
||||
w.call(this,a),j=setTimeout(m,100)
|
||||
},this,g);
|
||||
w.call(this,g),j=setTimeout(m,350),V(document,k,!0)
|
||||
}else h&&i.type&&(i.type==a.SEL_MULTIPLE?c.shiftKey&&this._selRangeStart?i.selectRange(this._selRangeStart,h):(!c.ctrlKey&&!i.isSelected(h)&&i.clear(!0),i.set(h,!0),this._selRangeStart=h):(i.set(h),this.moveTo(P(h),2)),d=this._getDateDiv(h),E.call(this,!0,{
|
||||
target:d
|
||||
})),V(document,k,!0);
|
||||
e&&k&&/dbl/i.test(c.type)&&k.mouseup(),!this.args.fixed&&/^(DynarchCalendar-(topBar|bottomBar|weekend|weekNumber|menu(-sep)?))?$/.test(d.className)&&!this.args.cont&&(k.mousemove=bb(B,this),this._mouseDiff=bh(c,bi(this.els.topCont)),V(document,k,!0))
|
||||
}else if("today"==f)!this._menuVisible&&i.type==a.SEL_SINGLE&&i.set(new Date),this.moveTo(new Date,!0),z(this,!1);
|
||||
else if(/^m([0-9]+)/.test(f)){
|
||||
var h=new Date(this.date);
|
||||
h.setDate(1),h.setMonth(RegExp.$1),h.setFullYear(this._getInputYear()),this.moveTo(h,!0),z(this,!1)
|
||||
}else g=="time-am"&&this.setHours(this.getHours()+12);
|
||||
e||X(c)
|
||||
}
|
||||
}
|
||||
function z(a,b){
|
||||
a._menuVisible=b,$(b,a.els.title,"DynarchCalendar-pressed-title");
|
||||
var c=a.els.menu;
|
||||
f&&(c.style.height=a.els.main.offsetHeight+"px");
|
||||
if(!a.args.animation)bg(c,b),a.focused&&a.focus();
|
||||
else{
|
||||
a._menuAnim&&a._menuAnim.stop();
|
||||
var d=a.els.main.offsetHeight;
|
||||
f&&(c.style.width=a.els.topBar.offsetWidth+"px"),b&&(c.firstChild.style.marginTop=-d+"px",a.args.opacity>0&&bf(c,0),bg(c,!0)),a._menuAnim=bd({
|
||||
onUpdate:function(e,f){
|
||||
c.firstChild.style.marginTop=f(be.accel_b(e),-d,0,!b)+"px",a.args.opacity>0&&bf(c,f(be.accel_b(e),0,.85,!b))
|
||||
},
|
||||
onStop:function(){
|
||||
a.args.opacity>0&&bf(c,.85),c.firstChild.style.marginTop="",a._menuAnim=null,b||(bg(c,!1),a.focused&&a.focus())
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
function y(a,b,c){
|
||||
this._bodyAnim&&this._bodyAnim.stop();
|
||||
var d;
|
||||
if(b!=0){
|
||||
d=new Date(a.date),d.setDate(1);
|
||||
switch(b){
|
||||
case"-Y":case-2:
|
||||
d.setFullYear(d.getFullYear()-1);
|
||||
break;
|
||||
case"+Y":case 2:
|
||||
d.setFullYear(d.getFullYear()+1);
|
||||
break;
|
||||
case"-M":case-1:
|
||||
d.setMonth(d.getMonth()-1);
|
||||
break;
|
||||
case"+M":case 1:
|
||||
d.setMonth(d.getMonth()+1)
|
||||
}
|
||||
}else d=new Date;
|
||||
return a.moveTo(d,!c)
|
||||
}
|
||||
function w(a){
|
||||
switch(a){
|
||||
case"time-hour+":
|
||||
this.setHours(this.getHours()+1);
|
||||
break;
|
||||
case"time-hour-":
|
||||
this.setHours(this.getHours()-1);
|
||||
break;
|
||||
case"time-min+":
|
||||
this.setMinutes(this.getMinutes()+this.args.minuteStep);
|
||||
break;
|
||||
case"time-min-":
|
||||
this.setMinutes(this.getMinutes()-this.args.minuteStep);
|
||||
break;
|
||||
default:
|
||||
return
|
||||
}
|
||||
}
|
||||
function v(){
|
||||
this._bluringTimeout=setTimeout(bb(u,this),50)
|
||||
}
|
||||
function u(){
|
||||
this.focused=!1,Y(this.els.main,"DynarchCalendar-focused"),this._menuVisible&&z(this,!1),this.args.cont||this.hide(),this.callHooks("onBlur",this)
|
||||
}
|
||||
function t(){
|
||||
this._bluringTimeout&&clearTimeout(this._bluringTimeout),this.focused=!0,Z(this.els.main,"DynarchCalendar-focused"),this.callHooks("onFocus",this)
|
||||
}
|
||||
function s(a){
|
||||
var b=_("div"),c=a.els={},d={
|
||||
mousedown:bb(A,a,!0),
|
||||
mouseup:bb(A,a,!1),
|
||||
mouseover:bb(E,a,!0),
|
||||
mouseout:bb(E,a,!1),
|
||||
keypress:bb(J,a)
|
||||
};
|
||||
|
||||
a.args.noScroll||(d[g?"DOMMouseScroll":"mousewheel"]=bb(F,a)),e&&(d.dblclick=d.mousedown,d.keydown=d.keypress),b.innerHTML=m(a),bc(b.firstChild,function(a){
|
||||
var b=r[a.className];
|
||||
b&&(c[b]=a),e&&a.setAttribute("unselectable","on")
|
||||
}),V(c.main,d),V([c.focusLink,c.yearInput],a._focusEvents={
|
||||
focus:bb(t,a),
|
||||
blur:bb(v,a)
|
||||
}),a.moveTo(a.date,!1),a.setTime(null,!0);
|
||||
return c.topCont
|
||||
}
|
||||
function q(a){
|
||||
function d(){
|
||||
c.showTime&&(b.push("<td>"),p(a,b),b.push("</td>"))
|
||||
}
|
||||
var b=[],c=a.args;
|
||||
b.push("<table",j," style='width:100%'><tr>"),c.timePos=="left"&&d(),c.bottomBar&&(b.push("<td>"),b.push("<table",j,"><tr><td>","<div dyc-btn='today' dyc-cls='hover-bottomBar-today,pressed-bottomBar-today' dyc-type='bottomBar-today' ","class='DynarchCalendar-bottomBar-today'>",L("today"),"</div>","</td></tr></table>"),b.push("</td>")),c.timePos=="right"&&d(),b.push("</tr></table>");
|
||||
return b.join("")
|
||||
}
|
||||
function p(a,b){
|
||||
b.push("<table class='DynarchCalendar-time'"+j+"><tr>","<td rowspan='2'><div dyc-type='time-hour' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-hour'></div></td>","<td dyc-type='time-hour+' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-up'></td>","<td rowspan='2' class='DynarchCalendar-time-sep'></td>","<td rowspan='2'><div dyc-type='time-min' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-minute'></div></td>","<td dyc-type='time-min+' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-up'></td>"),a.args.showTime==12&&b.push("<td rowspan='2' class='DynarchCalendar-time-sep'></td>","<td rowspan='2'><div class='DynarchCalendar-time-am' dyc-type='time-am' dyc-cls='hover-time,pressed-time'></div></td>"),b.push("</tr><tr>","<td dyc-type='time-hour-' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-down'></td>","<td dyc-type='time-min-' dyc-cls='hover-time,pressed-time' class='DynarchCalendar-time-down'></td>","</tr></table>")
|
||||
}
|
||||
function o(a){
|
||||
var b=["<table height='100%'",j,"><tr><td>","<table style='margin-top: 1.5em'",j,">","<tr><td colspan='3'><input dyc-btn='year' class='DynarchCalendar-menu-year' size='6' value='",a.date.getFullYear(),"' /></td></tr>","<tr><td><div dyc-type='menubtn' dyc-cls='hover-navBtn,pressed-navBtn' dyc-btn='today'>",L("goToday"),"</div></td></tr>","</table>","<p class='DynarchCalendar-menu-sep'> </p>","<table class='DynarchCalendar-menu-mtable'",j,">"],c=L("smn"),d=0,e=b.length,f;
|
||||
while(d<12){
|
||||
b[e++]="<tr>";
|
||||
for(f=4;--f>0;)b[e++]="<td><div dyc-type='menubtn' dyc-cls='hover-navBtn,pressed-navBtn' dyc-btn='m"+d+"' class='DynarchCalendar-menu-month'>"+c[d++]+"</div></td>";
|
||||
b[e++]="</tr>"
|
||||
}
|
||||
b[e++]="</table></td></tr></table>";
|
||||
return b.join("")
|
||||
}
|
||||
function n(a){
|
||||
return"<div unselectable='on'>"+R(a.date,a.args.titleFormat)+"</div>"
|
||||
}
|
||||
function m(a){
|
||||
var b=["<table class='DynarchCalendar-topCont'",j,"><tr><td>","<div class='DynarchCalendar'>",e?"<a class='DynarchCalendar-focusLink' href='#'></a>":"<button class='DynarchCalendar-focusLink'></button>","<div class='DynarchCalendar-topBar'>","<div dyc-type='nav' dyc-btn='-Y' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-prevYear'><div></div></div>","<div dyc-type='nav' dyc-btn='+Y' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-nextYear'><div></div></div>","<div dyc-type='nav' dyc-btn='-M' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-prevMonth'><div></div></div>","<div dyc-type='nav' dyc-btn='+M' dyc-cls='hover-navBtn,pressed-navBtn' ","class='DynarchCalendar-navBtn DynarchCalendar-nextMonth'><div></div></div>","<table class='DynarchCalendar-titleCont'",j,"><tr><td>","<div dyc-type='title' dyc-btn='menu' dyc-cls='hover-title,pressed-title' class='DynarchCalendar-title'>",n(a),"</div></td></tr></table>","<div class='DynarchCalendar-dayNames'>",k(a),"</div>","</div>","<div class='DynarchCalendar-body'></div>"];
|
||||
(a.args.bottomBar||a.args.showTime)&&b.push("<div class='DynarchCalendar-bottomBar'>",q(a),"</div>"),b.push("<div class='DynarchCalendar-menu' style='display: none'>",o(a),"</div>","<div class='DynarchCalendar-tooltip'></div>","</div>","</td></tr></table>");
|
||||
return b.join("")
|
||||
}
|
||||
function l(a,b,c){
|
||||
b=b||a.date,c=c||a.fdow,b=new Date(b.getFullYear(),b.getMonth(),b.getDate(),12,0,0,0);
|
||||
var d=b.getMonth(),e=[],f=0,g=a.args.weekNumbers;
|
||||
b.setDate(1);
|
||||
var h=(b.getDay()-c)%7;
|
||||
h<0&&(h+=7),b.setDate(0-h),b.setDate(b.getDate()+1);
|
||||
var i=new Date,k=i.getDate(),l=i.getMonth(),m=i.getFullYear();
|
||||
e[f++]="<table class='DynarchCalendar-bodyTable'"+j+">";
|
||||
for(var n=0;n<6;++n){
|
||||
e[f++]="<tr class='DynarchCalendar-week",n==0&&(e[f++]=" DynarchCalendar-first-row"),n==5&&(e[f++]=" DynarchCalendar-last-row"),e[f++]="'>",g&&(e[f++]="<td class='DynarchCalendar-first-col'><div class='DynarchCalendar-weekNumber'>"+M(b)+"</div></td>");
|
||||
for(var o=0;o<7;++o){
|
||||
var p=b.getDate(),q=b.getMonth(),r=b.getFullYear(),s=1e4*r+100*(q+1)+p,t=a.selection.isSelected(s),u=a.isDisabled(b);
|
||||
e[f++]="<td class='",o==0&&!g&&(e[f++]=" DynarchCalendar-first-col"),o==0&&n==0&&(a._firstDateVisible=s),o==6&&(e[f++]=" DynarchCalendar-last-col",n==5&&(a._lastDateVisible=s)),t&&(e[f++]=" DynarchCalendar-td-selected"),e[f++]="'><div dyc-type='date' unselectable='on' dyc-date='"+s+"' ",u&&(e[f++]="disabled='1' "),e[f++]="class='DynarchCalendar-day",L("weekend").indexOf(b.getDay())>=0&&(e[f++]=" DynarchCalendar-weekend"),q!=d&&(e[f++]=" DynarchCalendar-day-othermonth"),p==k&&q==l&&r==m&&(e[f++]=" DynarchCalendar-day-today"),u&&(e[f++]=" DynarchCalendar-day-disabled"),t&&(e[f++]=" DynarchCalendar-day-selected"),u=a.args.dateInfo(b),u&&u.klass&&(e[f++]=" "+u.klass),e[f++]="'>"+p+"</div></td>",b=new Date(r,q,p+1,12,0,0,0)
|
||||
}
|
||||
e[f++]="</tr>"
|
||||
}
|
||||
e[f++]="</table>";
|
||||
return e.join("")
|
||||
}
|
||||
function k(a){
|
||||
var b=["<table",j,"><tr>"],c=0;
|
||||
a.args.weekNumbers&&b.push("<td><div class='DynarchCalendar-weekNumber'>",L("wk"),"</div></td>");
|
||||
while(c<7){
|
||||
var d=(c++ +a.fdow)%7;
|
||||
b.push("<td><div",L("weekend").indexOf(d)>=0?" class='DynarchCalendar-weekend'>":">",L("sdn")[d],"</div></td>")
|
||||
}
|
||||
b.push("</tr></table>");
|
||||
return b.join("")
|
||||
}
|
||||
function a(b){
|
||||
b=b||{},this.args=b=U(b,{
|
||||
animation:!f,
|
||||
cont:null,
|
||||
bottomBar:!0,
|
||||
date:!0,
|
||||
fdow:L("fdow"),
|
||||
min:null,
|
||||
max:null,
|
||||
reverseWheel:!1,
|
||||
selection:[],
|
||||
selectionType:a.SEL_SINGLE,
|
||||
weekNumbers:!1,
|
||||
align:"Bl/ / /T/r",
|
||||
inputField:null,
|
||||
trigger:null,
|
||||
dateFormat:"%Y-%m-%d",
|
||||
fixed:!1,
|
||||
opacity:e?1:3,
|
||||
titleFormat:"%b %Y",
|
||||
showTime:!1,
|
||||
timePos:"right",
|
||||
time:!0,
|
||||
minuteStep:5,
|
||||
noScroll:!1,
|
||||
disabled:bl,
|
||||
checkRange:!1,
|
||||
dateInfo:bl,
|
||||
onChange:bl,
|
||||
onSelect:bl,
|
||||
onTimeChange:bl,
|
||||
onFocus:bl,
|
||||
onBlur:bl
|
||||
}),this.handlers={};
|
||||
|
||||
var c=this,d=new Date;
|
||||
b.min=S(b.min),b.max=S(b.max),b.date===!0&&(b.date=d),b.time===!0&&(b.time=d.getHours()*100+Math.floor(d.getMinutes()/b.minuteStep)*b.minuteStep),this.date=S(b.date),this.time=b.time,this.fdow=b.fdow,bk("onChange onSelect onTimeChange onFocus onBlur".split(/\s+/),function(a){
|
||||
var d=b[a];
|
||||
d instanceof Array||(d=[d]),c.handlers[a]=d
|
||||
}),this.selection=new a.Selection(b.selection,b.selectionType,G,this);
|
||||
var g=s(this);
|
||||
b.cont&&bm(b.cont).appendChild(g),b.trigger&&this.manageFields(b.trigger,b.inputField,b.dateFormat)
|
||||
}
|
||||
var b=navigator.userAgent,c=/opera/i.test(b),d=/Konqueror|Safari|KHTML/i.test(b),e=/msie/i.test(b)&&!c&&!/mac_powerpc/i.test(b),f=e&&/msie 6/i.test(b),g=/gecko/i.test(b)&&!d&&!c&&!e,h=a.prototype,i=a.I18N={};
|
||||
|
||||
a.SEL_NONE=0,a.SEL_SINGLE=1,a.SEL_MULTIPLE=2,a.SEL_WEEK=3,a.dateToInt=O,a.intToDate=P,a.printDate=R,a.formatString=K,a.i18n=L,a.LANG=function(a,b,c){
|
||||
i.__=i[a]={
|
||||
name:b,
|
||||
data:c
|
||||
}
|
||||
},a.setup=function(b){
|
||||
return new a(b)
|
||||
},h.moveTo=function(a,b){
|
||||
var c=this;
|
||||
a=S(a);
|
||||
var d=Q(a,c.date,!0),e,f=c.args,g=f.min&&Q(a,f.min),h=f.max&&Q(a,f.max);
|
||||
f.animation||(b=!1),$(g!=null&&g<=1,[c.els.navPrevMonth,c.els.navPrevYear],"DynarchCalendar-navDisabled"),$(h!=null&&h>=-1,[c.els.navNextMonth,c.els.navNextYear],"DynarchCalendar-navDisabled"),g<-1&&(a=f.min,e=1,d=0),h>1&&(a=f.max,e=2,d=0),c.date=a,c.refresh(!!b),c.callHooks("onChange",c,a,b);
|
||||
if(b&&(d!=0||b!=2)){
|
||||
c._bodyAnim&&c._bodyAnim.stop();
|
||||
var i=c.els.body,j=_("div","DynarchCalendar-animBody-"+x[d],i),k=i.firstChild,m=bf(k)||.7,n=e?be.brakes:d==0?be.shake:be.accel_ab2,o=d*d>4,p=o?k.offsetTop:k.offsetLeft,q=j.style,r=o?i.offsetHeight:i.offsetWidth;
|
||||
d<0?r+=p:d>0?r=p-r:(r=Math.round(r/7),e==2&&(r=-r));
|
||||
if(!e&&d!=0){
|
||||
var s=j.cloneNode(!0),t=s.style,u=2*r;
|
||||
s.appendChild(k.cloneNode(!0)),t[o?"marginTop":"marginLeft"]=r+"px",i.appendChild(s)
|
||||
}
|
||||
k.style.visibility="hidden",j.innerHTML=l(c),c._bodyAnim=bd({
|
||||
onUpdate:function(a,b){
|
||||
var f=n(a);
|
||||
if(s)var g=b(f,r,u)+"px";
|
||||
if(e)q[o?"marginTop":"marginLeft"]=b(f,r,0)+"px";
|
||||
else{
|
||||
if(o||d==0)q.marginTop=b(d==0?n(a*a):f,0,r)+"px",d!=0&&(t.marginTop=g);
|
||||
if(!o||d==0)q.marginLeft=b(f,0,r)+"px",d!=0&&(t.marginLeft=g)
|
||||
}
|
||||
c.args.opacity>2&&s&&(bf(s,1-f),bf(j,f))
|
||||
},
|
||||
onStop:function(b){
|
||||
i.innerHTML=l(c,a),c._bodyAnim=null
|
||||
}
|
||||
})
|
||||
}
|
||||
c._lastHoverDate=null;
|
||||
return g>=-1&&h<=1
|
||||
},h.isDisabled=function(a){
|
||||
var b=this.args;
|
||||
return b.min&&Q(a,b.min)<0||b.max&&Q(a,b.max)>0||b.disabled(a)
|
||||
},h.toggleMenu=function(){
|
||||
z(this,!this._menuVisible)
|
||||
},h.refresh=function(a){
|
||||
var b=this.els;
|
||||
a||(b.body.innerHTML=l(this)),b.title.innerHTML=n(this),b.yearInput.value=this.date.getFullYear()
|
||||
},h.redraw=function(){
|
||||
var a=this,b=a.els;
|
||||
a.refresh(),b.dayNames.innerHTML=k(a),b.menu.innerHTML=o(a),b.bottomBar&&(b.bottomBar.innerHTML=q(a)),bc(b.topCont,function(c){
|
||||
var d=r[c.className];
|
||||
d&&(b[d]=c),c.className=="DynarchCalendar-menu-year"?(V(c,a._focusEvents),b.yearInput=c):e&&c.setAttribute("unselectable","on")
|
||||
}),a.setTime(null,!0)
|
||||
},h.setLanguage=function(b){
|
||||
var c=a.setLanguage(b);
|
||||
c&&(this.fdow=c.data.fdow,this.redraw())
|
||||
},a.setLanguage=function(a){
|
||||
var b=i[a];
|
||||
b&&(i.__=b);
|
||||
return b
|
||||
},h.focus=function(){
|
||||
try{
|
||||
this.els[this._menuVisible?"yearInput":"focusLink"].focus()
|
||||
}catch(a){}
|
||||
t.call(this)
|
||||
},h.blur=function(){
|
||||
this.els.focusLink.blur(),this.els.yearInput.blur(),u.call(this)
|
||||
},h.showAt=function(a,b,c){
|
||||
this._showAnim&&this._showAnim.stop(),c=c&&this.args.animation;
|
||||
var d=this.els.topCont,e=this,f=this.els.body.firstChild,g=f.offsetHeight,h=d.style;
|
||||
h.position="absolute",h.left=a+"px",h.top=b+"px",h.zIndex=1e4,h.display="",c&&(f.style.marginTop=-g+"px",this.args.opacity>1&&bf(d,0),this._showAnim=bd({
|
||||
onUpdate:function(a,b){
|
||||
f.style.marginTop=-b(be.accel_b(a),g,0)+"px",e.args.opacity>1&&bf(d,a)
|
||||
},
|
||||
onStop:function(){
|
||||
e.args.opacity>1&&bf(d,""),e._showAnim=null
|
||||
}
|
||||
}))
|
||||
},h.hide=function(){
|
||||
var a=this.els.topCont,b=this,c=this.els.body.firstChild,d=c.offsetHeight,e=bi(a).y;
|
||||
this.args.animation?(this._showAnim&&this._showAnim.stop(),this._showAnim=bd({
|
||||
onUpdate:function(f,g){
|
||||
b.args.opacity>1&&bf(a,1-f),c.style.marginTop=-g(be.accel_b(f),0,d)+"px",a.style.top=g(be.accel_ab(f),e,e-10)+"px"
|
||||
},
|
||||
onStop:function(){
|
||||
a.style.display="none",c.style.marginTop="",b.args.opacity>1&&bf(a,""),b._showAnim=null
|
||||
}
|
||||
})):a.style.display="none",this.inputField=null
|
||||
},h.popup=function(a,b){
|
||||
function h(b){
|
||||
var c={
|
||||
x:i.x,
|
||||
y:i.y
|
||||
};
|
||||
|
||||
if(!b)return c;
|
||||
/B/.test(b)&&(c.y+=a.offsetHeight),/b/.test(b)&&(c.y+=a.offsetHeight-f.y),/T/.test(b)&&(c.y-=f.y),/l/.test(b)&&(c.x-=f.x-a.offsetWidth),/L/.test(b)&&(c.x-=f.x),/R/.test(b)&&(c.x+=a.offsetWidth),/c/i.test(b)&&(c.x+=(a.offsetWidth-f.x)/2),/m/i.test(b)&&(c.y+=(a.offsetHeight-f.y)/2);
|
||||
return c
|
||||
}
|
||||
a=bm(a),b||(b=this.args.align),b=b.split(/\x2f/);
|
||||
var c=bi(a),d=this.els.topCont,e=d.style,f,g=bj();
|
||||
e.visibility="hidden",e.display="",this.showAt(0,0),document.body.appendChild(d),f={
|
||||
x:d.offsetWidth,
|
||||
y:d.offsetHeight
|
||||
};
|
||||
|
||||
var i=c;
|
||||
i=h(b[0]),i.y<g.y&&(i.y=c.y,i=h(b[1])),i.x+f.x>g.x+g.w&&(i.x=c.x,i=h(b[2])),i.y+f.y>g.y+g.h&&(i.y=c.y,i=h(b[3])),i.x<g.x&&(i.x=c.x,i=h(b[4])),this.showAt(i.x,i.y,!0),e.visibility="",this.focus()
|
||||
},h.manageFields=function(b,c,d){
|
||||
var e=this;
|
||||
c=bm(c),b=bm(b),/^button$/i.test(b.tagName)&&b.setAttribute("type","button"),V(b,"click",function(){
|
||||
e.inputField=c,e.dateFormat=d;
|
||||
if(e.selection.type==a.SEL_SINGLE){
|
||||
var f,g,h,i;
|
||||
f=/input|textarea/i.test(c.tagName)?c.value:c.innerText||c.textContent,f&&(g=/(^|[^%])%[bBmo]/.exec(d),h=/(^|[^%])%[de]/.exec(d),g&&h&&(i=g.index<h.index),f=Calendar.parseDate(f,i),f&&(e.selection.set(f,!1,!0),e.args.showTime&&(e.setHours(f.getHours()),e.setMinutes(f.getMinutes())),e.moveTo(f)))
|
||||
}
|
||||
e.popup(b)
|
||||
})
|
||||
},h.callHooks=function(a){
|
||||
var b=ba(arguments,1),c=this.handlers[a],d=0;
|
||||
for(;d<c.length;++d)c[d].apply(this,b)
|
||||
},h.addEventListener=function(a,b){
|
||||
this.handlers[a].push(b)
|
||||
},h.removeEventListener=function(a,b){
|
||||
var c=this.handlers[a],d=c.length;
|
||||
while(--d>=0)c[d]===b&&c.splice(d,1)
|
||||
},h.getTime=function(){
|
||||
return this.time
|
||||
},h.setTime=function(a,b){
|
||||
if(this.args.showTime){
|
||||
a=a!=null?a:this.time,this.time=a;
|
||||
var c=this.getHours(),d=this.getMinutes(),e=c<12;
|
||||
this.args.showTime==12&&(c==0&&(c=12),c>12&&(c-=12),this.els.timeAM.innerHTML=L(e?"AM":"PM")),c<10&&(c="0"+c),d<10&&(d="0"+d),this.els.timeHour.innerHTML=c,this.els.timeMinute.innerHTML=d,b||this.callHooks("onTimeChange",this,a)
|
||||
}
|
||||
},h.getHours=function(){
|
||||
return Math.floor(this.time/100)
|
||||
},h.getMinutes=function(){
|
||||
return this.time%100
|
||||
},h.setHours=function(a){
|
||||
a<0&&(a+=24),this.setTime(100*(a%24)+this.time%100)
|
||||
},h.setMinutes=function(a){
|
||||
a<0&&(a+=60),a=Math.floor(a/this.args.minuteStep)*this.args.minuteStep,this.setTime(100*this.getHours()+a%60)
|
||||
},h._getInputYear=function(){
|
||||
var a=parseInt(this.els.yearInput.value,10);
|
||||
isNaN(a)&&(a=this.date.getFullYear());
|
||||
return a
|
||||
},h._showTooltip=function(a){
|
||||
var b="",c,d=this.els.tooltip;
|
||||
a&&(a=P(a),c=this.args.dateInfo(a),c&&c.tooltip&&(b="<div class='DynarchCalendar-tooltipCont'>"+R(a,c.tooltip)+"</div>")),d.innerHTML=b
|
||||
};
|
||||
|
||||
var j=" align='center' cellspacing='0' cellpadding='0'",r={
|
||||
"DynarchCalendar-topCont":"topCont",
|
||||
"DynarchCalendar-focusLink":"focusLink",
|
||||
DynarchCalendar:"main",
|
||||
"DynarchCalendar-topBar":"topBar",
|
||||
"DynarchCalendar-title":"title",
|
||||
"DynarchCalendar-dayNames":"dayNames",
|
||||
"DynarchCalendar-body":"body",
|
||||
"DynarchCalendar-menu":"menu",
|
||||
"DynarchCalendar-menu-year":"yearInput",
|
||||
"DynarchCalendar-bottomBar":"bottomBar",
|
||||
"DynarchCalendar-tooltip":"tooltip",
|
||||
"DynarchCalendar-time-hour":"timeHour",
|
||||
"DynarchCalendar-time-minute":"timeMinute",
|
||||
"DynarchCalendar-time-am":"timeAM",
|
||||
"DynarchCalendar-navBtn DynarchCalendar-prevYear":"navPrevYear",
|
||||
"DynarchCalendar-navBtn DynarchCalendar-nextYear":"navNextYear",
|
||||
"DynarchCalendar-navBtn DynarchCalendar-prevMonth":"navPrevMonth",
|
||||
"DynarchCalendar-navBtn DynarchCalendar-nextMonth":"navNextMonth"
|
||||
},x={
|
||||
"-3":"backYear",
|
||||
"-2":"back",
|
||||
0:"now",
|
||||
2:"fwd",
|
||||
3:"fwdYear"
|
||||
},H={
|
||||
37:-1,
|
||||
38:-2,
|
||||
39:1,
|
||||
40:2
|
||||
},I={
|
||||
33:-1,
|
||||
34:1
|
||||
};
|
||||
|
||||
h._getDateDiv=function(a){
|
||||
var b=null;
|
||||
if(a)try{
|
||||
bc(this.els.body,function(c){
|
||||
if(c.getAttribute("dyc-date")==a)throw b=c
|
||||
})
|
||||
}catch(c){}
|
||||
return b
|
||||
},(a.Selection=function(a,b,c,d){
|
||||
this.type=b,this.sel=a instanceof Array?a:[a],this.onChange=bb(c,d),this.cal=d
|
||||
}).prototype={
|
||||
get:function(){
|
||||
return this.type==a.SEL_SINGLE?this.sel[0]:this.sel
|
||||
},
|
||||
isEmpty:function(){
|
||||
return this.sel.length==0
|
||||
},
|
||||
set:function(b,c,d){
|
||||
var e=this.type==a.SEL_SINGLE;
|
||||
b instanceof Array?(this.sel=b,this.normalize(),d||this.onChange(this)):(b=O(b),e||!this.isSelected(b)?(e?this.sel=[b]:this.sel.splice(this.findInsertPos(b),0,b),this.normalize(),d||this.onChange(this)):c&&this.unselect(b,d))
|
||||
},
|
||||
reset:function(){
|
||||
this.sel=[],this.set.apply(this,arguments)
|
||||
},
|
||||
countDays:function(){
|
||||
var a=0,b=this.sel,c=b.length,d,e,f;
|
||||
while(--c>=0)d=b[c],d instanceof Array&&(e=P(d[0]),f=P(d[1]),a+=Math.round(Math.abs(f.getTime()-e.getTime())/864e5)),++a;
|
||||
return a
|
||||
},
|
||||
unselect:function(a,b){
|
||||
a=O(a);
|
||||
var c=!1;
|
||||
for(var d=this.sel,e=d.length,f;--e>=0;){
|
||||
f=d[e];
|
||||
if(f instanceof Array){
|
||||
if(a>=f[0]&&a<=f[1]){
|
||||
var g=P(a),h=g.getDate();
|
||||
if(a==f[0])g.setDate(h+1),f[0]=O(g),c=!0;
|
||||
else if(a==f[1])g.setDate(h-1),f[1]=O(g),c=!0;
|
||||
else{
|
||||
var i=new Date(g);
|
||||
i.setDate(h+1),g.setDate(h-1),d.splice(e+1,0,[O(i),f[1]]),f[1]=O(g),c=!0
|
||||
}
|
||||
}
|
||||
}else a==f&&(d.splice(e,1),c=!0)
|
||||
}
|
||||
c&&(this.normalize(),b||this.onChange(this))
|
||||
},
|
||||
normalize:function(){
|
||||
this.sel=this.sel.sort(function(a,b){
|
||||
a instanceof Array&&(a=a[0]),b instanceof Array&&(b=b[0]);
|
||||
return a-b
|
||||
});
|
||||
for(var a=this.sel,b=a.length,c,d;--b>=0;){
|
||||
c=a[b];
|
||||
if(c instanceof Array){
|
||||
if(c[0]>c[1]){
|
||||
a.splice(b,1);
|
||||
continue
|
||||
}
|
||||
c[0]==c[1]&&(c=a[b]=c[0])
|
||||
}
|
||||
if(d){
|
||||
var e=d,f=c instanceof Array?c[1]:c;
|
||||
f=P(f),f.setDate(f.getDate()+1),f=O(f);
|
||||
if(f>=e){
|
||||
var g=a[b+1];
|
||||
c instanceof Array&&g instanceof Array?(c[1]=g[1],a.splice(b+1,1)):c instanceof Array?(c[1]=d,a.splice(b+1,1)):g instanceof Array?(g[0]=c,a.splice(b,1)):(a[b]=[c,g],a.splice(b+1,1))
|
||||
}
|
||||
}
|
||||
d=c instanceof Array?c[0]:c
|
||||
}
|
||||
},
|
||||
findInsertPos:function(a){
|
||||
for(var b=this.sel,c=b.length,d;--c>=0;){
|
||||
d=b[c],d instanceof Array&&(d=d[0]);
|
||||
if(d<=a)break
|
||||
}
|
||||
return c+1
|
||||
},
|
||||
clear:function(a){
|
||||
this.sel=[],a||this.onChange(this)
|
||||
},
|
||||
selectRange:function(b,c){
|
||||
b=O(b),c=O(c);
|
||||
if(b>c){
|
||||
var d=b;
|
||||
b=c,c=d
|
||||
}
|
||||
var e=this.cal.args.checkRange;
|
||||
if(!e)return this._do_selectRange(b,c);
|
||||
try{
|
||||
bk((new a.Selection([[b,c]],a.SEL_MULTIPLE,bl)).getDates(),bb(function(a){
|
||||
if(this.isDisabled(a)){
|
||||
e instanceof Function&&e(a,this);
|
||||
throw"OUT"
|
||||
}
|
||||
},this.cal)),this._do_selectRange(b,c)
|
||||
}catch(f){}
|
||||
},
|
||||
_do_selectRange:function(a,b){
|
||||
this.sel.push([a,b]),this.normalize(),this.onChange(this)
|
||||
},
|
||||
isSelected:function(a){
|
||||
for(var b=this.sel.length,c;--b>=0;){
|
||||
c=this.sel[b];
|
||||
if(c instanceof Array&&a>=c[0]&&a<=c[1]||a==c)return!0
|
||||
}
|
||||
return!1
|
||||
},
|
||||
getFirstDate:function(){
|
||||
var a=this.sel[0];
|
||||
a&&a instanceof Array&&(a=a[0]);
|
||||
return a
|
||||
},
|
||||
getLastDate:function(){
|
||||
if(this.sel.length>0){
|
||||
var a=this.sel[this.sel.length-1];
|
||||
a&&a instanceof Array&&(a=a[1]);
|
||||
return a
|
||||
}
|
||||
},
|
||||
print:function(a,b){
|
||||
var c=[],d=0,e,f=this.cal.getHours(),g=this.cal.getMinutes();
|
||||
b||(b=" -> ");
|
||||
while(d<this.sel.length)e=this.sel[d++],e instanceof Array?c.push(R(P(e[0],f,g),a)+b+R(P(e[1],f,g),a)):c.push(R(P(e,f,g),a));
|
||||
return c
|
||||
},
|
||||
getDates:function(a){
|
||||
var b=[],c=0,d,e;
|
||||
while(c<this.sel.length){
|
||||
e=this.sel[c++];
|
||||
if(e instanceof Array){
|
||||
d=P(e[0]),e=e[1];
|
||||
while(O(d)<e)b.push(a?R(d,a):new Date(d)),d.setDate(d.getDate()+1)
|
||||
}else d=P(e);
|
||||
b.push(a?R(d,a):d)
|
||||
}
|
||||
return b
|
||||
}
|
||||
},a.isUnicodeLetter=function(a){
|
||||
return a.toUpperCase()!=a.toLowerCase()
|
||||
},a.parseDate=function(b,c,d){
|
||||
if(!/\S/.test(b))return"";
|
||||
b=b.replace(/^\s+/,"").replace(/\s+$/,""),d=d||new Date;
|
||||
var e=null,f=null,g=null,h=null,i=null,j=null,k=b.match(/([0-9]{1,2}):([0-9]{1,2})(:[0-9]{1,2})?\s*(am|pm)?/i);
|
||||
k&&(h=parseInt(k[1],10),i=parseInt(k[2],10),j=k[3]?parseInt(k[3].substr(1),10):0,b=b.substring(0,k.index)+b.substr(k.index+k[0].length),k[4]&&(k[4].toLowerCase()=="pm"&&h<12?h+=12:k[4].toLowerCase()=="am"&&h>=12&&(h-=12)));
|
||||
var l=function(){
|
||||
function k(a){
|
||||
d.push(a)
|
||||
}
|
||||
function j(){
|
||||
var a="";
|
||||
while(g()&&/[0-9]/.test(g()))a+=f();
|
||||
if(h(g()))return i(a);
|
||||
return parseInt(a,10)
|
||||
}
|
||||
function i(a){
|
||||
while(g()&&h(g()))a+=f();
|
||||
return a
|
||||
}
|
||||
function g(){
|
||||
return b.charAt(c)
|
||||
}
|
||||
function f(){
|
||||
return b.charAt(c++)
|
||||
}
|
||||
var c=0,d=[],e,h=a.isUnicodeLetter;
|
||||
while(c<b.length)e=g(),h(e)?k(i("")):/[0-9]/.test(e)?k(j()):f();
|
||||
return d
|
||||
}(),m=[];
|
||||
for(var n=0;n<l.length;++n){
|
||||
var o=l[n];
|
||||
/^[0-9]{4}$/.test(o)?(e=parseInt(o,10),f==null&&g==null&&c==null&&(c=!0)):/^[0-9]{1,2}$/.test(o)?(o=parseInt(o,10),o<60?o<0||o>12?o>=1&&o<=31&&(g=o):m.push(o):e=o):f==null&&(f=T(o))
|
||||
}
|
||||
m.length<2?m.length==1&&(g==null?g=m.shift():f==null&&(f=m.shift())):c?(f==null&&(f=m.shift()),g==null&&(g=m.shift())):(g==null&&(g=m.shift()),f==null&&(f=m.shift())),e==null&&(e=m.length>0?m.shift():d.getFullYear()),e<30?e+=2e3:e<99&&(e+=1900),f==null&&(f=d.getMonth()+1);
|
||||
return e!=null&&f!=null&&g!=null?new Date(e,f-1,g,h,i,j):null
|
||||
};
|
||||
|
||||
var be={
|
||||
elastic_b:function(a){
|
||||
return 1-Math.cos(-a*5.5*Math.PI)/Math.pow(2,7*a)
|
||||
},
|
||||
magnetic:function(a){
|
||||
return 1-Math.cos(a*a*a*10.5*Math.PI)/Math.exp(4*a)
|
||||
},
|
||||
accel_b:function(a){
|
||||
a=1-a;
|
||||
return 1-a*a*a*a
|
||||
},
|
||||
accel_a:function(a){
|
||||
return a*a*a
|
||||
},
|
||||
accel_ab:function(a){
|
||||
a=1-a;
|
||||
return 1-Math.sin(a*a*Math.PI/2)
|
||||
},
|
||||
accel_ab2:function(a){
|
||||
return(a/=.5)<1?.5*a*a:-0.5*(--a*(a-2)-1)
|
||||
},
|
||||
brakes:function(a){
|
||||
a=1-a;
|
||||
return 1-Math.sin(a*a*Math.PI)
|
||||
},
|
||||
shake:function(a){
|
||||
return a<.5?-Math.cos(a*11*Math.PI)*a*a:(a=1-a,Math.cos(a*11*Math.PI)*a*a)
|
||||
}
|
||||
},bl=new Function;
|
||||
return a
|
||||
}()
|
||||
61
metadata/include/jscalendar/src/js/lang/ca.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("ca", "Catalan", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Anar a Avui",
|
||||
|
||||
today: "Avui", // appears in bottom bar
|
||||
|
||||
wk: "sem",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "gener",
|
||||
"febrer",
|
||||
"març",
|
||||
"abril",
|
||||
"maig",
|
||||
"juny",
|
||||
"juliol",
|
||||
"agost",
|
||||
"setembre",
|
||||
"octubre",
|
||||
"novembre",
|
||||
"desembre" ],
|
||||
|
||||
smn : [ "gen",
|
||||
"feb",
|
||||
"mar",
|
||||
"abr",
|
||||
"mai",
|
||||
"jun",
|
||||
"jul",
|
||||
"ago",
|
||||
"set",
|
||||
"oct",
|
||||
"nov",
|
||||
"des" ],
|
||||
|
||||
dn : [ "diumenge",
|
||||
"dilluns",
|
||||
"dimarts",
|
||||
"dimecres",
|
||||
"dijous",
|
||||
"divendres",
|
||||
"dissabte",
|
||||
"diumenge" ],
|
||||
|
||||
sdn : [ "dg",
|
||||
"dl",
|
||||
"dt",
|
||||
"dc",
|
||||
"dj",
|
||||
"dv",
|
||||
"ds",
|
||||
"dg" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/cn.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("cn", "中文", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "今天",
|
||||
|
||||
today: "今天", // appears in bottom bar
|
||||
|
||||
wk: "周",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "AM",
|
||||
|
||||
PM: "PM",
|
||||
|
||||
mn : [ "一月",
|
||||
"二月",
|
||||
"三月",
|
||||
"四月",
|
||||
"五月",
|
||||
"六月",
|
||||
"七月",
|
||||
"八月",
|
||||
"九月",
|
||||
"十月",
|
||||
"十一月",
|
||||
"十二月"],
|
||||
|
||||
smn : [ "一月",
|
||||
"二月",
|
||||
"三月",
|
||||
"四月",
|
||||
"五月",
|
||||
"六月",
|
||||
"七月",
|
||||
"八月",
|
||||
"九月",
|
||||
"十月",
|
||||
"十一月",
|
||||
"十二月"],
|
||||
|
||||
dn : [ "日",
|
||||
"一",
|
||||
"二",
|
||||
"三",
|
||||
"四",
|
||||
"五",
|
||||
"六",
|
||||
"日" ],
|
||||
|
||||
sdn : [ "日",
|
||||
"一",
|
||||
"二",
|
||||
"三",
|
||||
"四",
|
||||
"五",
|
||||
"六",
|
||||
"日" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/cz.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("cz", "Czech", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Ukaž dnešek",
|
||||
|
||||
today: "Dnes", // appears in bottom bar
|
||||
|
||||
wk: "týd",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Leden",
|
||||
"Únor",
|
||||
"Březen",
|
||||
"Duben",
|
||||
"Květen",
|
||||
"Červen",
|
||||
"Červenec",
|
||||
"Srpen",
|
||||
"Září",
|
||||
"Říjen",
|
||||
"Listopad",
|
||||
"Prosinec" ],
|
||||
|
||||
smn : [ "Led",
|
||||
"Úno",
|
||||
"Bře",
|
||||
"Dub",
|
||||
"Kvě",
|
||||
"Črn",
|
||||
"Črc",
|
||||
"Srp",
|
||||
"Zář",
|
||||
"Říj",
|
||||
"Lis",
|
||||
"Pro" ],
|
||||
|
||||
dn : [ "Neděle",
|
||||
"Pondělí",
|
||||
"Úterý",
|
||||
"Středa",
|
||||
"Čtvrtek",
|
||||
"Pátek",
|
||||
"Sobota",
|
||||
"Neděle" ],
|
||||
|
||||
sdn : [ "Ne",
|
||||
"Po",
|
||||
"Út",
|
||||
"St",
|
||||
"Čt",
|
||||
"Pá",
|
||||
"So",
|
||||
"Ne" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/de.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("de", "Deutsch", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday : "Heute ausw\u00e4hlen",
|
||||
|
||||
today: "Heute", // appears in bottom bar
|
||||
|
||||
wk: "KW",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Januar",
|
||||
"Februar",
|
||||
"M\u00e4rz",
|
||||
"April",
|
||||
"Mai",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"August",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"Dezember" ],
|
||||
|
||||
smn : [ "Jan",
|
||||
"Feb",
|
||||
"M\u00e4r",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Dez" ],
|
||||
|
||||
dn : [ "Sonntag",
|
||||
"Montag",
|
||||
"Dienstag",
|
||||
"Mittwoch",
|
||||
"Donnerstag",
|
||||
"Freitag",
|
||||
"Samstag",
|
||||
"Sonntag" ],
|
||||
|
||||
sdn : [ "So",
|
||||
"Mo",
|
||||
"Di",
|
||||
"Mi",
|
||||
"Do",
|
||||
"Fr",
|
||||
"Sa",
|
||||
"So" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/en.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("en", "English", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Go Today",
|
||||
|
||||
today: "Today", // appears in bottom bar
|
||||
|
||||
wk: "wk",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "January",
|
||||
"February",
|
||||
"March",
|
||||
"April",
|
||||
"May",
|
||||
"June",
|
||||
"July",
|
||||
"August",
|
||||
"September",
|
||||
"October",
|
||||
"November",
|
||||
"December" ],
|
||||
|
||||
smn : [ "Jan",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dec" ],
|
||||
|
||||
dn : [ "Sunday",
|
||||
"Monday",
|
||||
"Tuesday",
|
||||
"Wednesday",
|
||||
"Thursday",
|
||||
"Friday",
|
||||
"Saturday",
|
||||
"Sunday" ],
|
||||
|
||||
sdn : [ "Su",
|
||||
"Mo",
|
||||
"Tu",
|
||||
"We",
|
||||
"Th",
|
||||
"Fr",
|
||||
"Sa",
|
||||
"Su" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/es.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("es", "Español", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Ir a Hoy",
|
||||
|
||||
today: "Hoy", // appears in bottom bar
|
||||
|
||||
wk: "sem",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Enero",
|
||||
"Febrero",
|
||||
"Marzo",
|
||||
"Abril",
|
||||
"Mayo",
|
||||
"Junio",
|
||||
"Julio",
|
||||
"Agosto",
|
||||
"Septiembre",
|
||||
"Octubre",
|
||||
"Noviembre",
|
||||
"Diciembre" ],
|
||||
|
||||
smn : [ "Ene",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Abr",
|
||||
"May",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Ago",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Dic" ],
|
||||
|
||||
dn : [ "Domingo",
|
||||
"Lunes",
|
||||
"Martes",
|
||||
"Miercoles",
|
||||
"Jueves",
|
||||
"Viernes",
|
||||
"Sabado",
|
||||
"Domingo" ],
|
||||
|
||||
sdn : [ "Do",
|
||||
"Lu",
|
||||
"Ma",
|
||||
"Mi",
|
||||
"Ju",
|
||||
"Vi",
|
||||
"Sa",
|
||||
"Do" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/fr.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("fr", "Français", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday : "Aujourd'hui",
|
||||
|
||||
today: "Aujourd'hui", // appears in bottom bar
|
||||
|
||||
wk: "sm.",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Janvier",
|
||||
"Février",
|
||||
"Mars",
|
||||
"Avril",
|
||||
"Mai",
|
||||
"Juin",
|
||||
"Juillet",
|
||||
"Août",
|
||||
"Septembre",
|
||||
"Octobre",
|
||||
"Novembre",
|
||||
"Décembre" ],
|
||||
|
||||
smn : [ "Jan",
|
||||
"Fév",
|
||||
"Mar",
|
||||
"Avr",
|
||||
"Mai",
|
||||
"Juin",
|
||||
"Juil",
|
||||
"Aou",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Nov",
|
||||
"Déc" ],
|
||||
|
||||
dn : [ "Dimanche",
|
||||
"Lundi",
|
||||
"Mardi",
|
||||
"Mercredi",
|
||||
"Jeudi",
|
||||
"Vendredi",
|
||||
"Samedi",
|
||||
"Dimanche" ],
|
||||
|
||||
sdn : [ "Di",
|
||||
"Lu",
|
||||
"Ma",
|
||||
"Me",
|
||||
"Je",
|
||||
"Ve",
|
||||
"Sa",
|
||||
"Di" ]
|
||||
|
||||
});
|
||||
58
metadata/include/jscalendar/src/js/lang/hr.js
Normal file
@ -0,0 +1,58 @@
|
||||
Calendar.LANG("hr", "Hrvatski", {
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Odaberi Danas",
|
||||
|
||||
today: "Danas", // appears in bottom bar
|
||||
|
||||
wk: "tj",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Siječanj",
|
||||
"Veljača",
|
||||
"Ožujak",
|
||||
"Travanj",
|
||||
"Svibanj",
|
||||
"Lipanj",
|
||||
"Srpanj",
|
||||
"Kolovoz",
|
||||
"Rujan",
|
||||
"Listopad",
|
||||
"Studeni",
|
||||
"Prosinac" ],
|
||||
|
||||
smn : [ "Sij",
|
||||
"Velj",
|
||||
"Ožu",
|
||||
"Tra",
|
||||
"Svi",
|
||||
"Lip",
|
||||
"Srp",
|
||||
"Kol",
|
||||
"Ruj",
|
||||
"Lis",
|
||||
"Stu",
|
||||
"Pro" ],
|
||||
|
||||
dn : [ "Nedjelja",
|
||||
"Ponedjeljak",
|
||||
"Utorak",
|
||||
"Srijeda",
|
||||
"Četvrtak",
|
||||
"Petak",
|
||||
"Subota",
|
||||
"Nedjelja" ],
|
||||
|
||||
sdn : [ "Ned",
|
||||
"Pon",
|
||||
"Uto",
|
||||
"Sri",
|
||||
"Čet",
|
||||
"Pet",
|
||||
"Sub",
|
||||
"Ned" ]
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/it.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("it", "Italiano", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Vai a oggi",
|
||||
|
||||
today: "Oggi", // appears in bottom bar
|
||||
|
||||
wk: "set",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Gennaio",
|
||||
"Febbraio",
|
||||
"Marzo",
|
||||
"Aprile",
|
||||
"Maggio",
|
||||
"Giugno",
|
||||
"Luglio",
|
||||
"Agosto",
|
||||
"Settembre",
|
||||
"Ottobre",
|
||||
"Novembre",
|
||||
"Dicembre" ],
|
||||
|
||||
smn : [ "Gen",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"Mag",
|
||||
"Giu",
|
||||
"Lug",
|
||||
"Ago",
|
||||
"Set",
|
||||
"Ott",
|
||||
"Nov",
|
||||
"Dic" ],
|
||||
|
||||
dn : [ "Domenica",
|
||||
"Lunedì",
|
||||
"Martedì",
|
||||
"Mercoledì",
|
||||
"Giovedi",
|
||||
"Venerdì",
|
||||
"Sabato",
|
||||
"Domenica" ],
|
||||
|
||||
sdn : [ "Do",
|
||||
"Lu",
|
||||
"Ma",
|
||||
"Me",
|
||||
"Gi",
|
||||
"Ve",
|
||||
"Sa",
|
||||
"Do" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/jp.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("jp", "Japanese", {
|
||||
|
||||
fdow: 1, // 地元の週の初めの日; 0 = 日曜日, 1 = 月曜日, 等.
|
||||
|
||||
goToday: "本日へ",
|
||||
|
||||
today: "本日", // ボットンバーに表示
|
||||
|
||||
wk: "週",
|
||||
|
||||
weekend: "0,6", // 0 = 日曜日, 1 = 月曜日, 等.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "1月",
|
||||
"2月",
|
||||
"3月",
|
||||
"4月",
|
||||
"5月",
|
||||
"6月",
|
||||
"7月",
|
||||
"8月",
|
||||
"9月",
|
||||
"10月",
|
||||
"11月",
|
||||
"12月" ],
|
||||
|
||||
smn : [ "1月",
|
||||
"2月",
|
||||
"3月",
|
||||
"4月",
|
||||
"5月",
|
||||
"6月",
|
||||
"7月",
|
||||
"8月",
|
||||
"9月",
|
||||
"10月",
|
||||
"11月",
|
||||
"12月" ],
|
||||
|
||||
dn : [ "日曜日",
|
||||
"月曜日",
|
||||
"火曜日",
|
||||
"水曜日",
|
||||
"木曜日",
|
||||
"金曜日",
|
||||
"土曜日",
|
||||
"日曜日" ],
|
||||
|
||||
sdn : [ "日",
|
||||
"月",
|
||||
"火",
|
||||
"水",
|
||||
"木",
|
||||
"金",
|
||||
"土",
|
||||
"日" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/nl.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("nl", "Nederlands", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "naar vandaag",
|
||||
|
||||
today: "Vandaag", // appears in bottom bar
|
||||
|
||||
wk: "wk",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "vm",
|
||||
|
||||
PM: "nm",
|
||||
|
||||
mn : [ "Januari",
|
||||
"Februari",
|
||||
"Maart",
|
||||
"April",
|
||||
"Mei",
|
||||
"Juni",
|
||||
"Juli",
|
||||
"Augustus",
|
||||
"September",
|
||||
"Oktober",
|
||||
"November",
|
||||
"December" ],
|
||||
|
||||
smn : [ "Jan",
|
||||
"Feb",
|
||||
"Maa",
|
||||
"Apr",
|
||||
"Mei",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Okt",
|
||||
"Nov",
|
||||
"Dec" ],
|
||||
|
||||
dn : [ "Zondag",
|
||||
"Maandag",
|
||||
"Dinsdag",
|
||||
"Woensdag",
|
||||
"Donderdag",
|
||||
"Vrijdag",
|
||||
"Zaterdag",
|
||||
"Zondag" ],
|
||||
|
||||
sdn : [ "Zo",
|
||||
"Ma",
|
||||
"Di",
|
||||
"Wo",
|
||||
"Do",
|
||||
"Vr",
|
||||
"Za",
|
||||
"Zo" ]
|
||||
|
||||
});
|
||||
64
metadata/include/jscalendar/src/js/lang/pl.js
Normal file
@ -0,0 +1,64 @@
|
||||
// autor: Piotr kwiatkowski
|
||||
// www: http://pasjonata.net
|
||||
|
||||
Calendar.LANG("pl", "Polish", {
|
||||
|
||||
fdow: 1, // pierwszy dzień tygodnia; 0 = Niedziela, 1 = Poniedziałek, itd.
|
||||
|
||||
goToday: "Idzie Dzisiaj",
|
||||
|
||||
today: "Dziś",
|
||||
|
||||
wk: "wk",
|
||||
|
||||
weekend: "0,6", // 0 = Niedziela, 1 = Poniedziałek, itd.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Styczeń",
|
||||
"Luty",
|
||||
"Marzec",
|
||||
"Kwiecień",
|
||||
"Maj",
|
||||
"Czerwiec",
|
||||
"Lipiec",
|
||||
"Sierpień",
|
||||
"Wrzesień",
|
||||
"Październik",
|
||||
"Listopad",
|
||||
"Grudzień" ],
|
||||
|
||||
smn : [ "Sty",
|
||||
"Lut",
|
||||
"Mar",
|
||||
"Kwi",
|
||||
"Maj",
|
||||
"Cze",
|
||||
"Lip",
|
||||
"Sie",
|
||||
"Wrz",
|
||||
"Paź",
|
||||
"Lis",
|
||||
"Gru" ],
|
||||
|
||||
dn : [ "Niedziela",
|
||||
"Poniedziałek",
|
||||
"Wtorek",
|
||||
"Środa",
|
||||
"Czwartek",
|
||||
"Piątek",
|
||||
"Sobota",
|
||||
"Niedziela" ],
|
||||
|
||||
sdn : [ "Ni",
|
||||
"Po",
|
||||
"Wt",
|
||||
"Śr",
|
||||
"Cz",
|
||||
"Pi",
|
||||
"So",
|
||||
"Ni" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/pt.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("pt", "Portuguese", {
|
||||
|
||||
fdow: 1, // primeiro dia da semana para esse local; 0 = Domingo, 1 = Segunda, etc.
|
||||
|
||||
goToday: "Dia de Hoje",
|
||||
|
||||
today: "Hoje",
|
||||
|
||||
wk: "sm",
|
||||
|
||||
weekend: "0,6", // 0 = Domingo, 1 = Segunda, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Janeiro",
|
||||
"Fevereiro",
|
||||
"Março",
|
||||
"Abril",
|
||||
"Maio",
|
||||
"Junho",
|
||||
"Julho",
|
||||
"Agosto",
|
||||
"Setembro",
|
||||
"Outubro",
|
||||
"Novembro",
|
||||
"Dezembro" ],
|
||||
|
||||
smn : [ "Jan",
|
||||
"Fev",
|
||||
"Mar",
|
||||
"Abr",
|
||||
"Mai",
|
||||
"Jun",
|
||||
"Jul",
|
||||
"Ago",
|
||||
"Set",
|
||||
"Out",
|
||||
"Nov",
|
||||
"Dez" ],
|
||||
|
||||
dn : [ "Domingo",
|
||||
"Segunda",
|
||||
"Terça",
|
||||
"Quarta",
|
||||
"Quinta",
|
||||
"Sexta",
|
||||
"Sábado",
|
||||
"Domingo" ],
|
||||
|
||||
sdn : [ "Dom",
|
||||
"Seg",
|
||||
"Ter",
|
||||
"Qua",
|
||||
"Qui",
|
||||
"Sex",
|
||||
"Sab",
|
||||
"Dom" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/ro.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("ro", "Română", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Astăzi",
|
||||
|
||||
today: "Astăzi", // appears in bottom bar
|
||||
|
||||
wk: "săp.",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "Ianuarie",
|
||||
"Februarie",
|
||||
"Martie",
|
||||
"Aprilie",
|
||||
"Mai",
|
||||
"Iunie",
|
||||
"Iulie",
|
||||
"August",
|
||||
"Septembrie",
|
||||
"Octombrie",
|
||||
"Noiembrie",
|
||||
"Decembrie" ],
|
||||
|
||||
smn : [ "Ian",
|
||||
"Feb",
|
||||
"Mar",
|
||||
"Apr",
|
||||
"Mai",
|
||||
"Iun",
|
||||
"Iul",
|
||||
"Aug",
|
||||
"Sep",
|
||||
"Oct",
|
||||
"Noi",
|
||||
"Dec" ],
|
||||
|
||||
dn : [ "Duminică",
|
||||
"Luni",
|
||||
"Marţi",
|
||||
"Miercuri",
|
||||
"Joi",
|
||||
"Vineri",
|
||||
"Sâmbătă",
|
||||
"Duminică" ],
|
||||
|
||||
sdn : [ "Du",
|
||||
"Lu",
|
||||
"Ma",
|
||||
"Mi",
|
||||
"Jo",
|
||||
"Vi",
|
||||
"Sâ",
|
||||
"Du" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/ru.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("ru", "русский", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Сегодня",
|
||||
|
||||
today: "Сегодня", // appears in bottom bar
|
||||
|
||||
wk: "нед",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "январь",
|
||||
"февраль",
|
||||
"март",
|
||||
"апрель",
|
||||
"май",
|
||||
"июнь",
|
||||
"июль",
|
||||
"август",
|
||||
"сентябрь",
|
||||
"октябрь",
|
||||
"ноябрь",
|
||||
"декабрь" ],
|
||||
|
||||
smn : [ "янв",
|
||||
"фев",
|
||||
"мар",
|
||||
"апр",
|
||||
"май",
|
||||
"июн",
|
||||
"июл",
|
||||
"авг",
|
||||
"сен",
|
||||
"окт",
|
||||
"ноя",
|
||||
"дек" ],
|
||||
|
||||
dn : [ "воскресенье",
|
||||
"понедельник",
|
||||
"вторник",
|
||||
"среда",
|
||||
"четверг",
|
||||
"пятница",
|
||||
"суббота",
|
||||
"воскресенье" ],
|
||||
|
||||
sdn : [ "вск",
|
||||
"пон",
|
||||
"втр",
|
||||
"срд",
|
||||
"чет",
|
||||
"пят",
|
||||
"суб",
|
||||
"вск" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/sk.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("sk", "Slovak", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Nastaviť dnešok",
|
||||
|
||||
today: "Dnes", // appears in bottom bar
|
||||
|
||||
wk: "týž",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "január",
|
||||
"február",
|
||||
"marec",
|
||||
"apríl",
|
||||
"máj",
|
||||
"jún",
|
||||
"júl",
|
||||
"august",
|
||||
"september",
|
||||
"október",
|
||||
"november",
|
||||
"december" ],
|
||||
|
||||
smn : [ "jan",
|
||||
"feb",
|
||||
"mar",
|
||||
"apr",
|
||||
"máj",
|
||||
"jún",
|
||||
"júl",
|
||||
"aug",
|
||||
"sep",
|
||||
"okt",
|
||||
"nov",
|
||||
"dec" ],
|
||||
|
||||
dn : [ "Nedeľa",
|
||||
"Pondelok",
|
||||
"Utorok",
|
||||
"Streda",
|
||||
"Štvrtok",
|
||||
"Piatok",
|
||||
"Sobota",
|
||||
"Nedeľa" ],
|
||||
|
||||
sdn : [ "Ne",
|
||||
"Po",
|
||||
"Ut",
|
||||
"St",
|
||||
"Št",
|
||||
"Pi",
|
||||
"So",
|
||||
"Ne" ]
|
||||
|
||||
});
|
||||
61
metadata/include/jscalendar/src/js/lang/sv.js
Normal file
@ -0,0 +1,61 @@
|
||||
Calendar.LANG("sv", "svenska", {
|
||||
|
||||
fdow: 1, // first day of week for this locale; 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
goToday: "Gå till idag",
|
||||
|
||||
today: "Idag", // appears in bottom bar
|
||||
|
||||
wk: "v",
|
||||
|
||||
weekend: "0,6", // 0 = Sunday, 1 = Monday, etc.
|
||||
|
||||
AM: "am",
|
||||
|
||||
PM: "pm",
|
||||
|
||||
mn : [ "januari",
|
||||
"februari",
|
||||
"mars",
|
||||
"april",
|
||||
"maj",
|
||||
"juni",
|
||||
"juli",
|
||||
"augusti",
|
||||
"september",
|
||||
"oktober",
|
||||
"november",
|
||||
"december" ],
|
||||
|
||||
smn : [ "jan",
|
||||
"feb",
|
||||
"mar",
|
||||
"apr",
|
||||
"maj",
|
||||
"jun",
|
||||
"jul",
|
||||
"aug",
|
||||
"sep",
|
||||
"okt",
|
||||
"nov",
|
||||
"dec" ],
|
||||
|
||||
dn : [ "söndag",
|
||||
"måndag",
|
||||
"tisdag",
|
||||
"onsdag",
|
||||
"torsdag",
|
||||
"fredag",
|
||||
"lördag",
|
||||
"söndag" ],
|
||||
|
||||
sdn : [ "sö",
|
||||
"må",
|
||||
"ti",
|
||||
"on",
|
||||
"to",
|
||||
"fr",
|
||||
"lö",
|
||||
"sö" ]
|
||||
|
||||
});
|
||||
6
metadata/include/jscalendar/src/js/unicode-letter.js
Normal file
@ -0,0 +1,6 @@
|
||||
Calendar.isUnicodeLetter = (function(){
|
||||
var rx = new RegExp("[\\u0041-\\u005A\\u0061-\\u007A\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u0523\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0621-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971\\u0972\\u097B-\\u097F\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C33\\u0C35-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D28\\u0D2A-\\u0D39\\u0D3D\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC\\u0EDD\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8B\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10D0-\\u10FA\\u10FC\\u1100-\\u1159\\u115F-\\u11A2\\u11A8-\\u11F9\\u1200-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u1676\\u1681-\\u169A\\u16A0-\\u16EA\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u1900-\\u191C\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19A9\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u2094\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2C6F\\u2C71-\\u2C7D\\u2C80-\\u2CE4\\u2D00-\\u2D25\\u2D30-\\u2D65\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31B7\\u31F0-\\u31FF\\u3400\\u4DB5\\u4E00\\u9FC3\\uA000-\\uA48C\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA65F\\uA662-\\uA66E\\uA67F-\\uA697\\uA717-\\uA71F\\uA722-\\uA788\\uA78B\\uA78C\\uA7FB-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA90A-\\uA925\\uA930-\\uA946\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAC00\\uD7A3\\uF900-\\uFA2D\\uFA30-\\uFA6A\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]", "i");
|
||||
return function(ch) {
|
||||
return rx.test(ch);
|
||||
};
|
||||
})();
|
||||