You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xap-commits@incubator.apache.org by mt...@apache.org on 2006/08/23 18:01:36 UTC

svn commit: r434108 [2/2] - /incubator/xap/trunk/dist/zimbra.js

Modified: incubator/xap/trunk/dist/zimbra.js
URL: http://svn.apache.org/viewvc/incubator/xap/trunk/dist/zimbra.js?rev=434108&r1=434107&r2=434108&view=diff
==============================================================================
--- incubator/xap/trunk/dist/zimbra.js (original)
+++ incubator/xap/trunk/dist/zimbra.js Wed Aug 23 11:01:36 2006
@@ -1,36159 +1,23398 @@
-/** auto include file:./xap/peter/src/zimbra/js/msgs/AjxMsg.js **/
-function launch() {
-	// DBG = new AjxDebug( AjxDebug.NONE, null, false );
-}
-// AjxCore.addOnloadListener( launch );
-
-// Basename: /msgs/I18nMsg
-function I18nMsg(){}
-
-I18nMsg["currencyCode"] = "USD";
-I18nMsg["currencySymbol"] = "$";
-I18nMsg["eraAD"] = "AD";
-I18nMsg["eraBC"] = "BC";
-I18nMsg["firstDayOfWeek"] = "1";
-I18nMsg["formatDateFull"] = "EEEE, MMMM d, yyyy";
-I18nMsg["formatDateLong"] = "MMMM d, yyyy";
-I18nMsg["formatDateMedium"] = "MMM d, yyyy";
-I18nMsg["formatDateShort"] = "M/d/yy";
-I18nMsg["formatDateTime"] = "{0} {1}";
-I18nMsg["formatNumber"] = "#,##0.###";
-I18nMsg["formatNumberCurrency"] = "\u00a4#,##0.00;(\u00a4#,##0.00)";
-I18nMsg["formatNumberInteger"] = "#,##0";
-I18nMsg["formatNumberPercent"] = "#,##0%";
-I18nMsg["formatTimeFull"] = "h:mm:ss a z";
-I18nMsg["formatTimeLong"] = "h:mm:ss a z";
-I18nMsg["formatTimeMedium"] = "h:mm:ss a";
-I18nMsg["formatTimeShort"] = "h:mm a";
-I18nMsg["monthAprLong"] = "April";
-I18nMsg["monthAprMedium"] = "Apr";
-I18nMsg["monthAugLong"] = "August";
-I18nMsg["monthAugMedium"] = "Aug";
-I18nMsg["monthDecLong"] = "December";
-I18nMsg["monthDecMedium"] = "Dec";
-I18nMsg["monthFebLong"] = "February";
-I18nMsg["monthFebMedium"] = "Feb";
-I18nMsg["monthJanLong"] = "January";
-I18nMsg["monthJanMedium"] = "Jan";
-I18nMsg["monthJulLong"] = "July";
-I18nMsg["monthJulMedium"] = "Jul";
-I18nMsg["monthJunLong"] = "June";
-I18nMsg["monthJunMedium"] = "Jun";
-I18nMsg["monthMarLong"] = "March";
-I18nMsg["monthMarMedium"] = "Mar";
-I18nMsg["monthMayLong"] = "May";
-I18nMsg["monthMayMedium"] = "May";
-I18nMsg["monthNovLong"] = "November";
-I18nMsg["monthNovMedium"] = "Nov";
-I18nMsg["monthOctLong"] = "October";
-I18nMsg["monthOctMedium"] = "Oct";
-I18nMsg["monthSepLong"] = "September";
-I18nMsg["monthSepMedium"] = "Sep";
-I18nMsg["numberInfinity"] = "\u221e";
-I18nMsg["numberNaN"] = "\ufffd";
-I18nMsg["numberSeparatorDecimal"] = ".";
-I18nMsg["numberSeparatorGrouping"] = ",";
-I18nMsg["numberSeparatorMoneyDecimal"] = ".";
-I18nMsg["numberSignMinus"] = "-";
-I18nMsg["numberSignPerMill"] = "\u2030";
-I18nMsg["numberSignPercent"] = "%";
-I18nMsg["numberZero"] = "0";
-I18nMsg["periodAm"] = "AM";
-I18nMsg["periodPm"] = "PM";
-I18nMsg["timezoneMapAfrica/Algiers"] = "(GMT+01.00) West Central Africa";
-I18nMsg["timezoneMapAfrica/Cairo"] = "(GMT+02.00) Cairo";
-I18nMsg["timezoneMapAfrica/Casablanca"] = "(GMT) Casablanca / Monrovia";
-I18nMsg["timezoneMapAfrica/Harare"] = "(GMT+02.00) Harare / Pretoria";
-I18nMsg["timezoneMapAfrica/Nairobi"] = "(GMT+03.00) Nairobi";
-I18nMsg["timezoneMapAmerica/Bogota"] = "(GMT-05.00) Bogota / Lima / Quito";
-I18nMsg["timezoneMapAmerica/Buenos_Aires"] = "(GMT-03.00) Buenos Aires / Georgetown";
-I18nMsg["timezoneMapAmerica/Caracas"] = "(GMT-04.00) Caracas / La Paz";
-I18nMsg["timezoneMapAmerica/Godthab"] = "(GMT-03.00) Greenland";
-I18nMsg["timezoneMapAmerica/Santiago"] = "(GMT-04.00) Santiago";
-I18nMsg["timezoneMapAsia/Aqtobe"] = "(GMT+05.00) Ekaterinburg";
-I18nMsg["timezoneMapAsia/Baghdad"] = "(GMT+03.00) Baghdad";
-I18nMsg["timezoneMapAsia/Baku"] = "(GMT+04.00) Baku / Tbilisi / Yerevan";
-I18nMsg["timezoneMapAsia/Bangkok"] = "(GMT+07.00) Bangkok / Hanoi / Jakarta";
-I18nMsg["timezoneMapAsia/Calcutta"] = "(GMT+05.30) Chennai / Kolkata / Mumbai / New Delhi";
-I18nMsg["timezoneMapAsia/Colombo"] = "(GMT+06.00) Sri Jayawardenepura";
-I18nMsg["timezoneMapAsia/Dhaka"] = "(GMT+06.00) Astana / Dhaka";
-I18nMsg["timezoneMapAsia/Hong_Kong"] = "(GMT+08.00) Beijing / Chongqing / Hong Kong / Urumqi";
-I18nMsg["timezoneMapAsia/Irkutsk"] = "(GMT+08.00) Irkutsk / Ulaan Bataar";
-I18nMsg["timezoneMapAsia/Jerusalem"] = "(GMT+02.00) Jerusalem";
-I18nMsg["timezoneMapAsia/Kabul"] = "(GMT+04.30) Kabul";
-I18nMsg["timezoneMapAsia/Karachi"] = "(GMT+05.00) Islamabad / Karachi / Tashkent";
-I18nMsg["timezoneMapAsia/Katmandu"] = "(GMT+05.45) Kathmandu";
-I18nMsg["timezoneMapAsia/Krasnoyarsk"] = "(GMT+07.00) Krasnoyarsk";
-I18nMsg["timezoneMapAsia/Kuala_Lumpur"] = "(GMT+08.00) Kuala Lumpur / Singaporev";
-I18nMsg["timezoneMapAsia/Kuwait"] = "(GMT+03.00) Kuwait / Riyadh";
-I18nMsg["timezoneMapAsia/Magadan"] = "(GMT+11.00) Magadan / Solomon Is. / New Calenodia";
-I18nMsg["timezoneMapAsia/Muscat"] = "(GMT+04.00) Abu Dhabi / Muscat";
-I18nMsg["timezoneMapAsia/Novosibirsk"] = "(GMT+06.00) Almaty / Novosibirsk";
-I18nMsg["timezoneMapAsia/Rangoon"] = "(GMT+06.30) Rangoon";
-I18nMsg["timezoneMapAsia/Seoul"] = "(GMT+09.00) Seoul";
-I18nMsg["timezoneMapAsia/Taipei"] = "(GMT+08.00) Taipei";
-I18nMsg["timezoneMapAsia/Tehran"] = "(GMT+03.30) Tehran";
-I18nMsg["timezoneMapAsia/Tokyo"] = "(GMT+09.00) Osaka / Sapporo / Tokyo";
-I18nMsg["timezoneMapAsia/Vladivostok"] = "(GMT+10.00) Vladivostok";
-I18nMsg["timezoneMapAsia/Yakutsk"] = "(GMT+09.00) Yakutsk";
-I18nMsg["timezoneMapAtlantic/Azores"] = "(GMT-01.00) Azores";
-I18nMsg["timezoneMapAtlantic/Cape_Verde"] = "(GMT-01.00) Cape Verde Is.";
-I18nMsg["timezoneMapAustralia/Adelaide"] = "(GMT+09.30) Adelaide";
-I18nMsg["timezoneMapAustralia/Brisbane"] = "(GMT+10.00) Brisbane";
-I18nMsg["timezoneMapAustralia/Darwin"] = "(GMT+09.30) Darwin";
-I18nMsg["timezoneMapAustralia/Hobart"] = "(GMT+10.00) Hobart";
-I18nMsg["timezoneMapAustralia/Perth"] = "(GMT+08.00) Perth";
-I18nMsg["timezoneMapAustralia/Sydney"] = "(GMT+10.00) Canberra / Melbourne / Sydney";
-I18nMsg["timezoneMapBrazil/East"] = "(GMT-03.00) Brasilia";
-I18nMsg["timezoneMapCanada/Eastern"] = "(GMT-04.00) Atlantic Time (Canada)";
-I18nMsg["timezoneMapCanada/Newfoundland"] = "(GMT-03.30) Newfoundlan";
-I18nMsg["timezoneMapCanada/Saskatchewan"] = "(GMT-06.00) Saskatchewan";
-I18nMsg["timezoneMapEurope/Athens"] = "(GMT+02.00) Athens / Beirut / Istanbul / Minsk";
-I18nMsg["timezoneMapEurope/Berlin"] = "(GMT+01.00) Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna";
-I18nMsg["timezoneMapEurope/London"] = "(GMT) Greenwich Mean Time - Dublin / Edinburgh / Lisbon / London";
-I18nMsg["timezoneMapEurope/Moscow"] = "(GMT+03.00) Moscow / St. Petersburg / Volgograd";
-I18nMsg["timezoneMapPacific/Auckland"] = "(GMT+12.00) Auckland / Wellington";
-I18nMsg["timezoneMapPacific/Fiji"] = "(GMT+12.00) Fiji / Kamchatka / Marshall Is.";
-I18nMsg["timezoneMapPacific/Guam"] = "(GMT+10.00) Guam / Port Moresby";
-I18nMsg["timezoneMapPacific/Midway"] = "(GMT-11.00) Midway Island / Samoa";
-I18nMsg["timezoneMapPacific/Tongatapu"] = "(GMT+13.00) Nuku'alofa";
-I18nMsg["timezoneMapUS/Alaska"] = "(GMT-09.00) Alaska";
-I18nMsg["timezoneMapUS/Arizona"] = "(GMT-07.00) Arizona";
-I18nMsg["timezoneMapUS/Central"] = "(GMT-06.00) Central Time (US & Canada)";
-I18nMsg["timezoneMapUS/East-Indiana"] = "(GMT-05.00) Indiana (East)";
-I18nMsg["timezoneMapUS/Eastern"] = "(GMT-05.00) Eastern Time (US & Canada)";
-I18nMsg["timezoneMapUS/Hawaii"] = "(GMT-10.00) Hawaii";
-I18nMsg["timezoneMapUS/Mountain"] = "(GMT-07.00) Mountain Time (US & Canada)";
-I18nMsg["timezoneMapUS/Pacific"] = "(GMT-08.00) Pacific Time (US & Canada) / Tijuana";
-I18nMsg["timezoneNameAfrica/Algiers"] = "Central European Time";
-I18nMsg["timezoneNameAfrica/Cairo"] = "Eastern European Time";
-I18nMsg["timezoneNameAfrica/Casablanca"] = "Western European Time";
-I18nMsg["timezoneNameAfrica/Harare"] = "Central African Time";
-I18nMsg["timezoneNameAfrica/Nairobi"] = "Eastern African Time";
-I18nMsg["timezoneNameAmerica/Bogota"] = "Colombia Time";
-I18nMsg["timezoneNameAmerica/Buenos_Aires"] = "Argentine Time";
-I18nMsg["timezoneNameAmerica/Caracas"] = "Venezuela Time";
-I18nMsg["timezoneNameAmerica/Godthab"] = "Western Greenland Time";
-I18nMsg["timezoneNameAmerica/Santiago"] = "Chile Time";
-I18nMsg["timezoneNameAsia/Aqtobe"] = "Aqtobe Time";
-I18nMsg["timezoneNameAsia/Baghdad"] = "Arabia Standard Time";
-I18nMsg["timezoneNameAsia/Baku"] = "Azerbaijan Time";
-I18nMsg["timezoneNameAsia/Bangkok"] = "Indochina Time";
-I18nMsg["timezoneNameAsia/Calcutta"] = "India Standard Time";
-I18nMsg["timezoneNameAsia/Colombo"] = "Sri Lanka Time";
-I18nMsg["timezoneNameAsia/Dhaka"] = "Bangladesh Time";
-I18nMsg["timezoneNameAsia/Hong_Kong"] = "Hong Kong Time";
-I18nMsg["timezoneNameAsia/Irkutsk"] = "Irkutsk Time";
-I18nMsg["timezoneNameAsia/Jerusalem"] = "Israel Standard Time";
-I18nMsg["timezoneNameAsia/Kabul"] = "Afghanistan Time";
-I18nMsg["timezoneNameAsia/Karachi"] = "Pakistan Time";
-I18nMsg["timezoneNameAsia/Katmandu"] = "Nepal Time";
-I18nMsg["timezoneNameAsia/Krasnoyarsk"] = "Krasnoyarsk Time";
-I18nMsg["timezoneNameAsia/Kuala_Lumpur"] = "Malaysia Time";
-I18nMsg["timezoneNameAsia/Kuwait"] = "Arabia Standard Time";
-I18nMsg["timezoneNameAsia/Magadan"] = "Magadan Time";
-I18nMsg["timezoneNameAsia/Muscat"] = "Gulf Standard Time";
-I18nMsg["timezoneNameAsia/Novosibirsk"] = "Novosibirsk Time";
-I18nMsg["timezoneNameAsia/Rangoon"] = "Myanmar Time";
-I18nMsg["timezoneNameAsia/Seoul"] = "Korea Standard Time";
-I18nMsg["timezoneNameAsia/Taipei"] = "China Standard Time";
-I18nMsg["timezoneNameAsia/Tehran"] = "Iran Standard Time";
-I18nMsg["timezoneNameAsia/Tokyo"] = "Japan Standard Time";
-I18nMsg["timezoneNameAsia/Vladivostok"] = "Vladivostok Time";
-I18nMsg["timezoneNameAsia/Yakutsk"] = "Yakutsk Time";
-I18nMsg["timezoneNameAtlantic/Azores"] = "Azores Time";
-I18nMsg["timezoneNameAtlantic/Cape_Verde"] = "Cape Verde Time";
-I18nMsg["timezoneNameAustralia/Adelaide"] = "Central Standard Time (South Australia)";
-I18nMsg["timezoneNameAustralia/Brisbane"] = "Eastern Standard Time (Queensland)";
-I18nMsg["timezoneNameAustralia/Darwin"] = "Central Standard Time (Northern Territory)";
-I18nMsg["timezoneNameAustralia/Hobart"] = "Eastern Standard Time (Tasmania)";
-I18nMsg["timezoneNameAustralia/Perth"] = "Western Standard Time (Australia)";
-I18nMsg["timezoneNameAustralia/Sydney"] = "Eastern Standard Time (New South Wales)";
-I18nMsg["timezoneNameBrazil/East"] = "Brazil Time";
-I18nMsg["timezoneNameCanada/Eastern"] = "Eastern Standard Time";
-I18nMsg["timezoneNameCanada/Newfoundland"] = "Newfoundland Standard Time";
-I18nMsg["timezoneNameCanada/Saskatchewan"] = "Central Standard Time";
-I18nMsg["timezoneNameEurope/Athens"] = "Eastern European Time";
-I18nMsg["timezoneNameEurope/Berlin"] = "Central European Time";
-I18nMsg["timezoneNameEurope/London"] = "Greenwich Mean Time";
-I18nMsg["timezoneNameEurope/Moscow"] = "Moscow Standard Time";
-I18nMsg["timezoneNamePacific/Auckland"] = "New Zealand Standard Time";
-I18nMsg["timezoneNamePacific/Fiji"] = "Fiji Time";
-I18nMsg["timezoneNamePacific/Guam"] = "Chamorro Standard Time";
-I18nMsg["timezoneNamePacific/Midway"] = "Samoa Standard Time";
-I18nMsg["timezoneNamePacific/Tongatapu"] = "Tonga Time";
-I18nMsg["timezoneNameUS/Alaska"] = "Alaska Standard Time";
-I18nMsg["timezoneNameUS/Arizona"] = "Mountain Standard Time";
-I18nMsg["timezoneNameUS/Central"] = "Central Standard Time";
-I18nMsg["timezoneNameUS/East-Indiana"] = "Eastern Standard Time";
-I18nMsg["timezoneNameUS/Eastern"] = "Eastern Standard Time";
-I18nMsg["timezoneNameUS/Hawaii"] = "Hawaii Standard Time";
-I18nMsg["timezoneNameUS/Mountain"] = "Mountain Standard Time";
-I18nMsg["timezoneNameUS/Pacific"] = "Pacific Standard Time";
-I18nMsg["weekdayFriLong"] = "Friday";
-I18nMsg["weekdayFriMedium"] = "Fri";
-I18nMsg["weekdayMonLong"] = "Monday";
-I18nMsg["weekdayMonMedium"] = "Mon";
-I18nMsg["weekdaySatLong"] = "Saturday";
-I18nMsg["weekdaySatMedium"] = "Sat";
-I18nMsg["weekdaySunLong"] = "Sunday";
-I18nMsg["weekdaySunMedium"] = "Sun";
-I18nMsg["weekdayThuLong"] = "Thursday";
-I18nMsg["weekdayThuMedium"] = "Thu";
-I18nMsg["weekdayTueLong"] = "Tuesday";
-I18nMsg["weekdayTueMedium"] = "Tue";
-I18nMsg["weekdayWedLong"] = "Wednesday";
-I18nMsg["weekdayWedMedium"] = "Wed";
-
-// Basename: /msgs/AjxMsg
-function AjxMsg(){}
-
-AjxMsg["XfnumberLessThanMin"] = "Value must be greater than or equal to {0}.";
-AjxMsg["_close"] = "Close";
-AjxMsg["_finish"] = "Finish";
-AjxMsg["_next"] = "Next";
-AjxMsg["_prev"] = "Previous";
-AjxMsg["add"] = "Add";
-AjxMsg["addAll"] = "Add All";
-AjxMsg["ago"] = "ago";
-AjxMsg["cancel"] = "Cancel";
-AjxMsg["cancelRequest"] = "Cancel Request";
-AjxMsg["confirmTitle"] = "Confirmation";
-AjxMsg["criticalMsg"] = "Critical";
-AjxMsg["dateParsing2DigitStartYear"] = "1936";
-AjxMsg["day"] = "day";
-AjxMsg["days"] = "days";
-AjxMsg["detail"] = "Detail";
-AjxMsg["didNotMatchChoice"] = "Value '$0' did not match any values for this type.";
-AjxMsg["dismiss"] = "Dismiss";
-AjxMsg["first"] = "first";
-AjxMsg["formatCalDate"] = "EEE, MMM d";
-AjxMsg["formatCalDateFull"] = "EEEE, MMMM d, yyyy";
-AjxMsg["formatCalDateLong"] = "EEEE, MMMM d";
-AjxMsg["formatCalDay"] = "M/d ";
-AjxMsg["formatCalMonth"] = "MMMM yyyy";
-AjxMsg["formatDateMediumNoYear"] = "MMM dd ";
-AjxMsg["fourth"] = "fourth";
-AjxMsg["hour"] = "hour";
-AjxMsg["hours"] = "hours";
-AjxMsg["infoMsg"] = "Informational";
-AjxMsg["invalidDateString"] = "Date value must be entered in the form: MM/DD/YYYY or \"today\", \"yesterday\" or \"tomorrow\".";
-AjxMsg["invalidDatetimeString"] = "Date format not understood.";
-AjxMsg["invalidTimeString"] = "Time value must be entered in the form: HH:MM[:SS] [AM|PM]";
-AjxMsg["last"] = "last";
-AjxMsg["minute"] = "minute";
-AjxMsg["minutes"] = "minutes";
-AjxMsg["month"] = "month";
-AjxMsg["monthAprShort"] = "A";
-AjxMsg["monthAugShort"] = "A";
-AjxMsg["monthDecShort"] = "D";
-AjxMsg["monthFebShort"] = "F";
-AjxMsg["monthJanShort"] = "J";
-AjxMsg["monthJulShort"] = "J";
-AjxMsg["monthJunShort"] = "J";
-AjxMsg["monthMarShort"] = "M";
-AjxMsg["monthMayShort"] = "M";
-AjxMsg["monthNovShort"] = "N";
-AjxMsg["monthOctShort"] = "O";
-AjxMsg["monthSepShort"] = "S";
-AjxMsg["months"] = "months";
-AjxMsg["no"] = "No";
-AjxMsg["noResults"] = "No results found.";
-AjxMsg["notANumber"] = "Value must be a number.";
-AjxMsg["notAString"] = "Value must be a text string.";
-AjxMsg["notAnInteger"] = "Value must be an integer.";
-AjxMsg["numberFractionExceeded"] = "Fractional digits exceeds total of {0}.";
-AjxMsg["numberLessThanEqualMin"] = "Value must be greater than {0}.";
-AjxMsg["numberLessThanMin"] = "Value must be greater than or equal to {0}.";
-AjxMsg["numberMoreThanEqualMax"] = "Value must be less than {0}.";
-AjxMsg["numberMoreThanMax"] = "Value must be less than or equal to {0}.";
-AjxMsg["numberMustBeNon0Percent"] = "Value must be a percentage between 1 and 100";
-AjxMsg["numberTotalExceeded"] = "Whole digits exceeds total of {0}.";
-AjxMsg["ok"] = "OK";
-AjxMsg["remove"] = "Remove";
-AjxMsg["removeAll"] = "Remove All";
-AjxMsg["second"] = "second";
-AjxMsg["seconds"] = "seconds";
-AjxMsg["stringLenWrong"] = "Value must be exactly {0} characters long.";
-AjxMsg["stringMismatch"] = "Value did not match valid values.";
-AjxMsg["stringTooLong"] = "Value must be no more than {0} characters long.";
-AjxMsg["stringTooShort"] = "Value must be at least {0} characters long.";
-AjxMsg["third"] = "third";
-AjxMsg["today"] = "today";
-AjxMsg["tomorrow"] = "tomorrow";
-AjxMsg["valueIsRequired"] = "Value is required";
-AjxMsg["warningMsg"] = "Warning";
-AjxMsg["week"] = "week";
-AjxMsg["weekdayFriShort"] = "F";
-AjxMsg["weekdayMonShort"] = "M";
-AjxMsg["weekdaySatShort"] = "S";
-AjxMsg["weekdaySunShort"] = "S";
-AjxMsg["weekdayThuShort"] = "T";
-AjxMsg["weekdayTueShort"] = "T";
-AjxMsg["weekdayWedShort"] = "W";
-AjxMsg["weeks"] = "weeks";
-AjxMsg["workInProgress"] = "Work In Progress";
-AjxMsg["xFnumberMoreThanMax"] = "Value must be less than or equal to {0}.";
-AjxMsg["xformDateTimeFormat"] = "{0,date} at {0,time}";
-AjxMsg["xformRepeatAdd"] = "+";
-AjxMsg["xformRepeatRemove"] = "-";
-AjxMsg["year"] = "year";
-AjxMsg["years"] = "years";
-AjxMsg["yes"] = "Yes";
-AjxMsg["yesterday"] = "yesterday";
-
-/*
-* Conventions
-*
-* - Classes that start with "Dwt" have a corollary Javascript object.
-* - Use one line if there is only one selector and one declaration. Otherwise, indent each declaration on its own line.
-* - Group selectors to avoid repetition of styles, as appropriate (ie group within a section). That means you may have
-*   to look at more than one definition to figure out all the applicable styles, but it lets you give the styles a 
-*   hierarchy. That way, you're more likely to need to change a style in just one place.
-* - Use shorthand styles when possible (font, margin, padding, etc).
-* - When grouping selectors that correspond to our Javascript objects, show inheritance by using a different line for
-*   each level of inheritance. CSS doesn't care about our object hierarchy, but doing that enhances readability.
-* - Use decimal RGB values for colors that don't have names.
-* - Modifiers are lower case, whether they're a class (eg .activated) or tacked on (eg -selected).
-*
-* Classes are laid out in the following general order:
-*	- HTML elements
-*	- General app stuff (shell, overlays, banner)
-*	- Widgets that tend toward abstract (minimal subclassing), such as tool tips and sashes
-*	- Heavier use widgets such as buttons and dialogs
-*		- General widget stuff, then specialized subclasses
-*	- List views, with common stuff first
-*	- Other views (lots of them)
-*	- Miscellaneous stuff that multiple apps might use (objects, autocomplete)
-*	- Modifiers
-*
-* Many of the Dwt widgets don't have corresponding classes here, since they are only subclassed. If you create and
-* display one of those widgets, you'll have to add a class for it.
-*/
-
-/* 
-* HTML elements - use for global declarations
-*/
-
-/* Global ELEMENT declarations */
-
-function ExMsg() {}
-/** auto include file:./xap/peter/src/zimbra/js/core/AjxCore.js **/
-/*
-* ***** BEGIN LICENSE BLOCK *****
-* Version: MPL 1.1
-*
-* The contents of this file are subject to the Mozilla Public
-* License Version 1.1 ("License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.zimbra.com/license
-*
-* Software distributed under the License is distributed on an "AS IS"
-* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-* the License for the specific language governing rights and limitations
-* under the License.
-*
-* The Original Code is: Zimbra AJAX Toolkit.
-*
-* The Initial Developer of the Original Code is Zimbra, Inc.
-* Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
-* All Rights Reserved.
-*
-* Contributor(s):
-*
-* ***** END LICENSE BLOCK *****
-*/
-
-
-function AjxCore() {}
-
-AjxCore._objectIds = [null];
-
-
-AjxCore.assignId = 
-function(anObject) {
-	var myId = AjxCore._objectIds.length;
-	AjxCore._objectIds[myId]= anObject;
-	return myId;
-};
-
-AjxCore.unassignId = 
-function(anId) {
-	AjxCore._objectIds[anId]= null;
-};
-
-AjxCore.objectWithId = 
-function(anId) {
-	return AjxCore._objectIds[anId];
-};
-
-/**
- * Adds a listener to an element, for the given event name.
- */
-AjxCore.addListener = 
-function(eventSource, eventName, action) {
-	eventSource = AjxCore._getEventSource(eventSource);
-	var listenerStruct = AjxCore._getListenerStruct(eventSource, eventName, true);
-	listenerStruct.list[listenerStruct.list.length] = action;
-};
-
-/**
- * sets a one time event handler for the given eventName.
- */
-AjxCore.setEventHandler = 
-function(eventSource, eventName, action) {
-	eventSource = AjxCore._getEventSource(eventSource);
-	var listenerStruct = AjxCore._getListenerStruct(eventSource, eventName, true);
-	listenerStruct.single = action;
-};
-
-/**
- * removes a listener for a given event
- */
-AjxCore.removeListener = 
-function(eventSource, eventName, action) {
-	eventSource = AjxCore._getEventSource(eventSource);
-	var listenerStruct = AjxCore._getListenerStruct(eventSource, eventName);
-
-	if (listenerStruct) {
-		var listenerList = listenerStruct.list;
-		for (var i = 0; i < listenerList.length; i++) {
-			if (listenerList[i] == action)
-				listenerList[i] = null;
-		}
-	}
-};
-
-/**
- * removes all listeners for a given eventName, and source
- */
-AjxCore.removeAllListeners = 
-function(eventSource, eventName) {
-	eventSource = AjxCore._getEventSource(eventSource);
-	var listenerStruct = AjxCore._getListenerStruct(eventSource, eventName);
-
-	if (listenerStruct) {
-		var listenerList = listenerStruct.list;
-		for (var i = 0; i < listenerList.length; i++)
-			listenerList[i] = null;
-	}
-	AjxCore.unassignId(listenerStruct.id);
-};
-
-/**
- * notifies listeners of the event. This only needs to be called if
- * the event is not a standard DOM event. Those types of event callbacks
- * will be triggered by their event handlers
- */
-AjxCore.notifyListeners = 
-function(eventSource, eventName, arg1) {
-	eventSource = AjxCore._getEventSource(eventSource);
-	var listenerStruct = AjxCore._getListenerStruct(eventSource, eventName)
-	if (listenerStruct)
-		eventSource[eventName](arg1);
-};
-
-AjxCore._getEventSource = 
-function(eventSource) {
-	if (typeof(eventSource) == 'string')
-		eventSource = document.getElementById(eventSource);
-	return eventSource;
-};
-
-AjxCore.getListenerStruct = 
-function (eventSource, eventName) {
-	return AjxCore._getListenerStruct(eventSource, eventName);
-};
-
-/**
- * gets the existing struct for the eventSource, or creates a new one.
- */
-AjxCore._getListenerStruct = 
-function(eventSource, eventName, create) {
-	var listenerStruct = null;
-	if (eventSource[eventName]) {
-		var id = eventSource[eventName]._lsListenerStructId;
-		listenerStruct = AjxCore.objectWithId(id);
-	} else if (create) {
-		listenerStruct = AjxCore._setupListener(eventSource, eventName);
-	}
-
-	return listenerStruct;
-};
-    
-/**
- * Creates a listener struct
- */
-AjxCore._setupListener = 
-function(eventSource, eventName, id) {
-	var listenerStruct = new Object();
-	listenerStruct.list = new Array();
-	listenerStruct.single = null;
-	var id = listenerStruct.id = AjxCore.assignId(listenerStruct);
-	var handler = AjxCore._createListenerClosure(id);
-	eventSource[eventName] = handler;
-	eventSource[eventName]._lsListenerStructId = id;
-
-	return listenerStruct;
-};
-
-AjxCore._createListenerClosure = 
-function(id) {
-	var closure = function(arg1) {
-		var listenerStruct = AjxCore.objectWithId(id);
-		var listenerList = listenerStruct.list;
-		for (var i = 0; i < listenerList.length; i++) {
-			var callback = listenerList[i];
-			if (callback) {
-				if (typeof(callback) == 'string') {
-					eval(callback);
-				} else {
-					// handle AjxListener callbacks as well as simple functions
-					if (callback.handleEvent) {
-						callback.handleEvent(arg1, this);
-					} else {
-						callback(arg1, this);
-					}
-				}
-			}
-		}
-        if (listenerStruct.single) {
-			var callback = listenerStruct.single;
-			if (typeof(callback) == 'string') {
-				eval(callback);
-			} else {
-				return callback.handleEvent
-					? callback.handleEvent(arg1, this)
-					: callback(arg1, this);
-			}
-		}
-	}
-	return closure;
-};
-
-/**
- * Convenience method for adding onload listeners
- */
-AjxCore.addOnloadListener = 
-function(action) {
-	if (window.onload && (!window.onload._lsListenerStructId)) {
-		var priorListener = window.onload;
-		window.onload = null;
-		AjxCore.addListener(window, "onload", priorListener);
-	}
-
-	AjxCore.addListener(window, "onload", action);
-};
-
-/**
- * Convenience method for adding onunload listeners
- */    
-AjxCore.addOnunloadListener = 
-function(action) {
-	if (window.onunload && (!window.onunload._lsListenerStructId)) {
-		var priorListener = window.onunload;
-		window.onunload = null;
-		AjxCore.addListener(window, "onunload", priorListener);
-	}
-
-	AjxCore.addListener(window, "onunload", action);
-};
-/** auto include file:./xap/peter/src/zimbra/js/core/AjxEnv.js **/
-/*
-* ***** BEGIN LICENSE BLOCK *****
-* Version: MPL 1.1
-*
-* The contents of this file are subject to the Mozilla Public
-* License Version 1.1 ("License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.zimbra.com/license
-*
-* Software distributed under the License is distributed on an "AS IS"
-* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-* the License for the specific language governing rights and limitations
-* under the License.
-*
-* The Original Code is: Zimbra AJAX Toolkit.
-*
-* The Initial Developer of the Original Code is Zimbra, Inc.
-* Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
-* All Rights Reserved.
-*
-* Contributor(s):
-*
-* ***** END LICENSE BLOCK *****
-*/
-
-
-function AjxEnv() {
-}
-
-AjxEnv._inited = false;
-
-
-AjxEnv.reset = function () {
-	AjxEnv.browserVersion = -1;
-	AjxEnv.geckoDate = 0;
-	AjxEnv.mozVersion = -1;
-	AjxEnv.isMac = false;
-	AjxEnv.isWindows = false;
-	AjxEnv.isLinux = false;
-	AjxEnv.isNav  = false;
-	AjxEnv.isIE = false;
-	AjxEnv.isNav4 = false;
-	AjxEnv.trueNs = true;
-	AjxEnv.isNav6 = false;
-	AjxEnv.isNav6up = false;
-	AjxEnv.isNav7 = false;
-	AjxEnv.isIE3 = false;
-	AjxEnv.isIE4 = false;
-	AjxEnv.isIE4up = false;
-	AjxEnv.isIE5 = false;
-	AjxEnv.isIE5_5 = false;
-	AjxEnv.isIE5up = false;
-	AjxEnv.isIE5_5up = false;
-	AjxEnv.isIE6  = false;
-	AjxEnv.isIE6up = false;
-	AjxEnv.isNormalResolution = false;
-	AjxEnv.ieScaleFactor = 1;
-	AjxEnv.isFirefox = false;
-	AjxEnv.isFirefox1up = false;
-	AjxEnv.isFirefox1_5up = false;
-	AjxEnv.isMozilla = false;
-	AjxEnv.isMozilla1_4up = false;
-	AjxEnv.isSafari = false;
-	AjxEnv.isGeckoBased = false;
-	AjxEnv.isOpera = false;
-	AjxEnv.useTransparentPNGs = false;
-
-	// screen resolution - ADD MORE RESOLUTION CHECKS AS NEEDED HERE:
-	AjxEnv.is800x600orLower = screen.width <= 800 && screen.height <= 600;
-};
-
-AjxEnv.parseUA = function (userAgent) {
-	var agt = userAgent.toLowerCase();
-	var agtArr = agt.split(" ");
-	var i = 0;
-	var index = -1;
-	var token = null;
-	var isSpoofer = false;
-	var isWebTv = false;
-	var isHotJava = false;
-	var beginsWithMozilla = false;
-	var isCompatible = false;
-	if (agtArr != null) {
-		if ( (index = agtArr[0].search(/^\s*mozilla\//) )!= -1){
-			beginsWithMozilla = true;
-			AjxEnv.browserVersion = parseFloat(agtArr[0].substring(index + 8));
-			AjxEnv.isNav = true;
-		}
-		for ( ; i < agtArr.length; ++i ){
-			token = agtArr[i];
-			if (token.indexOf('compatible') != -1 ) {
-				isCompatible = true;
-				AjxEnv.isNav = false;
-			} else if ((token.indexOf('opera')) != -1){
-				AjxEnv.isOpera = true;
-				AjxEnv.isNav = false;
-				AjxEnv.browserVersion = parseFloat(agtArr[i+1]);
-			} else if ((token.indexOf('spoofer')) != -1){
-				isSpoofer = true;
-				AjxEnv.isNav = false;
-			} else if ((token.indexOf('webtv')) != -1) {
-				isWebTv = true;
-				AjxEnv.isNav = false;
-			} else if ((token.indexOf('hotjava')) != -1) {
-				isHotJava = true;
-				AjxEnv.isNav = false;
-			} else if ((index = token.indexOf('msie')) != -1) {
-				AjxEnv.isIE = true;
-				AjxEnv.browserVersion = parseFloat(agtArr[i+1]);
-			} else if ((index = token.indexOf('gecko/')) != -1){
-				AjxEnv.isGeckoBased = true;
-				AjxEnv.geckoDate = parseFloat(token.substr(index + 6));
-			} else if ((index = token.indexOf('rv:')) != -1){
-				AjxEnv.mozVersion = parseFloat(token.substr(index + 3));
-				AjxEnv.browserVersion = AjxEnv.mozVersion;
-			} else if ((index = token.indexOf('firefox/')) != -1){
-				AjxEnv.isFirefox = true;
-				AjxEnv.browserVersion = parseFloat(token.substr(index + 8));
-			} else if ((index = token.indexOf('netscape6/')) != -1){
-				AjxEnv.trueNs = true;
-				AjxEnv.browserVersion = parseFloat(token.substr(index + 10));
-			} else if ((index = token.indexOf('netscape/')) != -1){
-				AjxEnv.trueNs = true;
-				AjxEnv.browserVersion = parseFloat(token.substr(index + 9));
-			} else if ((index = token.indexOf('safari/')) != -1){
-				AjxEnv.isSafari = true;
-				AjxEnv.browserVersion = parseFloat(token.substr(index + 7));
-			} else if (token.indexOf('windows') != -1){
-				AjxEnv.isWindows = true;
-			} else if ((token.indexOf('macintosh') != -1) ||
-					   (token.indexOf('mac_') != -1)){
-				AjxEnv.isMac = true;
-			} else if (token.indexOf('linux') != -1){
-				AjxEnv.isLinux = true;
-			}
-		}
-		// Note: Opera and WebTV spoof Navigator.  
-		// We do strict client detection.
-		AjxEnv.isNav  = (beginsWithMozilla && !isSpoofer && !isCompatible && 
-						!AjxEnv.isOpera && !isWebTv && !isHotJava &&
-						!AjxEnv.isSafari);
-
-		AjxEnv.isIE = (AjxEnv.isIE && !AjxEnv.isOpera);
-
-		AjxEnv.isNav4 = (AjxEnv.isNav && (AjxEnv.browserVersion  == 4) &&
-						(!AjxEnv.isIE));
-		AjxEnv.isNav6 = (AjxEnv.isNav && AjxEnv.trueNs && 
-						(AjxEnv.browserVersion >=6.0) && 
-						(AjxEnv.browserVersion < 7.0));
-		AjxEnv.isNav6up = (AjxEnv.isNav && AjxEnv.trueNs && 
-						  (AjxEnv.browserVersion >= 6.0));
-		AjxEnv.isNav7 = (AjxEnv.isNav && AjxEnv.trueNs && 
-						(AjxEnv.browserVersion == 7.0));
-
-		AjxEnv.isIE3 = (AjxEnv.isIE && (AjxEnv.browserVersion < 4));
-		AjxEnv.isIE4 = (AjxEnv.isIE && (AjxEnv.browserVersion == 4) && 
-					 (AjxEnv.browserVersion == 4.0));
-		AjxEnv.isIE4up = (AjxEnv.isIE && (AjxEnv.browserVersion >= 4));
-		AjxEnv.isIE5 = (AjxEnv.isIE && (AjxEnv.browserVersion == 4) && 
-					 (AjxEnv.browserVersion == 5.0));
-		AjxEnv.isIE5_5 = (AjxEnv.isIE && (AjxEnv.browserVersion == 4) && 
-						 (AjxEnv.browserVersion == 5.5));
-		AjxEnv.isIE5up = (AjxEnv.isIE && (AjxEnv.browserVersion >= 5.0));
-		AjxEnv.isIE5_5up =(AjxEnv.isIE && (AjxEnv.browserVersion >= 5.5));
-		AjxEnv.isIE6  = (AjxEnv.isIE && (AjxEnv.browserVersion == 6.0));
-		AjxEnv.isIE6up = (AjxEnv.isIE && (AjxEnv.browserVersion >= 6.0));
-
-		AjxEnv.isMozilla = ((AjxEnv.isNav && AjxEnv.mozVersion && 
-							AjxEnv.isGeckoBased && (AjxEnv.geckoDate != 0)));
-		AjxEnv.isMozilla1_4up = (AjxEnv.isMozilla && (AjxEnv.mozVersion >= 1.4));
-		AjxEnv.isFirefox = ((AjxEnv.isMozilla && AjxEnv.isFirefox));
-		AjxEnv.isFirefox1up = (AjxEnv.isFirefox && AjxEnv.browserVersion >= 1.0);
-		AjxEnv.isFirefox1_5up = (AjxEnv.isFirefox && AjxEnv.browserVersion >= 1.5);
-
-	}
-	// setup some global setting we can check for high resolution
-	if (AjxEnv.isIE){
-		AjxEnv.isNormalResolution = true;
-		AjxEnv.ieScaleFactor = screen.deviceXDPI / screen.logicalXDPI;
-		if (AjxEnv.ieScaleFactor > 1) {
-			AjxEnv.isNormalResolution = false;
-		}
-	}
-	// show transparent PNGs on platforms that support them well
-	//	(eg: all but IE and Linux)
-	//	MOW: having trouble getting safari to render transparency for shadows, skipping there, too
-	AjxEnv.useTransparentPNGs = !AjxEnv.isIE && !AjxEnv.isLinux && !AjxEnv.isSafari;
-	AjxEnv._inited = !AjxEnv.isIE;
+function launch(){
+}
+function I18nMsg(){
+}
+I18nMsg["currencyCode"]="USD";
+I18nMsg["currencySymbol"]="$";
+I18nMsg["eraAD"]="AD";
+I18nMsg["eraBC"]="BC";
+I18nMsg["firstDayOfWeek"]="1";
+I18nMsg["formatDateFull"]="EEEE, MMMM d, yyyy";
+I18nMsg["formatDateLong"]="MMMM d, yyyy";
+I18nMsg["formatDateMedium"]="MMM d, yyyy";
+I18nMsg["formatDateShort"]="M/d/yy";
+I18nMsg["formatDateTime"]="{0} {1}";
+I18nMsg["formatNumber"]="#,##0.###";
+I18nMsg["formatNumberCurrency"]="\xa4#,##0.00;(\xa4#,##0.00)";
+I18nMsg["formatNumberInteger"]="#,##0";
+I18nMsg["formatNumberPercent"]="#,##0%";
+I18nMsg["formatTimeFull"]="h:mm:ss a z";
+I18nMsg["formatTimeLong"]="h:mm:ss a z";
+I18nMsg["formatTimeMedium"]="h:mm:ss a";
+I18nMsg["formatTimeShort"]="h:mm a";
+I18nMsg["monthAprLong"]="April";
+I18nMsg["monthAprMedium"]="Apr";
+I18nMsg["monthAugLong"]="August";
+I18nMsg["monthAugMedium"]="Aug";
+I18nMsg["monthDecLong"]="December";
+I18nMsg["monthDecMedium"]="Dec";
+I18nMsg["monthFebLong"]="February";
+I18nMsg["monthFebMedium"]="Feb";
+I18nMsg["monthJanLong"]="January";
+I18nMsg["monthJanMedium"]="Jan";
+I18nMsg["monthJulLong"]="July";
+I18nMsg["monthJulMedium"]="Jul";
+I18nMsg["monthJunLong"]="June";
+I18nMsg["monthJunMedium"]="Jun";
+I18nMsg["monthMarLong"]="March";
+I18nMsg["monthMarMedium"]="Mar";
+I18nMsg["monthMayLong"]="May";
+I18nMsg["monthMayMedium"]="May";
+I18nMsg["monthNovLong"]="November";
+I18nMsg["monthNovMedium"]="Nov";
+I18nMsg["monthOctLong"]="October";
+I18nMsg["monthOctMedium"]="Oct";
+I18nMsg["monthSepLong"]="September";
+I18nMsg["monthSepMedium"]="Sep";
+I18nMsg["numberInfinity"]="\u221e";
+I18nMsg["numberNaN"]="\ufffd";
+I18nMsg["numberSeparatorDecimal"]=".";
+I18nMsg["numberSeparatorGrouping"]=",";
+I18nMsg["numberSeparatorMoneyDecimal"]=".";
+I18nMsg["numberSignMinus"]="-";
+I18nMsg["numberSignPerMill"]="\u2030";
+I18nMsg["numberSignPercent"]="%";
+I18nMsg["numberZero"]="0";
+I18nMsg["periodAm"]="AM";
+I18nMsg["periodPm"]="PM";
+I18nMsg["timezoneMapAfrica/Algiers"]="(GMT+01.00) West Central Africa";
+I18nMsg["timezoneMapAfrica/Cairo"]="(GMT+02.00) Cairo";
+I18nMsg["timezoneMapAfrica/Casablanca"]="(GMT) Casablanca / Monrovia";
+I18nMsg["timezoneMapAfrica/Harare"]="(GMT+02.00) Harare / Pretoria";
+I18nMsg["timezoneMapAfrica/Nairobi"]="(GMT+03.00) Nairobi";
+I18nMsg["timezoneMapAmerica/Bogota"]="(GMT-05.00) Bogota / Lima / Quito";
+I18nMsg["timezoneMapAmerica/Buenos_Aires"]="(GMT-03.00) Buenos Aires / Georgetown";
+I18nMsg["timezoneMapAmerica/Caracas"]="(GMT-04.00) Caracas / La Paz";
+I18nMsg["timezoneMapAmerica/Godthab"]="(GMT-03.00) Greenland";
+I18nMsg["timezoneMapAmerica/Santiago"]="(GMT-04.00) Santiago";
+I18nMsg["timezoneMapAsia/Aqtobe"]="(GMT+05.00) Ekaterinburg";
+I18nMsg["timezoneMapAsia/Baghdad"]="(GMT+03.00) Baghdad";
+I18nMsg["timezoneMapAsia/Baku"]="(GMT+04.00) Baku / Tbilisi / Yerevan";
+I18nMsg["timezoneMapAsia/Bangkok"]="(GMT+07.00) Bangkok / Hanoi / Jakarta";
+I18nMsg["timezoneMapAsia/Calcutta"]="(GMT+05.30) Chennai / Kolkata / Mumbai / New Delhi";
+I18nMsg["timezoneMapAsia/Colombo"]="(GMT+06.00) Sri Jayawardenepura";
+I18nMsg["timezoneMapAsia/Dhaka"]="(GMT+06.00) Astana / Dhaka";
+I18nMsg["timezoneMapAsia/Hong_Kong"]="(GMT+08.00) Beijing / Chongqing / Hong Kong / Urumqi";
+I18nMsg["timezoneMapAsia/Irkutsk"]="(GMT+08.00) Irkutsk / Ulaan Bataar";
+I18nMsg["timezoneMapAsia/Jerusalem"]="(GMT+02.00) Jerusalem";
+I18nMsg["timezoneMapAsia/Kabul"]="(GMT+04.30) Kabul";
+I18nMsg["timezoneMapAsia/Karachi"]="(GMT+05.00) Islamabad / Karachi / Tashkent";
+I18nMsg["timezoneMapAsia/Katmandu"]="(GMT+05.45) Kathmandu";
+I18nMsg["timezoneMapAsia/Krasnoyarsk"]="(GMT+07.00) Krasnoyarsk";
+I18nMsg["timezoneMapAsia/Kuala_Lumpur"]="(GMT+08.00) Kuala Lumpur / Singaporev";
+I18nMsg["timezoneMapAsia/Kuwait"]="(GMT+03.00) Kuwait / Riyadh";
+I18nMsg["timezoneMapAsia/Magadan"]="(GMT+11.00) Magadan / Solomon Is. / New Calenodia";
+I18nMsg["timezoneMapAsia/Muscat"]="(GMT+04.00) Abu Dhabi / Muscat";
+I18nMsg["timezoneMapAsia/Novosibirsk"]="(GMT+06.00) Almaty / Novosibirsk";
+I18nMsg["timezoneMapAsia/Rangoon"]="(GMT+06.30) Rangoon";
+I18nMsg["timezoneMapAsia/Seoul"]="(GMT+09.00) Seoul";
+I18nMsg["timezoneMapAsia/Taipei"]="(GMT+08.00) Taipei";
+I18nMsg["timezoneMapAsia/Tehran"]="(GMT+03.30) Tehran";
+I18nMsg["timezoneMapAsia/Tokyo"]="(GMT+09.00) Osaka / Sapporo / Tokyo";
+I18nMsg["timezoneMapAsia/Vladivostok"]="(GMT+10.00) Vladivostok";
+I18nMsg["timezoneMapAsia/Yakutsk"]="(GMT+09.00) Yakutsk";
+I18nMsg["timezoneMapAtlantic/Azores"]="(GMT-01.00) Azores";
+I18nMsg["timezoneMapAtlantic/Cape_Verde"]="(GMT-01.00) Cape Verde Is.";
+I18nMsg["timezoneMapAustralia/Adelaide"]="(GMT+09.30) Adelaide";
+I18nMsg["timezoneMapAustralia/Brisbane"]="(GMT+10.00) Brisbane";
+I18nMsg["timezoneMapAustralia/Darwin"]="(GMT+09.30) Darwin";
+I18nMsg["timezoneMapAustralia/Hobart"]="(GMT+10.00) Hobart";
+I18nMsg["timezoneMapAustralia/Perth"]="(GMT+08.00) Perth";
+I18nMsg["timezoneMapAustralia/Sydney"]="(GMT+10.00) Canberra / Melbourne / Sydney";
+I18nMsg["timezoneMapBrazil/East"]="(GMT-03.00) Brasilia";
+I18nMsg["timezoneMapCanada/Eastern"]="(GMT-04.00) Atlantic Time (Canada)";
+I18nMsg["timezoneMapCanada/Newfoundland"]="(GMT-03.30) Newfoundlan";
+I18nMsg["timezoneMapCanada/Saskatchewan"]="(GMT-06.00) Saskatchewan";
+I18nMsg["timezoneMapEurope/Athens"]="(GMT+02.00) Athens / Beirut / Istanbul / Minsk";
+I18nMsg["timezoneMapEurope/Berlin"]="(GMT+01.00) Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna";
+I18nMsg["timezoneMapEurope/London"]="(GMT) Greenwich Mean Time - Dublin / Edinburgh / Lisbon / London";
+I18nMsg["timezoneMapEurope/Moscow"]="(GMT+03.00) Moscow / St. Petersburg / Volgograd";
+I18nMsg["timezoneMapPacific/Auckland"]="(GMT+12.00) Auckland / Wellington";
+I18nMsg["timezoneMapPacific/Fiji"]="(GMT+12.00) Fiji / Kamchatka / Marshall Is.";
+I18nMsg["timezoneMapPacific/Guam"]="(GMT+10.00) Guam / Port Moresby";
+I18nMsg["timezoneMapPacific/Midway"]="(GMT-11.00) Midway Island / Samoa";
+I18nMsg["timezoneMapPacific/Tongatapu"]="(GMT+13.00) Nuku'alofa";
+I18nMsg["timezoneMapUS/Alaska"]="(GMT-09.00) Alaska";
+I18nMsg["timezoneMapUS/Arizona"]="(GMT-07.00) Arizona";
+I18nMsg["timezoneMapUS/Central"]="(GMT-06.00) Central Time (US & Canada)";
+I18nMsg["timezoneMapUS/East-Indiana"]="(GMT-05.00) Indiana (East)";
+I18nMsg["timezoneMapUS/Eastern"]="(GMT-05.00) Eastern Time (US & Canada)";
+I18nMsg["timezoneMapUS/Hawaii"]="(GMT-10.00) Hawaii";
+I18nMsg["timezoneMapUS/Mountain"]="(GMT-07.00) Mountain Time (US & Canada)";
+I18nMsg["timezoneMapUS/Pacific"]="(GMT-08.00) Pacific Time (US & Canada) / Tijuana";
+I18nMsg["timezoneNameAfrica/Algiers"]="Central European Time";
+I18nMsg["timezoneNameAfrica/Cairo"]="Eastern European Time";
+I18nMsg["timezoneNameAfrica/Casablanca"]="Western European Time";
+I18nMsg["timezoneNameAfrica/Harare"]="Central African Time";
+I18nMsg["timezoneNameAfrica/Nairobi"]="Eastern African Time";
+I18nMsg["timezoneNameAmerica/Bogota"]="Colombia Time";
+I18nMsg["timezoneNameAmerica/Buenos_Aires"]="Argentine Time";
+I18nMsg["timezoneNameAmerica/Caracas"]="Venezuela Time";
+I18nMsg["timezoneNameAmerica/Godthab"]="Western Greenland Time";
+I18nMsg["timezoneNameAmerica/Santiago"]="Chile Time";
+I18nMsg["timezoneNameAsia/Aqtobe"]="Aqtobe Time";
+I18nMsg["timezoneNameAsia/Baghdad"]="Arabia Standard Time";
+I18nMsg["timezoneNameAsia/Baku"]="Azerbaijan Time";
+I18nMsg["timezoneNameAsia/Bangkok"]="Indochina Time";
+I18nMsg["timezoneNameAsia/Calcutta"]="India Standard Time";
+I18nMsg["timezoneNameAsia/Colombo"]="Sri Lanka Time";
+I18nMsg["timezoneNameAsia/Dhaka"]="Bangladesh Time";
+I18nMsg["timezoneNameAsia/Hong_Kong"]="Hong Kong Time";
+I18nMsg["timezoneNameAsia/Irkutsk"]="Irkutsk Time";
+I18nMsg["timezoneNameAsia/Jerusalem"]="Israel Standard Time";
+I18nMsg["timezoneNameAsia/Kabul"]="Afghanistan Time";
+I18nMsg["timezoneNameAsia/Karachi"]="Pakistan Time";
+I18nMsg["timezoneNameAsia/Katmandu"]="Nepal Time";
+I18nMsg["timezoneNameAsia/Krasnoyarsk"]="Krasnoyarsk Time";
+I18nMsg["timezoneNameAsia/Kuala_Lumpur"]="Malaysia Time";
+I18nMsg["timezoneNameAsia/Kuwait"]="Arabia Standard Time";
+I18nMsg["timezoneNameAsia/Magadan"]="Magadan Time";
+I18nMsg["timezoneNameAsia/Muscat"]="Gulf Standard Time";
+I18nMsg["timezoneNameAsia/Novosibirsk"]="Novosibirsk Time";
+I18nMsg["timezoneNameAsia/Rangoon"]="Myanmar Time";
+I18nMsg["timezoneNameAsia/Seoul"]="Korea Standard Time";
+I18nMsg["timezoneNameAsia/Taipei"]="China Standard Time";
+I18nMsg["timezoneNameAsia/Tehran"]="Iran Standard Time";
+I18nMsg["timezoneNameAsia/Tokyo"]="Japan Standard Time";
+I18nMsg["timezoneNameAsia/Vladivostok"]="Vladivostok Time";
+I18nMsg["timezoneNameAsia/Yakutsk"]="Yakutsk Time";
+I18nMsg["timezoneNameAtlantic/Azores"]="Azores Time";
+I18nMsg["timezoneNameAtlantic/Cape_Verde"]="Cape Verde Time";
+I18nMsg["timezoneNameAustralia/Adelaide"]="Central Standard Time (South Australia)";
+I18nMsg["timezoneNameAustralia/Brisbane"]="Eastern Standard Time (Queensland)";
+I18nMsg["timezoneNameAustralia/Darwin"]="Central Standard Time (Northern Territory)";
+I18nMsg["timezoneNameAustralia/Hobart"]="Eastern Standard Time (Tasmania)";
+I18nMsg["timezoneNameAustralia/Perth"]="Western Standard Time (Australia)";
+I18nMsg["timezoneNameAustralia/Sydney"]="Eastern Standard Time (New South Wales)";
+I18nMsg["timezoneNameBrazil/East"]="Brazil Time";
+I18nMsg["timezoneNameCanada/Eastern"]="Eastern Standard Time";
+I18nMsg["timezoneNameCanada/Newfoundland"]="Newfoundland Standard Time";
+I18nMsg["timezoneNameCanada/Saskatchewan"]="Central Standard Time";
+I18nMsg["timezoneNameEurope/Athens"]="Eastern European Time";
+I18nMsg["timezoneNameEurope/Berlin"]="Central European Time";
+I18nMsg["timezoneNameEurope/London"]="Greenwich Mean Time";
+I18nMsg["timezoneNameEurope/Moscow"]="Moscow Standard Time";
+I18nMsg["timezoneNamePacific/Auckland"]="New Zealand Standard Time";
+I18nMsg["timezoneNamePacific/Fiji"]="Fiji Time";
+I18nMsg["timezoneNamePacific/Guam"]="Chamorro Standard Time";
+I18nMsg["timezoneNamePacific/Midway"]="Samoa Standard Time";
+I18nMsg["timezoneNamePacific/Tongatapu"]="Tonga Time";
+I18nMsg["timezoneNameUS/Alaska"]="Alaska Standard Time";
+I18nMsg["timezoneNameUS/Arizona"]="Mountain Standard Time";
+I18nMsg["timezoneNameUS/Central"]="Central Standard Time";
+I18nMsg["timezoneNameUS/East-Indiana"]="Eastern Standard Time";
+I18nMsg["timezoneNameUS/Eastern"]="Eastern Standard Time";
+I18nMsg["timezoneNameUS/Hawaii"]="Hawaii Standard Time";
+I18nMsg["timezoneNameUS/Mountain"]="Mountain Standard Time";
+I18nMsg["timezoneNameUS/Pacific"]="Pacific Standard Time";
+I18nMsg["weekdayFriLong"]="Friday";
+I18nMsg["weekdayFriMedium"]="Fri";
+I18nMsg["weekdayMonLong"]="Monday";
+I18nMsg["weekdayMonMedium"]="Mon";
+I18nMsg["weekdaySatLong"]="Saturday";
+I18nMsg["weekdaySatMedium"]="Sat";
+I18nMsg["weekdaySunLong"]="Sunday";
+I18nMsg["weekdaySunMedium"]="Sun";
+I18nMsg["weekdayThuLong"]="Thursday";
+I18nMsg["weekdayThuMedium"]="Thu";
+I18nMsg["weekdayTueLong"]="Tuesday";
+I18nMsg["weekdayTueMedium"]="Tue";
+I18nMsg["weekdayWedLong"]="Wednesday";
+I18nMsg["weekdayWedMedium"]="Wed";
+function AjxMsg(){
+}
+AjxMsg["XfnumberLessThanMin"]="Value must be greater than or equal to {0}.";
+AjxMsg["_close"]="Close";
+AjxMsg["_finish"]="Finish";
+AjxMsg["_next"]="Next";
+AjxMsg["_prev"]="Previous";
+AjxMsg["add"]="Add";
+AjxMsg["addAll"]="Add All";
+AjxMsg["ago"]="ago";
+AjxMsg["cancel"]="Cancel";
+AjxMsg["cancelRequest"]="Cancel Request";
+AjxMsg["confirmTitle"]="Confirmation";
+AjxMsg["criticalMsg"]="Critical";
+AjxMsg["dateParsing2DigitStartYear"]="1936";
+AjxMsg["day"]="day";
+AjxMsg["days"]="days";
+AjxMsg["detail"]="Detail";
+AjxMsg["didNotMatchChoice"]="Value '$0' did not match any values for this type.";
+AjxMsg["dismiss"]="Dismiss";
+AjxMsg["first"]="first";
+AjxMsg["formatCalDate"]="EEE, MMM d";
+AjxMsg["formatCalDateFull"]="EEEE, MMMM d, yyyy";
+AjxMsg["formatCalDateLong"]="EEEE, MMMM d";
+AjxMsg["formatCalDay"]="M/d ";
+AjxMsg["formatCalMonth"]="MMMM yyyy";
+AjxMsg["formatDateMediumNoYear"]="MMM dd ";
+AjxMsg["fourth"]="fourth";
+AjxMsg["hour"]="hour";
+AjxMsg["hours"]="hours";
+AjxMsg["infoMsg"]="Informational";
+AjxMsg["invalidDateString"]="Date value must be entered in the form: MM/DD/YYYY or \"today\", \"yesterday\" or \"tomorrow\".";
+AjxMsg["invalidDatetimeString"]="Date format not understood.";
+AjxMsg["invalidTimeString"]="Time value must be entered in the form: HH:MM[:SS] [AM|PM]";
+AjxMsg["last"]="last";
+AjxMsg["minute"]="minute";
+AjxMsg["minutes"]="minutes";
+AjxMsg["month"]="month";
+AjxMsg["monthAprShort"]="A";
+AjxMsg["monthAugShort"]="A";
+AjxMsg["monthDecShort"]="D";
+AjxMsg["monthFebShort"]="F";
+AjxMsg["monthJanShort"]="J";
+AjxMsg["monthJulShort"]="J";
+AjxMsg["monthJunShort"]="J";
+AjxMsg["monthMarShort"]="M";
+AjxMsg["monthMayShort"]="M";
+AjxMsg["monthNovShort"]="N";
+AjxMsg["monthOctShort"]="O";
+AjxMsg["monthSepShort"]="S";
+AjxMsg["months"]="months";
+AjxMsg["no"]="No";
+AjxMsg["noResults"]="No results found.";
+AjxMsg["notANumber"]="Value must be a number.";
+AjxMsg["notAString"]="Value must be a text string.";
+AjxMsg["notAnInteger"]="Value must be an integer.";
+AjxMsg["numberFractionExceeded"]="Fractional digits exceeds total of {0}.";
+AjxMsg["numberLessThanEqualMin"]="Value must be greater than {0}.";
+AjxMsg["numberLessThanMin"]="Value must be greater than or equal to {0}.";
+AjxMsg["numberMoreThanEqualMax"]="Value must be less than {0}.";
+AjxMsg["numberMoreThanMax"]="Value must be less than or equal to {0}.";
+AjxMsg["numberMustBeNon0Percent"]="Value must be a percentage between 1 and 100";
+AjxMsg["numberTotalExceeded"]="Whole digits exceeds total of {0}.";
+AjxMsg["ok"]="OK";
+AjxMsg["remove"]="Remove";
+AjxMsg["removeAll"]="Remove All";
+AjxMsg["second"]="second";
+AjxMsg["seconds"]="seconds";
+AjxMsg["stringLenWrong"]="Value must be exactly {0} characters long.";
+AjxMsg["stringMismatch"]="Value did not match valid values.";
+AjxMsg["stringTooLong"]="Value must be no more than {0} characters long.";
+AjxMsg["stringTooShort"]="Value must be at least {0} characters long.";
+AjxMsg["third"]="third";
+AjxMsg["today"]="today";
+AjxMsg["tomorrow"]="tomorrow";
+AjxMsg["valueIsRequired"]="Value is required";
+AjxMsg["warningMsg"]="Warning";
+AjxMsg["week"]="week";
+AjxMsg["weekdayFriShort"]="F";
+AjxMsg["weekdayMonShort"]="M";
+AjxMsg["weekdaySatShort"]="S";
+AjxMsg["weekdaySunShort"]="S";
+AjxMsg["weekdayThuShort"]="T";
+AjxMsg["weekdayTueShort"]="T";
+AjxMsg["weekdayWedShort"]="W";
+AjxMsg["weeks"]="weeks";
+AjxMsg["workInProgress"]="Work In Progress";
+AjxMsg["xFnumberMoreThanMax"]="Value must be less than or equal to {0}.";
+AjxMsg["xformDateTimeFormat"]="{0,date} at {0,time}";
+AjxMsg["xformRepeatAdd"]="+";
+AjxMsg["xformRepeatRemove"]="-";
+AjxMsg["year"]="year";
+AjxMsg["years"]="years";
+AjxMsg["yes"]="Yes";
+AjxMsg["yesterday"]="yesterday";
+function ExMsg(){
+}
+function AjxCore(){
+}
+AjxCore._objectIds=[null];
+AjxCore.assignId=function(_1){
+var _2=AjxCore._objectIds.length;
+AjxCore._objectIds[_2]=_1;
+return _2;
+};
+AjxCore.unassignId=function(_3){
+AjxCore._objectIds[_3]=null;
+};
+AjxCore.objectWithId=function(_4){
+return AjxCore._objectIds[_4];
+};
+AjxCore.addListener=function(_5,_6,_7){
+_5=AjxCore._getEventSource(_5);
+var _8=AjxCore._getListenerStruct(_5,_6,true);
+_8.list[_8.list.length]=_7;
+};
+AjxCore.setEventHandler=function(_9,_a,_b){
+_9=AjxCore._getEventSource(_9);
+var _c=AjxCore._getListenerStruct(_9,_a,true);
+_c.single=_b;
+};
+AjxCore.removeListener=function(_d,_e,_f){
+_d=AjxCore._getEventSource(_d);
+var _10=AjxCore._getListenerStruct(_d,_e);
+if(_10){
+var _11=_10.list;
+for(var i=0;i<_11.length;i++){
+if(_11[i]==_f){
+_11[i]=null;
+}
+}
+}
+};
+AjxCore.removeAllListeners=function(_13,_14){
+_13=AjxCore._getEventSource(_13);
+var _15=AjxCore._getListenerStruct(_13,_14);
+if(_15){
+var _16=_15.list;
+for(var i=0;i<_16.length;i++){
+_16[i]=null;
+}
+}
+AjxCore.unassignId(_15.id);
+};
+AjxCore.notifyListeners=function(_18,_19,_1a){
+_18=AjxCore._getEventSource(_18);
+var _1b=AjxCore._getListenerStruct(_18,_19);
+if(_1b){
+_18[_19](_1a);
+}
+};
+AjxCore._getEventSource=function(_1c){
+if(typeof (_1c)=="string"){
+_1c=document.getElementById(_1c);
+}
+return _1c;
+};
+AjxCore.getListenerStruct=function(_1d,_1e){
+return AjxCore._getListenerStruct(_1d,_1e);
+};
+AjxCore._getListenerStruct=function(_1f,_20,_21){
+var _22=null;
+if(_1f[_20]){
+var id=_1f[_20]._lsListenerStructId;
+_22=AjxCore.objectWithId(id);
+}else{
+if(_21){
+_22=AjxCore._setupListener(_1f,_20);
+}
+}
+return _22;
+};
+AjxCore._setupListener=function(_24,_25,id){
+var _27=new Object();
+_27.list=new Array();
+_27.single=null;
+var id=_27.id=AjxCore.assignId(_27);
+var _28=AjxCore._createListenerClosure(id);
+_24[_25]=_28;
+_24[_25]._lsListenerStructId=id;
+return _27;
+};
+AjxCore._createListenerClosure=function(id){
+var _2a=function(_2b){
+var _2c=AjxCore.objectWithId(id);
+var _2d=_2c.list;
+for(var i=0;i<_2d.length;i++){
+var _2f=_2d[i];
+if(_2f){
+if(typeof (_2f)=="string"){
+eval(_2f);
+}else{
+if(_2f.handleEvent){
+_2f.handleEvent(_2b,this);
+}else{
+_2f(_2b,this);
+}
+}
+}
+}
+if(_2c.single){
+var _2f=_2c.single;
+if(typeof (_2f)=="string"){
+eval(_2f);
+}else{
+return _2f.handleEvent?_2f.handleEvent(_2b,this):_2f(_2b,this);
+}
+}
+};
+return _2a;
+};
+AjxCore.addOnloadListener=function(_30){
+if(window.onload&&(!window.onload._lsListenerStructId)){
+var _31=window.onload;
+window.onload=null;
+AjxCore.addListener(window,"onload",_31);
+}
+AjxCore.addListener(window,"onload",_30);
+};
+AjxCore.addOnunloadListener=function(_32){
+if(window.onunload&&(!window.onunload._lsListenerStructId)){
+var _33=window.onunload;
+window.onunload=null;
+AjxCore.addListener(window,"onunload",_33);
+}
+AjxCore.addListener(window,"onunload",_32);
+};
+function AjxEnv(){
+}
+AjxEnv._inited=false;
+AjxEnv.reset=function(){
+AjxEnv.browserVersion=-1;
+AjxEnv.geckoDate=0;
+AjxEnv.mozVersion=-1;
+AjxEnv.isMac=false;
+AjxEnv.isWindows=false;
+AjxEnv.isLinux=false;
+AjxEnv.isNav=false;
+AjxEnv.isIE=false;
+AjxEnv.isNav4=false;
+AjxEnv.trueNs=true;
+AjxEnv.isNav6=false;
+AjxEnv.isNav6up=false;
+AjxEnv.isNav7=false;
+AjxEnv.isIE3=false;
+AjxEnv.isIE4=false;
+AjxEnv.isIE4up=false;
+AjxEnv.isIE5=false;
+AjxEnv.isIE5_5=false;
+AjxEnv.isIE5up=false;
+AjxEnv.isIE5_5up=false;
+AjxEnv.isIE6=false;
+AjxEnv.isIE6up=false;
+AjxEnv.isNormalResolution=false;
+AjxEnv.ieScaleFactor=1;
+AjxEnv.isFirefox=false;
+AjxEnv.isFirefox1up=false;
+AjxEnv.isFirefox1_5up=false;
+AjxEnv.isMozilla=false;
+AjxEnv.isMozilla1_4up=false;
+AjxEnv.isSafari=false;
+AjxEnv.isGeckoBased=false;
+AjxEnv.isOpera=false;
+AjxEnv.useTransparentPNGs=false;
+AjxEnv.is800x600orLower=screen.width<=800&&screen.height<=600;
+};
+AjxEnv.parseUA=function(_34){
+var agt=_34.toLowerCase();
+var _36=agt.split(" ");
+var i=0;
+var _38=-1;
+var _39=null;
+var _3a=false;
+var _3b=false;
+var _3c=false;
+var _3d=false;
+var _3e=false;
+if(_36!=null){
+if((_38=_36[0].search(/^\s*mozilla\//))!=-1){
+_3d=true;
+AjxEnv.browserVersion=parseFloat(_36[0].substring(_38+8));
+AjxEnv.isNav=true;
+}
+for(;i<_36.length;++i){
+_39=_36[i];
+if(_39.indexOf("compatible")!=-1){
+_3e=true;
+AjxEnv.isNav=false;
+}else{
+if((_39.indexOf("opera"))!=-1){
+AjxEnv.isOpera=true;
+AjxEnv.isNav=false;
+AjxEnv.browserVersion=parseFloat(_36[i+1]);
+}else{
+if((_39.indexOf("spoofer"))!=-1){
+_3a=true;
+AjxEnv.isNav=false;
+}else{
+if((_39.indexOf("webtv"))!=-1){
+_3b=true;
+AjxEnv.isNav=false;
+}else{
+if((_39.indexOf("hotjava"))!=-1){
+_3c=true;
+AjxEnv.isNav=false;
+}else{
+if((_38=_39.indexOf("msie"))!=-1){
+AjxEnv.isIE=true;
+AjxEnv.browserVersion=parseFloat(_36[i+1]);
+}else{
+if((_38=_39.indexOf("gecko/"))!=-1){
+AjxEnv.isGeckoBased=true;
+AjxEnv.geckoDate=parseFloat(_39.substr(_38+6));
+}else{
+if((_38=_39.indexOf("rv:"))!=-1){
+AjxEnv.mozVersion=parseFloat(_39.substr(_38+3));
+AjxEnv.browserVersion=AjxEnv.mozVersion;
+}else{
+if((_38=_39.indexOf("firefox/"))!=-1){
+AjxEnv.isFirefox=true;
+AjxEnv.browserVersion=parseFloat(_39.substr(_38+8));
+}else{
+if((_38=_39.indexOf("netscape6/"))!=-1){
+AjxEnv.trueNs=true;
+AjxEnv.browserVersion=parseFloat(_39.substr(_38+10));
+}else{
+if((_38=_39.indexOf("netscape/"))!=-1){
+AjxEnv.trueNs=true;
+AjxEnv.browserVersion=parseFloat(_39.substr(_38+9));
+}else{
+if((_38=_39.indexOf("safari/"))!=-1){
+AjxEnv.isSafari=true;
+AjxEnv.browserVersion=parseFloat(_39.substr(_38+7));
+}else{
+if(_39.indexOf("windows")!=-1){
+AjxEnv.isWindows=true;
+}else{
+if((_39.indexOf("macintosh")!=-1)||(_39.indexOf("mac_")!=-1)){
+AjxEnv.isMac=true;
+}else{
+if(_39.indexOf("linux")!=-1){
+AjxEnv.isLinux=true;
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+}
+AjxEnv.isNav=(_3d&&!_3a&&!_3e&&!AjxEnv.isOpera&&!_3b&&!_3c&&!AjxEnv.isSafari);
+AjxEnv.isIE=(AjxEnv.isIE&&!AjxEnv.isOpera);
+AjxEnv.isNav4=(AjxEnv.isNav&&(AjxEnv.browserVersion==4)&&(!AjxEnv.isIE));
+AjxEnv.isNav6=(AjxEnv.isNav&&AjxEnv.trueNs&&(AjxEnv.browserVersion>=6)&&(AjxEnv.browserVersion<7));
+AjxEnv.isNav6up=(AjxEnv.isNav&&AjxEnv.trueNs&&(AjxEnv.browserVersion>=6));
+AjxEnv.isNav7=(AjxEnv.isNav&&AjxEnv.trueNs&&(AjxEnv.browserVersion==7));
+AjxEnv.isIE3=(AjxEnv.isIE&&(AjxEnv.browserVersion<4));
+AjxEnv.isIE4=(AjxEnv.isIE&&(AjxEnv.browserVersion==4)&&(AjxEnv.browserVersion==4));
+AjxEnv.isIE4up=(AjxEnv.isIE&&(AjxEnv.browserVersion>=4));
+AjxEnv.isIE5=(AjxEnv.isIE&&(AjxEnv.browserVersion==4)&&(AjxEnv.browserVersion==5));
+AjxEnv.isIE5_5=(AjxEnv.isIE&&(AjxEnv.browserVersion==4)&&(AjxEnv.browserVersion==5.5));
+AjxEnv.isIE5up=(AjxEnv.isIE&&(AjxEnv.browserVersion>=5));
+AjxEnv.isIE5_5up=(AjxEnv.isIE&&(AjxEnv.browserVersion>=5.5));
+AjxEnv.isIE6=(AjxEnv.isIE&&(AjxEnv.browserVersion==6));
+AjxEnv.isIE6up=(AjxEnv.isIE&&(AjxEnv.browserVersion>=6));
+AjxEnv.isMozilla=((AjxEnv.isNav&&AjxEnv.mozVersion&&AjxEnv.isGeckoBased&&(AjxEnv.geckoDate!=0)));
+AjxEnv.isMozilla1_4up=(AjxEnv.isMozilla&&(AjxEnv.mozVersion>=1.4));
+AjxEnv.isFirefox=((AjxEnv.isMozilla&&AjxEnv.isFirefox));
+AjxEnv.isFirefox1up=(AjxEnv.isFirefox&&AjxEnv.browserVersion>=1);
+AjxEnv.isFirefox1_5up=(AjxEnv.isFirefox&&AjxEnv.browserVersion>=1.5);
+}
+if(AjxEnv.isIE){
+AjxEnv.isNormalResolution=true;
+AjxEnv.ieScaleFactor=screen.deviceXDPI/screen.logicalXDPI;
+if(AjxEnv.ieScaleFactor>1){
+AjxEnv.isNormalResolution=false;
+}
+}
+AjxEnv.useTransparentPNGs=!AjxEnv.isIE&&!AjxEnv.isLinux&&!AjxEnv.isSafari;
+AjxEnv._inited=!AjxEnv.isIE;
 };
-
 AjxEnv.reset();
 AjxEnv.parseUA(navigator.userAgent);
-
-// COMPATIBILITY
-
-// Safari doesn't support string.replace(/regexp/, function);
-if (AjxEnv.isSafari) {
-	if (!String.prototype._AjxOldReplace) {
-		String.prototype._AjxOldReplace = String.prototype.replace;
-		String.prototype.replace = function(re, val) {
-			if (typeof val != "function")
-				return this._AjxOldReplace(re, val);
-			else {
-				// TODO: investigate if it's possible to use the array.join approach
-				var str = this.slice(0), v, l, a;
-				while (a = re.exec(str)) {
-					v = val.apply(null, a);
-					l = a[0].length;
-					re.lastIndex -= l - v.length;
-					str = str.substr(0, a.index) + v + str.substr(a.index + l);
-					if (!re.global)
-						break;
-				}
-				return str;
-			}
-		};
-	}
-}
-/** auto include file:./xap/peter/src/zimbra/js/util/AjxUtil.js **/
-/*
-* ***** BEGIN LICENSE BLOCK *****
-* Version: MPL 1.1
-*
-* The contents of this file are subject to the Mozilla Public
-* License Version 1.1 ("License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.zimbra.com/license
-*
-* Software distributed under the License is distributed on an "AS IS"
-* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-* the License for the specific language governing rights and limitations
-* under the License.
-*
-* The Original Code is: Zimbra AJAX Toolkit.
-*
-* The Initial Developer of the Original Code is Zimbra, Inc.
-* Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
-* All Rights Reserved.
-*
-* Contributor(s):
-*
-* ***** END LICENSE BLOCK *****
-*/
-
-
-/**
- * AjxUtil - static class with some utility methods. This is where to
- * put things when no other class wants them.
- *
- * 12/3/2004 At this point, it only needs AjxEnv to be loaded.
- */
-function AjxUtil () {
-};
-
-AjxUtil.FLOAT_RE = /^[+\-]?((\d+(\.\d*)?)|((\d*\.)?\d+))([eE][+\-]?\d+)?$/;
-AjxUtil.NOTFLOAT_RE = /[^\d\.]/;
-AjxUtil.NOTINT_RE = /[^0-9]+/;
-AjxUtil.LIFETIME_FIELD = /^([0-9])+([dhms])?$/;
-
-AjxUtil.isSpecified 		= function(aThing) { return ((aThing !== void 0) && (aThing !== null)); };
-AjxUtil.isUndefined 		= function(aThing) { return (aThing === void 0); };
-AjxUtil.isNull 				= function(aThing) { return (aThing === null); };
-AjxUtil.isBoolean 			= function(aThing) { return (typeof(aThing) == 'boolean'); };
-AjxUtil.isString 			= function(aThing) { return (typeof(aThing) == 'string'); };
-AjxUtil.isNumber 			= function(aThing) { return (typeof(aThing) == 'number'); };
-AjxUtil.isObject 			= function(aThing) { return ((typeof(aThing) == 'object') && (aThing !== null)); };
-AjxUtil.isArray 			= function(aThing) { return AjxUtil.isInstance(aThing, Array); };
-AjxUtil.isFunction 			= function(aThing) { return (typeof(aThing) == 'function'); };
-AjxUtil.isDate 				= function(aThing) { return AjxUtil.isInstance(aThing, Date); };
-AjxUtil.isLifeTime 			= function(aThing) { return AjxUtil.LIFETIME_FIELD.test(aThing); };
-AjxUtil.isNumeric 			= function(aThing) { return (!isNaN(parseFloat(aThing)) && AjxUtil.FLOAT_RE.test(aThing) && !AjxUtil.NOTFLOAT_RE.test(aThing)); };
-AjxUtil.isLong			    = function(aThing) { return (AjxUtil.isNumeric(aThing) && !AjxUtil.NOTINT_RE.test(aThing)); };
-AjxUtil.isNonNegativeLong   = function(aThing) { return (AjxUtil.isNumeric(aThing) && AjxUtil.isLong(aThing) && (parseFloat(aThing) >= 0)); };
-
-
-// REVISIT: Should do more precise checking. However, there are names in
-//			common use that do not follow the RFC patterns (e.g. domain
-//			names that start with digits).
-AjxUtil.IP_ADDRESS_RE = /^\d{1,3}(\.\d{1,3}){3}(\.\d{1,3}\.\d{1,3})?$/;
-AjxUtil.DOMAIN_NAME_SHORT_RE = /^[A-Za-z0-9\-]{2,}$/;
-AjxUtil.DOMAIN_NAME_FULL_RE = /^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,}){1,}$/;
-AjxUtil.HOST_NAME_RE = /^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*$/;
-AjxUtil.HOST_NAME_WITH_PORT_RE = /^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*:([0-9])+$/;
-AjxUtil.EMAIL_SHORT_RE = /^[^@\s]+$/;
-AjxUtil.EMAIL_FULL_RE = /^[^@\s]+@[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*$/;
-AjxUtil.EMAIL_RE = /^([a-zA-Z0-9_\-])+((\.)?([a-zA-Z0-9_\-])+)*@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
-AjxUtil.SHORT_URL_RE = /^[A-Za-z0-9]{2,}:\/\/[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*(:([0-9])+)*$/;
-AjxUtil.IP_SHORT_URL_RE = /^[A-Za-z0-9]{2,}:\/\/\d{1,3}(\.\d{1,3}){3}(\.\d{1,3}\.\d{1,3})?(:([0-9])+)*$/;
-
-AjxUtil.isIpAddress 		= function(s) { return AjxUtil.IP_ADDR_RE.test(s); };
-AjxUtil.isDomain 			= function(s) {	return AjxUtil.DOMAIN_RE.test(s); };
-AjxUtil.isHostName 			= function(s) { return AjxUtil.HOST_NAME_RE.test(s); };
-AjxUtil.isDomainName = 
-function(s, shortMatch) {
-	return shortMatch 
-		? AjxUtil.DOMAIN_NAME_SHORT_RE.test(s) 
-		: AjxUtil.DOMAIN_NAME_FULL_RE.test(s);
-};
-
-AjxUtil.isEmailAddress = 
-function(s, nameOnly) {
-	return nameOnly 
-		? AjxUtil.EMAIL_SHORT_RE.test(s) 
-		: AjxUtil.EMAIL_FULL_RE.test(s);
-};
-
-AjxUtil.SIZE_GIGABYTES = "GB";
-AjxUtil.SIZE_MEGABYTES = "MB";
-AjxUtil.SIZE_KILOBYTES = "KB";
-AjxUtil.SIZE_BYTES = "B";
-
-/**
- * Formats a size (in bytes) to the largest whole unit. For example,
- * AjxUtil.formatSize(302132199) returns "288 MB".
- *
- * @param size      The size (in bytes) to be formatted.
- * @param round     True to round to nearest integer. Default is true.
- * @param fractions Number of fractional digits to display, if not rounding.
- *                  Trailing zeros after the decimal point are trimmed.
- */
-AjxUtil.formatSize = 
-function(size, round, fractions) {
-	if (round == null) round = true;
-	if (fractions == null) fractions = 20; // max allowed for toFixed is 20
-
-	var units = AjxUtil.SIZE_BYTES;
-	if (size >= 1073741824) {
-		size /= 1073741824;
-		units = AjxUtil.SIZE_GIGABYTES;
-	}
-	else if (size >= 1048576) {
-		size /= 1048576;
-		units = AjxUtil.SIZE_MEGABYTES;
-	}
-	else if (size > 1023) {
-		size /= 1024;
-		units = AjxUtil.SIZE_KILOBYTES;
-	}
-
-	var formattedSize = round ? Math.round(size) : size.toFixed(fractions).replace(/\.?0+$/,"");
-	var formattedUnits = ' '+units;
-	
-	return formattedSize + formattedUnits;
-};
-
-/**
- * Formats a size (in bytes) to a specific unit. Since the unit size is
- * known, the unit is not shown in the returned string. For example,
- * AjxUtil.formatSizeForUnit(302132199, AjxUtil.SIZE_MEGABYTES, false, 2) 
- * returns "288.13".
- *
- * @param size      The size (in bytes) to be formatted.
- * @param units     The unit of measure.
- * @param round     True to round to nearest integer. Default is true.
- * @param fractions Number of fractional digits to display, if not rounding.
- *                  Trailing zeros after the decimal point are trimmed.
- */
-AjxUtil.formatSizeForUnits = 
-function(size, units, round, fractions) {
-	if (units == null) units = AjxUtil.SIZE_BYTES;
-	if (round == null) round = true;
-	if (fractions == null) fractions = 20; // max allowed for toFixed is 20
-
-	switch (units) {
-		case AjxUtil.SIZE_GIGABYTES: { size /= 1073741824; break; }
-		case AjxUtil.SIZE_MEGABYTES: { size /= 1048576; break; }
-		case AjxUtil.SIZE_KILOBYTES: { size /= 1024; break; }
-	}
-	
-	var formattedSize = round ? Math.round(size) : size.toFixed(fractions).replace(/\.?0+$/,"");
-	return formattedSize;
-};
-
-/**
- * Performs the opposite of AjxUtil.formatSize in that this function takes a 
- * formatted size.
- *
- * @param units Unit constant: "GB", "MB", "KB", "B". Must be specified 
- *              unless the formatted size ends with the size marker, in
- *				which case the size marker in the formattedSize param
- *				overrides this parameter.
- */
-AjxUtil.parseSize = 
-function(formattedSize, units) {
-	// NOTE: Take advantage of fact that parseFloat ignores bad chars
-	//       after numbers
-	var size = parseFloat(formattedSize.replace(/^\s*/,""));
-
-	var marker = /[GMK]?B$/i;
-	var result = marker.exec(formattedSize);
-	if (result) {
-		//alert("units: "+units+", result[0]: '"+result[0]+"'");
-		units = result[0].toUpperCase();
-	}
-	
-	switch (units) {
-		case AjxUtil.SIZE_GIGABYTES: size *= 1073741824; break;
-		case AjxUtil.SIZE_MEGABYTES: size *= 1048576; break; 
-		case AjxUtil.SIZE_KILOBYTES: size *= 1024; break;
-	}
-	
-	//alert("AjxUtil#parseSize: formattedSize="+formattedSize+", size="+size);
-	return size;
-};
-
-AjxUtil.isInstance = 
-function(aThing, aClass) { 
-	return !!(aThing && aThing.constructor && (aThing.constructor === aClass)); 
-};
-
-AjxUtil.assert = 
-function(aCondition, aMessage) {
-	if (!aCondition && AjxUtil.onassert) AjxUtil.onassert(aMessage);
-};
-
-AjxUtil.onassert = 
-function(aMessage) {
-	// Create an exception object and set the message
-	var myException = new Object();
-	myException.message = aMessage;
-	
-	// Compile a stack trace
-	var myStack = new Array();
-	if (AjxEnv.isIE5_5up) {
-		// On IE, the caller chain is on the arguments stack
-		var myTrace = arguments.caller;
-		while (myTrace) {
-		    myStack[myStack.length] = myTrace.callee;
-	    	myTrace = myTrace.caller;
-		}
-	} else {
-		try {
-			var myTrace = arguments.callee.caller;
-			while (myTrace) {
-				myStack[myStack.length] = myTrace;
-				if (myStack.length > 2) break;
-				myTrace = myTrace.caller;
-		    }
-		} catch (e) {
-		}
-	}
-	myException.stack = myStack;
-	
-	// Alert with the message and a description of the stack
-	var stackString = '';
-	var MAX_LEN = 170;
-	for (var i = 1; i < myStack.length; i++) {
-		if (i > 1) stackString += '\n';
-		if (i < 11) {
-			var fs = myStack[i].toString();
-			if (fs.length > MAX_LEN) {
-				fs = fs.substr(0,MAX_LEN) + '...';
-				fs = fs.replace(/\n/g, '');
-			}
-			stackString += i + ': ' + fs;
-		} else {
-			stackString += '(' + (myStack.length - 11) + ' frames follow)';
-			break;
-		}
-	}
-	alert('assertion:\n\n' + aMessage + '\n\n---- Call Stack ---\n' + stackString);
-	
-	// Now throw the exception
-	throw myException;
-};
-
-AjxUtil.NODE_REPEATS = new Object();
-AjxUtil.NODE_REPEATS["folder"]		= true;
-AjxUtil.NODE_REPEATS["search"]		= true;
-AjxUtil.NODE_REPEATS["tag"]			= true;
-AjxUtil.NODE_REPEATS["pref"]		= true;
-AjxUtil.NODE_REPEATS["attr"]		= true;
-AjxUtil.NODE_REPEATS["c"]			= true;
-AjxUtil.NODE_REPEATS["m"]			= true;
-AjxUtil.NODE_REPEATS["cn"]			= true;
-AjxUtil.NODE_REPEATS["e"]			= true;
-AjxUtil.NODE_REPEATS["a"]			= true;
-AjxUtil.NODE_REPEATS["mbx"]			= true;
-//AjxUtil.NODE_REPEATS["mp"]		= true; // only when parent is "mp"
-// these really shouldn't repeat
-AjxUtil.NODE_REPEATS["prefs"]		= true;
-AjxUtil.NODE_REPEATS["attrs"]		= true;
-AjxUtil.NODE_REPEATS["tags"]		= true;
-
-AjxUtil.NODE_IS_ATTR = new Object();
-AjxUtil.NODE_IS_ATTR["authToken"]	= true;
-AjxUtil.NODE_IS_ATTR["lifetime"]	= true;
-AjxUtil.NODE_IS_ATTR["sessionId"]	= true;
-AjxUtil.NODE_IS_ATTR["name"]		= true;
-AjxUtil.NODE_IS_ATTR["quotaUsed"]	= true;
-AjxUtil.NODE_IS_ATTR["su"]			= true;
-AjxUtil.NODE_IS_ATTR["fr"]			= true;
-AjxUtil.NODE_IS_ATTR["mid"]			= true;
-//AjxUtil.NODE_IS_ATTR["content"]	= true; // only when parent is "note"
-
-AjxUtil.NODE_CONTENT = new Object();
-AjxUtil.NODE_CONTENT["pref"]		= true;
-AjxUtil.NODE_CONTENT["attr"]		= true;
-AjxUtil.NODE_CONTENT["a"]			= true;
-
-// IE doesn't define Node type constants
-AjxUtil.ELEMENT_NODE	= 1;
-AjxUtil.TEXT_NODE		= 3;
-
-/**
-* Convert an XML node to the equivalent JS. Traverses the node's
-* children recursively.
-* <p>
-
-* NOTE: This method has not been extensively tested and likely needs
-* work.
-*
-* @param node		[Element]	XML node
-* @param omitName	[boolean]	if true, don't include node name in output
-*/
-AjxUtil.xmlToJs =
-function(node, omitName) {
-
-	if (node.nodeType == AjxUtil.TEXT_NODE)
-		return ['"', node.data, '"'].join("");
-
-	var name = node.name ? node.name : node.localName;
-	if (node.nodeType == AjxUtil.ELEMENT_NODE) {
-		// if only child is text, no need for enclosing {}
-		var hasTextNode = (node.childNodes && node.childNodes.length == 1 && 
-				   (node.childNodes[0].nodeType == AjxUtil.TEXT_NODE));
-		var text;
-		if (omitName) {
-			text = "{";
-		} else if (hasTextNode) {
-			text = [name, ":"].join("");
-		} else {
-			text = [name, ":{"].join("");
-		}
-		var needComma = false;	
-		if (node.attributes) {
-			for (var i = 0; i < node.attributes.length; i++) {
-				var attr = node.attributes[i];
-				if (attr.name == "xmlns") continue;
-				if (needComma) text += ",";
-				var value = AjxUtil.isNumeric(attr.value) ? attr.value : AjxUtil.jsEncode(attr.value);
-				text = [text, attr.name, ':', value].join("");
-				needComma = true;
-			}
-		}
-		if (node.hasChildNodes()) {
-			var cnodes = new Object();
-			var hasChild = false;
-			for (var i = 0; i < node.childNodes.length; i++) {
-				var child = node.childNodes[i];
-				var cname = child.name ? child.name : child.localName;
-				var isAttr = AjxUtil.NODE_IS_ATTR[cname] || 
-							 (name == "content" && parent.name == "note");
-				if (isAttr) {
-					if (needComma) text += ",";
-					text = [text, cname, ':', AjxUtil.jsEncode(child.textContent)].join("");
-					needComma = true;
-				} else {
-					if (!cnodes[cname])
-						cnodes[cname] = new Array();
-					cnodes[cname].push(child);
-					hasChild = true;
-				}
-			}
-			if (hasChild && needComma) {text += ","; needComma = false;}
-			for (var cname in cnodes) {
-				if (needComma) {
-					text += ",";
-					needComma = false;
-				}
-				var repeats = AjxUtil.NODE_REPEATS[cname] ||
-							  (cname == "mp" && name == "mp");
-				if (repeats) text += cname + ":[";
-				var clist = cnodes[cname];
-				for (var i = 0; i < clist.length; i++) {
-					if (needComma) text += ",";
-					text += AjxUtil.xmlToJs(clist[i], repeats);
-					needComma = true;
-				}
-				if (repeats) text += "]";
-			}
-		}
-		if (!hasTextNode) text += "}";
-	}
-
-	return text;
-}
-
-AjxUtil.JS_CHAR_ENCODINGS = [
-	"\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", "\\u0006", "\\u0007",
-	"\\b",     "\\t",     "\\n",     "\\u000B", "\\f",     "\\r",     "\\u000E", "\\u000F",
-	"\\u0010", "\\u0011", "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017",
-	"\\u0018", "\\u0019", "\\u001A", "\\u001B", "\\u001C", "\\u001D", "\\u001E", "\\u001F"
-];
-
-AjxUtil.jsEncode =
-function(string) {
-
-	if (!string) return "\"\"";
-
-	var text = '"';
-	for (var i = 0; i < string.length; i++) {
-		var c = string.charAt(i);
-		switch (c) {
-			case '\\': case '"': case '/':
-				text += '\\' + c;
-				break;
-			default:
-				var code = string.charCodeAt(i);
-				text += (code < 32) ? AjxUtil.JS_CHAR_ENCODINGS[code] : c;
-		}
-	}
-	text += '"';
-	return text;
-};
-
-AjxUtil.getInnerText = 
-function(node) {
- 	if (AjxEnv.isIE)
- 		return node.innerText;
-
-	function f(n) {
-		if (n) {
-			if (n.nodeType == 3 /* TEXT_NODE */)
-				return n.data;
-			if (n.nodeType == 1 /* ELEMENT_NODE */) {
-				if (/^br$/i.test(n.tagName))
-					return "\r\n";
-				var str = "";
-				for (var i = n.firstChild; i; i = i.nextSibling)
-					str += f(i);
-				return str;
-			}
-		}
-		return "";
-	};
-	return f(node);
-};
-
-/**
- * This method returns a proxy for the specified object. This is useful when
- * you want to modify properties of an object and want to keep those values
- * separate from the values in the original object. You can then iterate
- * over the proxy's properties and use the <code>hasOwnProperty</code>
-
- * method to determine if the property is a new value in the proxy.
- * <p>
- * <strong>Note:</strong>
- * A reference to the original object is stored in the proxy as the "_object_" 
- * property.
- *
- * @param object [object] The object to proxy.
- * @param level  [number] The number of property levels deep to proxy.
- *						  Defaults to zero.
- */
-AjxUtil.createProxy = 
-function(object, level) {
-	var proxy;
-	var proxyCtor = function(){}; // bug #6517 (Safari doesnt like 'new Function')
-	proxyCtor.prototype = object;
-	if (object instanceof Array) {
-		proxy  = new Array();
-		var cnt  = object.length;
-		for(var ix = 0; ix < cnt; ix++) {
-			proxy[ix] = object[ix];
-		}
-	} else {
-		proxy = new proxyCtor;
-	}
-	
-	if (level) {
-		for (var prop in object) {
-			if (typeof object[prop] == "object")
-				proxy[prop] = AjxUtil.createProxy(object[prop], level - 1);
-		}
-	}	
-	
-	proxy._object_ = object;
-	return proxy;
-};
-
-/**
-* Returns a copy of a list with empty members removed.
-*
-* @param list	[array]		original list
-*/
-AjxUtil.collapseList =
-function(list) {
-	var newList = [];
-	for (var i = 0; i < list.length; i++)
-		if (list[i])
-			newList.push(list[i]);
-	return newList;
-};
-/** auto include file:./xap/peter/src/zimbra/js/util/AjxText.js **/
-/*
-* ***** BEGIN LICENSE BLOCK *****
-* Version: MPL 1.1
-*
-* The contents of this file are subject to the Mozilla Public
-* License Version 1.1 ("License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.zimbra.com/license
-*
-* Software distributed under the License is distributed on an "AS IS"
-* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
-* the License for the specific language governing rights and limitations
-* under the License.
-*
-* The Original Code is: Zimbra AJAX Toolkit.
-*
-* The Initial Developer of the Original Code is Zimbra, Inc.
-* Portions created by Zimbra are Copyright (C) 2005 Zimbra, Inc.
-* All Rights Reserved.
-*
-* Contributor(s):
-*
-* ***** END LICENSE BLOCK *****
-*/
-
-
-// NOTE: The API for the classes in this file are inspired by the Java text
-//		 formatting classes but the implementation was NOT copied or ported
-//		 from the Java sources.
-
-//
-// Format class
-//
-
-/** 
- * Base class for all formats. To format an object, instantiate the
- * format of your choice and call the <code>format</code> method which
- * returns the formatted string.
- */
-function AjxFormat(pattern) {
-	this._pattern = pattern;
-	this._segments = [];
-}
-
-/** Returns string representation of this object. */
-AjxFormat.prototype.toString = function() { 
-	var s = [];
-	s.push("pattern=\"",this._pattern,'"');
-	if (this._segments.length > 0) {
-		s.push(", segments={ ");
-		for (var i = 0; i < this._segments.length; i++) {
-			if (i > 0) { s.push(", "); }
-			s.push(String(this._segments[i]));
-		}
-		s.push(" }");
-	}
-	return s.join("");
-};
-
-// Data
-
+if(AjxEnv.isSafari){
+if(!String.prototype._AjxOldReplace){
+String.prototype._AjxOldReplace=String.prototype.replace;
+String.prototype.replace=function(re,val){
+if(typeof val!="function"){
+return this._AjxOldReplace(re,val);
+}else{
+var str=this.slice(0),v,l,a;
+while(a=re.exec(str)){
+v=val.apply(null,a);
+l=a[0].length;
+re.lastIndex-=l-v.length;
+str=str.substr(0,a.index)+v+str.substr(a.index+l);
+if(!re.global){
+break;
+}
+}
+return str;
+}
+};
+}
+}
+function AjxUtil(){
+}
+AjxUtil.FLOAT_RE=/^[+\-]?((\d+(\.\d*)?)|((\d*\.)?\d+))([eE][+\-]?\d+)?$/;
+AjxUtil.NOTFLOAT_RE=/[^\d\.]/;
+AjxUtil.NOTINT_RE=/[^0-9]+/;
+AjxUtil.LIFETIME_FIELD=/^([0-9])+([dhms])?$/;
+AjxUtil.isSpecified=function(_42){
+return ((_42!==void 0)&&(_42!==null));
+};
+AjxUtil.isUndefined=function(_43){
+return (_43===void 0);
+};
+AjxUtil.isNull=function(_44){
+return (_44===null);
+};
+AjxUtil.isBoolean=function(_45){
+return (typeof (_45)=="boolean");
+};
+AjxUtil.isString=function(_46){
+return (typeof (_46)=="string");
+};
+AjxUtil.isNumber=function(_47){
+return (typeof (_47)=="number");
+};
+AjxUtil.isObject=function(_48){
+return ((typeof (_48)=="object")&&(_48!==null));
+};
+AjxUtil.isArray=function(_49){
+return AjxUtil.isInstance(_49,Array);
+};
+AjxUtil.isFunction=function(_4a){
+return (typeof (_4a)=="function");
+};
+AjxUtil.isDate=function(_4b){
+return AjxUtil.isInstance(_4b,Date);
+};
+AjxUtil.isLifeTime=function(_4c){
+return AjxUtil.LIFETIME_FIELD.test(_4c);
+};
+AjxUtil.isNumeric=function(_4d){
+return (!isNaN(parseFloat(_4d))&&AjxUtil.FLOAT_RE.test(_4d)&&!AjxUtil.NOTFLOAT_RE.test(_4d));
+};
+AjxUtil.isLong=function(_4e){
+return (AjxUtil.isNumeric(_4e)&&!AjxUtil.NOTINT_RE.test(_4e));
+};
+AjxUtil.isNonNegativeLong=function(_4f){
+return (AjxUtil.isNumeric(_4f)&&AjxUtil.isLong(_4f)&&(parseFloat(_4f)>=0));
+};
+AjxUtil.IP_ADDRESS_RE=/^\d{1,3}(\.\d{1,3}){3}(\.\d{1,3}\.\d{1,3})?$/;
+AjxUtil.DOMAIN_NAME_SHORT_RE=/^[A-Za-z0-9\-]{2,}$/;
+AjxUtil.DOMAIN_NAME_FULL_RE=/^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,}){1,}$/;
+AjxUtil.HOST_NAME_RE=/^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*$/;
+AjxUtil.HOST_NAME_WITH_PORT_RE=/^[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*:([0-9])+$/;
+AjxUtil.EMAIL_SHORT_RE=/^[^@\s]+$/;
+AjxUtil.EMAIL_FULL_RE=/^[^@\s]+@[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*$/;
+AjxUtil.EMAIL_RE=/^([a-zA-Z0-9_\-])+((\.)?([a-zA-Z0-9_\-])+)*@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
+AjxUtil.SHORT_URL_RE=/^[A-Za-z0-9]{2,}:\/\/[A-Za-z0-9\-]{2,}(\.[A-Za-z0-9\-]{2,})*(:([0-9])+)*$/;
+AjxUtil.IP_SHORT_URL_RE=/^[A-Za-z0-9]{2,}:\/\/\d{1,3}(\.\d{1,3}){3}(\.\d{1,3}\.\d{1,3})?(:([0-9])+)*$/;
+AjxUtil.isIpAddress=function(s){
+return AjxUtil.IP_ADDR_RE.test(s);
+};
+AjxUtil.isDomain=function(s){
+return AjxUtil.DOMAIN_RE.test(s);
+};
+AjxUtil.isHostName=function(s){
+return AjxUtil.HOST_NAME_RE.test(s);
+};
+AjxUtil.isDomainName=function(s,_54){
+return _54?AjxUtil.DOMAIN_NAME_SHORT_RE.test(s):AjxUtil.DOMAIN_NAME_FULL_RE.test(s);
+};
+AjxUtil.isEmailAddress=function(s,_56){
+return _56?AjxUtil.EMAIL_SHORT_RE.test(s):AjxUtil.EMAIL_FULL_RE.test(s);
+};
+AjxUtil.SIZE_GIGABYTES="GB";
+AjxUtil.SIZE_MEGABYTES="MB";
+AjxUtil.SIZE_KILOBYTES="KB";
+AjxUtil.SIZE_BYTES="B";
+AjxUtil.formatSize=function(_57,_58,_59){
+if(_58==null){
+_58=true;
+}
+if(_59==null){
+_59=20;
+}
+var _5a=AjxUtil.SIZE_BYTES;
+if(_57>=1073741824){
+_57/=1073741824;
+_5a=AjxUtil.SIZE_GIGABYTES;
+}else{
+if(_57>=1048576){
+_57/=1048576;
+_5a=AjxUtil.SIZE_MEGABYTES;
+}else{
+if(_57>1023){
+_57/=1024;
+_5a=AjxUtil.SIZE_KILOBYTES;
+}
+}
+}
+var _5b=_58?Math.round(_57):_57.toFixed(_59).replace(/\.?0+$/,"");
+var _5c=" "+_5a;
+return _5b+_5c;
+};
+AjxUtil.formatSizeForUnits=function(_5d,_5e,_5f,_60){
+if(_5e==null){
+_5e=AjxUtil.SIZE_BYTES;
+}
+if(_5f==null){
+_5f=true;
+}
+if(_60==null){
+_60=20;
+}
+switch(_5e){
+case AjxUtil.SIZE_GIGABYTES:
+_5d/=1073741824;
+break;
+case AjxUtil.SIZE_MEGABYTES:
+_5d/=1048576;
+break;
+case AjxUtil.SIZE_KILOBYTES:
+_5d/=1024;
+break;
+}
+var _61=_5f?Math.round(_5d):_5d.toFixed(_60).replace(/\.?0+$/,"");
+return _61;
+};
+AjxUtil.parseSize=function(_62,_63){
+var _64=parseFloat(_62.replace(/^\s*/,""));
+var _65=/[GMK]?B$/i;
+var _66=_65.exec(_62);
+if(_66){
+_63=_66[0].toUpperCase();
+}
+switch(_63){
+case AjxUtil.SIZE_GIGABYTES:
+_64*=1073741824;
+break;
+case AjxUtil.SIZE_MEGABYTES:
+_64*=1048576;
+break;
+case AjxUtil.SIZE_KILOBYTES:
+_64*=1024;
+break;
+}
+return _64;
+};
+AjxUtil.isInstance=function(_67,_68){
+return !!(_67&&_67.constructor&&(_67.constructor===_68));
+};
+AjxUtil.assert=function(_69,_6a){
+if(!_69&&AjxUtil.onassert){
+AjxUtil.onassert(_6a);
+}
+};
+AjxUtil.onassert=function(_6b){
+var _6c=new Object();
+_6c.message=_6b;
+var _6d=new Array();
+if(AjxEnv.isIE5_5up){
+var _6e=arguments.caller;
+while(_6e){
+_6d[_6d.length]=_6e.callee;
+_6e=_6e.caller;
+}
+}else{
+try{
+var _6e=arguments.callee.caller;
+while(_6e){
+_6d[_6d.length]=_6e;
+if(_6d.length>2){
+break;
+}
+_6e=_6e.caller;
+}
+}
+catch(e){
+}
+}
+_6c.stack=_6d;
+var _6f="";
+var _70=170;
+for(var i=1;i<_6d.length;i++){
+if(i>1){
+_6f+="\n";
+}
+if(i<11){
+var fs=_6d[i].toString();
+if(fs.length>_70){
+fs=fs.substr(0,_70)+"...";
+fs=fs.replace(/\n/g,"");
+}
+_6f+=i+": "+fs;
+}else{
+_6f+="("+(_6d.length-11)+" frames follow)";
+break;
+}
+}
+alert("assertion:\n\n"+_6b+"\n\n---- Call Stack ---\n"+_6f);
+throw _6c;
+};
+AjxUtil.NODE_REPEATS=new Object();
+AjxUtil.NODE_REPEATS["folder"]=true;
+AjxUtil.NODE_REPEATS["search"]=true;
+AjxUtil.NODE_REPEATS["tag"]=true;
+AjxUtil.NODE_REPEATS["pref"]=true;
+AjxUtil.NODE_REPEATS["attr"]=true;
+AjxUtil.NODE_REPEATS["c"]=true;
+AjxUtil.NODE_REPEATS["m"]=true;
+AjxUtil.NODE_REPEATS["cn"]=true;
+AjxUtil.NODE_REPEATS["e"]=true;
+AjxUtil.NODE_REPEATS["a"]=true;
+AjxUtil.NODE_REPEATS["mbx"]=true;
+AjxUtil.NODE_REPEATS["prefs"]=true;
+AjxUtil.NODE_REPEATS["attrs"]=true;
+AjxUtil.NODE_REPEATS["tags"]=true;
+AjxUtil.NODE_IS_ATTR=new Object();
+AjxUtil.NODE_IS_ATTR["authToken"]=true;
+AjxUtil.NODE_IS_ATTR["lifetime"]=true;
+AjxUtil.NODE_IS_ATTR["sessionId"]=true;
+AjxUtil.NODE_IS_ATTR["name"]=true;
+AjxUtil.NODE_IS_ATTR["quotaUsed"]=true;
+AjxUtil.NODE_IS_ATTR["su"]=true;
+AjxUtil.NODE_IS_ATTR["fr"]=true;
+AjxUtil.NODE_IS_ATTR["mid"]=true;
+AjxUtil.NODE_CONTENT=new Object();
+AjxUtil.NODE_CONTENT["pref"]=true;
+AjxUtil.NODE_CONTENT["attr"]=true;
+AjxUtil.NODE_CONTENT["a"]=true;
+AjxUtil.ELEMENT_NODE=1;
+AjxUtil.TEXT_NODE=3;
+AjxUtil.xmlToJs=function(_73,_74){
+if(_73.nodeType==AjxUtil.TEXT_NODE){
+return ["\"",_73.data,"\""].join("");
+}
+var _75=_73.name?_73.name:_73.localName;
+if(_73.nodeType==AjxUtil.ELEMENT_NODE){
+var _76=(_73.childNodes&&_73.childNodes.length==1&&(_73.childNodes[0].nodeType==AjxUtil.TEXT_NODE));
+var _77;
+if(_74){
+_77="{";
+}else{
+if(_76){
+_77=[_75,":"].join("");
+}else{
+_77=[_75,":{"].join("");
+}
+}
+var _78=false;
+if(_73.attributes){
+for(var i=0;i<_73.attributes.length;i++){
+var _7a=_73.attributes[i];
+if(_7a.name=="xmlns"){
+continue;
+}
+if(_78){
+_77+=",";
+}
+var _7b=AjxUtil.isNumeric(_7a.value)?_7a.value:AjxUtil.jsEncode(_7a.value);
+_77=[_77,_7a.name,":",_7b].join("");
+_78=true;
+}
+}
+if(_73.hasChildNodes()){
+var _7c=new Object();
+var _7d=false;
+for(var i=0;i<_73.childNodes.length;i++){
+var _7e=_73.childNodes[i];
+var _7f=_7e.name?_7e.name:_7e.localName;
+var _80=AjxUtil.NODE_IS_ATTR[_7f]||(_75=="content"&&parent.name=="note");
+if(_80){
+if(_78){
+_77+=",";
+}
+_77=[_77,_7f,":",AjxUtil.jsEncode(_7e.textContent)].join("");
+_78=true;
+}else{
+if(!_7c[_7f]){
+_7c[_7f]=new Array();
+}
+_7c[_7f].push(_7e);
+_7d=true;
+}
+}
+if(_7d&&_78){
+_77+=",";
+_78=false;
+}
+for(var _7f in _7c){
+if(_78){
+_77+=",";
+_78=false;
+}
+var _81=AjxUtil.NODE_REPEATS[_7f]||(_7f=="mp"&&_75=="mp");
+if(_81){
+_77+=_7f+":[";
+}
+var _82=_7c[_7f];
+for(var i=0;i<_82.length;i++){
+if(_78){
+_77+=",";
+}
+_77+=AjxUtil.xmlToJs(_82[i],_81);
+_78=true;
+}
+if(_81){
+_77+="]";
+}
+}
+}
+if(!_76){
+_77+="}";
+}
+}
+return _77;
+};
+AjxUtil.JS_CHAR_ENCODINGS=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000B","\\f","\\r","\\u000E","\\u000F","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001A","\\u001B","\\u001C","\\u001D","\\u001E","\\u001F"];
+AjxUtil.jsEncode=function(_83){
+if(!_83){
+return "\"\"";
+}
+var _84="\"";
+for(var i=0;i<_83.length;i++){
+var c=_83.charAt(i);
+switch(c){
+case "\\":
+case "\"":
+case "/":
+_84+="\\"+c;
+break;
+default:
+var _87=_83.charCodeAt(i);
+_84+=(_87<32)?AjxUtil.JS_CHAR_ENCODINGS[_87]:c;
+}
+}
+_84+="\"";
+return _84;
+};
+AjxUtil.getInnerText=function(_88){
+if(AjxEnv.isIE){
+return _88.innerText;
+}
+function f(n){
+if(n){
+if(n.nodeType==3){
+return n.data;
+}
+if(n.nodeType==1){
+if(/^br$/i.test(n.tagName)){
+return "\r\n";
+}
+var str="";
+for(var i=n.firstChild;i;i=i.nextSibling){
+str+=f(i);
+}
+return str;
+}
+}
+return "";
+}
+return f(_88);
+};
+AjxUtil.createProxy=function(_8c,_8d){
+var _8e;
+var _8f=function(){
+};
+_8f.prototype=_8c;
+if(_8c instanceof Array){
+_8e=new Array();
+var cnt=_8c.length;
+for(var ix=0;ix<cnt;ix++){
+_8e[ix]=_8c[ix];
+}
+}else{
+_8e=new _8f;
+}
+if(_8d){
+for(var _92 in _8c){
+if(typeof _8c[_92]=="object"){
+_8e[_92]=AjxUtil.createProxy(_8c[_92],_8d-1);
+}
+}
+}
+_8e._object_=_8c;
+return _8e;
+};
+AjxUtil.collapseList=function(_93){
+var _94=[];
+for(var i=0;i<_93.length;i++){
+if(_93[i]){
+_94.push(_93[i]);
+}
+}
+return _94;
+};
+function AjxFormat(_96){
+this._pattern=_96;
+this._segments=[];
+}
+AjxFormat.prototype.toString=function(){
+var s=[];
+s.push("pattern=\"",this._pattern,"\"");
+if(this._segments.length>0){
+s.push(", segments={ ");
+for(var i=0;i<this._segments.length;i++){
+if(i>0){
+s.push(", ");
+}
+s.push(String(this._segments[i]));
+}
+s.push(" }");
+}
+return s.join("");
+};
 AjxFormat.prototype._pattern;
 AjxFormat.prototype._segments;
-
-// Public methods
-
-/** 
- * This method does <em>not</em> need to be overridden unless
- * the subclass doesn't use format segments and takes complete 
- * responsibility for formatting.
- */
-AjxFormat.prototype.format = function(object) { 
-	var s = [];
-	for (var i = 0; i < this._segments.length; i++) {
-		s.push(this._segments[i].format(object));
-	}
-	return s.join("");
-};
-
-/** 
- * Parses the given string according to this format's pattern and returns
- * an object.
- * <p>
-
- * <strong>Note:</strong>
- * The default implementation of this method assumes that the sub-class
- * has implemented the <code>_createParseObject</code> method.
- */
-AjxFormat.prototype.parse = function(s) {
-	var object = this._createParseObject();
-	var index = 0;
-	for (var i = 0; i < this._segments.length; i++) {
-		var segment = this._segments[i];
-		index = segment.parse(object, s, index);
-	}
-	// REVISIT: Should this return null instead?
-	if (index < s.length) {
-		throw new AjxFormat.ParsingException(this, null, "input too long"); // I18n
-	}
-	return object;
-};
-
-/** 
- * Returns an array of segments that comprise this format. 
- * <p>
- * <strong>Note:</strong>
- * This method is specific to this implementation and does not follow
- * the format classes found in the <code>java.text</code> package.
- */
-AjxFormat.prototype.getSegments = function() {
-	return this._segments;
-};
-
-/** Returns a string pattern for this format. */
-AjxFormat.prototype.toPattern = function() {
-	return this._pattern;
-};
-
-/** Returns a copy of this format. */
-AjxFormat.prototype.clone = function() {
-	return new this.constructor(this._pattern);
-};
-
-// Protected methods
-
-/**
- * Creates the object that is initialized by parsing
- * <p>
-
- * <strong>Note:</strong>
- * This must be implemented by sub-classes.
- */
-AjxFormat.prototype._createParseObject = function(s) {
-	throw new AjxFormat.ParsingException(this, null, "not implemented"); // I18n
-};
-
-// Protected static methods
-
-AjxFormat._zeroPad = function(s, length, zeroChar, rightSide) {
-	s = typeof s == "string" ? s : String(s);
-
-	if (s.length >= length) return s;
-
-	zeroChar = zeroChar || '0';
-	
-	var a = [];
-	for (var i = s.length; i < length; i++) {
-		a.push(zeroChar);
-	}
-	a[rightSide ? "unshift" : "push"](s);
-
-	return a.join("");
-};
-
-//
-// Format exception base class
-//
-
-AjxFormat.FormatException = function(format, message) {
-	this._format = format;
-	this._message = message;
-};
-AjxFormat.FormatException.prototype.toString = function() { 
-	return this._message; 
-};
-
-// Data
-
+AjxFormat.prototype.format=function(_99){
+var s=[];
+for(var i=0;i<this._segments.length;i++){
+s.push(this._segments[i].format(_99));
+}
+return s.join("");
+};
+AjxFormat.prototype.parse=function(s){
+var _9d=this._createParseObject();
+var _9e=0;
+for(var i=0;i<this._segments.length;i++){
+var _a0=this._segments[i];
+_9e=_a0.parse(_9d,s,_9e);
+}
+if(_9e<s.length){
+throw new AjxFormat.ParsingException(this,null,"input too long");
+}
+return _9d;
+};
+AjxFormat.prototype.getSegments=function(){
+return this._segments;
+};
+AjxFormat.prototype.toPattern=function(){
+return this._pattern;
+};
+AjxFormat.prototype.clone=function(){
+return new this.constructor(this._pattern);
+};
+AjxFormat.prototype._createParseObject=function(s){
+throw new AjxFormat.ParsingException(this,null,"not implemented");
+};
+AjxFormat._zeroPad=function(s,_a3,_a4,_a5){
+s=typeof s=="string"?s:String(s);
+if(s.length>=_a3){
+return s;
+}
+_a4=_a4||"0";
+var a=[];
+for(var i=s.length;i<_a3;i++){
+a.push(_a4);
+}
+a[_a5?"unshift":"push"](s);
+return a.join("");
+};
+AjxFormat.FormatException=function(_a8,_a9){
+this._format=_a8;
+this._message=_a9;
+};
+AjxFormat.FormatException.prototype.toString=function(){
+return this._message;
+};
 AjxFormat.FormatException.prototype._format;
 AjxFormat.FormatException.prototype._message;
-
-//
-// Formatting exception class
-//
-
-AjxFormat.FormattingException = function(format, segment, message) {
-	AjxFormat.FormatException.call(this, format, message);
-	this._segment = segment;
-};
-AjxFormat.FormattingException.prototype = new AjxFormat.FormatException;
-AjxFormat.FormattingException.prototype.constructor = AjxFormat.FormattingException;
-
-// Data
-
+AjxFormat.FormattingException=function(_aa,_ab,_ac){
+AjxFormat.FormatException.call(this,_aa,_ac);
+this._segment=_ab;
+};
+AjxFormat.FormattingException.prototype=new AjxFormat.FormatException;
+AjxFormat.FormattingException.prototype.constructor=AjxFormat.FormattingException;
 AjxFormat.FormattingException.prototype._segment;
-
-//
-// Parsing exception class
-//
-
-AjxFormat.ParsingException = function(format, segment, message) {
-	AjxFormat.FormatException.call(this, format, message);
-	this._segment = segment;
-};
-AjxFormat.ParsingException.prototype = new AjxFormat.FormatException;
-AjxFormat.ParsingException.prototype.constructor = AjxFormat.ParsingException;
-
-// Data
-
+AjxFormat.ParsingException=function(_ad,_ae,_af){
+AjxFormat.FormatException.call(this,_ad,_af);
+this._segment=_ae;
+};
+AjxFormat.ParsingException.prototype=new AjxFormat.FormatException;
+AjxFormat.ParsingException.prototype.constructor=AjxFormat.ParsingException;
 AjxFormat.ParsingException.prototype._segment;
-
-//
-// Segment class
-//
-
-AjxFormat.Segment = function(format, s) {
-	this._parent = format;
-	this._s = s;
-};
-
-AjxFormat.Segment.prototype.toString = function() { 
-	return "segment: \""+this._s+'"'; 
-};
-
-// Data
-
+AjxFormat.Segment=function(_b0,s){
+this._parent=_b0;
+this._s=s;
+};
+AjxFormat.Segment.prototype.toString=function(){
+return "segment: \""+this._s+"\"";
+};
 AjxFormat.Segment.prototype._parent;
 AjxFormat.Segment.prototype._s;
-
-// Public methods
-
-AjxFormat.Segment.prototype.format = function(o) { 
-	return this._s; 
-};
-
-/**
- * Parses the string at the given index, initializes the parse object
- * (as appropriate), and returns the new index within the string for
- * the next parsing step.
- * <p>
- * <strong>Note:</strong>
- * This method must be implemented by sub-classes.
- *
- * @param o     [object] The parse object to be initialized.
- * @param s     [string] The input string to be parsed.
- * @param index [number] The index within the string to start parsing.
- */
-AjxFormat.Segment.prototype.parse = function(o, s, i) {
-	throw new AjxFormat.ParsingException(this._parent, this, "not implemented"); // I18n
-};
-
-// Protected static methods
-
-AjxFormat.Segment._parseLiteral = function(literal, s, index) {
-	if (s.length - index < literal.length) {
-		throw new AjxFormat.ParsingException(this._parent, this, "input too short"); // I18n
-	}
-	for (var i = 0; i < literal.length; i++) {
-		if (literal.charAt(i) != s.charAt(index + i)) {
-			throw new AjxFormat.ParsingException(this._parent, this, "input doesn't match"); // I18n
-		}
-	}
-	return index + literal.length;
-};
-AjxFormat.Segment._parseLiterals = function(literals, s, index) {
-	for (var i = 0; i < literals.length; i++) {
-		try {
-			var literal = literals[i];
-			return AjxFormat.Segment._parseLiteral(literal, s, index);
-		}
-		catch (e) {
-			// ignore. keep trying to find a match
-		}
-	}
-	return -1;
-};
-
-/**
- * Parses an integer at the offset of the given string and calls a
- * method on the specified object.
- *
- * @param o         [object]   The target object.
- * @param f         [function] The method to call on the target object.
- * @param adjust    [number]   The numeric adjustment to make on the
- *                             value before calling the object method.
- * @param s         [string]   The string to parse.
- * @param index     [number]   The index within the string to start parsing.
- * @param fixedlen  [number]   If specified, specifies the required number
- *                             of digits to be parsed.
- */
-AjxFormat.Segment._parseInt = function(o, f, adjust, s, index, fixedlen) {
-	var len = fixedlen || s.length - index;
-	var head = index;
-	for (var i = 0; i < len; i++) {
-		if (!s.charAt(index++).match(/\d/)) {
-			index--;
-			break;
-		}
-	}
-	var tail = index;
-	if (head == tail) {
-		throw new AjxFormat.ParsingException(this._parent, this, "number not present"); // I18n
-	}
-	if (fixedlen && tail - head != fixedlen) {

[... 56852 lines stripped ...]