annotate media/js/timezone.js @ 286:72fd300685d5

For #95. You can now make posts with no text in the body if you have attachments. And now if you create a new topic with an attachment, and the POST fails (say you forgot the topic title), we will now re-attach attachments. Also fixed a bug in the smiley code that would arise if it was asked to markup an empty string.
author Brian Neal <bgneal@gmail.com>
date Sat, 23 Oct 2010 20:19:46 +0000
parents 91c0902de04d
children
rev   line source
bgneal@70 1 var gcalTzInfo = {
bgneal@245 2 areas: ['Africa', 'America', 'Antarctica', 'Asia', 'Atlantic', 'Australia', 'Canada', 'Europe', 'Indian', 'Pacific', 'US'],
bgneal@70 3 locations: [['Abidjan', 'Accra', 'Addis Ababa', 'Algiers', 'Asmara', 'Bamako', 'Bangui', 'Banjul', 'Bissau', 'Blantyre', 'Brazzaville', 'Bujumbura', 'Cairo', 'Casablanca', 'Ceuta', 'Conakry', 'Dakar', 'Dar es Salaam', 'Djibouti', 'Douala', 'El Aaiun', 'Freetown', 'Gaborone', 'Harare', 'Johannesburg', 'Kampala', 'Khartoum', 'Kigali', 'Kinshasa', 'Lagos', 'Libreville', 'Lome', 'Luanda', 'Lubumbashi', 'Lusaka', 'Malabo', 'Maputo', 'Maseru', 'Mbabane', 'Mogadishu', 'Monrovia', 'Nairobi', 'Ndjamena', 'Niamey', 'Nouakchott', 'Ouagadougou', 'Porto-Novo', 'Sao Tome', 'Tripoli', 'Tunis', 'Windhoek'],
bgneal@245 4 ['Adak', 'Anchorage', 'Anguilla', 'Antigua', 'Araguaina', 'Argentina/Buenos Aires', 'Argentina/Catamarca', 'Argentina/Cordoba', 'Argentina/Jujuy', 'Argentina/La Rioja', 'Argentina/Mendoza', 'Argentina/Rio Gallegos', 'Argentina/Salta', 'Argentina/San Juan', 'Argentina/San Luis', 'Argentina/Tucuman', 'Argentina/Ushuaia', 'Aruba', 'Asuncion', 'Atikokan', 'Bahia', 'Barbados', 'Belem', 'Belize', 'Blanc-Sablon', 'Boa Vista', 'Bogota', 'Boise', 'Cambridge Bay', 'Campo Grande', 'Cancun', 'Caracas', 'Cayenne', 'Cayman', 'Chicago', 'Chihuahua', 'Costa Rica', 'Cuiaba', 'Curacao', 'Danmarkshavn', 'Dawson', 'Dawson Creek', 'Denver', 'Detroit', 'Dominica', 'Edmonton', 'Eirunepe', 'El Salvador', 'Fortaleza', 'Glace Bay', 'Godthab', 'Goose Bay', 'Grand Turk', 'Grenada', 'Guadeloupe', 'Guatemala', 'Guayaquil', 'Guyana', 'Halifax', 'Havana', 'Hermosillo', 'Indiana/Indianapolis', 'Indiana/Knox', 'Indiana/Marengo', 'Indiana/Petersburg', 'Indiana/Tell City', 'Indiana/Vevay', 'Indiana/Vincennes', 'Indiana/Winamac', 'Inuvik', 'Iqaluit', 'Jamaica', 'Juneau', 'Kentucky/Louisville', 'Kentucky/Monticello', 'La Paz', 'Lima', 'Los Angeles', 'Maceio', 'Managua', 'Manaus', 'Martinique', 'Matamoros', 'Mazatlan', 'Menominee', 'Merida', 'Mexico City', 'Miquelon', 'Moncton', 'Monterrey', 'Montevideo', 'Montreal', 'Montserrat', 'Nassau', 'New York', 'Nipigon', 'Nome', 'Noronha', 'North Dakota/Center', 'North Dakota/New Salem', 'Ojinaga', 'Panama', 'Pangnirtung', 'Paramaribo', 'Phoenix', 'Port of Spain', 'Port-au-Prince', 'Porto Velho', 'Puerto Rico', 'Rainy River', 'Rankin Inlet', 'Recife', 'Regina', 'Resolute', 'Rio Branco', 'Santa Isabel', 'Santarem', 'Santiago', 'Santo Domingo', 'Sao Paulo', 'Scoresbysund', 'St Johns', 'St Kitts', 'St Lucia', 'St Thomas', 'St Vincent', 'Swift Current', 'Tegucigalpa', 'Thule', 'Thunder Bay', 'Tijuana', 'Toronto', 'Tortola', 'Vancouver', 'Whitehorse', 'Winnipeg', 'Yakutat', 'Yellowknife'],
bgneal@70 5 ['Casey', 'Davis', 'DumontDUrville', 'Mawson', 'McMurdo', 'Palmer', 'Rothera', 'Syowa', 'Vostok'],
bgneal@245 6 ['Aden', 'Almaty', 'Amman', 'Anadyr', 'Aqtau', 'Aqtobe', 'Ashgabat', 'Baghdad', 'Bahrain', 'Baku', 'Bangkok', 'Beirut', 'Bishkek', 'Brunei', 'Choibalsan', 'Chongqing', 'Colombo', 'Damascus', 'Dhaka', 'Dili', 'Dubai', 'Dushanbe', 'Gaza', 'Harbin', 'Ho Chi Minh', 'Hong Kong', 'Hovd', 'Irkutsk', 'Jakarta', 'Jayapura', 'Jerusalem', 'Kabul', 'Kamchatka', 'Karachi', 'Kashgar', 'Kathmandu', 'Kolkata', 'Krasnoyarsk', 'Kuala Lumpur', 'Kuching', 'Kuwait', 'Macau', 'Magadan', 'Makassar', 'Manila', 'Muscat', 'Nicosia', 'Novokuznetsk', 'Novosibirsk', 'Omsk', 'Oral', 'Phnom Penh', 'Pontianak', 'Pyongyang', 'Qatar', 'Qyzylorda', 'Rangoon', 'Riyadh', 'Sakhalin', 'Samarkand', 'Seoul', 'Shanghai', 'Singapore', 'Taipei', 'Tashkent', 'Tbilisi', 'Tehran', 'Thimphu', 'Tokyo', 'Ulaanbaatar', 'Urumqi', 'Vientiane', 'Vladivostok', 'Yakutsk', 'Yekaterinburg', 'Yerevan'],
bgneal@70 7 ['Azores', 'Bermuda', 'Canary', 'Cape Verde', 'Faroe', 'Madeira', 'Reykjavik', 'South Georgia', 'St Helena', 'Stanley'],
bgneal@70 8 ['Adelaide', 'Brisbane', 'Broken Hill', 'Currie', 'Darwin', 'Eucla', 'Hobart', 'Lindeman', 'Lord Howe', 'Melbourne', 'Perth', 'Sydney'],
bgneal@245 9 ['Atlantic', 'Central', 'Eastern', 'Mountain', 'Newfoundland', 'Pacific'],
bgneal@70 10 ['Amsterdam', 'Andorra', 'Athens', 'Belgrade', 'Berlin', 'Brussels', 'Bucharest', 'Budapest', 'Chisinau', 'Copenhagen', 'Dublin', 'Gibraltar', 'Helsinki', 'Istanbul', 'Kaliningrad', 'Kiev', 'Lisbon', 'London', 'Luxembourg', 'Madrid', 'Malta', 'Minsk', 'Monaco', 'Moscow', 'Oslo', 'Paris', 'Prague', 'Riga', 'Rome', 'Samara', 'Simferopol', 'Sofia', 'Stockholm', 'Tallinn', 'Tirane', 'Uzhgorod', 'Vaduz', 'Vienna', 'Vilnius', 'Volgograd', 'Warsaw', 'Zaporozhye', 'Zurich'],
bgneal@70 11 ['Antananarivo', 'Chagos', 'Christmas', 'Cocos', 'Comoro', 'Kerguelen', 'Mahe', 'Maldives', 'Mauritius', 'Mayotte', 'Reunion'],
bgneal@70 12 ['Apia', 'Auckland', 'Chatham', 'Easter', 'Efate', 'Enderbury', 'Fakaofo', 'Fiji', 'Funafuti', 'Galapagos', 'Gambier', 'Guadalcanal', 'Guam', 'Honolulu', 'Johnston', 'Kiritimati', 'Kosrae', 'Kwajalein', 'Majuro', 'Marquesas', 'Midway', 'Nauru', 'Niue', 'Norfolk', 'Noumea', 'Pago Pago', 'Palau', 'Pitcairn', 'Ponape', 'Port Moresby', 'Rarotonga', 'Saipan', 'Tahiti', 'Tarawa', 'Tongatapu', 'Truk', 'Wake', 'Wallis'],
bgneal@70 13 ['Alaska', 'Arizona', 'Central', 'Eastern', 'Hawaii', 'Mountain', 'Pacific']],
bgneal@245 14 default_area: 10,
bgneal@70 15 default_location: 6
bgneal@70 16 };
bgneal@70 17
bgneal@70 18 $(document).ready(function() {
bgneal@70 19 var $tz_area = $('#id_tz_area');
bgneal@70 20 var $tz_loc = $('#id_tz_location');
bgneal@70 21 var tz_area = $tz_area[0];
bgneal@70 22 var tz_loc = $tz_loc[0];
bgneal@70 23 tz_area.options.length = 0;
bgneal@70 24 for (var i = 0; i < gcalTzInfo.areas.length; ++i)
bgneal@70 25 {
bgneal@70 26 tz_area.options[i] = new Option(gcalTzInfo.areas[i]);
bgneal@70 27 }
bgneal@70 28 var tz = $('#id_time_zone').val();
bgneal@70 29 if (tz == '')
bgneal@70 30 {
bgneal@70 31 tz_area.options.selectedIndex = gcalTzInfo.default_area;
bgneal@70 32 }
bgneal@70 33 else
bgneal@70 34 {
bgneal@70 35 var area_match = tz.match(/^(\w+)\/.*$/);
bgneal@70 36 if (area_match != null)
bgneal@70 37 {
bgneal@264 38 var i = $.inArray(area_match[1], gcalTzInfo.areas);
bgneal@70 39 tz_area.options.selectedIndex = (i != -1) ? i : gcalTzInfo.default_area;
bgneal@70 40 }
bgneal@70 41 else
bgneal@70 42 {
bgneal@70 43 tz_area.options.selectedIndex = gcalTzInfo.default_area;
bgneal@70 44 }
bgneal@70 45 }
bgneal@70 46
bgneal@70 47 $tz_area.change(function () {
bgneal@70 48 tz_loc.options.length = 0;
bgneal@70 49 var area = tz_area.options.selectedIndex;
bgneal@70 50 for (var i = 0; i < gcalTzInfo.locations[area].length; ++i)
bgneal@70 51 {
bgneal@70 52 tz_loc.options[i] = new Option(gcalTzInfo.locations[area][i]);
bgneal@70 53 }
bgneal@70 54 }).change();
bgneal@70 55
bgneal@70 56 if (tz == '')
bgneal@70 57 {
bgneal@70 58 tz_loc.options.selectedIndex = gcalTzInfo.default_location;
bgneal@70 59 }
bgneal@70 60 else
bgneal@70 61 {
bgneal@70 62 var loc_match = tz.match(/^[^\/]+\/(.*)$/);
bgneal@70 63 if (loc_match != null)
bgneal@70 64 {
bgneal@70 65 var loc = loc_match[1].replace(/_/g, ' ');
bgneal@264 66 var i = $.inArray(loc, gcalTzInfo.locations[tz_area.options.selectedIndex]);
bgneal@70 67 tz_loc.options.selectedIndex = (i != -1) ? i : gcalTzInfo.default_location;
bgneal@70 68 }
bgneal@70 69 else
bgneal@70 70 {
bgneal@70 71 tz_loc.options.selectedIndex = gcalTzInfo.default_location;
bgneal@70 72 }
bgneal@70 73 }
bgneal@70 74
bgneal@70 75 $tz_area.parents('form').submit(function () {
bgneal@70 76 var area = $tz_area.val();
bgneal@70 77 var loc = $tz_loc.val();
bgneal@70 78 var tz = area + '/' + loc.replace(/ /g, '_');
bgneal@70 79 $('#id_time_zone').val(tz);
bgneal@70 80 return true;
bgneal@70 81 });
bgneal@70 82 });