From: "Saved by Windows Internet Explorer 8"
Subject: Article Index - US News and World Report
Date: Thu, 16 Apr 2009 13:58:06 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="----=_NextPart_000_0033_01C9BE9B.5E2DD4C0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049
This is a multi-part message in MIME format.
------=_NextPart_000_0033_01C9BE9B.5E2DD4C0
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/directories/contents
=EF=BB=BF
";=0A=
return cell;=0A=
};=0A=
=0A=
row =3D Calendar.createElement("tr", thead);=0A=
var title_length =3D 6;=0A=
(this.isPopup) && --title_length;=0A=
(this.weekNumbers) && ++title_length;=0A=
=0A=
hh("?", 1, 400).ttip =3D Calendar._TT["INFO"];=0A=
this.title =3D hh("", title_length, 300);=0A=
this.title.className =3D "title";=0A=
if (this.isPopup) {=0A=
this.title.ttip =3D Calendar._TT["DRAG_TO_MOVE"];=0A=
this.title.style.cursor =3D "move";=0A=
hh("×", 1, 200).ttip =3D Calendar._TT["CLOSE"];=0A=
}=0A=
=0A=
row =3D Calendar.createElement("tr", thead);=0A=
row.className =3D "headrow";=0A=
=0A=
this._nav_py =3D hh("«", 1, -2);=0A=
this._nav_py.ttip =3D Calendar._TT["PREV_YEAR"];=0A=
=0A=
this._nav_pm =3D hh("‹", 1, -1);=0A=
this._nav_pm.ttip =3D Calendar._TT["PREV_MONTH"];=0A=
=0A=
this._nav_now =3D hh(Calendar._TT["TODAY"], this.weekNumbers ? 4 : 3, =
0);=0A=
this._nav_now.ttip =3D Calendar._TT["GO_TODAY"];=0A=
=0A=
this._nav_nm =3D hh("›", 1, 1);=0A=
this._nav_nm.ttip =3D Calendar._TT["NEXT_MONTH"];=0A=
=0A=
this._nav_ny =3D hh("»", 1, 2);=0A=
this._nav_ny.ttip =3D Calendar._TT["NEXT_YEAR"];=0A=
=0A=
// day names=0A=
row =3D Calendar.createElement("tr", thead);=0A=
row.className =3D "daynames";=0A=
if (this.weekNumbers) {=0A=
cell =3D Calendar.createElement("td", row);=0A=
cell.className =3D "name wn";=0A=
cell.innerHTML =3D Calendar._TT["WK"];=0A=
}=0A=
for (var i =3D 7; i > 0; --i) {=0A=
cell =3D Calendar.createElement("td", row);=0A=
if (!i) {=0A=
cell.navtype =3D 100;=0A=
cell.calendar =3D this;=0A=
Calendar._add_evs(cell);=0A=
}=0A=
}=0A=
this.firstdayname =3D (this.weekNumbers) ? row.firstChild.nextSibling : =
row.firstChild;=0A=
this._displayWeekdays();=0A=
=0A=
var tbody =3D Calendar.createElement("tbody", table);=0A=
this.tbody =3D tbody;=0A=
=0A=
for (i =3D 6; i > 0; --i) {=0A=
row =3D Calendar.createElement("tr", tbody);=0A=
if (this.weekNumbers) {=0A=
cell =3D Calendar.createElement("td", row);=0A=
}=0A=
for (var j =3D 7; j > 0; --j) {=0A=
cell =3D Calendar.createElement("td", row);=0A=
cell.calendar =3D this;=0A=
Calendar._add_evs(cell);=0A=
}=0A=
}=0A=
=0A=
if (this.showsTime) {=0A=
row =3D Calendar.createElement("tr", tbody);=0A=
row.className =3D "time";=0A=
=0A=
cell =3D Calendar.createElement("td", row);=0A=
cell.className =3D "time";=0A=
cell.colSpan =3D 2;=0A=
cell.innerHTML =3D Calendar._TT["TIME"] || " ";=0A=
=0A=
cell =3D Calendar.createElement("td", row);=0A=
cell.className =3D "time";=0A=
cell.colSpan =3D this.weekNumbers ? 4 : 3;=0A=
=0A=
(function(){=0A=
function makeTimePart(className, init, range_start, range_end) {=0A=
var part =3D Calendar.createElement("span", cell);=0A=
part.className =3D className;=0A=
part.innerHTML =3D init;=0A=
part.calendar =3D cal;=0A=
part.ttip =3D Calendar._TT["TIME_PART"];=0A=
part.navtype =3D 50;=0A=
part._range =3D [];=0A=
if (typeof range_start !=3D "number")=0A=
part._range =3D range_start;=0A=
else {=0A=
for (var i =3D range_start; i <=3D range_end; ++i) {=0A=
var txt;=0A=
if (i < 10 && range_end >=3D 10) txt =3D '0' + i;=0A=
else txt =3D '' + i;=0A=
part._range[part._range.length] =3D txt;=0A=
}=0A=
}=0A=
Calendar._add_evs(part);=0A=
return part;=0A=
};=0A=
var hrs =3D cal.date.getHours();=0A=
var mins =3D cal.date.getMinutes();=0A=
var t12 =3D !cal.time24;=0A=
var pm =3D (hrs > 12);=0A=
if (t12 && pm) hrs -=3D 12;=0A=
var H =3D makeTimePart("hour", hrs, t12 ? 1 : 0, t12 ? 12 : 23);=0A=
var span =3D Calendar.createElement("span", cell);=0A=
span.innerHTML =3D ":";=0A=
span.className =3D "colon";=0A=
var M =3D makeTimePart("minute", mins, 0, 59);=0A=
var AP =3D null;=0A=
cell =3D Calendar.createElement("td", row);=0A=
cell.className =3D "time";=0A=
cell.colSpan =3D 2;=0A=
if (t12)=0A=
AP =3D makeTimePart("ampm", pm ? "pm" : "am", ["am", "pm"]);=0A=
else=0A=
cell.innerHTML =3D " ";=0A=
=0A=
cal.onSetTime =3D function() {=0A=
var pm, hrs =3D this.date.getHours(),=0A=
mins =3D this.date.getMinutes();=0A=
if (t12) {=0A=
pm =3D (hrs >=3D 12);=0A=
if (pm) hrs -=3D 12;=0A=
if (hrs =3D=3D 0) hrs =3D 12;=0A=
AP.innerHTML =3D pm ? "pm" : "am";=0A=
}=0A=
H.innerHTML =3D (hrs < 10) ? ("0" + hrs) : hrs;=0A=
M.innerHTML =3D (mins < 10) ? ("0" + mins) : mins;=0A=
};=0A=
=0A=
cal.onUpdateTime =3D function() {=0A=
var date =3D this.date;=0A=
var h =3D parseInt(H.innerHTML, 10);=0A=
if (t12) {=0A=
if (/pm/i.test(AP.innerHTML) && h < 12)=0A=
h +=3D 12;=0A=
else if (/am/i.test(AP.innerHTML) && h =3D=3D 12)=0A=
h =3D 0;=0A=
}=0A=
var d =3D date.getDate();=0A=
var m =3D date.getMonth();=0A=
var y =3D date.getFullYear();=0A=
date.setHours(h);=0A=
date.setMinutes(parseInt(M.innerHTML, 10));=0A=
date.setFullYear(y);=0A=
date.setMonth(m);=0A=
date.setDate(d);=0A=
this.dateClicked =3D false;=0A=
this.callHandler();=0A=
};=0A=
})();=0A=
} else {=0A=
this.onSetTime =3D this.onUpdateTime =3D function() {};=0A=
}=0A=
=0A=
var tfoot =3D Calendar.createElement("tfoot", table);=0A=
=0A=
row =3D Calendar.createElement("tr", tfoot);=0A=
row.className =3D "footrow";=0A=
=0A=
cell =3D hh(Calendar._TT["SEL_DATE"], this.weekNumbers ? 8 : 7, 300);=0A=
cell.className =3D "ttip";=0A=
if (this.isPopup) {=0A=
cell.ttip =3D Calendar._TT["DRAG_TO_MOVE"];=0A=
cell.style.cursor =3D "move";=0A=
}=0A=
this.tooltips =3D cell;=0A=
=0A=
div =3D Calendar.createElement("div", this.element);=0A=
this.monthsCombo =3D div;=0A=
div.className =3D "combo";=0A=
for (i =3D 0; i < Calendar._MN.length; ++i) {=0A=
var mn =3D Calendar.createElement("div");=0A=
mn.className =3D Calendar.is_ie ? "label-IEfix" : "label";=0A=
mn.month =3D i;=0A=
mn.innerHTML =3D Calendar._SMN[i];=0A=
div.appendChild(mn);=0A=
}=0A=
=0A=
div =3D Calendar.createElement("div", this.element);=0A=
this.yearsCombo =3D div;=0A=
div.className =3D "combo";=0A=
for (i =3D 12; i > 0; --i) {=0A=
var yr =3D Calendar.createElement("div");=0A=
yr.className =3D Calendar.is_ie ? "label-IEfix" : "label";=0A=
div.appendChild(yr);=0A=
}=0A=
=0A=
this._init(this.firstDayOfWeek, this.date);=0A=
parent.appendChild(this.element);=0A=
};=0A=
=0A=
/** keyboard navigation, only for popup calendars */=0A=
Calendar._keyEvent =3D function(ev) {=0A=
var cal =3D window._dynarch_popupCalendar;=0A=
if (!cal || cal.multiple)=0A=
return false;=0A=
(Calendar.is_ie) && (ev =3D window.event);=0A=
var act =3D (Calendar.is_ie || ev.type =3D=3D "keypress"),=0A=
K =3D ev.keyCode;=0A=
if (ev.ctrlKey) {=0A=
switch (K) {=0A=
case 37: // KEY left=0A=
act && Calendar.cellClick(cal._nav_pm);=0A=
break;=0A=
case 38: // KEY up=0A=
act && Calendar.cellClick(cal._nav_py);=0A=
break;=0A=
case 39: // KEY right=0A=
act && Calendar.cellClick(cal._nav_nm);=0A=
break;=0A=
case 40: // KEY down=0A=
act && Calendar.cellClick(cal._nav_ny);=0A=
break;=0A=
default:=0A=
return false;=0A=
}=0A=
} else switch (K) {=0A=
case 32: // KEY space (now)=0A=
Calendar.cellClick(cal._nav_now);=0A=
break;=0A=
case 27: // KEY esc=0A=
act && cal.callCloseHandler();=0A=
break;=0A=
case 37: // KEY left=0A=
case 38: // KEY up=0A=
case 39: // KEY right=0A=
case 40: // KEY down=0A=
if (act) {=0A=
var prev, x, y, ne, el, step;=0A=
prev =3D K =3D=3D 37 || K =3D=3D 38;=0A=
step =3D (K =3D=3D 37 || K =3D=3D 39) ? 1 : 7;=0A=
function setVars() {=0A=
el =3D cal.currentDateEl;=0A=
var p =3D el.pos;=0A=
x =3D p & 15;=0A=
y =3D p >> 4;=0A=
ne =3D cal.ar_days[y][x];=0A=
};setVars();=0A=
function prevMonth() {=0A=
var date =3D new Date(cal.date);=0A=
date.setDate(date.getDate() - step);=0A=
cal.setDate(date);=0A=
};=0A=
function nextMonth() {=0A=
var date =3D new Date(cal.date);=0A=
date.setDate(date.getDate() + step);=0A=
cal.setDate(date);=0A=
};=0A=
while (1) {=0A=
switch (K) {=0A=
case 37: // KEY left=0A=
if (--x >=3D 0)=0A=
ne =3D cal.ar_days[y][x];=0A=
else {=0A=
x =3D 6;=0A=
K =3D 38;=0A=
continue;=0A=
}=0A=
break;=0A=
case 38: // KEY up=0A=
if (--y >=3D 0)=0A=
ne =3D cal.ar_days[y][x];=0A=
else {=0A=
prevMonth();=0A=
setVars();=0A=
}=0A=
break;=0A=
case 39: // KEY right=0A=
if (++x < 7)=0A=
ne =3D cal.ar_days[y][x];=0A=
else {=0A=
x =3D 0;=0A=
K =3D 40;=0A=
continue;=0A=
}=0A=
break;=0A=
case 40: // KEY down=0A=
if (++y < cal.ar_days.length)=0A=
ne =3D cal.ar_days[y][x];=0A=
else {=0A=
nextMonth();=0A=
setVars();=0A=
}=0A=
break;=0A=
}=0A=
break;=0A=
}=0A=
if (ne) {=0A=
if (!ne.disabled)=0A=
Calendar.cellClick(ne);=0A=
else if (prev)=0A=
prevMonth();=0A=
else=0A=
nextMonth();=0A=
}=0A=
}=0A=
break;=0A=
case 13: // KEY enter=0A=
if (act)=0A=
Calendar.cellClick(cal.currentDateEl, ev);=0A=
break;=0A=
default:=0A=
return false;=0A=
}=0A=
return Calendar.stopEvent(ev);=0A=
};=0A=
=0A=
/**=0A=
* (RE)Initializes the calendar to the given date and firstDayOfWeek=0A=
*/=0A=
Calendar.prototype._init =3D function (firstDayOfWeek, date) {=0A=
var today =3D new Date(),=0A=
TY =3D today.getFullYear(),=0A=
TM =3D today.getMonth(),=0A=
TD =3D today.getDate();=0A=
this.table.style.visibility =3D "hidden";=0A=
var year =3D date.getFullYear();=0A=
if (year < this.minYear) {=0A=
year =3D this.minYear;=0A=
date.setFullYear(year);=0A=
} else if (year > this.maxYear) {=0A=
year =3D this.maxYear;=0A=
date.setFullYear(year);=0A=
}=0A=
this.firstDayOfWeek =3D firstDayOfWeek;=0A=
this.date =3D new Date(date);=0A=
var month =3D date.getMonth();=0A=
var mday =3D date.getDate();=0A=
var no_days =3D date.getMonthDays();=0A=
=0A=
// calendar voodoo for computing the first day that would actually be=0A=
// displayed in the calendar, even if it's from the previous month.=0A=
// WARNING: this is magic. ;-)=0A=
date.setDate(1);=0A=
var day1 =3D (date.getDay() - this.firstDayOfWeek) % 7;=0A=
if (day1 < 0)=0A=
day1 +=3D 7;=0A=
date.setDate(-day1);=0A=
date.setDate(date.getDate() + 1);=0A=
=0A=
var row =3D this.tbody.firstChild;=0A=
var MN =3D Calendar._SMN[month];=0A=
var ar_days =3D this.ar_days =3D new Array();=0A=
var weekend =3D Calendar._TT["WEEKEND"];=0A=
var dates =3D this.multiple ? (this.datesCells =3D {}) : null;=0A=
for (var i =3D 0; i < 6; ++i, row =3D row.nextSibling) {=0A=
var cell =3D row.firstChild;=0A=
if (this.weekNumbers) {=0A=
cell.className =3D "day wn";=0A=
cell.innerHTML =3D date.getWeekNumber();=0A=
cell =3D cell.nextSibling;=0A=
}=0A=
row.className =3D "daysrow";=0A=
var hasdays =3D false, iday, dpos =3D ar_days[i] =3D [];=0A=
for (var j =3D 0; j < 7; ++j, cell =3D cell.nextSibling, =
date.setDate(iday + 1)) {=0A=
iday =3D date.getDate();=0A=
var wday =3D date.getDay();=0A=
cell.className =3D "day";=0A=
cell.pos =3D i << 4 | j;=0A=
dpos[j] =3D cell;=0A=
var current_month =3D (date.getMonth() =3D=3D month);=0A=
if (!current_month) {=0A=
if (this.showsOtherMonths) {=0A=
cell.className +=3D " othermonth";=0A=
cell.otherMonth =3D true;=0A=
} else {=0A=
cell.className =3D "emptycell";=0A=
cell.innerHTML =3D " ";=0A=
cell.disabled =3D true;=0A=
continue;=0A=
}=0A=
} else {=0A=
cell.otherMonth =3D false;=0A=
hasdays =3D true;=0A=
}=0A=
cell.disabled =3D false;=0A=
cell.innerHTML =3D this.getDateText ? this.getDateText(date, iday) : =
iday;=0A=
if (dates)=0A=
dates[date.print("%Y%m%d")] =3D cell;=0A=
if (this.getDateStatus) {=0A=
var status =3D this.getDateStatus(date, year, month, iday);=0A=
if (this.getDateToolTip) {=0A=
var toolTip =3D this.getDateToolTip(date, year, month, iday);=0A=
if (toolTip)=0A=
cell.title =3D toolTip;=0A=
}=0A=
if (status =3D=3D=3D true) {=0A=
cell.className +=3D " disabled";=0A=
cell.disabled =3D true;=0A=
} else {=0A=
if (/disabled/i.test(status))=0A=
cell.disabled =3D true;=0A=
cell.className +=3D " " + status;=0A=
}=0A=
}=0A=
if (!cell.disabled) {=0A=
cell.caldate =3D new Date(date);=0A=
cell.ttip =3D "_";=0A=
if (!this.multiple && current_month=0A=
&& iday =3D=3D mday && this.hiliteToday) {=0A=
cell.className +=3D " selected";=0A=
this.currentDateEl =3D cell;=0A=
}=0A=
if (date.getFullYear() =3D=3D TY &&=0A=
date.getMonth() =3D=3D TM &&=0A=
iday =3D=3D TD) {=0A=
cell.className +=3D " today";=0A=
cell.ttip +=3D Calendar._TT["PART_TODAY"];=0A=
}=0A=
if (weekend.indexOf(wday.toString()) !=3D -1)=0A=
cell.className +=3D cell.otherMonth ? " oweekend" : " weekend";=0A=
}=0A=
}=0A=
if (!(hasdays || this.showsOtherMonths))=0A=
row.className =3D "emptyrow";=0A=
}=0A=
this.title.innerHTML =3D Calendar._MN[month] + ", " + year;=0A=
this.onSetTime();=0A=
this.table.style.visibility =3D "visible";=0A=
this._initMultipleDates();=0A=
// PROFILE=0A=
// this.tooltips.innerHTML =3D "Generated in " + ((new Date()) - today) =
+ " ms";=0A=
};=0A=
=0A=
Calendar.prototype._initMultipleDates =3D function() {=0A=
if (this.multiple) {=0A=
for (var i in this.multiple) {=0A=
var cell =3D this.datesCells[i];=0A=
var d =3D this.multiple[i];=0A=
if (!d)=0A=
continue;=0A=
if (cell)=0A=
cell.className +=3D " selected";=0A=
}=0A=
}=0A=
};=0A=
=0A=
Calendar.prototype._toggleMultipleDate =3D function(date) {=0A=
if (this.multiple) {=0A=
var ds =3D date.print("%Y%m%d");=0A=
var cell =3D this.datesCells[ds];=0A=
if (cell) {=0A=
var d =3D this.multiple[ds];=0A=
if (!d) {=0A=
Calendar.addClass(cell, "selected");=0A=
this.multiple[ds] =3D date;=0A=
} else {=0A=
Calendar.removeClass(cell, "selected");=0A=
delete this.multiple[ds];=0A=
}=0A=
}=0A=
}=0A=
};=0A=
=0A=
Calendar.prototype.setDateToolTipHandler =3D function (unaryFunction) {=0A=
this.getDateToolTip =3D unaryFunction;=0A=
};=0A=
=0A=
/**=0A=
* Calls _init function above for going to a certain date (but only if =
the=0A=
* date is different than the currently selected one).=0A=
*/=0A=
Calendar.prototype.setDate =3D function (date) {=0A=
if (!date.equalsTo(this.date)) {=0A=
this._init(this.firstDayOfWeek, date);=0A=
}=0A=
};=0A=
=0A=
/**=0A=
* Refreshes the calendar. Useful if the "disabledHandler" function is=0A=
* dynamic, meaning that the list of disabled date can change at =
runtime.=0A=
* Just * call this function if you think that the list of disabled =
dates=0A=
* should * change.=0A=
*/=0A=
Calendar.prototype.refresh =3D function () {=0A=
this._init(this.firstDayOfWeek, this.date);=0A=
};=0A=
=0A=
/** Modifies the "firstDayOfWeek" parameter (pass 0 for Synday, 1 for =
Monday, etc.). */=0A=
Calendar.prototype.setFirstDayOfWeek =3D function (firstDayOfWeek) {=0A=
this._init(firstDayOfWeek, this.date);=0A=
this._displayWeekdays();=0A=
};=0A=
=0A=
/**=0A=
* Allows customization of what dates are enabled. The "unaryFunction"=0A=
* parameter must be a function object that receives the date (as a JS =
Date=0A=
* object) and returns a boolean value. If the returned value is true =
then=0A=
* the passed date will be marked as disabled.=0A=
*/=0A=
Calendar.prototype.setDateStatusHandler =3D =
Calendar.prototype.setDisabledHandler =3D function (unaryFunction) {=0A=
this.getDateStatus =3D unaryFunction;=0A=
};=0A=
=0A=
/** Customization of allowed year range for the calendar. */=0A=
Calendar.prototype.setRange =3D function (a, z) {=0A=
this.minYear =3D a;=0A=
this.maxYear =3D z;=0A=
};=0A=
=0A=
/** Calls the first user handler (selectedHandler). */=0A=
Calendar.prototype.callHandler =3D function () {=0A=
if (this.onSelected) {=0A=
this.onSelected(this, this.date.print(this.dateFormat));=0A=
}=0A=
};=0A=
=0A=
/** Calls the second user handler (closeHandler). */=0A=
Calendar.prototype.callCloseHandler =3D function () {=0A=
if (this.onClose) {=0A=
this.onClose(this);=0A=
}=0A=
this.hideShowCovered();=0A=
};=0A=
=0A=
/** Removes the calendar object from the DOM tree and destroys it. */=0A=
Calendar.prototype.destroy =3D function () {=0A=
var el =3D this.element.parentNode;=0A=
el.removeChild(this.element);=0A=
Calendar._C =3D null;=0A=
window._dynarch_popupCalendar =3D null;=0A=
};=0A=
=0A=
/**=0A=
* Moves the calendar element to a different section in the DOM tree =
(changes=0A=
* its parent).=0A=
*/=0A=
Calendar.prototype.reparent =3D function (new_parent) {=0A=
var el =3D this.element;=0A=
el.parentNode.removeChild(el);=0A=
new_parent.appendChild(el);=0A=
};=0A=
=0A=
// This gets called when the user presses a mouse button anywhere in the=0A=
// document, if the calendar is shown. If the click was outside the open=0A=
// calendar this function closes it.=0A=
Calendar._checkCalendar =3D function(ev) {=0A=
var calendar =3D window._dynarch_popupCalendar;=0A=
if (!calendar) {=0A=
return false;=0A=
}=0A=
var el =3D Calendar.is_ie ? Calendar.getElement(ev) : =
Calendar.getTargetElement(ev);=0A=
for (; el !=3D null && el !=3D calendar.element; el =3D el.parentNode);=0A=
if (el =3D=3D null) {=0A=
// calls closeHandler which should hide the calendar.=0A=
window._dynarch_popupCalendar.callCloseHandler();=0A=
return Calendar.stopEvent(ev);=0A=
}=0A=
};=0A=
=0A=
/** Shows the calendar. */=0A=
Calendar.prototype.show =3D function () {=0A=
var rows =3D this.table.getElementsByTagName("tr");=0A=
for (var i =3D rows.length; i > 0;) {=0A=
var row =3D rows[--i];=0A=
Calendar.removeClass(row, "rowhilite");=0A=
var cells =3D row.getElementsByTagName("td");=0A=
for (var j =3D cells.length; j > 0;) {=0A=
var cell =3D cells[--j];=0A=
Calendar.removeClass(cell, "hilite");=0A=
Calendar.removeClass(cell, "active");=0A=
}=0A=
}=0A=
this.element.style.display =3D "block";=0A=
this.hidden =3D false;=0A=
if (this.isPopup) {=0A=
window._dynarch_popupCalendar =3D this;=0A=
Calendar.addEvent(document, "keydown", Calendar._keyEvent);=0A=
Calendar.addEvent(document, "keypress", Calendar._keyEvent);=0A=
Calendar.addEvent(document, "mousedown", Calendar._checkCalendar);=0A=
}=0A=
this.hideShowCovered();=0A=
};=0A=
=0A=
/**=0A=
* Hides the calendar. Also removes any "hilite" from the class of any =
TD=0A=
* element.=0A=
*/=0A=
Calendar.prototype.hide =3D function () {=0A=
if (this.isPopup) {=0A=
Calendar.removeEvent(document, "keydown", Calendar._keyEvent);=0A=
Calendar.removeEvent(document, "keypress", Calendar._keyEvent);=0A=
Calendar.removeEvent(document, "mousedown", Calendar._checkCalendar);=0A=
}=0A=
this.element.style.display =3D "none";=0A=
this.hidden =3D true;=0A=
this.hideShowCovered();=0A=
};=0A=
=0A=
/**=0A=
* Shows the calendar at a given absolute position (beware that, =
depending on=0A=
* the calendar element style -- position property -- this might be =
relative=0A=
* to the parent's containing rectangle).=0A=
*/=0A=
Calendar.prototype.showAt =3D function (x, y) {=0A=
var s =3D this.element.style;=0A=
s.left =3D x + "px";=0A=
s.top =3D y + "px";=0A=
this.show();=0A=
};=0A=
=0A=
/** Shows the calendar near a given element. */=0A=
Calendar.prototype.showAtElement =3D function (el, opts) {=0A=
var self =3D this;=0A=
var p =3D Calendar.getAbsolutePos(el);=0A=
if (!opts || typeof opts !=3D "string") {=0A=
this.showAt(p.x, p.y + el.offsetHeight);=0A=
return true;=0A=
}=0A=
function fixPosition(box) {=0A=
if (box.x < 0)=0A=
box.x =3D 0;=0A=
if (box.y < 0)=0A=
box.y =3D 0;=0A=
var cp =3D document.createElement("div");=0A=
var s =3D cp.style;=0A=
s.position =3D "absolute";=0A=
s.right =3D s.bottom =3D s.width =3D s.height =3D "0px";=0A=
document.body.appendChild(cp);=0A=
var br =3D Calendar.getAbsolutePos(cp);=0A=
document.body.removeChild(cp);=0A=
if (Calendar.is_ie) {=0A=
br.y +=3D document.body.scrollTop;=0A=
br.x +=3D document.body.scrollLeft;=0A=
} else {=0A=
br.y +=3D window.scrollY;=0A=
br.x +=3D window.scrollX;=0A=
}=0A=
var tmp =3D box.x + box.width - br.x;=0A=
if (tmp > 0) box.x -=3D tmp;=0A=
tmp =3D box.y + box.height - br.y;=0A=
if (tmp > 0) box.y -=3D tmp;=0A=
};=0A=
this.element.style.display =3D "block";=0A=
Calendar.continuation_for_the_fucking_khtml_browser =3D function() {=0A=
var w =3D self.element.offsetWidth;=0A=
var h =3D self.element.offsetHeight;=0A=
self.element.style.display =3D "none";=0A=
var valign =3D opts.substr(0, 1);=0A=
var halign =3D "l";=0A=
if (opts.length > 1) {=0A=
halign =3D opts.substr(1, 1);=0A=
}=0A=
// vertical alignment=0A=
switch (valign) {=0A=
case "T": p.y -=3D h; break;=0A=
case "B": p.y +=3D el.offsetHeight; break;=0A=
case "C": p.y +=3D (el.offsetHeight - h) / 2; break;=0A=
case "t": p.y +=3D el.offsetHeight - h; break;=0A=
case "b": break; // already there=0A=
}=0A=
// horizontal alignment=0A=
switch (halign) {=0A=
case "L": p.x -=3D w; break;=0A=
case "R": p.x +=3D el.offsetWidth; break;=0A=
case "C": p.x +=3D (el.offsetWidth - w) / 2; break;=0A=
case "l": p.x +=3D el.offsetWidth - w; break;=0A=
case "r": break; // already there=0A=
}=0A=
p.width =3D w;=0A=
p.height =3D h + 40;=0A=
self.monthsCombo.style.display =3D "none";=0A=
fixPosition(p);=0A=
self.showAt(p.x, p.y);=0A=
};=0A=
if (Calendar.is_khtml)=0A=
setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()", =
10);=0A=
else=0A=
Calendar.continuation_for_the_fucking_khtml_browser();=0A=
};=0A=
=0A=
/** Customizes the date format. */=0A=
Calendar.prototype.setDateFormat =3D function (str) {=0A=
this.dateFormat =3D str;=0A=
};=0A=
=0A=
/** Customizes the tooltip date format. */=0A=
Calendar.prototype.setTtDateFormat =3D function (str) {=0A=
this.ttDateFormat =3D str;=0A=
};=0A=
=0A=
/**=0A=
* Tries to identify the date represented in a string. If successful =
it also=0A=
* calls this.setDate which moves the calendar to the given date.=0A=
*/=0A=
Calendar.prototype.parseDate =3D function(str, fmt) {=0A=
if (!fmt)=0A=
fmt =3D this.dateFormat;=0A=
this.setDate(Date.parseDate(str, fmt));=0A=
};=0A=
=0A=
Calendar.prototype.hideShowCovered =3D function () {=0A=
if (!Calendar.is_ie && !Calendar.is_opera)=0A=
return;=0A=
function getVisib(obj){=0A=
var value =3D obj.style.visibility;=0A=
if (!value) {=0A=
if (document.defaultView && typeof =
(document.defaultView.getComputedStyle) =3D=3D "function") { // Gecko, =
W3C=0A=
if (!Calendar.is_khtml)=0A=
value =3D document.defaultView.=0A=
getComputedStyle(obj, "").getPropertyValue("visibility");=0A=
else=0A=
value =3D '';=0A=
} else if (obj.currentStyle) { // IE=0A=
value =3D obj.currentStyle.visibility;=0A=
} else=0A=
value =3D '';=0A=
}=0A=
return value;=0A=
};=0A=
=0A=
var tags =3D new Array("applet", "iframe", "select");=0A=
var el =3D this.element;=0A=
=0A=
var p =3D Calendar.getAbsolutePos(el);=0A=
var EX1 =3D p.x;=0A=
var EX2 =3D el.offsetWidth + EX1;=0A=
var EY1 =3D p.y;=0A=
var EY2 =3D el.offsetHeight + EY1;=0A=
=0A=
for (var k =3D tags.length; k > 0; ) {=0A=
var ar =3D document.getElementsByTagName(tags[--k]);=0A=
var cc =3D null;=0A=
=0A=
for (var i =3D ar.length; i > 0;) {=0A=
cc =3D ar[--i];=0A=
=0A=
p =3D Calendar.getAbsolutePos(cc);=0A=
var CX1 =3D p.x;=0A=
var CX2 =3D cc.offsetWidth + CX1;=0A=
var CY1 =3D p.y;=0A=
var CY2 =3D cc.offsetHeight + CY1;=0A=
=0A=
if (this.hidden || (CX1 > EX2) || (CX2 < EX1) || (CY1 > EY2) || (CY2 =
< EY1)) {=0A=
if (!cc.__msh_save_visibility) {=0A=
cc.__msh_save_visibility =3D getVisib(cc);=0A=
}=0A=
cc.style.visibility =3D cc.__msh_save_visibility;=0A=
} else {=0A=
if (!cc.__msh_save_visibility) {=0A=
cc.__msh_save_visibility =3D getVisib(cc);=0A=
}=0A=
cc.style.visibility =3D "hidden";=0A=
}=0A=
}=0A=
}=0A=
};=0A=
=0A=
/** Internal function; it displays the bar with the names of the =
weekday. */=0A=
Calendar.prototype._displayWeekdays =3D function () {=0A=
var fdow =3D this.firstDayOfWeek;=0A=
var cell =3D this.firstdayname;=0A=
var weekend =3D Calendar._TT["WEEKEND"];=0A=
for (var i =3D 0; i < 7; ++i) {=0A=
cell.className =3D "day name";=0A=
var realday =3D (i + fdow) % 7;=0A=
if (i) {=0A=
cell.ttip =3D Calendar._TT["DAY_FIRST"].replace("%s", =
Calendar._DN[realday]);=0A=
cell.navtype =3D 100;=0A=
cell.calendar =3D this;=0A=
cell.fdow =3D realday;=0A=
Calendar._add_evs(cell);=0A=
}=0A=
if (weekend.indexOf(realday.toString()) !=3D -1) {=0A=
Calendar.addClass(cell, "weekend");=0A=
}=0A=
cell.innerHTML =3D Calendar._SDN[(i + fdow) % 7];=0A=
cell =3D cell.nextSibling;=0A=
}=0A=
};=0A=
=0A=
/** Internal function. Hides all combo boxes that might be displayed. */=0A=
Calendar.prototype._hideCombos =3D function () {=0A=
this.monthsCombo.style.display =3D "none";=0A=
this.yearsCombo.style.display =3D "none";=0A=
};=0A=
=0A=
/** Internal function. Starts dragging the element. */=0A=
Calendar.prototype._dragStart =3D function (ev) {=0A=
if (this.dragging) {=0A=
return;=0A=
}=0A=
this.dragging =3D true;=0A=
var posX;=0A=
var posY;=0A=
if (Calendar.is_ie) {=0A=
posY =3D window.event.clientY + document.body.scrollTop;=0A=
posX =3D window.event.clientX + document.body.scrollLeft;=0A=
} else {=0A=
posY =3D ev.clientY + window.scrollY;=0A=
posX =3D ev.clientX + window.scrollX;=0A=
}=0A=
var st =3D this.element.style;=0A=
this.xOffs =3D posX - parseInt(st.left);=0A=
this.yOffs =3D posY - parseInt(st.top);=0A=
with (Calendar) {=0A=
addEvent(document, "mousemove", calDragIt);=0A=
addEvent(document, "mouseup", calDragEnd);=0A=
}=0A=
};=0A=
=0A=
// BEGIN: DATE OBJECT PATCHES=0A=
=0A=
/** Adds the number of days array to the Date object. */=0A=
Date._MD =3D new Array(31,28,31,30,31,30,31,31,30,31,30,31);=0A=
=0A=
/** Constants used for time computations */=0A=
Date.SECOND =3D 1000 /* milliseconds */;=0A=
Date.MINUTE =3D 60 * Date.SECOND;=0A=
Date.HOUR =3D 60 * Date.MINUTE;=0A=
Date.DAY =3D 24 * Date.HOUR;=0A=
Date.WEEK =3D 7 * Date.DAY;=0A=
=0A=
Date.parseDate =3D function(str, fmt) {=0A=
var today =3D new Date();=0A=
var y =3D 0;=0A=
var m =3D -1;=0A=
var d =3D 0;=0A=
var a =3D str.split(/\W+/);=0A=
var b =3D fmt.match(/%./g);=0A=
var i =3D 0, j =3D 0;=0A=
var hr =3D 0;=0A=
var min =3D 0;=0A=
for (i =3D 0; i < a.length; ++i) {=0A=
if (!a[i])=0A=
continue;=0A=
switch (b[i]) {=0A=
case "%d":=0A=
case "%e":=0A=
d =3D parseInt(a[i], 10);=0A=
break;=0A=
=0A=
case "%m":=0A=
m =3D parseInt(a[i], 10) - 1;=0A=
break;=0A=
=0A=
case "%Y":=0A=
case "%y":=0A=
y =3D parseInt(a[i], 10);=0A=
(y < 100) && (y +=3D (y > 29) ? 1900 : 2000);=0A=
break;=0A=
=0A=
case "%b":=0A=
case "%B":=0A=
for (j =3D 0; j < 12; ++j) {=0A=
if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D =
a[i].toLowerCase()) { m =3D j; break; }=0A=
}=0A=
break;=0A=
=0A=
case "%H":=0A=
case "%I":=0A=
case "%k":=0A=
case "%l":=0A=
hr =3D parseInt(a[i], 10);=0A=
break;=0A=
=0A=
case "%P":=0A=
case "%p":=0A=
if (/pm/i.test(a[i]) && hr < 12)=0A=
hr +=3D 12;=0A=
else if (/am/i.test(a[i]) && hr >=3D 12)=0A=
hr -=3D 12;=0A=
break;=0A=
=0A=
case "%M":=0A=
min =3D parseInt(a[i], 10);=0A=
break;=0A=
}=0A=
}=0A=
if (isNaN(y)) y =3D today.getFullYear();=0A=
if (isNaN(m)) m =3D today.getMonth();=0A=
if (isNaN(d)) d =3D today.getDate();=0A=
if (isNaN(hr)) hr =3D today.getHours();=0A=
if (isNaN(min)) min =3D today.getMinutes();=0A=
if (y !=3D 0 && m !=3D -1 && d !=3D 0)=0A=
return new Date(y, m, d, hr, min, 0);=0A=
y =3D 0; m =3D -1; d =3D 0;=0A=
for (i =3D 0; i < a.length; ++i) {=0A=
if (a[i].search(/[a-zA-Z]+/) !=3D -1) {=0A=
var t =3D -1;=0A=
for (j =3D 0; j < 12; ++j) {=0A=
if (Calendar._MN[j].substr(0, a[i].length).toLowerCase() =3D=3D =
a[i].toLowerCase()) { t =3D j; break; }=0A=
}=0A=
if (t !=3D -1) {=0A=
if (m !=3D -1) {=0A=
d =3D m+1;=0A=
}=0A=
m =3D t;=0A=
}=0A=
} else if (parseInt(a[i], 10) <=3D 12 && m =3D=3D -1) {=0A=
m =3D a[i]-1;=0A=
} else if (parseInt(a[i], 10) > 31 && y =3D=3D 0) {=0A=
y =3D parseInt(a[i], 10);=0A=
(y < 100) && (y +=3D (y > 29) ? 1900 : 2000);=0A=
} else if (d =3D=3D 0) {=0A=
d =3D a[i];=0A=
}=0A=
}=0A=
if (y =3D=3D 0)=0A=
y =3D today.getFullYear();=0A=
if (m !=3D -1 && d !=3D 0)=0A=
return new Date(y, m, d, hr, min, 0);=0A=
return today;=0A=
};=0A=
=0A=
/** Returns the number of days in the current month */=0A=
Date.prototype.getMonthDays =3D function(month) {=0A=
var year =3D this.getFullYear();=0A=
if (typeof month =3D=3D "undefined") {=0A=
month =3D this.getMonth();=0A=
}=0A=
if (((0 =3D=3D (year%4)) && ( (0 !=3D (year%100)) || (0 =3D=3D =
(year%400)))) && month =3D=3D 1) {=0A=
return 29;=0A=
} else {=0A=
return Date._MD[month];=0A=
}=0A=
};=0A=
=0A=
/** Returns the number of day in the year. */=0A=
Date.prototype.getDayOfYear =3D function() {=0A=
var now =3D new Date(this.getFullYear(), this.getMonth(), =
this.getDate(), 0, 0, 0);=0A=
var then =3D new Date(this.getFullYear(), 0, 0, 0, 0, 0);=0A=
var time =3D now - then;=0A=
return Math.floor(time / Date.DAY);=0A=
};=0A=
=0A=
/** Returns the number of the week in year, as defined in ISO 8601. */=0A=
Date.prototype.getWeekNumber =3D function() {=0A=
var d =3D new Date(this.getFullYear(), this.getMonth(), this.getDate(), =
0, 0, 0);=0A=
var DoW =3D d.getDay();=0A=
d.setDate(d.getDate() - (DoW + 6) % 7 + 3); // Nearest Thu=0A=
var ms =3D d.valueOf(); // GMT=0A=
d.setMonth(0);=0A=
d.setDate(4); // Thu in Week 1=0A=
return Math.round((ms - d.valueOf()) / (7 * 864e5)) + 1;=0A=
};=0A=
=0A=
/** Checks date and time equality */=0A=
Date.prototype.equalsTo =3D function(date) {=0A=
return ((this.getFullYear() =3D=3D date.getFullYear()) &&=0A=
(this.getMonth() =3D=3D date.getMonth()) &&=0A=
(this.getDate() =3D=3D date.getDate()) &&=0A=
(this.getHours() =3D=3D date.getHours()) &&=0A=
(this.getMinutes() =3D=3D date.getMinutes()));=0A=
};=0A=
=0A=
/** Set only the year, month, date parts (keep existing time) */=0A=
Date.prototype.setDateOnly =3D function(date) {=0A=
var tmp =3D new Date(date);=0A=
this.setDate(1);=0A=
this.setFullYear(tmp.getFullYear());=0A=
this.setMonth(tmp.getMonth());=0A=
this.setDate(tmp.getDate());=0A=
};=0A=
=0A=
/** Prints the date in a string according to the given format. */=0A=
Date.prototype.print =3D function (str) {=0A=
var m =3D this.getMonth();=0A=
var d =3D this.getDate();=0A=
var y =3D this.getFullYear();=0A=
var wn =3D this.getWeekNumber();=0A=
var w =3D this.getDay();=0A=
var s =3D {};=0A=
var hr =3D this.getHours();=0A=
var pm =3D (hr >=3D 12);=0A=
var ir =3D (pm) ? (hr - 12) : hr;=0A=
var dy =3D this.getDayOfYear();=0A=
if (ir =3D=3D 0)=0A=
ir =3D 12;=0A=
var min =3D this.getMinutes();=0A=
var sec =3D this.getSeconds();=0A=
s["%a"] =3D Calendar._SDN[w]; // abbreviated weekday name [FIXME: I18N]=0A=
s["%A"] =3D Calendar._DN[w]; // full weekday name=0A=
s["%b"] =3D Calendar._SMN[m]; // abbreviated month name [FIXME: I18N]=0A=
s["%B"] =3D Calendar._MN[m]; // full month name=0A=
// FIXME: %c : preferred date and time representation for the current =
locale=0A=
s["%C"] =3D 1 + Math.floor(y / 100); // the century number=0A=
s["%d"] =3D (d < 10) ? ("0" + d) : d; // the day of the month (range 01 =
to 31)=0A=
s["%e"] =3D d; // the day of the month (range 1 to 31)=0A=
// FIXME: %D : american date style: %m/%d/%y=0A=
// FIXME: %E, %F, %G, %g, %h (man strftime)=0A=
s["%H"] =3D (hr < 10) ? ("0" + hr) : hr; // hour, range 00 to 23 (24h =
format)=0A=
s["%I"] =3D (ir < 10) ? ("0" + ir) : ir; // hour, range 01 to 12 (12h =
format)=0A=
s["%j"] =3D (dy < 100) ? ((dy < 10) ? ("00" + dy) : ("0" + dy)) : dy; =
// day of the year (range 001 to 366)=0A=
s["%k"] =3D hr; // hour, range 0 to 23 (24h format)=0A=
s["%l"] =3D ir; // hour, range 1 to 12 (12h format)=0A=
s["%m"] =3D (m < 9) ? ("0" + (1+m)) : (1+m); // month, range 01 to 12=0A=
s["%M"] =3D (min < 10) ? ("0" + min) : min; // minute, range 00 to 59=0A=
s["%n"] =3D "\n"; // a newline character=0A=
s["%p"] =3D pm ? "PM" : "AM";=0A=
s["%P"] =3D pm ? "pm" : "am";=0A=
// FIXME: %r : the time in am/pm notation %I:%M:%S %p=0A=
// FIXME: %R : the time in 24-hour notation %H:%M=0A=
s["%s"] =3D Math.floor(this.getTime() / 1000);=0A=
s["%S"] =3D (sec < 10) ? ("0" + sec) : sec; // seconds, range 00 to 59=0A=
s["%t"] =3D "\t"; // a tab character=0A=
// FIXME: %T : the time in 24-hour notation (%H:%M:%S)=0A=
s["%U"] =3D s["%W"] =3D s["%V"] =3D (wn < 10) ? ("0" + wn) : wn;=0A=
s["%u"] =3D w + 1; // the day of the week (range 1 to 7, 1 =3D MON)=0A=
s["%w"] =3D w; // the day of the week (range 0 to 6, 0 =3D SUN)=0A=
// FIXME: %x : preferred date representation for the current locale =
without the time=0A=
// FIXME: %X : preferred time representation for the current locale =
without the date=0A=
s["%y"] =3D ('' + y).substr(2, 2); // year without the century (range =
00 to 99)=0A=
s["%Y"] =3D y; // year with the century=0A=
s["%%"] =3D "%"; // a literal '%' character=0A=
=0A=
var re =3D /%./g;=0A=
if (!Calendar.is_ie5 && !Calendar.is_khtml)=0A=
return str.replace(re, function (par) { return s[par] || par; });=0A=
=0A=
var a =3D str.match(re);=0A=
for (var i =3D 0; i < a.length; i++) {=0A=
var tmp =3D s[a[i]];=0A=
if (tmp) {=0A=
re =3D new RegExp(a[i], 'g');=0A=
str =3D str.replace(re, tmp);=0A=
}=0A=
}=0A=
=0A=
return str;=0A=
};=0A=
=0A=
Date.prototype.__msh_oldSetFullYear =3D Date.prototype.setFullYear;=0A=
Date.prototype.setFullYear =3D function(y) {=0A=
var d =3D new Date(this);=0A=
d.__msh_oldSetFullYear(y);=0A=
if (d.getMonth() !=3D this.getMonth())=0A=
this.setDate(28);=0A=
this.__msh_oldSetFullYear(y);=0A=
};=0A=
=0A=
// END: DATE OBJECT PATCHES=0A=
=0A=
=0A=
// global object that remembers the calendar=0A=
window._dynarch_popupCalendar =3D null;=0A=
------=_NextPart_000_0033_01C9BE9B.5E2DD4C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/z3stub/++resource++CommonResources/jscalendar/lang/calendar-en.js
// ** I18N=0A=
=0A=
// Calendar EN language=0A=
// Author: Mihai Bazon, =0A=
// Encoding: any=0A=
// Distributed under the same terms as the calendar itself.=0A=
=0A=
// For translators: please use UTF-8 if possible. We strongly believe =
that=0A=
// Unicode is the answer to a real internationalized world. Also please=0A=
// include your contact information in the header, as can be seen above.=0A=
=0A=
// full day names=0A=
Calendar._DN =3D new Array=0A=
("Sunday",=0A=
"Monday",=0A=
"Tuesday",=0A=
"Wednesday",=0A=
"Thursday",=0A=
"Friday",=0A=
"Saturday",=0A=
"Sunday");=0A=
=0A=
// Please note that the following array of short day names (and the same =
goes=0A=
// for short month names, _SMN) isn't absolutely necessary. We give it =
here=0A=
// for exemplification on how one can customize the short day names, but =
if=0A=
// they are simply the first N letters of the full name you can simply =
say:=0A=
//=0A=
// Calendar._SDN_len =3D N; // short day name length=0A=
// Calendar._SMN_len =3D N; // short month name length=0A=
//=0A=
// If N =3D 3 then this is not needed either since we assume a value of =
3 if not=0A=
// present, to be compatible with translation files that were written =
before=0A=
// this feature.=0A=
=0A=
// short day names=0A=
Calendar._SDN =3D new Array=0A=
("Sun",=0A=
"Mon",=0A=
"Tue",=0A=
"Wed",=0A=
"Thu",=0A=
"Fri",=0A=
"Sat",=0A=
"Sun");=0A=
=0A=
// First day of the week. "0" means display Sunday first, "1" means =
display=0A=
// Monday first, etc.=0A=
Calendar._FD =3D 0;=0A=
=0A=
// full month names=0A=
Calendar._MN =3D new Array=0A=
("January",=0A=
"February",=0A=
"March",=0A=
"April",=0A=
"May",=0A=
"June",=0A=
"July",=0A=
"August",=0A=
"September",=0A=
"October",=0A=
"November",=0A=
"December");=0A=
=0A=
// short month names=0A=
Calendar._SMN =3D new Array=0A=
("Jan",=0A=
"Feb",=0A=
"Mar",=0A=
"Apr",=0A=
"May",=0A=
"Jun",=0A=
"Jul",=0A=
"Aug",=0A=
"Sep",=0A=
"Oct",=0A=
"Nov",=0A=
"Dec");=0A=
=0A=
// tooltips=0A=
Calendar._TT =3D {};=0A=
Calendar._TT["INFO"] =3D "About the calendar";=0A=
=0A=
Calendar._TT["ABOUT"] =3D=0A=
"DHTML Date/Time Selector\n" +=0A=
"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate =
this this ;-)=0A=
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +=0A=
"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for =
details." +=0A=
"\n\n" +=0A=
"Date selection:\n" +=0A=
"- Use the \xab, \xbb buttons to select year\n" +=0A=
"- Use the " + String.fromCharCode(0x2039) + ", " + =
String.fromCharCode(0x203a) + " buttons to select month\n" +=0A=
"- Hold mouse button on any of the above buttons for faster selection.";=0A=
Calendar._TT["ABOUT_TIME"] =3D "\n\n" +=0A=
"Time selection:\n" +=0A=
"- Click on any of the time parts to increase it\n" +=0A=
"- or Shift-click to decrease it\n" +=0A=
"- or click and drag for faster selection.";=0A=
=0A=
Calendar._TT["PREV_YEAR"] =3D "Prev. year (hold for menu)";=0A=
Calendar._TT["PREV_MONTH"] =3D "Prev. month (hold for menu)";=0A=
Calendar._TT["GO_TODAY"] =3D "Go Today";=0A=
Calendar._TT["NEXT_MONTH"] =3D "Next month (hold for menu)";=0A=
Calendar._TT["NEXT_YEAR"] =3D "Next year (hold for menu)";=0A=
Calendar._TT["SEL_DATE"] =3D "Select date";=0A=
Calendar._TT["DRAG_TO_MOVE"] =3D "Drag to move";=0A=
Calendar._TT["PART_TODAY"] =3D " (today)";=0A=
=0A=
// the following is to inform that "%s" is to be the first day of week=0A=
// %s will be replaced with the day name.=0A=
Calendar._TT["DAY_FIRST"] =3D "Display %s first";=0A=
=0A=
// This may be locale-dependent. It specifies the week-end days, as an =
array=0A=
// of comma-separated numbers. The numbers are from 0 to 6: 0 means =
Sunday, 1=0A=
// means Monday, etc.=0A=
Calendar._TT["WEEKEND"] =3D "0,6";=0A=
=0A=
Calendar._TT["CLOSE"] =3D "Close";=0A=
Calendar._TT["TODAY"] =3D "Today";=0A=
Calendar._TT["TIME_PART"] =3D "(Shift-)Click or drag to change value";=0A=
=0A=
// date formats=0A=
Calendar._TT["DEF_DATE_FORMAT"] =3D "%Y-%m-%d";=0A=
Calendar._TT["TT_DATE_FORMAT"] =3D "%a, %b %e";=0A=
=0A=
Calendar._TT["WK"] =3D "wk";=0A=
Calendar._TT["TIME"] =3D "Time:";=0A=
------=_NextPart_000_0033_01C9BE9B.5E2DD4C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.usnews.com/z3stub/++resource++CommonResources/jscalendar/calendar-setup.js
/* Copyright Mihai Bazon, 2002, 2003 | http://dynarch.com/mishoo/=0A=
* =
-------------------------------------------------------------------------=
--=0A=
*=0A=
* The DHTML Calendar=0A=
*=0A=
* Details and latest version at:=0A=
* http://dynarch.com/mishoo/calendar.epl=0A=
*=0A=
* This script is distributed under the GNU Lesser General Public =
License.=0A=
* Read the entire license text here: =
http://www.gnu.org/licenses/lgpl.html=0A=
*=0A=
* This file defines helper functions for setting up the calendar. They =
are=0A=
* intended to help non-programmers get a working calendar on their site=0A=
* quickly. This script should not be seen as part of the calendar. It =
just=0A=
* shows you what one can do with the calendar, while in the same time=0A=
* providing a quick and simple method for setting it up. If you need=0A=
* exhaustive customization of the calendar creation process feel free to=0A=
* modify this code to suit your needs (this is recommended and much =
better=0A=
* than modifying calendar.js itself).=0A=
*/=0A=
=0A=
// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $=0A=
=0A=
/**=0A=
* This function "patches" an input field (or other element) to use a =
calendar=0A=
* widget for date selection.=0A=
*=0A=
* The "params" is a single object that can have the following =
properties:=0A=
*=0A=
* prop. name | description=0A=
* =
-------------------------------------------------------------------------=
------------------------=0A=
* inputField | the ID of an input field to store the date=0A=
* displayArea | the ID of a DIV or other element to show the date=0A=
* button | ID of a button or other element that will trigger =
the calendar=0A=
* eventName | event that will trigger the calendar, without the =
"on" prefix (default: "click")=0A=
* ifFormat | date format that will be stored in the input field=0A=
* daFormat | the date format that will be used to display the =
date in displayArea=0A=
* singleClick | (true/false) wether the calendar is in single click =
mode or not (default: true)=0A=
* firstDay | numeric: 0 to 6. "0" means display Sunday first, =
"1" means display Monday first, etc.=0A=
* align | alignment (default: "Br"); if you don't know what's =
this see the calendar documentation=0A=
* range | array with 2 elements. Default: [1900, 2999] -- =
the range of years available=0A=
* weekNumbers | (true/false) if it's true (default) the calendar =
will display week numbers=0A=
* flat | null or element ID; if not null the calendar will =
be a flat calendar having the parent with the given ID=0A=
* flatCallback | function that receives a JS Date object and returns =
an URL to point the browser to (for flat calendar)=0A=
* disableFunc | function that receives a JS Date object and should =
return true if that date has to be disabled in the calendar=0A=
* onSelect | function that gets called when a date is selected. =
You don't _have_ to supply this (the default is generally okay)=0A=
* onClose | function that gets called when the calendar is =
closed. [default]=0A=
* onUpdate | function that gets called after the date is updated =
in the input field. Receives a reference to the calendar.=0A=
* date | the date that the calendar will be initially =
displayed to=0A=
* showsTime | default: false; if true the calendar will include a =
time selector=0A=
* timeFormat | the time format; can be "12" or "24", default is =
"12"=0A=
* electric | if true (default) then given fields/date areas are =
updated for each move; otherwise they're updated only on close=0A=
* step | configures the step of the years in drop-down =
boxes; default: 2=0A=
* position | configures the calendar absolute position; default: =
null=0A=
* cache | if "true" (but default: "false") it will reuse the =
same calendar object, where possible=0A=
* showOthers | if "true" (but default: "false") it will show days =
from other months too=0A=
*=0A=
* None of them is required, they all have default values. However, if =
you=0A=
* pass none of "inputField", "displayArea" or "button" you'll get a =
warning=0A=
* saying "nothing to setup".=0A=
*/=0A=
Calendar.setup =3D function (params) {=0A=
function param_default(pname, def) { if (typeof params[pname] =3D=3D =
"undefined") { params[pname] =3D def; } };=0A=
=0A=
param_default("inputField", null);=0A=
param_default("displayArea", null);=0A=
param_default("button", null);=0A=
param_default("eventName", "click");=0A=
param_default("ifFormat", "%Y/%m/%d");=0A=
param_default("daFormat", "%Y/%m/%d");=0A=
param_default("singleClick", true);=0A=
param_default("disableFunc", null);=0A=
param_default("dateStatusFunc", params["disableFunc"]); // takes =
precedence if both are defined=0A=
param_default("dateText", null);=0A=
param_default("firstDay", null);=0A=
param_default("align", "Br");=0A=
param_default("range", [1900, 2999]);=0A=
param_default("weekNumbers", true);=0A=
param_default("flat", null);=0A=
param_default("flatCallback", null);=0A=
param_default("onSelect", null);=0A=
param_default("onClose", null);=0A=
param_default("onUpdate", null);=0A=
param_default("date", null);=0A=
param_default("showsTime", false);=0A=
param_default("timeFormat", "24");=0A=
param_default("electric", true);=0A=
param_default("step", 2);=0A=
param_default("position", null);=0A=
param_default("cache", false);=0A=
param_default("showOthers", false);=0A=
param_default("multiple", null);=0A=
=0A=
var tmp =3D ["inputField", "displayArea", "button"];=0A=
for (var i in tmp) {=0A=
if (typeof params[tmp[i]] =3D=3D "string") {=0A=
params[tmp[i]] =3D document.getElementById(params[tmp[i]]);=0A=
}=0A=
}=0A=
if (!(params.flat || params.multiple || params.inputField || =
params.displayArea || params.button)) {=0A=
alert("Calendar.setup:\n Nothing to setup (no fields found). Please =
check your code");=0A=
return false;=0A=
}=0A=
=0A=
function onSelect(cal) {=0A=
var p =3D cal.params;=0A=
var update =3D (cal.dateClicked || p.electric);=0A=
if (update && p.inputField) {=0A=
p.inputField.value =3D cal.date.print(p.ifFormat);=0A=
if (typeof p.inputField.onchange =3D=3D "function")=0A=
p.inputField.onchange();=0A=
}=0A=
if (update && p.displayArea)=0A=
p.displayArea.innerHTML =3D cal.date.print(p.daFormat);=0A=
if (update && typeof p.onUpdate =3D=3D "function")=0A=
p.onUpdate(cal);=0A=
if (update && p.flat) {=0A=
if (typeof p.flatCallback =3D=3D "function")=0A=
p.flatCallback(cal);=0A=
}=0A=
if (update && p.singleClick && cal.dateClicked)=0A=
cal.callCloseHandler();=0A=
};=0A=
=0A=
if (params.flat !=3D null) {=0A=
if (typeof params.flat =3D=3D "string")=0A=
params.flat =3D document.getElementById(params.flat);=0A=
if (!params.flat) {=0A=
alert("Calendar.setup:\n Flat specified but can't find parent.");=0A=
return false;=0A=
}=0A=
var cal =3D new Calendar(params.firstDay, params.date, params.onSelect =
|| onSelect);=0A=
cal.showsOtherMonths =3D params.showOthers;=0A=
cal.showsTime =3D params.showsTime;=0A=
cal.time24 =3D (params.timeFormat =3D=3D "24");=0A=
cal.params =3D params;=0A=
cal.weekNumbers =3D params.weekNumbers;=0A=
cal.setRange(params.range[0], params.range[1]);=0A=
cal.setDateStatusHandler(params.dateStatusFunc);=0A=
cal.getDateText =3D params.dateText;=0A=
if (params.ifFormat) {=0A=
cal.setDateFormat(params.ifFormat);=0A=
}=0A=
if (params.inputField && typeof params.inputField.value =3D=3D =
"string") {=0A=
cal.parseDate(params.inputField.value);=0A=
}=0A=
cal.create(params.flat);=0A=
cal.show();=0A=
return false;=0A=
}=0A=
=0A=
var triggerEl =3D params.button || params.displayArea || =
params.inputField;=0A=
triggerEl["on" + params.eventName] =3D function() {=0A=
var dateEl =3D params.inputField || params.displayArea;=0A=
var dateFmt =3D params.inputField ? params.ifFormat : params.daFormat;=0A=
var mustCreate =3D false;=0A=
var cal =3D window.calendar;=0A=
if (dateEl)=0A=
params.date =3D Date.parseDate(dateEl.value || dateEl.innerHTML, =
dateFmt);=0A=
if (!(cal && params.cache)) {=0A=
window.calendar =3D cal =3D new Calendar(params.firstDay,=0A=
params.date,=0A=
params.onSelect || onSelect,=0A=
params.onClose || function(cal) { cal.hide(); });=0A=
cal.showsTime =3D params.showsTime;=0A=
cal.time24 =3D (params.timeFormat =3D=3D "24");=0A=
cal.weekNumbers =3D params.weekNumbers;=0A=
mustCreate =3D true;=0A=
} else {=0A=
if (params.date)=0A=
cal.setDate(params.date);=0A=
cal.hide();=0A=
}=0A=
if (params.multiple) {=0A=
cal.multiple =3D {};=0A=
for (var i =3D params.multiple.length; --i >=3D 0;) {=0A=
var d =3D params.multiple[i];=0A=
var ds =3D d.print("%Y%m%d");=0A=
cal.multiple[ds] =3D d;=0A=
}=0A=
}=0A=
cal.showsOtherMonths =3D params.showOthers;=0A=
cal.yearStep =3D params.step;=0A=
cal.setRange(params.range[0], params.range[1]);=0A=
cal.params =3D params;=0A=
cal.setDateStatusHandler(params.dateStatusFunc);=0A=
cal.getDateText =3D params.dateText;=0A=
cal.setDateFormat(dateFmt);=0A=
if (mustCreate)=0A=
cal.create();=0A=
cal.refresh();=0A=
if (!params.position)=0A=
cal.showAtElement(params.button || params.displayArea || =
params.inputField, params.align);=0A=
else=0A=
cal.showAt(params.position[0], params.position[1]);=0A=
return false;=0A=
};=0A=
=0A=
return cal;=0A=
};=0A=
------=_NextPart_000_0033_01C9BE9B.5E2DD4C0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://js.revsci.net/gateway/gw.js?csid=E08741
/*=0A=
* Build version UW-11.1.0-94=0A=
*/=0A=
var rsi_k;=0A=
var rsi_now =3D new Date();=0A=
var rsi_csid =3D 'E08741';=0A=
if(typeof(csids)=3D=3D"undefined"){var =
csids=3D[rsi_csid];}else{csids.push(rsi_csid);}var _rsiaa=3D0;var =
_rsiba=3D1;var _rsica=3D0;var _rsida=3D0;var _rsiea=3D0;var =
_rsifa=3D1;var _rsiga=3D"0806180";var _rsiha=3D"pix04.revsci.net";var =
_rsiia=3D"js";var _rsija=3D"b";var _rsika=3D"3";var _rsila=3D3;var =
_rsima=3Dnew Array();var _rsina=3D0;var _rsioa;var _rsipa;var _rsiqa;var =
_rsira;var _rsisa;var _rsita;_rsiua();function =
DM_cat(Da){_rsioa=3DDa;}function DM_name(Ea){_rsipa=3DEa;}function =
DM_keywords(st){_rsiqa=3Dst;}function DM_event(Fa){_rsira=3DFa;}function =
DM_addToLoc(n,v){_rsisa=3D_rsiva(_rsisa,n,v);}function =
DM_addEncToLoc(n,v){DM_addToLoc(_rsiwa(n),_rsiwa(v));}function =
DM_setLoc(u){_rsisa=3Du;}function DM_setCsid(Ga){rsi_csid=3DGa;}function =
rsi_c(Ha){this._rsixa=3DHa;}function =
rsi_ral(Ia){this._rsiaa=3DIa;}function =
rsi_riu(Ja){this._rsiba=3DJa;}function =
rsi_tiu(Ka){this._rsica=3DKa;}function =
rsi_m(La){this._rsida=3DLa;}function =
rsi_dw(Ma){this._rsiea=3DMa;}function =
rsi_tu(Na){this._rsifa=3DdocW;}function =
rsi_s(Oa){this._rsiha=3DOa;}function =
rsi_t(Pa){this._rsiia=3DPa;}function =
rsi_en(Qa){this._rsija=3DQa;}function =
rsi_cn(Ra){this._rsika=3DRa;}function =
rsi_us(Sa){this._rsila=3DSa;}function DM_tag(){var =
Ta;if(_rsina=3D=3D0||_rsida=3D=3D1){if(typeof(DM_prep)=3D=3D"function"){D=
M_prep(rsi_csid);}var Ua=3D_rsiya();if(_rsiia=3D=3D"gif"){Ta=3Dnew =
Image(2,3);Ta.src=3DUa;_rsima[_rsima.length]=3DTa;}else =
if(_rsiia=3D=3D"js"){if(_rsiea=3D=3D1){document.write("