package kornell.gui.client.util.forms;
import static kornell.core.util.StringUtils.mkurl;
import java.util.Date;
import java.util.List;
import com.github.gwtbootstrap.client.ui.CheckBox;
import com.github.gwtbootstrap.client.ui.ListBox;
import com.github.gwtbootstrap.client.ui.PasswordTextBox;
import com.github.gwtbootstrap.client.ui.Tab;
import com.github.gwtbootstrap.client.ui.TextArea;
import com.github.gwtbootstrap.client.ui.TextBox;
import com.github.gwtbootstrap.client.ui.constants.Device;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Image;
import kornell.gui.client.KornellConstants;
import kornell.gui.client.KornellMessages;
import kornell.gui.client.util.ClientConstants;
import kornell.gui.client.util.forms.formfield.CheckBoxFormField;
import kornell.gui.client.util.forms.formfield.KornellFormFieldWrapper;
import kornell.gui.client.util.forms.formfield.PasswordTextBoxFormField;
import kornell.gui.client.util.forms.formfield.TextAreaFormField;
import kornell.gui.client.util.forms.formfield.TextBoxFormField;
@SuppressWarnings("deprecation")
public class FormHelper {
public static String SEPARATOR_BAR_IMG_PATH = mkurl(ClientConstants.IMAGES_PATH, "profile", "separatorBar.png");
public static String SEPARATOR_BAR_CLASS = "profileSeparatorBar";
public static Character USERNAME_SEPARATOR = '/';
public static Character USERNAME_ALTERNATE_SEPARATOR = '\\';
private KornellConstants constants = GWT.create(KornellConstants.class);
private KornellMessages messages = GWT.create(KornellMessages.class);
private static final String EMAIL_PATTERN = "^[-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\\.[a-zA-Z]{2,4}$";
private static final String USERNAME_PATTERN = "^[A-z0-9._]{3,}$";
private static final String PASSWORD_PATTERN = "^[0-9a-zA-Z!@#$%¨&*()]{6,}$";
public static boolean isEmailValid(String field){
return field == null ? false : field.trim().matches(EMAIL_PATTERN);
}
public static boolean isUsernameValid(String field){
return field == null ? false : field.trim().matches(USERNAME_PATTERN);
}
public boolean isPasswordValid(String field){
return field == null ? false : field.trim().matches(PASSWORD_PATTERN);
}
public boolean isValidNumber(String field){
return field == null ? false : field.trim().matches("^[-+]?[0-9]*\\.?[0-9]+$");
}
public boolean isValidInteger(String field){
return field == null ? false : field.trim().matches("[0-9]*");
}
public boolean isLengthValid(String field, int minLength, int maxLength){
return field == null ? false : field.trim().length() >= minLength && field.trim().length() <= maxLength;
}
public boolean isNumberRangeValid(Integer field, int min, int max){
return field == null ? false : field >= min && field <= max;
}
public boolean isLengthValid(String field, int minLength){
return isLengthValid(field, minLength, Integer.MAX_VALUE);
}
public ListBox getSexList(){
ListBox sex = new ListBox();
sex.addItem(constants.selectboxDefault(), "-");
sex.addItem(constants.genderFemale(), "F");
sex.addItem(constants.genderMale(), "M");
return sex;
}
public boolean isListBoxSelected(ListBox value) {
return value != null && !("-".equals(((ListBox)value).getValue()) || ((ListBox)value).getValue() == null);
}
// static final ValueFactory valueFactory = GWT.create(ValueFactory.class);
public TextBoxFormField createTextBoxFormField(String text, String textBoxFormFieldType){
TextBox fieldTextBox = new TextBox();
fieldTextBox.addStyleName("field");
fieldTextBox.addStyleName("textField");
fieldTextBox.setValue(text);
return new TextBoxFormField(fieldTextBox, textBoxFormFieldType);
}
public TextBoxFormField createTextBoxFormField(String text){
return createTextBoxFormField(text, null);
}
public TextAreaFormField createTextAreaFormField(String text, int visibleLines){
TextArea fieldTextArea = new TextArea();
if(visibleLines > 0)
fieldTextArea.setVisibleLines(visibleLines);
fieldTextArea.addStyleName("field");
fieldTextArea.addStyleName("textField");
fieldTextArea.setValue(text);
return new TextAreaFormField(fieldTextArea);
}
public TextAreaFormField createTextAreaFormField(String text){
return createTextAreaFormField(text, 0);
}
public PasswordTextBoxFormField createPasswordTextBoxFormField(String text){
PasswordTextBox fieldPasswordTextBox = new PasswordTextBox();
fieldPasswordTextBox.addStyleName("field");
fieldPasswordTextBox.addStyleName("textField");
fieldPasswordTextBox.setValue(text);
return new PasswordTextBoxFormField(fieldPasswordTextBox);
}
public CheckBoxFormField createCheckBoxFormField(Boolean value){
CheckBox fieldCheckBox = new CheckBox();
fieldCheckBox.setValue(value);
return new CheckBoxFormField(fieldCheckBox);
}
public void clearErrors(List<KornellFormFieldWrapper> fields) {
for (KornellFormFieldWrapper field : fields) {
field.clearError();
}
}
public boolean checkErrors(List<KornellFormFieldWrapper> fields) {
for (KornellFormFieldWrapper field : fields)
if (!"".equals(field.getError()))
return true;
return false;
}
public static String stripCPF(String cpf){
if(cpf == null) return null;
return cpf.replaceAll("[^0-9]+","");
}
public boolean isItemInListBox(String item, ListBox listBox){
for(int i = 0; i < listBox.getItemCount(); i++){
if(item.equals(listBox.getItemText(i)))
return true;
}
return false;
}
public static boolean isCPFValid(String cpf) {
if(cpf == null) return false;
cpf = stripCPF(cpf);
// considera-se erro CPF's formados por uma sequencia de numeros iguais
if (cpf.equals("00000000000") || cpf.equals("11111111111")
|| cpf.equals("22222222222") || cpf.equals("33333333333")
|| cpf.equals("44444444444") || cpf.equals("55555555555")
|| cpf.equals("66666666666") || cpf.equals("77777777777")
|| cpf.equals("88888888888") || cpf.equals("99999999999")
|| (cpf.length() != 11))
return false;
char dig10, dig11;
int sm, i, r, num, peso;
try {
// Calculo do 1o. Digito Verificador
sm = 0;
peso = 10;
for (i = 0; i < 9; i++) {
// converte o i-esimo caractere do CPF em um numero:
// por exemplo, transforma o caractere '0' no inteiro 0
// (48 eh a posicao de '0' na tabela ASCII)
num = (int) (cpf.charAt(i) - 48);
sm = sm + (num * peso);
peso = peso - 1;
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig10 = '0';
else
dig10 = (char) (r + 48); // converte no respectivo caractere numerico
// Calculo do 2o. Digito Verificador
sm = 0;
peso = 11;
for (i = 0; i < 10; i++) {
num = (int) (cpf.charAt(i) - 48);
sm = sm + (num * peso);
peso = peso - 1;
}
r = 11 - (sm % 11);
if ((r == 10) || (r == 11))
dig11 = '0';
else
dig11 = (char) (r + 48);
// Verifica se os digitos calculados conferem com os digitos informados.
if ((dig10 == cpf.charAt(9)) && (dig11 == cpf.charAt(10)))
return true;
else
return false;
} catch (Exception erro) {
return false;
}
}
public Image getImageSeparator() {
Image image = new Image(SEPARATOR_BAR_IMG_PATH);
image.addStyleName(SEPARATOR_BAR_CLASS);
return image;
}
public String formatCPF(String cpf) {
cpf = stripCPF(cpf);
if(cpf == null || cpf.length() != 11)
return "";
return cpf.substring(0, 3) + "." + cpf.substring(3, 6) + "." + cpf.substring(6, 9) + "-" + cpf.substring(9, 11);
}
public static void hideTab(Tab tab) {
tab.setHideOn(Device.PHONE);
}
public String getElapsedTimeSince(Date date, Date now) {
long dateM = date.getTime() - 1000;
long serverNowM = now.getTime();
long diffM = serverNowM - dateM;
long days = diffM/(24 * 60 * 60 * 1000);
long hours = diffM/(60 * 60 * 1000);
long minutes = diffM/(60 * 1000);
long seconds = diffM/(1000);
seconds = seconds > 0 ? seconds : 1;
if(days > 0)
return dateToString(date);
else if(hours > 0)
return messages.hoursAgo(hours, hours > 1);
else if(minutes > 0)
return messages.minutesAgo(minutes, minutes > 1);
else
return messages.secondsAgo(seconds, seconds > 1);
}
public String dateToString(Date date){
if(date == null)
return null;
String month = ((date.getMonth()+1) < 10 ? "0" : "") + (date.getMonth()+1);
String day = (date.getDate() < 10 ? "0" : "") + date.getDate();
return (1900+date.getYear()) + "-" + month + "-" + day;
}
public ListBox getCountriesList(){
ListBox countries = new ListBox();
countries.addItem("Selecione:", "-");
countries.addItem("Afeganistão", "AF");
countries.addItem("África do Sul", "ZA");
countries.addItem("Alanda", "AX");
countries.addItem("Albânia", "AL");
countries.addItem("Alemanha", "DE");
countries.addItem("Andorra", "AD");
countries.addItem("Angola", "AO");
countries.addItem("Anguilla", "AI");
countries.addItem("Antártida", "AQ");
countries.addItem("Antígua e Barbuda", "AG");
countries.addItem("Arábia Saudita", "SA");
countries.addItem("Argélia", "DZ");
countries.addItem("Argentina", "AR");
countries.addItem("Armênia", "AM");
countries.addItem("Aruba", "AW");
countries.addItem("Austrália", "AU");
countries.addItem("Áustria", "AT");
countries.addItem("Azerbaijão", "AZ");
countries.addItem("Bahamas", "BS");
countries.addItem("Bahrain", "BH");
countries.addItem("Bangladesh", "BD");
countries.addItem("Barbados", "BB");
countries.addItem("Bélgica", "BE");
countries.addItem("Belize", "BZ");
countries.addItem("Benin", "BJ");
countries.addItem("Bermudas", "BM");
countries.addItem("Bielo-Rússia", "BY");
countries.addItem("Bolívia", "BO");
countries.addItem("Bonaire", "BQ");
countries.addItem("Bósnia-Herzegóvina", "BA");
countries.addItem("Botsuana", "BW");
countries.addItem("Brasil", "BR");
countries.addItem("Brunei", "BN");
countries.addItem("Bulgária", "BG");
countries.addItem("Burkina Fasso", "BF");
countries.addItem("Burundi", "BI");
countries.addItem("Butão", "BT");
countries.addItem("Cabo Verde", "CV");
countries.addItem("Camarões", "CM");
countries.addItem("Camboja", "KH");
countries.addItem("Canadá", "CA");
countries.addItem("Catar", "QA");
countries.addItem("Cazaquistão", "KZ");
countries.addItem("Chade", "TD");
countries.addItem("Chile", "CL");
countries.addItem("China", "CN");
countries.addItem("Chipre", "CY");
countries.addItem("Cingapura", "SG");
countries.addItem("Colômbia", "CO");
countries.addItem("Congo", "CG");
countries.addItem("Congo-Kinshasa", "CD");
countries.addItem("Coréia, República da", "KR");
countries.addItem("Coréia, República Popular Democrática da", "KP");
countries.addItem("Costa do Marfim", "CI");
countries.addItem("Costa Rica", "CR");
countries.addItem("Croácia", "HR");
countries.addItem("Cuba", "CU");
countries.addItem("Curaçao", "CW");
countries.addItem("Dinamarca", "DK");
countries.addItem("Djibuti", "DJ");
countries.addItem("Dominica", "DM");
countries.addItem("Egito", "EG");
countries.addItem("El Salvador", "SV");
countries.addItem("Emirados Árabes Unidos", "AE");
countries.addItem("Equador", "EC");
countries.addItem("Eritreia", "ER");
countries.addItem("Eslováquia (República Eslovaca)", "SK");
countries.addItem("Eslovênia", "SI");
countries.addItem("Espanha", "ES");
countries.addItem("Estados Unidos", "US");
countries.addItem("Estônia", "EE");
countries.addItem("Etiópia", "ET");
countries.addItem("Fiji", "FJ");
countries.addItem("Filipinas", "PH");
countries.addItem("Finlândia", "FI");
countries.addItem("França", "FR");
countries.addItem("Gabão", "GA");
countries.addItem("Gâmbia", "GM");
countries.addItem("Gana", "GH");
countries.addItem("Geórgia do Sul e Ilhas Sandwich do Sul", "GS");
countries.addItem("Geórgia", "GE");
countries.addItem("Gibraltar", "GI");
countries.addItem("Granada", "GD");
countries.addItem("Grécia", "GR");
countries.addItem("Gronelândia", "GL");
countries.addItem("Guadalupe", "GP");
countries.addItem("Guam", "GU");
countries.addItem("Guatemala", "GT");
countries.addItem("Guernsey", "GG");
countries.addItem("Guiana Francesa", "GF");
countries.addItem("Guiana", "GY");
countries.addItem("Guiné Equatorial", "GQ");
countries.addItem("Guiné", "GN");
countries.addItem("Haiti", "HT");
countries.addItem("Honduras", "HN");
countries.addItem("Hong Kong", "HK");
countries.addItem("Hungria", "HU");
countries.addItem("Iêmen", "YE");
countries.addItem("Ilha Bouvet", "BV");
countries.addItem("Ilha de Man", "IM");
countries.addItem("Ilha Heard e Ilhas McDonald", "HM");
countries.addItem("Ilha Norfolk", "NF");
countries.addItem("Ilhas Caiman", "KY");
countries.addItem("Ilhas Coco", "CC");
countries.addItem("Ilhas Comores", "KM");
countries.addItem("Ilhas Cook", "CK");
countries.addItem("Ilhas Faroe", "FO");
countries.addItem("Ilhas Malvinas", "FK");
countries.addItem("Ilhas Marianas do Norte", "MP");
countries.addItem("Ilhas Marshall", "MH");
countries.addItem("Ilhas Menores Distantes dos Estados Unidos", "UM");
countries.addItem("Ilhas Natal", "CX");
countries.addItem("Ilhas Salomão", "SB");
countries.addItem("Ilhas Seychelles", "SC");
countries.addItem("Ilhas Turks e Caicos", "TC");
countries.addItem("Ilhas Virgens Britânicas", "VG");
countries.addItem("Ilhas Virgens dos EUA", "VI");
countries.addItem("Ilhas Wallis e Futuna", "WF");
countries.addItem("Índia", "IN");
countries.addItem("Indonésia", "ID");
countries.addItem("Irã", "IR");
countries.addItem("Iraque", "IQ");
countries.addItem("Irlanda", "IE");
countries.addItem("Islândia", "IS");
countries.addItem("Israel", "IL");
countries.addItem("Itália", "IT");
countries.addItem("Jamaica", "JM");
countries.addItem("Japão", "JP");
countries.addItem("Jersey", "JE");
countries.addItem("Jordânia", "JO");
countries.addItem("Kosovo", "XK");
countries.addItem("Kuwait", "KW");
countries.addItem("Lesoto", "LS");
countries.addItem("Letônia", "LV");
countries.addItem("Líbano", "LB");
countries.addItem("Libéria", "LR");
countries.addItem("Líbia Árabe Jamahiriya", "LY");
countries.addItem("Lichtenstein", "LI");
countries.addItem("Lituânia", "LT");
countries.addItem("Luxemburgo", "LU");
countries.addItem("Macedônia", "MK");
countries.addItem("Madagascar", "MG");
countries.addItem("Malásia", "MY");
countries.addItem("Malauí", "MW");
countries.addItem("Maldivas", "MV");
countries.addItem("Mali", "ML");
countries.addItem("Malta", "MT");
countries.addItem("Marrocos", "MA");
countries.addItem("Martinica", "MQ");
countries.addItem("Maurício", "MU");
countries.addItem("Mauritânia", "MR");
countries.addItem("Mayotte", "YT");
countries.addItem("México", "MX");
countries.addItem("Mianmar [Birmânia]", "MM");
countries.addItem("Micronésia", "FM");
countries.addItem("Moldova, República de", "MD");
countries.addItem("Mônaco", "MC");
countries.addItem("Mongólia", "MN");
countries.addItem("Montenegro", "ME");
countries.addItem("Montserrat", "MS");
countries.addItem("Namíbia", "NA");
countries.addItem("Nauru", "NR");
countries.addItem("Nepal", "NP");
countries.addItem("Nicarágua", "NI");
countries.addItem("Níger", "NE");
countries.addItem("Nigéria", "NG");
countries.addItem("Niue", "NU");
countries.addItem("Noruega", "NO");
countries.addItem("Nova Caledônia", "NC");
countries.addItem("Nova Zelândia", "NZ");
countries.addItem("Omã", "OM");
countries.addItem("Países Baixos", "NL");
countries.addItem("Palau", "PW");
countries.addItem("Panamá", "PA");
countries.addItem("Papua-Nova Guiné", "PG");
countries.addItem("Paquistão", "PK");
countries.addItem("Paraguai", "PY");
countries.addItem("Peru", "PE");
countries.addItem("Pitcairn", "PN");
countries.addItem("Polinésia Francesa", "PF");
countries.addItem("Polônia", "PL");
countries.addItem("Porto Rico", "PR");
countries.addItem("Portugal", "PT");
countries.addItem("Quênia", "KE");
countries.addItem("Quirguistão", "KG");
countries.addItem("Quiribati", "KI");
countries.addItem("Região Administrativa Especial de Macau", "MO");
countries.addItem("Reino Unido", "GB");
countries.addItem("República Centro-Africana", "CF");
countries.addItem("República Checa", "CZ");
countries.addItem("República da Guiné-Bissau", "GW");
countries.addItem("República de Moçambique", "MZ");
countries.addItem("República Democrática de São Tomé e Príncipe", "ST");
countries.addItem("República Democrática de Timor-Leste", "TL");
countries.addItem("República Dominicana", "DO");
countries.addItem("República Popular Democrática do Laos", "LA");
countries.addItem("Reunião", "RE");
countries.addItem("Romênia", "RO");
countries.addItem("Ruanda", "RW");
countries.addItem("Rússia", "RU");
countries.addItem("Saara Ocidental", "EH");
countries.addItem("Saint Pierre e Miquelon", "PM");
countries.addItem("Samoa Americana", "AS");
countries.addItem("Samoa", "WS");
countries.addItem("San Marino", "SM");
countries.addItem("Santa Helena", "SH");
countries.addItem("Santa Lúcia", "LC");
countries.addItem("Santa Sé (Cidade-Estado do Vaticano)", "VA");
countries.addItem("São Bartolomeu", "BL");
countries.addItem("São Cristóvão e Névis", "KN");
countries.addItem("São Martinho", "MF");
countries.addItem("São Martinho", "SX");
countries.addItem("São Vincente e Granadinas", "VC");
countries.addItem("Senegal", "SN");
countries.addItem("Serra Leoa", "SL");
countries.addItem("Sérvia", "RS");
countries.addItem("Síria", "SY");
countries.addItem("Somália", "SO");
countries.addItem("Sri Lanka", "LK");
countries.addItem("Suazilândia", "SZ");
countries.addItem("Sudão do Sul", "SS");
countries.addItem("Sudão", "SD");
countries.addItem("Suécia", "SE");
countries.addItem("Suíça", "CH");
countries.addItem("Suriname", "SR");
countries.addItem("Svalbard e Jan Mayen", "SJ");
countries.addItem("Tailândia", "TH");
countries.addItem("Taiwan", "TW");
countries.addItem("Tajiquistão", "TJ");
countries.addItem("Tanzânia", "TZ");
countries.addItem("Território Britânico do Oceano Índico", "IO");
countries.addItem("Territórios Franceses do Sul", "TF");
countries.addItem("Territórios palestinos", "PS");
countries.addItem("Togo", "TG");
countries.addItem("Tokelau", "TK");
countries.addItem("Tonga", "TO");
countries.addItem("Trindade e Tobago", "TT");
countries.addItem("Tunísia", "TN");
countries.addItem("Turcomenistão", "TM");
countries.addItem("Turquia", "TR");
countries.addItem("Tuvalu", "TV");
countries.addItem("Ucrânia", "UA");
countries.addItem("Uganda", "UG");
countries.addItem("Uruguai", "UY");
countries.addItem("Uzbequistão", "UZ");
countries.addItem("Vanuatu", "VU");
countries.addItem("Venezuela", "VE");
countries.addItem("Vietnã", "VN");
countries.addItem("Zâmbia", "ZM");
countries.addItem("Zimbábue", "ZW");
return countries;
}
//No i18n needed for now, this list will only be shown on pt_BR locales
public ListBox getBrazilianStatesList(){
ListBox states = new ListBox();
states.addItem("Selecione:", "-");
states.addItem("Acre");
states.addItem("Alagoas");
states.addItem("Amapá");
states.addItem("Amazonas");
states.addItem("Bahia");
states.addItem("Ceará");
states.addItem("Distrito Federal");
states.addItem("Espírito Santo");
states.addItem("Goiás");
states.addItem("Maranhão");
states.addItem("Mato Grosso");
states.addItem("Mato Grosso do Sul");
states.addItem("Minas Gerais");
states.addItem("Pará");
states.addItem("Paraíba");
states.addItem("Paraná");
states.addItem("Pernambuco");
states.addItem("Piauí");
states.addItem("Rio de Janeiro");
states.addItem("Rio Grande do Norte");
states.addItem("Rio Grande do Sul");
states.addItem("Rondônia");
states.addItem("Roraima");
states.addItem("Santa Catarina");
states.addItem("São Paulo");
states.addItem("Sergipe");
states.addItem("Tocantins");
return states;
}
public ListBox getSkinsList(){
ListBox skins = new ListBox();
skins.addItem("Escuro - Verde", "");
skins.addItem("Escuro - Azul", "_blue");
skins.addItem("Escuro - Amarelo", "_yellow");
skins.addItem("Escuro - Vermelho", "_red");
/*skins.addItem("Claro - Cinza", "_light");
skins.addItem("Claro - Verde", "_light_green");
skins.addItem("Claro - Azul", "_light_blue");
skins.addItem("Claro - Vermelho", "_light_red");*/
return skins;
}
public ListBox getTimeZonesList(){
ListBox timeZones = new ListBox();
timeZones.addItem("Selecione:", "-");
timeZones.addItem("GMT-12:00 - Etc/GMT+12", "Etc/GMT+12");
timeZones.addItem("GMT-11:00 - Etc/GMT+11", "Etc/GMT+11");
timeZones.addItem("GMT-11:00 - Pacific/Apia", "Pacific/Apia");
timeZones.addItem("GMT-11:00 - Pacific/Midway", "Pacific/Midway");
timeZones.addItem("GMT-11:00 - Pacific/Niue", "Pacific/Niue");
timeZones.addItem("GMT-11:00 - Pacific/Pago_Pago", "Pacific/Pago_Pago");
timeZones.addItem("GMT-10:00 - America/Adak", "America/Adak");
timeZones.addItem("GMT-10:00 - Etc/GMT+10", "Etc/GMT+10");
timeZones.addItem("GMT-10:00 - HST", "HST");
timeZones.addItem("GMT-10:00 - Pacific/Fakaofo", "Pacific/Fakaofo");
timeZones.addItem("GMT-10:00 - Pacific/Honolulu", "Pacific/Honolulu");
timeZones.addItem("GMT-10:00 - Pacific/Johnston", "Pacific/Johnston");
timeZones.addItem("GMT-10:00 - Pacific/Rarotonga", "Pacific/Rarotonga");
timeZones.addItem("GMT-10:00 - Pacific/Tahiti", "Pacific/Tahiti");
timeZones.addItem("GMT0 - Pacific/Marquesas", "Pacific/Marquesas");
timeZones.addItem("GMT-09:00 - America/Anchorage", "America/Anchorage");
timeZones.addItem("GMT-09:00 - America/Juneau", "America/Juneau");
timeZones.addItem("GMT-09:00 - America/Nome", "America/Nome");
timeZones.addItem("GMT-09:00 - America/Yakutat", "America/Yakutat");
timeZones.addItem("GMT-09:00 - Etc/GMT+9", "Etc/GMT+9");
timeZones.addItem("GMT-09:00 - Pacific/Gambier", "Pacific/Gambier");
timeZones.addItem("GMT-08:00 - America/Dawson", "America/Dawson");
timeZones.addItem("GMT-08:00 - America/Los_Angeles", "America/Los_Angeles");
timeZones.addItem("GMT-08:00 - America/Santa_Isabel", "America/Santa_Isabel");
timeZones.addItem("GMT-08:00 - America/Tijuana", "America/Tijuana");
timeZones.addItem("GMT-08:00 - America/Vancouver", "America/Vancouver");
timeZones.addItem("GMT-08:00 - America/Whitehorse", "America/Whitehorse");
timeZones.addItem("GMT-08:00 - Etc/GMT+8", "Etc/GMT+8");
timeZones.addItem("GMT-08:00 - PST8PDT", "PST8PDT");
timeZones.addItem("GMT-08:00 - Pacific/Pitcairn", "Pacific/Pitcairn");
timeZones.addItem("GMT-07:00 - America/Boise", "America/Boise");
timeZones.addItem("GMT-07:00 - America/Cambridge_Bay", "America/Cambridge_Bay");
timeZones.addItem("GMT-07:00 - America/Chihuahua", "America/Chihuahua");
timeZones.addItem("GMT-07:00 - America/Dawson_Creek", "America/Dawson_Creek");
timeZones.addItem("GMT-07:00 - America/Denver", "America/Denver");
timeZones.addItem("GMT-07:00 - America/Edmonton", "America/Edmonton");
timeZones.addItem("GMT-07:00 - America/Hermosillo", "America/Hermosillo");
timeZones.addItem("GMT-07:00 - America/Inuvik", "America/Inuvik");
timeZones.addItem("GMT-07:00 - America/Mazatlan", "America/Mazatlan");
timeZones.addItem("GMT-07:00 - America/Ojinaga", "America/Ojinaga");
timeZones.addItem("GMT-07:00 - America/Phoenix", "America/Phoenix");
timeZones.addItem("GMT-07:00 - America/Yellowknife", "America/Yellowknife");
timeZones.addItem("GMT-07:00 - Etc/GMT+7", "Etc/GMT+7");
timeZones.addItem("GMT-07:00 - MST", "MST");
timeZones.addItem("GMT-07:00 - MST7MDT", "MST7MDT");
timeZones.addItem("GMT-06:00 - America/Bahia_Banderas", "America/Bahia_Banderas");
timeZones.addItem("GMT-06:00 - America/Belize", "America/Belize");
timeZones.addItem("GMT-06:00 - America/Cancun", "America/Cancun");
timeZones.addItem("GMT-06:00 - America/Chicago", "America/Chicago");
timeZones.addItem("GMT-06:00 - America/Costa_Rica", "America/Costa_Rica");
timeZones.addItem("GMT-06:00 - America/El_Salvador", "America/El_Salvador");
timeZones.addItem("GMT-06:00 - America/Guatemala", "America/Guatemala");
timeZones.addItem("GMT-06:00 - America/Indiana/Knox", "America/Indiana/Knox");
timeZones.addItem("GMT-06:00 - America/Indiana/Tell_City", "America/Indiana/Tell_City");
timeZones.addItem("GMT-06:00 - America/Managua", "America/Managua");
timeZones.addItem("GMT-06:00 - America/Matamoros", "America/Matamoros");
timeZones.addItem("GMT-06:00 - America/Menominee", "America/Menominee");
timeZones.addItem("GMT-06:00 - America/Merida", "America/Merida");
timeZones.addItem("GMT-06:00 - America/Mexico_City", "America/Mexico_City");
timeZones.addItem("GMT-06:00 - America/Monterrey", "America/Monterrey");
timeZones.addItem("GMT-06:00 - America/North_Dakota/Center", "America/North_Dakota/Center");
timeZones.addItem("GMT-06:00 - America/North_Dakota/New_Salem", "America/North_Dakota/New_Salem");
timeZones.addItem("GMT-06:00 - America/Rainy_River", "America/Rainy_River");
timeZones.addItem("GMT-06:00 - America/Rankin_Inlet", "America/Rankin_Inlet");
timeZones.addItem("GMT-06:00 - America/Regina", "America/Regina");
timeZones.addItem("GMT-06:00 - America/Swift_Current", "America/Swift_Current");
timeZones.addItem("GMT-06:00 - America/Tegucigalpa", "America/Tegucigalpa");
timeZones.addItem("GMT-06:00 - America/Winnipeg", "America/Winnipeg");
timeZones.addItem("GMT-06:00 - CST6CDT", "CST6CDT");
timeZones.addItem("GMT-06:00 - Etc/GMT+6", "Etc/GMT+6");
timeZones.addItem("GMT-06:00 - Pacific/Easter", "Pacific/Easter");
timeZones.addItem("GMT-06:00 - Pacific/Galapagos", "Pacific/Galapagos");
timeZones.addItem("GMT-05:00 - America/Atikokan", "America/Atikokan");
timeZones.addItem("GMT-05:00 - America/Bogota", "America/Bogota");
timeZones.addItem("GMT-05:00 - America/Cayman", "America/Cayman");
timeZones.addItem("GMT-05:00 - America/Detroit", "America/Detroit");
timeZones.addItem("GMT-05:00 - America/Grand_Turk", "America/Grand_Turk");
timeZones.addItem("GMT-05:00 - America/Guayaquil", "America/Guayaquil");
timeZones.addItem("GMT-05:00 - America/Havana", "America/Havana");
timeZones.addItem("GMT-05:00 - America/Indiana/Indianapolis", "America/Indiana/Indianapolis");
timeZones.addItem("GMT-05:00 - America/Indiana/Marengo", "America/Indiana/Marengo");
timeZones.addItem("GMT-05:00 - America/Indiana/Petersburg", "America/Indiana/Petersburg");
timeZones.addItem("GMT-05:00 - America/Indiana/Vevay", "America/Indiana/Vevay");
timeZones.addItem("GMT-05:00 - America/Indiana/Vincennes", "America/Indiana/Vincennes");
timeZones.addItem("GMT-05:00 - America/Indiana/Winamac", "America/Indiana/Winamac");
timeZones.addItem("GMT-05:00 - America/Iqaluit", "America/Iqaluit");
timeZones.addItem("GMT-05:00 - America/Jamaica", "America/Jamaica");
timeZones.addItem("GMT-05:00 - America/Kentucky/Louisville", "America/Kentucky/Louisville");
timeZones.addItem("GMT-05:00 - America/Kentucky/Monticello", "America/Kentucky/Monticello");
timeZones.addItem("GMT-05:00 - America/Lima", "America/Lima");
timeZones.addItem("GMT-05:00 - America/Montreal", "America/Montreal");
timeZones.addItem("GMT-05:00 - America/Nassau", "America/Nassau");
timeZones.addItem("GMT-05:00 - America/New_York", "America/New_York");
timeZones.addItem("GMT-05:00 - America/Nipigon", "America/Nipigon");
timeZones.addItem("GMT-05:00 - America/Panama", "America/Panama");
timeZones.addItem("GMT-05:00 - America/Pangnirtung", "America/Pangnirtung");
timeZones.addItem("GMT-05:00 - America/Port-au-Prince", "America/Port-au-Prince");
timeZones.addItem("GMT-05:00 - America/Resolute", "America/Resolute");
timeZones.addItem("GMT-05:00 - America/Thunder_Bay", "America/Thunder_Bay");
timeZones.addItem("GMT-05:00 - America/Toronto", "America/Toronto");
timeZones.addItem("GMT-05:00 - EST", "EST");
timeZones.addItem("GMT-05:00 - EST5EDT", "EST5EDT");
timeZones.addItem("GMT-05:00 - Etc/GMT+5", "Etc/GMT+5");
timeZones.addItem("GMT-04:30 - America/Caracas", "America/Caracas");
timeZones.addItem("GMT-04:00 - America/Anguilla", "America/Anguilla");
timeZones.addItem("GMT-04:00 - America/Antigua", "America/Antigua");
timeZones.addItem("GMT-03:00 - America/Argentina/San_Luis", "America/Argentina/San_Luis");
timeZones.addItem("GMT-04:00 - America/Aruba", "America/Aruba");
timeZones.addItem("GMT-04:00 - America/Asuncion", "America/Asuncion");
timeZones.addItem("GMT-04:00 - America/Barbados", "America/Barbados");
timeZones.addItem("GMT-04:00 - America/Blanc-Sablon", "America/Blanc-Sablon");
timeZones.addItem("GMT-04:00 - America/Boa_Vista", "America/Boa_Vista");
timeZones.addItem("GMT-04:00 - America/Campo_Grande", "America/Campo_Grande");
timeZones.addItem("GMT-04:00 - America/Cuiaba", "America/Cuiaba");
timeZones.addItem("GMT-04:00 - America/Curacao", "America/Curacao");
timeZones.addItem("GMT-04:00 - America/Dominica", "America/Dominica");
timeZones.addItem("GMT-04:00 - America/Eirunepe", "America/Eirunepe");
timeZones.addItem("GMT-04:00 - America/Glace_Bay", "America/Glace_Bay");
timeZones.addItem("GMT-04:00 - America/Goose_Bay", "America/Goose_Bay");
timeZones.addItem("GMT-04:00 - America/Grenada", "America/Grenada");
timeZones.addItem("GMT-04:00 - America/Guadeloupe", "America/Guadeloupe");
timeZones.addItem("GMT-04:00 - America/Guyana", "America/Guyana");
timeZones.addItem("GMT-04:00 - America/Halifax", "America/Halifax");
timeZones.addItem("GMT-04:00 - America/La_Paz", "America/La_Paz");
timeZones.addItem("GMT-04:00 - America/Manaus", "America/Manaus");
timeZones.addItem("GMT-04:00 - America/Martinique", "America/Martinique");
timeZones.addItem("GMT-04:00 - America/Moncton", "America/Moncton");
timeZones.addItem("GMT-04:00 - America/Montserrat", "America/Montserrat");
timeZones.addItem("GMT-04:00 - America/Port_of_Spain", "America/Port_of_Spain");
timeZones.addItem("GMT-04:00 - America/Porto_Velho", "America/Porto_Velho");
timeZones.addItem("GMT-04:00 - America/Puerto_Rico", "America/Puerto_Rico");
timeZones.addItem("GMT-04:00 - America/Rio_Branco", "America/Rio_Branco");
timeZones.addItem("GMT-04:00 - America/Santiago", "America/Santiago");
timeZones.addItem("GMT-04:00 - America/Santo_Domingo", "America/Santo_Domingo");
timeZones.addItem("GMT-04:00 - America/St_Kitts", "America/St_Kitts");
timeZones.addItem("GMT-04:00 - America/St_Lucia", "America/St_Lucia");
timeZones.addItem("GMT-04:00 - America/St_Thomas", "America/St_Thomas");
timeZones.addItem("GMT-04:00 - America/St_Vincent", "America/St_Vincent");
timeZones.addItem("GMT-04:00 - America/Thule", "America/Thule");
timeZones.addItem("GMT-04:00 - America/Tortola", "America/Tortola");
timeZones.addItem("GMT-04:00 - Antarctica/Palmer", "Antarctica/Palmer");
timeZones.addItem("GMT-04:00 - Atlantic/Bermuda", "Atlantic/Bermuda");
timeZones.addItem("GMT-04:00 - Atlantic/Stanley", "Atlantic/Stanley");
timeZones.addItem("GMT-04:00 - Etc/GMT+4", "Etc/GMT+4");
timeZones.addItem("GMT-03:30 - America/St_Johns", "America/St_Johns");
timeZones.addItem("GMT-03:00 - America/Araguaina", "America/Araguaina");
timeZones.addItem("GMT-03:00 - America/Argentina/Buenos_Aires", "America/Argentina/Buenos_Aires");
timeZones.addItem("GMT-03:00 - America/Argentina/Catamarca", "America/Argentina/Catamarca");
timeZones.addItem("GMT-03:00 - America/Argentina/Cordoba", "America/Argentina/Cordoba");
timeZones.addItem("GMT-03:00 - America/Argentina/Jujuy", "America/Argentina/Jujuy");
timeZones.addItem("GMT-03:00 - America/Argentina/La_Rioja", "America/Argentina/La_Rioja");
timeZones.addItem("GMT-03:00 - America/Argentina/Mendoza", "America/Argentina/Mendoza");
timeZones.addItem("GMT-03:00 - America/Argentina/Rio_Gallegos", "America/Argentina/Rio_Gallegos");
timeZones.addItem("GMT-03:00 - America/Argentina/Salta", "America/Argentina/Salta");
timeZones.addItem("GMT-03:00 - America/Argentina/San_Juan", "America/Argentina/San_Juan");
timeZones.addItem("GMT-03:00 - America/Argentina/Tucuman", "America/Argentina/Tucuman");
timeZones.addItem("GMT-03:00 - America/Argentina/Ushuaia", "America/Argentina/Ushuaia");
timeZones.addItem("GMT-03:00 - America/Bahia", "America/Bahia");
timeZones.addItem("GMT-03:00 - America/Belem", "America/Belem");
timeZones.addItem("GMT-03:00 - America/Cayenne", "America/Cayenne");
timeZones.addItem("GMT-03:00 - America/Fortaleza", "America/Fortaleza");
timeZones.addItem("GMT-03:00 - America/Godthab", "America/Godthab");
timeZones.addItem("GMT-03:00 - America/Maceio", "America/Maceio");
timeZones.addItem("GMT-03:00 - America/Miquelon", "America/Miquelon");
timeZones.addItem("GMT-03:00 - America/Montevideo", "America/Montevideo");
timeZones.addItem("GMT-03:00 - America/Paramaribo", "America/Paramaribo");
timeZones.addItem("GMT-03:00 - America/Recife", "America/Recife");
timeZones.addItem("GMT-03:00 - America/Santarem", "America/Santarem");
timeZones.addItem("GMT-03:00 - America/Sao_Paulo", "America/Sao_Paulo");
timeZones.addItem("GMT-03:00 - Antarctica/Rothera", "Antarctica/Rothera");
timeZones.addItem("GMT-03:00 - Etc/GMT+3", "Etc/GMT+3");
timeZones.addItem("GMT-02:00 - America/Noronha", "America/Noronha");
timeZones.addItem("GMT-02:00 - Atlantic/South_Georgia", "Atlantic/South_Georgia");
timeZones.addItem("GMT-02:00 - Etc/GMT+2", "Etc/GMT+2");
timeZones.addItem("GMT-01:00 - America/Scoresbysund", "America/Scoresbysund");
timeZones.addItem("GMT-01:00 - Atlantic/Azores", "Atlantic/Azores");
timeZones.addItem("GMT-01:00 - Atlantic/Cape_Verde", "Atlantic/Cape_Verde");
timeZones.addItem("GMT-01:00 - Etc/GMT+1", "Etc/GMT+1");
timeZones.addItem("GMT+00:00 - Africa/Abidjan", "Africa/Abidjan");
timeZones.addItem("GMT+00:00 - Africa/Accra", "Africa/Accra");
timeZones.addItem("GMT+00:00 - Africa/Bamako", "Africa/Bamako");
timeZones.addItem("GMT+00:00 - Africa/Banjul", "Africa/Banjul");
timeZones.addItem("GMT+00:00 - Africa/Bissau", "Africa/Bissau");
timeZones.addItem("GMT+00:00 - Africa/Casablanca", "Africa/Casablanca");
timeZones.addItem("GMT+00:00 - Africa/Conakry", "Africa/Conakry");
timeZones.addItem("GMT+00:00 - Africa/Dakar", "Africa/Dakar");
timeZones.addItem("GMT+00:00 - Africa/El_Aaiun", "Africa/El_Aaiun");
timeZones.addItem("GMT+00:00 - Africa/Freetown", "Africa/Freetown");
timeZones.addItem("GMT+00:00 - Africa/Lome", "Africa/Lome");
timeZones.addItem("GMT+00:00 - Africa/Monrovia", "Africa/Monrovia");
timeZones.addItem("GMT+00:00 - Africa/Nouakchott", "Africa/Nouakchott");
timeZones.addItem("GMT+00:00 - Africa/Ouagadougou", "Africa/Ouagadougou");
timeZones.addItem("GMT+00:00 - Africa/Sao_Tome", "Africa/Sao_Tome");
timeZones.addItem("GMT+00:00 - America/Danmarkshavn", "America/Danmarkshavn");
timeZones.addItem("GMT+00:00 - Atlantic/Canary", "Atlantic/Canary");
timeZones.addItem("GMT+00:00 - Atlantic/Faroe", "Atlantic/Faroe");
timeZones.addItem("GMT+00:00 - Atlantic/Madeira", "Atlantic/Madeira");
timeZones.addItem("GMT+00:00 - Atlantic/Reykjavik", "Atlantic/Reykjavik");
timeZones.addItem("GMT+00:00 - Atlantic/St_Helena", "Atlantic/St_Helena");
timeZones.addItem("GMT+00:00 - Etc/GMT", "Etc/GMT");
timeZones.addItem("GMT+00:00 - Etc/UCT", "Etc/UCT");
timeZones.addItem("GMT+00:00 - Etc/UTC", "Etc/UTC");
timeZones.addItem("GMT+00:00 - Europe/Dublin", "Europe/Dublin");
timeZones.addItem("GMT+00:00 - Europe/Lisbon", "Europe/Lisbon");
timeZones.addItem("GMT+00:00 - Europe/London", "Europe/London");
timeZones.addItem("GMT+00:00 - UTC", "UTC");
timeZones.addItem("GMT+00:00 - WET", "WET");
timeZones.addItem("GMT+01:00 - Africa/Algiers", "Africa/Algiers");
timeZones.addItem("GMT+01:00 - Africa/Bangui", "Africa/Bangui");
timeZones.addItem("GMT+01:00 - Africa/Brazzaville", "Africa/Brazzaville");
timeZones.addItem("GMT+01:00 - Africa/Ceuta", "Africa/Ceuta");
timeZones.addItem("GMT+01:00 - Africa/Douala", "Africa/Douala");
timeZones.addItem("GMT+01:00 - Africa/Kinshasa", "Africa/Kinshasa");
timeZones.addItem("GMT+01:00 - Africa/Lagos", "Africa/Lagos");
timeZones.addItem("GMT+01:00 - Africa/Libreville", "Africa/Libreville");
timeZones.addItem("GMT+01:00 - Africa/Luanda", "Africa/Luanda");
timeZones.addItem("GMT+01:00 - Africa/Malabo", "Africa/Malabo");
timeZones.addItem("GMT+01:00 - Africa/Ndjamena", "Africa/Ndjamena");
timeZones.addItem("GMT+01:00 - Africa/Niamey", "Africa/Niamey");
timeZones.addItem("GMT+01:00 - Africa/Porto-Novo", "Africa/Porto-Novo");
timeZones.addItem("GMT+01:00 - Africa/Tunis", "Africa/Tunis");
timeZones.addItem("GMT+01:00 - Africa/Windhoek", "Africa/Windhoek");
timeZones.addItem("GMT+01:00 - CET", "CET");
timeZones.addItem("GMT+01:00 - Etc/GMT-1", "Etc/GMT-1");
timeZones.addItem("GMT+01:00 - Europe/Amsterdam", "Europe/Amsterdam");
timeZones.addItem("GMT+01:00 - Europe/Andorra", "Europe/Andorra");
timeZones.addItem("GMT+01:00 - Europe/Belgrade", "Europe/Belgrade");
timeZones.addItem("GMT+01:00 - Europe/Berlin", "Europe/Berlin");
timeZones.addItem("GMT+01:00 - Europe/Brussels", "Europe/Brussels");
timeZones.addItem("GMT+01:00 - Europe/Budapest", "Europe/Budapest");
timeZones.addItem("GMT+01:00 - Europe/Copenhagen", "Europe/Copenhagen");
timeZones.addItem("GMT+01:00 - Europe/Gibraltar", "Europe/Gibraltar");
timeZones.addItem("GMT+01:00 - Europe/Luxembourg", "Europe/Luxembourg");
timeZones.addItem("GMT+01:00 - Europe/Madrid", "Europe/Madrid");
timeZones.addItem("GMT+01:00 - Europe/Malta", "Europe/Malta");
timeZones.addItem("GMT+01:00 - Europe/Monaco", "Europe/Monaco");
timeZones.addItem("GMT+01:00 - Europe/Oslo", "Europe/Oslo");
timeZones.addItem("GMT+01:00 - Europe/Paris", "Europe/Paris");
timeZones.addItem("GMT+01:00 - Europe/Prague", "Europe/Prague");
timeZones.addItem("GMT+01:00 - Europe/Rome", "Europe/Rome");
timeZones.addItem("GMT+01:00 - Europe/Stockholm", "Europe/Stockholm");
timeZones.addItem("GMT+01:00 - Europe/Tirane", "Europe/Tirane");
timeZones.addItem("GMT+01:00 - Europe/Vaduz", "Europe/Vaduz");
timeZones.addItem("GMT+01:00 - Europe/Vienna", "Europe/Vienna");
timeZones.addItem("GMT+01:00 - Europe/Warsaw", "Europe/Warsaw");
timeZones.addItem("GMT+01:00 - Europe/Zurich", "Europe/Zurich");
timeZones.addItem("GMT+01:00 - MET", "MET");
timeZones.addItem("GMT+02:00 - Africa/Blantyre", "Africa/Blantyre");
timeZones.addItem("GMT+02:00 - Africa/Bujumbura", "Africa/Bujumbura");
timeZones.addItem("GMT+02:00 - Africa/Cairo", "Africa/Cairo");
timeZones.addItem("GMT+02:00 - Africa/Gaborone", "Africa/Gaborone");
timeZones.addItem("GMT+02:00 - Africa/Harare", "Africa/Harare");
timeZones.addItem("GMT+02:00 - Africa/Johannesburg", "Africa/Johannesburg");
timeZones.addItem("GMT+02:00 - Africa/Kigali", "Africa/Kigali");
timeZones.addItem("GMT+02:00 - Africa/Lubumbashi", "Africa/Lubumbashi");
timeZones.addItem("GMT+02:00 - Africa/Lusaka", "Africa/Lusaka");
timeZones.addItem("GMT+02:00 - Africa/Maputo", "Africa/Maputo");
timeZones.addItem("GMT+02:00 - Africa/Maseru", "Africa/Maseru");
timeZones.addItem("GMT+02:00 - Africa/Mbabane", "Africa/Mbabane");
timeZones.addItem("GMT+02:00 - Africa/Tripoli", "Africa/Tripoli");
timeZones.addItem("GMT+02:00 - Asia/Amman", "Asia/Amman");
timeZones.addItem("GMT+02:00 - Asia/Beirut", "Asia/Beirut");
timeZones.addItem("GMT+02:00 - Asia/Damascus", "Asia/Damascus");
timeZones.addItem("GMT+02:00 - Asia/Gaza", "Asia/Gaza");
timeZones.addItem("GMT+02:00 - Asia/Jerusalem", "Asia/Jerusalem");
timeZones.addItem("GMT+02:00 - Asia/Nicosia", "Asia/Nicosia");
timeZones.addItem("GMT+02:00 - EET", "EET");
timeZones.addItem("GMT+02:00 - Etc/GMT-2", "Etc/GMT-2");
timeZones.addItem("GMT+02:00 - Europe/Athens", "Europe/Athens");
timeZones.addItem("GMT+02:00 - Europe/Bucharest", "Europe/Bucharest");
timeZones.addItem("GMT+02:00 - Europe/Chisinau", "Europe/Chisinau");
timeZones.addItem("GMT+02:00 - Europe/Helsinki", "Europe/Helsinki");
timeZones.addItem("GMT+02:00 - Europe/Istanbul", "Europe/Istanbul");
timeZones.addItem("GMT+02:00 - Europe/Kaliningrad", "Europe/Kaliningrad");
timeZones.addItem("GMT+02:00 - Europe/Kiev", "Europe/Kiev");
timeZones.addItem("GMT+02:00 - Europe/Minsk", "Europe/Minsk");
timeZones.addItem("GMT+02:00 - Europe/Riga", "Europe/Riga");
timeZones.addItem("GMT+02:00 - Europe/Simferopol", "Europe/Simferopol");
timeZones.addItem("GMT+02:00 - Europe/Sofia", "Europe/Sofia");
timeZones.addItem("GMT+02:00 - Europe/Tallinn", "Europe/Tallinn");
timeZones.addItem("GMT+02:00 - Europe/Uzhgorod", "Europe/Uzhgorod");
timeZones.addItem("GMT+02:00 - Europe/Vilnius", "Europe/Vilnius");
timeZones.addItem("GMT+02:00 - Europe/Zaporozhye", "Europe/Zaporozhye");
timeZones.addItem("GMT+03:00 - Africa/Addis_Ababa", "Africa/Addis_Ababa");
timeZones.addItem("GMT+03:00 - Africa/Asmara", "Africa/Asmara");
timeZones.addItem("GMT+03:00 - Africa/Dar_es_Salaam", "Africa/Dar_es_Salaam");
timeZones.addItem("GMT+03:00 - Africa/Djibouti", "Africa/Djibouti");
timeZones.addItem("GMT+03:00 - Africa/Kampala", "Africa/Kampala");
timeZones.addItem("GMT+03:00 - Africa/Khartoum", "Africa/Khartoum");
timeZones.addItem("GMT+03:00 - Africa/Mogadishu", "Africa/Mogadishu");
timeZones.addItem("GMT+03:00 - Africa/Nairobi", "Africa/Nairobi");
timeZones.addItem("GMT+03:00 - Antarctica/Syowa", "Antarctica/Syowa");
timeZones.addItem("GMT+03:00 - Asia/Aden", "Asia/Aden");
timeZones.addItem("GMT+03:00 - Asia/Baghdad", "Asia/Baghdad");
timeZones.addItem("GMT+03:00 - Asia/Bahrain", "Asia/Bahrain");
timeZones.addItem("GMT+03:00 - Asia/Kuwait", "Asia/Kuwait");
timeZones.addItem("GMT+03:00 - Asia/Qatar", "Asia/Qatar");
timeZones.addItem("GMT+03:00 - Asia/Riyadh", "Asia/Riyadh");
timeZones.addItem("GMT+03:00 - Etc/GMT-3", "Etc/GMT-3");
timeZones.addItem("GMT+03:00 - Europe/Moscow", "Europe/Moscow");
timeZones.addItem("GMT+03:00 - Europe/Samara", "Europe/Samara");
timeZones.addItem("GMT+03:00 - Europe/Volgograd", "Europe/Volgograd");
timeZones.addItem("GMT+03:00 - Indian/Antananarivo", "Indian/Antananarivo");
timeZones.addItem("GMT+03:00 - Indian/Comoro", "Indian/Comoro");
timeZones.addItem("GMT+03:00 - Indian/Mayotte", "Indian/Mayotte");
timeZones.addItem("GMT+03:30 - Asia/Tehran", "Asia/Tehran");
timeZones.addItem("GMT+04:00 - Asia/Baku", "Asia/Baku");
timeZones.addItem("GMT+04:00 - Asia/Dubai", "Asia/Dubai");
timeZones.addItem("GMT+04:00 - Asia/Muscat", "Asia/Muscat");
timeZones.addItem("GMT+04:00 - Asia/Tbilisi", "Asia/Tbilisi");
timeZones.addItem("GMT+04:00 - Asia/Yerevan", "Asia/Yerevan");
timeZones.addItem("GMT+04:00 - Etc/GMT-4", "Etc/GMT-4");
timeZones.addItem("GMT+04:00 - Indian/Mahe", "Indian/Mahe");
timeZones.addItem("GMT+04:00 - Indian/Mauritius", "Indian/Mauritius");
timeZones.addItem("GMT+04:00 - Indian/Reunion", "Indian/Reunion");
timeZones.addItem("GMT+04:30 - Asia/Kabul", "Asia/Kabul");
timeZones.addItem("GMT+05:00 - Antarctica/Mawson", "Antarctica/Mawson");
timeZones.addItem("GMT+05:00 - Asia/Aqtau", "Asia/Aqtau");
timeZones.addItem("GMT+05:00 - Asia/Aqtobe", "Asia/Aqtobe");
timeZones.addItem("GMT+05:00 - Asia/Ashgabat", "Asia/Ashgabat");
timeZones.addItem("GMT+05:00 - Asia/Dushanbe", "Asia/Dushanbe");
timeZones.addItem("GMT+05:00 - Asia/Karachi", "Asia/Karachi");
timeZones.addItem("GMT+05:00 - Asia/Oral", "Asia/Oral");
timeZones.addItem("GMT+05:00 - Asia/Samarkand", "Asia/Samarkand");
timeZones.addItem("GMT+05:00 - Asia/Tashkent", "Asia/Tashkent");
timeZones.addItem("GMT+05:00 - Asia/Yekaterinburg", "Asia/Yekaterinburg");
timeZones.addItem("GMT+05:00 - Etc/GMT-5", "Etc/GMT-5");
timeZones.addItem("GMT+05:00 - Indian/Kerguelen", "Indian/Kerguelen");
timeZones.addItem("GMT+05:00 - Indian/Maldives", "Indian/Maldives");
timeZones.addItem("GMT+05:30 - Asia/Colombo", "Asia/Colombo");
timeZones.addItem("GMT+05:30 - Asia/Kolkata", "Asia/Kolkata");
timeZones.addItem("GMT+05:45 - Asia/Kathmandu", "Asia/Kathmandu");
timeZones.addItem("GMT+06:00 - Antarctica/Vostok", "Antarctica/Vostok");
timeZones.addItem("GMT+06:00 - Asia/Almaty", "Asia/Almaty");
timeZones.addItem("GMT+06:00 - Asia/Bishkek", "Asia/Bishkek");
timeZones.addItem("GMT+06:00 - Asia/Dhaka", "Asia/Dhaka");
timeZones.addItem("GMT+06:00 - Asia/Novokuznetsk", "Asia/Novokuznetsk");
timeZones.addItem("GMT+06:00 - Asia/Novosibirsk", "Asia/Novosibirsk");
timeZones.addItem("GMT+06:00 - Asia/Omsk", "Asia/Omsk");
timeZones.addItem("GMT+06:00 - Asia/Qyzylorda", "Asia/Qyzylorda");
timeZones.addItem("GMT+06:00 - Asia/Thimphu", "Asia/Thimphu");
timeZones.addItem("GMT+06:00 - Etc/GMT-6", "Etc/GMT-6");
timeZones.addItem("GMT+06:00 - Indian/Chagos", "Indian/Chagos");
timeZones.addItem("GMT+06:30 - Asia/Rangoon", "Asia/Rangoon");
timeZones.addItem("GMT+06:30 - Indian/Cocos", "Indian/Cocos");
timeZones.addItem("GMT+07:00 - Antarctica/Davis", "Antarctica/Davis");
timeZones.addItem("GMT+07:00 - Asia/Bangkok", "Asia/Bangkok");
timeZones.addItem("GMT+07:00 - Asia/Ho_Chi_Minh", "Asia/Ho_Chi_Minh");
timeZones.addItem("GMT+07:00 - Asia/Hovd", "Asia/Hovd");
timeZones.addItem("GMT+07:00 - Asia/Jakarta", "Asia/Jakarta");
timeZones.addItem("GMT+07:00 - Asia/Krasnoyarsk", "Asia/Krasnoyarsk");
timeZones.addItem("GMT+07:00 - Asia/Phnom_Penh", "Asia/Phnom_Penh");
timeZones.addItem("GMT+07:00 - Asia/Pontianak", "Asia/Pontianak");
timeZones.addItem("GMT+07:00 - Asia/Vientiane", "Asia/Vientiane");
timeZones.addItem("GMT+07:00 - Etc/GMT-7", "Etc/GMT-7");
timeZones.addItem("GMT+07:00 - Indian/Christmas", "Indian/Christmas");
timeZones.addItem("GMT+08:00 - Antarctica/Casey", "Antarctica/Casey");
timeZones.addItem("GMT+08:00 - Asia/Brunei", "Asia/Brunei");
timeZones.addItem("GMT+08:00 - Asia/Choibalsan", "Asia/Choibalsan");
timeZones.addItem("GMT+08:00 - Asia/Chongqing", "Asia/Chongqing");
timeZones.addItem("GMT+08:00 - Asia/Harbin", "Asia/Harbin");
timeZones.addItem("GMT+08:00 - Asia/Hong_Kong", "Asia/Hong_Kong");
timeZones.addItem("GMT+08:00 - Asia/Irkutsk", "Asia/Irkutsk");
timeZones.addItem("GMT+08:00 - Asia/Kashgar", "Asia/Kashgar");
timeZones.addItem("GMT+08:00 - Asia/Kuala_Lumpur", "Asia/Kuala_Lumpur");
timeZones.addItem("GMT+08:00 - Asia/Kuching", "Asia/Kuching");
timeZones.addItem("GMT+08:00 - Asia/Macau", "Asia/Macau");
timeZones.addItem("GMT+08:00 - Asia/Makassar", "Asia/Makassar");
timeZones.addItem("GMT+08:00 - Asia/Manila", "Asia/Manila");
timeZones.addItem("GMT+08:00 - Asia/Shanghai", "Asia/Shanghai");
timeZones.addItem("GMT+08:00 - Asia/Singapore", "Asia/Singapore");
timeZones.addItem("GMT+08:00 - Asia/Taipei", "Asia/Taipei");
timeZones.addItem("GMT+08:00 - Asia/Ulaanbaatar", "Asia/Ulaanbaatar");
timeZones.addItem("GMT+08:00 - Asia/Urumqi", "Asia/Urumqi");
timeZones.addItem("GMT+08:00 - Australia/Perth", "Australia/Perth");
timeZones.addItem("GMT+08:00 - Etc/GMT-8", "Etc/GMT-8");
timeZones.addItem("GMT+08:45 - Australia/Eucla", "Australia/Eucla");
timeZones.addItem("GMT+09:00 - Asia/Dili", "Asia/Dili");
timeZones.addItem("GMT+09:00 - Asia/Jayapura", "Asia/Jayapura");
timeZones.addItem("GMT+09:00 - Asia/Pyongyang", "Asia/Pyongyang");
timeZones.addItem("GMT+09:00 - Asia/Seoul", "Asia/Seoul");
timeZones.addItem("GMT+09:00 - Asia/Tokyo", "Asia/Tokyo");
timeZones.addItem("GMT+09:00 - Asia/Yakutsk", "Asia/Yakutsk");
timeZones.addItem("GMT+09:00 - Etc/GMT-9", "Etc/GMT-9");
timeZones.addItem("GMT+09:00 - Pacific/Palau", "Pacific/Palau");
timeZones.addItem("GMT+09:30 - Australia/Adelaide", "Australia/Adelaide");
timeZones.addItem("GMT+09:30 - Australia/Broken_Hill", "Australia/Broken_Hill");
timeZones.addItem("GMT+09:30 - Australia/Darwin", "Australia/Darwin");
timeZones.addItem("GMT+10:00 - Antarctica/DumontDUrville", "Antarctica/DumontDUrville");
timeZones.addItem("GMT+10:00 - Asia/Sakhalin", "Asia/Sakhalin");
timeZones.addItem("GMT+10:00 - Asia/Vladivostok", "Asia/Vladivostok");
timeZones.addItem("GMT+10:00 - Australia/Brisbane", "Australia/Brisbane");
timeZones.addItem("GMT+10:00 - Australia/Currie", "Australia/Currie");
timeZones.addItem("GMT+10:00 - Australia/Hobart", "Australia/Hobart");
timeZones.addItem("GMT+10:00 - Australia/Lindeman", "Australia/Lindeman");
timeZones.addItem("GMT+10:00 - Australia/Melbourne", "Australia/Melbourne");
timeZones.addItem("GMT+10:00 - Australia/Sydney", "Australia/Sydney");
timeZones.addItem("GMT+10:00 - Etc/GMT-10", "Etc/GMT-10");
timeZones.addItem("GMT+10:00 - Pacific/Chuuk", "Pacific/Chuuk");
timeZones.addItem("GMT+10:00 - Pacific/Guam", "Pacific/Guam");
timeZones.addItem("GMT+10:00 - Pacific/Port_Moresby", "Pacific/Port_Moresby");
timeZones.addItem("GMT+10:00 - Pacific/Saipan", "Pacific/Saipan");
timeZones.addItem("GMT+10:30 - Australia/Lord_Howe", "Australia/Lord_Howe");
timeZones.addItem("GMT+11:00 - Antarctica/Macquarie", "Antarctica/Macquarie");
timeZones.addItem("GMT+11:00 - Asia/Anadyr", "Asia/Anadyr");
timeZones.addItem("GMT+11:00 - Asia/Kamchatka", "Asia/Kamchatka");
timeZones.addItem("GMT+11:00 - Asia/Magadan", "Asia/Magadan");
timeZones.addItem("GMT+11:00 - Etc/GMT-11", "Etc/GMT-11");
timeZones.addItem("GMT+11:00 - Pacific/Efate", "Pacific/Efate");
timeZones.addItem("GMT+11:00 - Pacific/Guadalcanal", "Pacific/Guadalcanal");
timeZones.addItem("GMT+11:00 - Pacific/Kosrae", "Pacific/Kosrae");
timeZones.addItem("GMT+11:00 - Pacific/Noumea", "Pacific/Noumea");
timeZones.addItem("GMT+11:00 - Pacific/Pohnpei", "Pacific/Pohnpei");
timeZones.addItem("GMT+11:30 - Pacific/Norfolk", "Pacific/Norfolk");
timeZones.addItem("GMT+12:00 - Antarctica/McMurdo", "Antarctica/McMurdo");
timeZones.addItem("GMT+12:00 - Etc/GMT-12", "Etc/GMT-12");
timeZones.addItem("GMT+12:00 - Pacific/Auckland", "Pacific/Auckland");
timeZones.addItem("GMT+12:00 - Pacific/Fiji", "Pacific/Fiji");
timeZones.addItem("GMT+12:00 - Pacific/Funafuti", "Pacific/Funafuti");
timeZones.addItem("GMT+12:00 - Pacific/Kwajalein", "Pacific/Kwajalein");
timeZones.addItem("GMT+12:00 - Pacific/Majuro", "Pacific/Majuro");
timeZones.addItem("GMT+12:00 - Pacific/Nauru", "Pacific/Nauru");
timeZones.addItem("GMT+12:00 - Pacific/Tarawa", "Pacific/Tarawa");
timeZones.addItem("GMT+12:00 - Pacific/Wake", "Pacific/Wake");
timeZones.addItem("GMT+12:00 - Pacific/Wallis", "Pacific/Wallis");
timeZones.addItem("GMT+12:45 - Pacific/Chatham", "Pacific/Chatham");
timeZones.addItem("GMT+13:00 - Etc/GMT-13", "Etc/GMT-13");
timeZones.addItem("GMT+13:00 - Pacific/Enderbury", "Pacific/Enderbury");
timeZones.addItem("GMT+13:00 - Pacific/Tongatapu", "Pacific/Tongatapu");
timeZones.addItem("GMT+14:00 - Etc/GMT-14", "Etc/GMT-14");
timeZones.addItem("GMT+14:00 - Pacific/Kiritimati", "Pacific/Kiritimati");
return timeZones;
}
}