var project={"_id":"573c6a35de78eca41cc5a750","id":"663df2061165d4757a7781f9e4bccd2fb053de57","name":"ZIKA (public)","user":"568e92dc437f1f671e76a9fd","description":"Public website with the RST list","created":"2016-01-08T22:15:38.599Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"https://spreadsheets.google.com/feeds/list/1M_4l2o_yVQO9Pzq8MUzOLeGLw0YXuhqIxqrDmvh7i4s/default/public/full?alt=json","type":"URL/API","url":"https://spreadsheets.google.com/feeds/list/1M_4l2o_yVQO9Pzq8MUzOLeGLw0YXuhqIxqrDmvh7i4s/default/public/full?alt=json","message":{"error":false,"text":""}},"varname":"rst","title":"Runway Safety Teams","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true},{"file":{"link":" https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/airports/locations/allindicators-list","type":"URL/API","url":" https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/airports/locations/allindicators-list","message":{"error":false,"text":""}},"varname":"allairports","title":"Aerodromes","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":""}],"packs":["bootstrap","jquery","Datatables"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslibistars.s3.amazonaws.com/prod/663df2061165d4757a7781f9e4bccd2fb053de57/script.js"},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":" var map = new google.maps.Map(document.getElementById('map'), {\n center: {lat: 20, lng: 20},\n //scrollwheel: false,\n zoom: 1\n });\nvar icon = {\n url: \"https://cdn3.iconfinder.com/data/icons/avion/512/airport_marker-48.png\", // url\n scaledSize: new google.maps.Size(30, 30), // scaled size\n origin: new google.maps.Point(0,0), // origin\n anchor: new google.maps.Point(10, 30) // anchor\n};\n\n$(\"tr.airports\").each(function(i,v){\n var ap=JSON.parse($(v).attr(\"ap\"))\n \n if (ap.geometry) {\n var marker = new google.maps.Marker({\n position: {lat:ap.geometry.coordinates[1],lng:ap.geometry.coordinates[0]},\n map: map,\n icon:icon,\n title: 'click for more information'\n });\n marker.addListener('click', function() {\n var infowindow = new google.maps.InfoWindow({\n content: ap.airportName+\" (\"+ap.airportCode+\"), \"+ap.cityName\n });\n infowindow.open(map, marker);\n });\n}\n })\n \n $(\"#rstlist\").dataTable()\n \n$('#exampleModal').on('show.bs.modal', function (event) {\n var button = $(event.relatedTarget)\n var recipient = button.data('whatever') \n var modal = $(this)\n modal.find('.modal-title').text('Request Credential Verification')\n modal.find('.modal-body input').val(recipient)\n})\n"},"css":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"}},"title":"Cascading Style Sheet (CSS)","activated":true,"name":"css","linkedtofile":false,"optional":true},"jade":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"},"depurl":"https://quipslibistars.s3.amazonaws.com/prod/663df2061165d4757a7781f9e4bccd2fb053de57/main.jade"},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":".container(style=\"width:100%;color:rgb(27,65,119);padding-left:0px\")\n p On 1 February 2016, the World Health Organization (WHO) declared a Public Health Emergency of \n |International Concern given the increasing cases of neonatal and neurological disorders amid the\n |growing Zika virus outbreak. Prevention and control of Zika virus disease relies on reducing mosquitoes\n |through source reduction (removal and modification of breeding sites) and by reducing contact between\n |mosquitoes and people. The management of the outbreak is currently focused on reducing the\n |populations of the Aedes mosquito that transmit the virus (referred to as vector control).\n br\n br\n p Airport vector control involves taking control measures (such as spraying, trapping, etc) against vector,\n |which the International Health Regulations (IHR) defines as \"an insect or other animal which normally\n |transports an infectious agent that constitutes a public health risk\" with the aim of keeping a vector free\n |area within the 400 meters airport perimeter as stated in the IHR.\n br\n br\n p The map and list below indicates those airports which have entered information into the ICAO Airport Vector Control Register.\n hr(width='100%')\n table(style=\"width:100%\"): tbody\n tr\n td(style=\"width:25%;text-align:left\")\n a.btn.btn-info.btn-sm(style=\"color:white\",href=\"https://www4.icao.int/demo/AirportVectorControlRegistrationTutorial/story.html\",target=\"_blank\") Tutorial\n td(style=\"width:25%;text-align:right;color:white\")\n a.btn.btn-sm.btn-info(style=\"color:white\",data-toggle='modal',data-target='#exampleModal',data-whatever='crr@icao.int') Request credential verification and access to register an airport\n #exampleModal.modal.fade(tabindex='-1', role='dialog', aria-labelledby='exampleModalLabel')\n .modal-dialog(role='document')\n .modal-content\n .modal-header\n button.close(type='button', data-dismiss='modal', aria-label='Close')\n span(aria-hidden='true') ×\n h4#exampleModalLabel.modal-title(style=\"text-align:left;color:rgb(27,65,119);font-size:16px\") Verify credentials\n .modal-body(style=\"text-align:left;color:rgb(27,65,119);font-size:13px\")\n p The register is a protected site maintained by the International Civil Aviation Organization and requires registration to access.\n br\n p If you represent an official agency involved in vector control at airport(s) and hold approrpriate authority for external communcation we invite you to register.\n | Please submit your name, email for your Google account, phonenumber along with the airport you are representing by clicking on the below button.\n | Your application will be submitted for processing and you will receive an email with further instructions.\n br\n p Please review the tutorial for instructions how to request access and register for the Google account.\n .modal-footer\n button.btn.btn-default(type='button', data-dismiss='modal') Close\n a.btn.btn-primary(style=\"color:white\",href='mailto:crr@icao.int?Subject=Airport Vector Control Register - Credential Verification') Send message\n \n br\n div(style=\"margin:auto\")\n #map(style=\"width:100%;height:300px\")\n br\n - rst.feed.entry=(rst.feed.entry?rst.feed.entry:[])\n table#rstlist.display(style=\"width:100%\")\n thead\n tr\n td Airport Code\n td Name/City\n td Country\n td Register Entry Created\n tbody\n for r in rst.feed.entry\n - var ap=allairports.filter(function(d){return (d.airportCode==r.gsx$airportlocation.$t.toUpperCase())})[0]\n - ap=(ap?ap:{airportName:\"\",cityName:\"\",countryName:\"\"})\n tr.airports(ap=JSON.stringify(ap))\n td=r.gsx$airportlocation.$t.toUpperCase()\n td=ap.airportName+\" - \"+ap.cityName\n td=ap.countryName\n td=r.gsx$timestamp.$t\n br\n hr(width='100%')"},"google maps apikey":"","capture":"https://quipslibistars.s3.amazonaws.com/prod/663df2061165d4757a7781f9e4bccd2fb053de57/capture.png","prod":true,"sharedwith":["568e92dc437f1f671e76a9fd"],"morejs":[{"url":"https://maps.googleapis.com/maps/api/js?key=AIzaSyDIwmr3eZMyXQsnn3H11aIC-_XvUs-_hZE&libraries=visualization"}],"deploydate":"2016-10-17T13:46:30.077Z","libs":[{"_id":"5672b285f36b083214f3e63b","description":"A sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.","key":"","version":"3.3.6","link":"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css,https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css,https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js","name":"bootstrap","__v":0,"haskey":false,"required":false,"website":"http://www.getbootstrap.com"},{"_id":"5672b602f36b083214f3e63e","description":"The Write Less, Do More, JavaScript Library","key":"","version":"2.1.1","link":"https://code.jquery.com/jquery-2.1.4.js","name":"jquery","__v":0,"required":true,"haskey":false,"website":"https://jquery.com"},{"_id":"568eb9222043a726661b0ad2","required":false,"description":"A plug-in for the jQuery Javascript Library. It is a highly flexible tool, based upon the foundations of progressive enhancement, and will add advanced interaction controls to any HTML table.","haskey":false,"version":"1.10.10","link":"https://cdn.datatables.net/s/dt/dt-1.10.10/datatables.min.css,https://cdn.datatables.net/s/dt/dt-1.10.10/datatables.min.js","name":"Datatables","__v":0,"website":"https://www.datatables.net"}],"host":"https://quips.anbdata.com","version":"prod"}
function loadjquery(url,callback) {
if(typeof jQuery=='undefined') {
loadScript(url,callback)
}
else {
callback()
}
}
function loadScript(url, callback) {
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function () {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
(function () {
loadjquery("https://code.jquery.com/jquery-2.1.4.js", function () {
//jQuery loaded
$("#"+project.container).html("")
var libs=[]
$(project.libs).each(function(i,v){
if (v.name!="jquery") {
$(v.link.split(",")).each(function(j,u){
if (u.slice(-2)=="js") {
libs.push(u+(v.haskey?"?key="+project[v.name+"key"]:""))
}
else {
$("head").append("")
}
})
}
})
if (project.morejs) {
$(project.morejs).each(function(i,v){
if ((v.url.substring(0,2)=="//")||(v.url.substring(0,8)=="https://")||(v.url.substring(0,7)=="http://")) {
libs.push(v.url)
}
})
}
if (project.morecss) {
$(project.morecss).each(function(i,v){
$("head").append("")
})
}
loadlibs(libs.reverse())
});
})();
function loadlibs(libs){
if (libs.length>0) {
var l=libs.pop()
loadScript(l,function(){
//$.getScript(l,function(res){
loadlibs(libs)
})
//.fail(function(e){
// loadlibs(libs)
//
//})
}
else {
start()
}
}
function putscriptcontent(content){
var script = document.createElement("script")
script.type = "text/javascript";
$(script).text(content)
document.getElementsByTagName("head")[0].appendChild(script);
}
function start(){
//load jade
$.getJSON(project.host+"/project/"+project.version+"/"+project.id+"/render?callback=?"+(project.datachange?"&data="+project.datachange:""),function(res){
$("#"+project.container).html(res.html)
if (project.css.activated) {
if (project.css.linkedtofile) {
$("head").append("")}
else {
$("head").append("")}
}
if (project.js.activated) {
if (project.js.linkedtofile) {
$.getScript(project.js.file[(project.prod?"depurl":"url")])}
else {
putscriptcontent(project.js.content)}
if (project.mainjs) {
window[project.mainjs]()
}
}
})
}