You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

105 lines
5.9 KiB
JavaScript

//http://jquery.malsup.com/form/
function submitForm(form) {
$('#' + form).ajaxSubmit({
success: successfun,
error: errorfun,
dataType: 'json',
timeout: 30000
});
return false;
}
function errorfun(responseText, statusText, xhr, form) {
alert('Action unsuccessful. Try again later.');
}
function successfun(responseText, statusText, xhr, form) {
var scrollit = true;
for (var key in responseText) {
if (responseText[key].name == 'ok') {
$.modaldialog.success(responseText[key].value);
} else if (responseText[key].name == 'ok_go') {
setTimeout(function() {
window.location.href = responseText[key].value;
}, 2000);
} else if (responseText[key].name == 'no') {
$.modaldialog.error(responseText[key].value);
} else if (responseText[key].name == 'go') {
window.location.href = responseText[key].value;
} else if (responseText[key].name == 'ok_modal') {
$('.modal').modal('hide');
$.modaldialog.success(responseText[key].value);
} else if (responseText[key].name == 'no_modal') {
$('.modal').modal('hide');
$.modaldialog.error(responseText[key].value);
} else {
if (scrollit) {
document.body.scrollTop = $('#' + responseText[key].name).offset().top - 46;
scrollit = false;
}
showTips(responseText[key].name, responseText[key].value);
}
}
return true;
}
function showTips(objName, title) {
$('#' + objName).tooltip({
title: title,
placement: 'top',
trigger: 'manual'
});
$('#' + objName).tooltip('show');
setTimeout(function() {
$('#' + objName).tooltip('hide');
}, 3000);
}
$(function() {
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
if (q == '') {
return cb(
["United States", "Canada", "Australia", "United Kingdom", "Germany",
"France", "Italy", "Spain", "China", "Singapore", "Malaysia"]);
}
var matches, substringRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
};
};
var nationality_map = ["afghanistan", "albania", "algeria", "american samoa", "andorra", "angola", "anguilla", "antarctica", "antigua and barbuda", "argentina", "armenia", "aruba", "australia", "austria", "azerbaijan", "bahamas", "bahrain", "bangladesh", "barbadian", "barbados", "belarus", "belgium", "belize", "benin", "bermuda", "bhutan", "bolivia", "botswana", "bouvet island", "brazil", "british indian ocean territory", "brunei darussalam", "bulgaria", "burkina faso", "burundi", "cambodia", "cameroon", "canada", "cape verde", "cayman islands", "central african republic", "chad", "chile", "china", "china HK", "christmas island", "colombia", "comoros", "congo", "cook islands", "costa rica", "croatia", "cuba", "cyprus", "czech republic", "czechoslovakia", "denmark", "djibouti", "dominica", "dominican republic", "east timor", "ecuador", "egypt", "el salvador", "equatorial guinea", "eritrea", "estonia", "ethiopia", "falkland islands", "faroe islands", "fiji", "finland", "france", "french guiana", "french polynesia", "gabon", "gambia", "georgia", "germany", "ghana", "gibraltar", "greece", "greenland", "grenada", "guadeloupe", "guam", "guatemala", "guernsey", "guinea", "guinea-bissau", "guyana", "haiti", "honduras", "hong kong", "hungary", "iceland", "india", "indonesia", "iran", "iraq", "ireland", "isle of man", "israel", "italy", "jamaica", "japan", "jersey", "jordan", "kazakhstan", "kazakhstan2", "kenya", "kiribati", "korea", "kuwait", "kyrgyzstan", "laos", "latvia", "lebanon", "lesotho", "liberia", "libyan arab jamahiriya", "liechtenstein", "lithuania", "luxembourg", "macau", "macedonia", "madagascar", "malawi", "malaysia", "maldives", "mali", "malta", "marshall islands", "martinique", "mauritania", "mauritius", "mayotte", "mexican", "micronesia", "moldova", "monaco", "mongolia", "montserrat", "morocco", "mozambique", "myanmar", "namibia", "nauru", "nepal", "netherlands", "netherlands antilles", "neutral zone", "new caledonia", "new zealand", "nicaragua", "niger", "nigeria", "niue", "norfolk island", "north korea", "northern mariana islands", "norway", "oman", "pakistan", "palau", "panama", "papua new guinea", "paraguay", "peru", "philippines", "pitcairn", "poland", "portugal", "puerto rico", "qatar", "reunion", "romania", "russian federation", "rwanda", "saint helena", "samoa", "san marino", "sao tome and principe", "saudi arabia", "scotland", "senegal", "seychelles", "sierra leone", "singapore", "slovakia", "slovenia", "solomon islands", "somalia", "south africa", "south georgia and the sandwich", "spain", "sri lanka", "sudan", "suriname", "swaziland", "sweden", "switzerland", "syrian arab republic", "taiwan", "tanzania", "thailand", "the republic of cote d'ivoire", "togo", "tokelau", "tonga", "trinidad and tobago", "tunisia", "turkey", "turkmenistan", "turks and caicos islands", "tuvalu", "uganda", "ukraine", "united arab emirates", "united kingdom", "united states", "unknown", "uruguay", "ussr", "uzbekistan", "vanuatu", "vatican city state", "venezuela", "vietnam", "virgin islands (british)", "virgin islands (u.s.)", "western sahara", "yemen", "yugoslavia", "zaire", "zambia", "zimbabwe"];
$('.nationality').typeahead({
hint: false,
highlight: true,
minLength: 0,
classNames: {
suggestion: 'tt-suggestion tt-selectable tt-suggestion-nationality'
}
},
{
name: 'nationality_states',
source: substringMatcher(nationality_map),
limit: 10
});
})