var project={"_id":"5ab3c115b0a1f67c2043ec6a","id":"5c1c21b205c09f70bfe60eeeeb46316af89506e9","name":"App for Disease version 2.2","user":"5969034e9b111eaf654f4aab","description":"","created":"2018-03-22T14:43:33.096Z","shared":false,"server":"micro","datafiles":[{"file":{"link":"https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/airports/locations/indicators-list?api_key=f8daad30-6807-11e7-b26b-e942a59cce42&format=json","type":"URL/API","url":"https://v4p4sz5ijk.execute-api.us-east-1.amazonaws.com/anbdata/airports/locations/indicators-list?api_key=f8daad30-6807-11e7-b26b-e942a59cce42&format=json","message":{"error":false,"text":""}},"varname":"airportData","title":"APIS","activated":true,"name":"datafile","linkedtofile":true,"optional":true,"content":"","sendtojs":true}],"packs":["bootstrap","jquery","Datatables","highstock"],"container":"mainpart","js":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"}},"title":"Javascript","activated":true,"name":"js","linkedtofile":false,"optional":true,"content":"var airportData;\nvar table1;\nvar table2;\nvar table3;\nvar table4;\nvar table5;\nvar table6;\nvar weekAheadNum = 27;\nvar result;\nvar result2;\nvar airportsList;\nvar airportsList2;\nvar flightNumberIndicator = 0;\nvar selectIndicator;\nvar airportChartData1;\nvar categoryData1;\nvar stateChartData1;\nvar currentStateList = [];\nvar currentAirportList = [];\nvar referenceWeek;\n\n\nshow_airports($(\"#StateSelect\").val());\nshow_airports2($(\"#StateSelect2\").val());\n$( \"#fromDatepicker\" ).datepicker({dateFormat: \"yy-mm-dd\"});\n$( \"#toDatepicker\" ).datepicker({dateFormat: \"yy-mm-dd\"});\n\n$(\"#loading\").hide();\n$(\"#loading2\").hide();\n\n$.ajax({\n\t\turl: 'https://istars.anbdata.com/views/notams?&states=518a8adc9a6a436858000001&locations=&type=&qstring=%5B%5B%22plague%22%5D%2C%5B%22bubonic%22%5D%2C%5B%22pneumonic%22%5D%2C%5B%22Yersinia%22%2C%22pestis%22%2C%22%22%5D%2C%5B%22ebola%22%5D%2C%5B%22haemorrhagic%22%5D%2C%5B%22Filoviridae%22%2C%22%22%5D%2C%5B%22yellow%22%2C%22fever%22%5D%2C%5B%22virus%22%5D%2C%5B%22mosquito%22%5D%2C%5B%22contagious%22%5D%2C%5B%22disease%22%5D%2C%5B%22infection%22%5D%2C%5B%22outbreak%22%5D%2C%5B%22epidemic%22%5D%2C%5B%22bacteria%22%5D%2C%5B%22protozoa%22%5D%2C%5B%22quarantine%22%5D%2C%5B%22isolate%22%5D%5D&callback=?',\n\t\tdataType: \"jsonp\",\n\t\tsuccess: function(data,textStatus){\n//console.log(data);\n\n\t\t\tvar elem = data.html.split(\"
1){\n\t\t\t\tfor(var i = 1; i < elem.length; i++)\n\t\t\t\t{\n\t\t\t\t\telem[i]= \"
\" + elem[i] +\"\");\n\t\t\t}\n\t\t\t\n\t\t\tconsole.log($('#notamsTable'));\n\t\t\ttable6 = $('#notamsTable').dataTable();\n\t\t\t}\n\t\t\t\n\t\t\t//$( \"#notams\" ).append(data.html);\n\t\t}\n\t});\n\n\nfunction show_airports(value){ \n\n\t$(\"#airportSelect\").empty();\n\tvar temp = [];\n\tvar counter = 0;\n\t\n\tfor (var i = 0; i < airportData.length; i++) {\n\t\tif(airportData[i].countryCode == value)\n\t\t{\n\t\t\ttemp[counter] = airportData[i].airportCode;\n\t\t\tcounter ++;\n\t\t}\n\t}\n\n\tgetFlightData(temp);\n}\n\t\n//加入airport后改的版本\nfunction show_airports2(value){ \n\n\t$(\"#airportSelect\").empty();\n\tvar temp = [];\n\tvar counter = 0;\n\t\n\tfor (var i = 0; i < airportData.length; i++) {\n\t\tif(airportData[i].countryCode == value)\n\t\t{\n\t\t\ttemp[counter] = [airportData[i].cityName,airportData[i].airportName,airportData[i].airportCode];\n\t\t\tcounter ++;\n\t\t}\n\t}\n\ttemp.sort();\n\t$(\"#airportSelect\").append(\"\");\n\tfor (var i = 0; i < temp.length; i++) {\n\t\t\t{\n\t\t\t\t$(\"#airportSelect\").append(\"\");\n\t\t\t}\n\t}\n\n\t\n}\n\nfunction getFlightData(airports)\n{\n\tvar toDate = new Date();\n\ttoDate = new Date(getDateString(new Date(toDate.getTime()-24*60*60*1000)));\n\tvar fromDate = new Date(toDate.getTime() - weekAheadNum*7*24*60*60*1000);\n\tif(fromDate < new Date(\"2017-07-01\"))\n\t\tfromDate = new Date(\"2017-07-01\");\n\t$('.fromDate').text(getDateString(fromDate));\n\t$('.toDate').text(getDateString(toDate));\n\t//console.log(fromDate);\n\tairportsList = airports;\n\t$(\"#loading\").show();\n\n\t//console.log(temp);\n\t//$.getJSON(\"http://test.anbdata.com:8000/anb/app/who/getdeparture_stat?callback=?\",{fromDate:getDateString(fromDate),toDate:getDateString(toDate),airports:airports},function(res){\n\t$.getJSON(\"https://api.anbdata.com/anb/app/who/getdeparture_stat?callback=?\",{fromDate:getDateString(fromDate),toDate:getDateString(toDate),airports:airports},function(res){\n if (res.error) {\n alert(\"Failed to search!\")}\n else {\n\t\t\t\tif(res.length == 0)\n\t\t\t\t{\n\t\t\t\t\talert(\"No Data! Please choose another date!\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//console.log(res);\n\t\t\t\t\n\t\t\t\tvar airportChartData = [];\n\t\t\t\tvar categoryData = [];\n\t\t\t\tvar stateChartData=[];\n\t\t\t\tvar temp = [];\n\t\t\t\tfor(var i = 0 ; i < res.length; i++)\n\t\t\t\t{\n\t\t\t\t\tvar flag = true;\n\t\t\t\t\tfor(var j = 0; j < temp.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(temp[j].date == res[i]._id.date){\n\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\tfor(var m = 0; m < res[i].airportList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].airportList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].airportList[n].airport == res[i].airportList[m].airport)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].airportList[n].count = temp[j].airportList[n].count + res[i].airportList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(res[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].airportList.push(res[i].airportList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfor(var m = 0; m < res[i].countryList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].countryList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].countryList[n].countryName == res[i].countryList[m].countryName)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].countryList[n].count = temp[j].countryList[n].count + res[i].countryList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(res[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].countryList.push(res[i].countryList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(flag)\n\t\t\t\t\t{\n\t\t\t\t\t\ttemp.push({date:res[i]._id.date,airportList:res[i].airportList,countryList:res[i].countryList});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttemp.sort(function(a,b){return (new Date(a.date)-new Date(b.date))});\n\t\t\t\t\n\t\t\t\tfor(var i = 0 ; i < temp.length; i++)\n\t\t\t\t{\n\t\t\t\t\tcategoryData.push(temp[i].date);\n\t\t\t\t\tstateChartData.push(temp[i].countryList.length);\n\t\t\t\t\tvar tempCount = 0;\n\t\t\t\t\tfor(var j = 0; j < temp[i].airportList.length; j ++)\n\t\t\t\t\t{\n\t\t\t\t\t\ttempCount = tempCount + temp[i].airportList[j].count;\n\t\t\t\t\t}\n\t\t\t\t\tairportChartData.push(tempCount);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\tconsole.log(temp);\n\t\t\t\tresult = temp;\n\t\t\t\t//console.log(categoryData);\n\t\t\t\t//console.log(stateChartData);\n\t\t\t\t//console.log(airportChartData);\n\t\t\t\t//matchCountry(airportList,res[0]._id.orig);\n\t\t\t\t\n\t\t\t\tvar airportTableData = [];\n\t\t\t\tvar countryTableData = [];\n\t\t\t\t/*for(var i = 0 ; i < temp.length; i++)\n\t\t\t\t{\n\t\t\t\t\tfor(var j = 0; j < temp[i].airportList.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar flag = true;\n\t\t\t\t\t\tfor(var m = 0; m < airportTableData.length; m++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(temp[i].airportList[j].airport == airportTableData[m].airport)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\t\tairportTableData[m].count = airportTableData[m].count + temp[i].airportList[j].count;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(flag)\n\t\t\t\t\t\t\tairportTableData.push({airport:temp[i].airportList[j].airport,count:temp[i].airportList[j].count});\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfor(var j = 0; j < temp[i].countryList.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar flag = true;\n\t\t\t\t\t\tfor(var m = 0; m < countryTableData.length; m++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(temp[i].countryList[j].countryName == countryTableData[m].countryName)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\t\tcountryTableData[m].count = countryTableData[m].count + temp[i].countryList[j].count;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(flag)\n\t\t\t\t\t\t\tcountryTableData.push({countryName:temp[i].countryList[j].countryName,count:temp[i].countryList[j].count});\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor(var i = 0 ; i < airportTableData.length; i++)\n\t\t\t\t{\n\t\t\t\t\tfor(var j = 0; j < airportData.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(airportData[j].airportCode == airportTableData[i].airport)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tairportTableData[i].airport = airportData[j].airportCode +\" / \"+airportData[j].airportName +\" / \"+airportData[j].countryName;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}*/\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$(\"#daySelect\").empty();\n\t\t\t\t$(\"#weekSelect\").empty();\n\t\t\t\t$(\"#weekSelect1\").empty();\n\t\t\t\tfor (var i = 0; i < categoryData.length; i++) {\n\t\t\t\t\t\n\t\t\t\t\t$(\"#daySelect\").append(\"\");\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*var end = new Date(categoryData[categoryData.length -1]);\n\t\t\t\tvar begin = new Date(\"2017-07-01\");\n\t\t\t\tif(end.getUTCDay() > 0)\n\t\t\t\t{\n\t\t\t\t\tend = new Date(end.getTime() - end.getUTCDay()*24*60*60*1000);\n\t\t\t\t}\n\t\t\t\tfor (var i = 0; i < weekAheadNum; i++) {\n\t\t\t\t\tif(end > begin)\n\t\t\t\t\t{\n\t\t\t\t\t\t$(\"#weekSelect\").append(\"\");\n\t\t\t\t\t\t$(\"#weekSelect1\").append(\"\");\n\t\t\t\t\t\tend = new Date(end.getTime() - 7*24*60*60*1000);\n\t\t\t\t\t}\n\t\t\t\t\telse{\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}*/\n\t\t\t\t/*var count = 0;\n\t\t\t\tvar fixedToMonday = (new Date(categoryData[categoryData.length -1]).getUTCDay());\n\t\t\t\tfor(var i = categoryData.length - 1 - fixedToMonday; i >=0; i--)\n\t\t\t\t{\n\t\t\t\t\tcount++;\n\t\t\t\t\tif((count % 7) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\t$(\"#weekSelect\").append(\"\");\n\t\t\t\t\t\t$(\"#weekSelect1\").append(\"\");;\n\t\t\t\t\t}\n\t\t\t\t}*/\n\t\t\t\t\n\t\t\t\t//console.log(end.getUTCDay());\n\t\t\t\t//console.log(end.getUTCDate());\n\t\t\t\t//console.log(begin.getUTCDay());\n\t\t\t\tvar start;\n\t\t\t\tfor(var i = categoryData.length -1 ; i >=0; i--)\n\t\t\t\t{\n\t\t\t\t\tif((new Date(categoryData[i]).getUTCDay()) == 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tstart = (new Date(categoryData[i]).getTime() - 6*24*60*60*1000);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.log(getDateString(new Date(start)))\n\t\t\t\tfor(var i = (new Date(start)).getTime(); i >= (new Date(categoryData[0])).getTime(); i = (i- 7*24*60*60*1000))\n\t\t\t\t{\n\t\t\t\t\t$(\"#weekSelect\").append(\"\");\n\t\t\t\t\t$(\"#weekSelect1\").append(\"\");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*var airportWeeklyData = [];\n\t\t\t\tvar stateWeeklyData = [];\n\t\t\t\tfor(var i = (new Date(start)).getTime(); i >= (new Date(categoryData[0])).getTime(); i = (i- 7*24*60*60*1000))\n\t\t\t\t{\n\t\t\t\t\tvar countWeekly = 0\n\t\t\t\t\tvar countStateWeekly = 0;\n\t\t\t\t\tfor(var j = 0; j < airportChartData.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif((new Date(categoryData[j]) >=i) &&(new Date(categoryData[j]) < (i+ 7*24*60*60*1000)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcountWeekly = countWeekly + airportChartData[j];\n\t\t\t\t\t\t\tcountStateWeekly = countStateWeekly + stateChartData[j];\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tairportWeeklyData.push({week:new Date(i),count:countWeekly});\n\t\t\t\t\tstateWeeklyData.push(countStateWeekly);\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconsole.log(airportWeeklyData);\n\t\t\t\tconsole.log(stateWeeklyData);*/\n\t\t\t\t\n\t\t\t\tselectIndicator = $(\"#weekSelect1 option:eq(\"+ ($(\"#weekSelect1 option\").length - 1)+\")\").text();\n\t\t\t\t$(\"#weekSelect1 option:eq(\"+ ($(\"#weekSelect1 option\").length - 1)+\")\").attr('selected','selected');\n\t\t\t\t//console.log(selectIndicator);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tairportChartData1 = airportChartData;\n\t\t\t\tcategoryData1 = categoryData;\n\t\t\t\tstateChartData1 = stateChartData;\n\t\t\t\t\n\t\t\t\t$(\"#daySelect option:eq(\"+(categoryData.length - 1)+\")\").attr('selected','selected');\n\t\t\t\t\n\t\t\t\t//console.log(new Date(new Date(temp[temp.length -1].date).getTime() - 7*24*60*60*1000));\n\t\t\t\t\n\n\t\t\t\tvar currentList = [];\n\t\t\t\tfor(var i = 0; i <= 7; i++)\n\t\t\t\t{\n\t\t\t\t\tif(new Date(temp[temp.length -1 -i].date) > new Date(new Date(temp[temp.length -1].date).getTime() - 7*24*60*60*1000))\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentList.push(temp[temp.length -1 -i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$(\"#toDate1\").text(temp[temp.length -1].date);\n\t\t\t\t$(\"#fromDate1\").text(getDateString(new Date(new Date(temp[temp.length -1].date).getTime() - 6*24*60*60*1000)));\n\t\t\t\t//console.log(currentList);\n\t\t\t\tcurrentStateList = stateTotal(currentList);\n\t\t\t\tcurrentAirportList = airportTotal(currentList);\n\n\t\t\t\treferenceWeek = referenceWeekDate();\n\t\t\t\t\n\t\t\t\t//console.log(referenceWeek);\n\t\t\t\t\n\t\t\t\tcompareData();\n\t\t\t\tflightNumChart(airportChartData,categoryData);\n\t\t\t\tcountryNumChart(stateChartData,categoryData);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//console.log(countryTableData);\n\t\t\t\t//console.log(airportTableData);\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tAddCountryList();\n\t\t\t\tAddAirportList();\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$(\"#loading\").hide();\n\t\t});\n\t\t\n\t\t\n}\n\n\nfunction getFlightData2()\n{\n\tvar temp=[];\n\t//$(\"input:checked\").each(function () {temp+this.value +\",\"} )\n\tif($(\"input:checked\").length == 0)\n\t{\n\t\talert(\"Please choose airports!\");\n\t\treturn;\n\t}\n\tif($( \"#fromDatepicker\" ).val() == \"\")\n\t{\n\t\talert(\"Please choose a Date!\");\n\t\treturn;\n\t}\n\tif($( \"#toDatepicker\" ).val() == \"\")\n\t{\n\t\talert(\"Please choose a Date!\");\n\t\treturn;\n\t}\n\t\n\tvar d = (new Date($( \"#toDatepicker\" ).val()) - new Date($( \"#fromDatepicker\" ).val()))/1000/60/60/24;\n\tif(d < 0)\n\t{\n\t\talert(\"From Data must smaller than To Data!\");\n\t\treturn;\n\t}\n\t\n\tif(new Date($( \"#fromDatepicker\" ).val()) - new Date(\"2017-07-01\") < 0)\n\t{\n\t\talert(\"There is no data before 2017-07-01!\");\n\t\treturn;\n\t}\n\n\t\n\t$(\"#loading2\").show();\n\t//console.log(d);\n\tif($(\"input:checked\").length > 0){\n\t\tif($(\"input:checked\")[0].value ==\"all\")\n\t\t{\n\t\t\tconsole.log($(\"input[type='checkbox']\").length);\n\t\t\tfor(var i = 1; i < $(\"input[type='checkbox']\").length; i++)\n\t\t\t{\n\t\t\t\ttemp.push($(\"input[type='checkbox']\")[i].value);\n\t\t\t}\n\t\t}\n\t\t\n\t\telse{\n\t\t\t//console.log($(\"input:checked\").length);\n\t\t\tfor(var i = 0; i < $(\"input:checked\").length; i++)\n\t\t\t{\n\t\t\t\t//console.log($(\"input:checked\")[i].value)\n\t\t\t\ttemp.push($(\"input:checked\")[i].value);\n\t\t\t}\n\t\t}\n\t}\n\t\n\tairportsList2 = temp;\n\t//console.log(temp);\n\t//$.getJSON(\"http://test.anbdata.com:8000/anb/app/who/getdeparture_stat?callback=?\",{fromDate:$(\"#fromDatepicker\" ).val(),toDate:$( \"#toDatepicker\" ).val(),airports:temp},function(res){\n\t$.getJSON(\"https://api.anbdata.com/anb/app/who/getdeparture_stat?callback=?\",{fromDate:$(\"#fromDatepicker\" ).val(),toDate:$( \"#toDatepicker\" ).val(),airports:temp},function(res){\n if (res.error) {\n alert(\"Failed to search!\")}\n else {\n\t\t\t\tif(res.length == 0)\n\t\t\t\t{\n\t\t\t\t\talert(\"No Data! Please choose another date!\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconsole.log(res);\n\t\t\t\t//var airportList = distinct(res);\n\t\t\t\t\n\t\t\t\t/*for(var i = 0; i < airportList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif(airportList[i].airport.indexOf(\"L \") >-1)\n\t\t\t\t\t{\n\t\t\t\t\t\tairportList.splice(i,1);\n\t\t\t\t\t\ti = i -1;\n\t\t\t\t\t}\n\t\t\t\t}*/\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tvar airportChartData = [];\n\t\t\t\tvar categoryData = [];\n\t\t\t\tvar stateChartData=[];\n\t\t\t\tvar temp = [];\n\t\t\t\tfor(var i = 0 ; i < res.length; i++)\n\t\t\t\t{\n\t\t\t\t\tvar flag = true;\n\t\t\t\t\tfor(var j = 0; j < temp.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(temp[j].date == res[i]._id.date){\n\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\tfor(var m = 0; m < res[i].airportList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].airportList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].airportList[n].airport == res[i].airportList[m].airport)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].airportList[n].count = temp[j].airportList[n].count + res[i].airportList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(res[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].airportList.push(res[i].airportList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfor(var m = 0; m < res[i].countryList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].countryList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].countryList[n].countryName == res[i].countryList[m].countryName)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].countryList[n].count = temp[j].countryList[n].count + res[i].countryList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(res[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].countryList.push(res[i].countryList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(flag)\n\t\t\t\t\t{\n\t\t\t\t\t\ttemp.push({date:res[i]._id.date,airportList:res[i].airportList,countryList:res[i].countryList});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttemp.sort(function(a,b){return (new Date(a.date)-new Date(b.date))});\n\t\t\t\t\n\t\t\t\tfor(var i = 0 ; i < temp.length; i++)\n\t\t\t\t{\n\t\t\t\t\tcategoryData.push(temp[i].date);\n\t\t\t\t\tstateChartData.push(temp[i].countryList.length);\n\t\t\t\t\tvar tempCount = 0;\n\t\t\t\t\tfor(var j = 0; j < temp[i].airportList.length; j ++)\n\t\t\t\t\t{\n\t\t\t\t\t\ttempCount = tempCount + temp[i].airportList[j].count;\n\t\t\t\t\t}\n\t\t\t\t\tairportChartData.push(tempCount);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tflightNumChart2(airportChartData,categoryData);\n\t\t\t\tcountryNumChart2(stateChartData,categoryData);\n\t\t\t\t\n\t\t\t\t//console.log(temp);\n\t\t\t\tresult2 = temp;\n\t\t\t\t//console.log(categoryData);\n\t\t\t\t//console.log(stateChartData);\n\t\t\t\t//console.log(airportChartData);\n\t\t\t\t//matchCountry(airportList,res[0]._id.orig);\n\t\t\t\t\n\t\t\t\tvar airportTableData = [];\n\t\t\t\tvar countryTableData = [];\n\t\t\t\tfor(var i = 0 ; i < temp.length; i++)\n\t\t\t\t{\n\t\t\t\t\tfor(var j = 0; j < temp[i].airportList.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar flag = true;\n\t\t\t\t\t\tfor(var m = 0; m < airportTableData.length; m++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(temp[i].airportList[j].airport == airportTableData[m].airport)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\t\tairportTableData[m].count = airportTableData[m].count + temp[i].airportList[j].count;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(flag)\n\t\t\t\t\t\t\tairportTableData.push({airport:temp[i].airportList[j].airport,count:temp[i].airportList[j].count});\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tfor(var j = 0; j < temp[i].countryList.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tvar flag = true;\n\t\t\t\t\t\tfor(var m = 0; m < countryTableData.length; m++)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(temp[i].countryList[j].countryName == countryTableData[m].countryName)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\t\tcountryTableData[m].count = countryTableData[m].count + temp[i].countryList[j].count;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(flag)\n\t\t\t\t\t\t\tcountryTableData.push({countryName:temp[i].countryList[j].countryName,count:temp[i].countryList[j].count});\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor(var i = 0 ; i < airportTableData.length; i++)\n\t\t\t\t{\n\t\t\t\t\tfor(var j = 0; j < airportData.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(airportData[j].airportCode == airportTableData[i].airport)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tairportTableData[i].airport = airportData[j].airportCode +\" / \"+airportData[j].airportName +\" / \"+airportData[j].countryName;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\tAddCountryList2(countryTableData);\n\t\t\t\tAddAirportList2(airportTableData);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t//console.log(end.getUTCDay());\n\t\t\t\t//console.log(end.getUTCDate());\n\t\t\t\t//console.log(begin.getUTCDay());\n\t\t\t\t\n\t\t\t\t/*var airportWeeklyData = [];\n\t\t\t\tvar stateWeeklyData = [];\n\t\t\t\tfor(var i = (new Date($( \"#fromDatepicker\" ).val())).getTime(); i <= (new Date($( \"#toDatepicker\" ).val())).getTime(); i = (i+ 7*24*60*60*1000))\n\t\t\t\t{\n\t\t\t\t\tvar countWeekly = 0\n\t\t\t\t\tvar countStateWeekly = 0;\n\t\t\t\t\tfor(var j = 0; j < airportChartData.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif((new Date(categoryData[j]) >=i) &&(new Date(categoryData[j]) < (i+ 7*24*60*60*1000)))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcountWeekly = countWeekly + airportChartData[j];\n\t\t\t\t\t\t\tcountStateWeekly = countStateWeekly + stateChartData[j];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tairportWeeklyData.push({week:new Date(i),count:countWeekly});\n\t\t\t\t\tstateWeeklyData.push(countStateWeekly);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconsole.log(airportWeeklyData);\n\t\t\t\tconsole.log(stateWeeklyData);*/\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t$(\"#loading2\").hide();\n\t\t});\n\t\t\n\t\t\n}\n\nfunction AddCountryList2(countryList){\n\tif(table4)\n\t\t$('#stateTable2').empty();\n\t\n\tfor(var i = 0; i < countryList.length; i++)\n\t{\n\t if(countryList[i].countryName == 'Macao' || countryList[i].countryName == 'Hong Kong' ||countryList[i].countryName == 'Taiwan')\n\t countryList[i].countryName = countryList[i].countryName +\",China\";\n\t\t$('#stateTable2').append(\"\" + countryList[i].countryName +\"\"+ countryList[i].count + \"\");\n\t}\n\n\ttable4 = $('#stateTable2').dataTable({\n\t\t\"order\": [[ 1, \"desc\" ]],\n\t\t\"aoColumnDefs\": [ { \"bSortable\": false, \"aTargets\": [ 2 ] }],\n\t\tdestroy: true,\n\t\t\"bFilter\": false\n\t});\n}\n\nfunction AddAirportList2(airportList){\n\tif (table5) {\n $('#airportTable2').empty();\n }\n\tfor(var i = 0; i < airportList.length; i++)\n\t{\n\t\t$('#airportTable2').append(\"\" + airportList[i].airport +\"\"+ airportList[i].count + \"\");\n\t}\n\ttable5=$('#airportTable2').dataTable({\n\t\t\"order\": [[ 1, \"desc\" ]],\n\t\t\"aoColumnDefs\": [ { \"bSortable\": false, \"aTargets\": [ 2 ] }],\n\t\tdestroy: true,\n\t\t\"bFilter\": false\t\t\n\t});\n}\n\nfunction flightNumChart2(data,category){\n\tHighcharts.chart('DepFlightContainer2', {\n\n\t\ttitle: {\n\t\t\ttext: ''\n\t\t},\n\n\t\txAxis: {\n categories:category\n },\n\t\t\n\t\tyAxis: {\n\t\t\ttitle: {\n\t\t\t\ttext: 'Number of Flights'\n\t\t\t}\n\t\t},\n\n\n\t\tseries: [{\n\t\t\tname: 'Depature Flights Number',\n\t\t\tdata: data\n\t\t}],\n\n\t\t\n\n\t});\n}\n\nfunction countryNumChart2(data,category){\n\tHighcharts.chart('countryNumContainer2', {\n\n\t\ttitle: {\n\t\t\ttext: ''\n\t\t},\n\n\t\txAxis: {\n categories:category\n },\n\t\t\n\t\tyAxis: {\n\t\t\ttitle: {\n\t\t\t\ttext: 'Number of Countries(Regions)'\n\t\t\t}\n\t\t},\n\n\t\tseries: [{\n\t\t\tname: 'Connected Countries(Regions) Number',\n\t\t\tdata: data\n\t\t}]\n\n\t});\n}\n\nfunction stateTotal(temp){\n\tvar countryTableData = [];\n\tfor(var i = 0 ; i < temp.length; i++)\n\t{\n\t\tfor(var j = 0; j < temp[i].countryList.length; j++)\n\t\t{\n\t\t\tvar flag = true;\n\t\t\tfor(var m = 0; m < countryTableData.length; m++)\n\t\t\t{\n\t\t\t\tif(temp[i].countryList[j].countryName == countryTableData[m].countryName)\n\t\t\t\t{\n\t\t\t\t\tflag = false;\n\t\t\t\t\tcountryTableData[m].count = countryTableData[m].count + temp[i].countryList[j].count;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(flag)\n\t\t\t\tcountryTableData.push({countryName:temp[i].countryList[j].countryName,count:temp[i].countryList[j].count});\n\t\t}\n\n\t}\n\treturn countryTableData;\n\t\t\t\t\n\t//console.log(countryTableData);\n}\n\n\n\nfunction airportTotal(temp){\n\tvar airportTableData = [];\n\tfor(var i = 0 ; i < temp.length; i++)\n\t{\n\t\tfor(var j = 0; j < temp[i].airportList.length; j++)\n\t\t{\n\t\t\tvar flag = true;\n\t\t\tfor(var m = 0; m < airportTableData.length; m++)\n\t\t\t{\n\t\t\t\tif(temp[i].airportList[j].airport == airportTableData[m].airport)\n\t\t\t\t{\n\t\t\t\t\tflag = false;\n\t\t\t\t\tairportTableData[m].count = airportTableData[m].count + temp[i].airportList[j].count;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(flag)\n\t\t\t\tairportTableData.push({airport:temp[i].airportList[j].airport,count:temp[i].airportList[j].count});\n\t\t}\n\n\t}\n\t\t\t\t\n\tfor(var i = 0 ; i < airportTableData.length; i++)\n\t{\n\t\tfor(var j = 0; j < airportData.length; j++)\n\t\t{\n\t\t\tif(airportData[j].airportCode == airportTableData[i].airport)\n\t\t\t{\n\t\t\t if(airportData[j].countryName == 'Macao' || airportData[j].countryName == 'Hong Kong' ||airportData[j].countryName == 'Taiwan')\n\t airportData[j].countryName = airportData[j].countryName +\",China\";\n\t\t\t\tairportTableData[i].airport = airportData[j].airportCode +\" / \"+airportData[j].airportName +\" / \"+airportData[j].countryName;\n\t\t\t}\n\t\t}\n\t}\n\treturn airportTableData;\n\t//console.log(airportTableData);\n}\n\nfunction referenceWeekDate(){\n\tvar referenceWeek = [];\n\tfor(var i = 0; i < result.length; i++)\n\t{\n\t\tif((new Date(result[i].date) >= new Date(selectIndicator)) && (new Date(result[i].date)< new Date(new Date(selectIndicator).getTime() + 7*24*60*60*1000)))\n\t\t{\n\t\t\treferenceWeek.push(result[i]);\n\t\t}\n\t}\n\treturn referenceWeek;\n\t//console.log(referenceWeek);\n}\n\nfunction AddCountryList(){\n\tif(table1)\n\t\t$('#stateTable').empty();\n\t\n\tvar countryList = stateTotal(referenceWeek);\n\tvar temp = [];\n\tfor(var i = 0; i < currentStateList.length; i++)\n\t{\n\t\tvar temp2 = null;\n\t\tfor(var j = 0; j < countryList.length; j++)\n\t\t{\n\t\t \n\t\t\tif(countryList[j].countryName == currentStateList[i].countryName)\n\t\t\t{\n\t\t\t\ttemp2 = 100*(currentStateList[i].count - countryList[j].count)/ countryList[j].count;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(temp2 > 0)\n\t\t\ttemp2 = \"+\" + temp2.toFixed(1) +\"%\";\n\t\tif(temp2 < 0)\n\t\t\ttemp2 = temp2.toFixed(1) +\"%\";\n\t\tif(temp2 == null)\n\t\t\ttemp2 = \"-\";\n\t\ttemp.push({countryName:currentStateList[i].countryName,count:currentStateList[i].count,growth:temp2});\n\t}\n\t\n\tfor(var i = 0; i < countryList.length; i++)\n\t{\n\t\tvar temp2 = null;\n\t\tvar flag = true;\n\t\tfor(var j = 0; j < currentStateList.length; j++)\n\t\t{\n\t\t\tif(countryList[i].countryName == currentStateList[j].countryName)\n\t\t\t{\n\t\t\t\tflag = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(flag)\n\t\t{\n\t\t\ttemp.push({countryName:countryList[i].countryName,count:0,growth:\"-100%\"});\n\t\t}\n\t}\n\t//console.log(currentStateList);\n\t//console.log(countryList);\n\t//console.log(temp);\n\t\n\tfor(var i = 0; i < temp.length; i++)\n\t{\n\t if(temp[i].countryName == 'Macao' || temp[i].countryName == 'Hong Kong' ||temp[i].countryName == 'Taiwan')\n\t temp[i].countryName = temp[i].countryName +\",China\";\n\t\t$('#stateTable').append(\"\" + temp[i].countryName +\"\"+ temp[i].count + \"\"+ temp[i].growth + \"\");\n\t}\n\n\ttable1 = $('#stateTable').dataTable({\n\t\t\"order\": [[ 1, \"desc\" ]],\n\t\t//\"aoColumnDefs\": [ { \"bSortable\": false, \"aTargets\": [ 2 ] }],\n\t\tdestroy: true,\n\t\t\"bFilter\": false\n\t});\n}\n\nfunction AddAirportList(){\n\tif (table2) {\n $('#airportTable').empty();\n }\n\t\n\tvar airportList = airportTotal(referenceWeek);\n\tvar temp = [];\n\tfor(var i = 0; i < currentAirportList.length; i++)\n\t{\n\t\tvar temp2 = null;\n\t\tfor(var j = 0; j < airportList.length; j++)\n\t\t{\n\t\t\tif(airportList[j].airport == currentAirportList[i].airport)\n\t\t\t{\n\t\t\t\ttemp2 = 100*(currentAirportList[i].count - airportList[j].count)/ airportList[j].count;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(temp2 > 0)\n\t\t\ttemp2 = \"+\" + temp2.toFixed(1) +\"%\";\n\t\tif(temp2 < 0)\n\t\t\ttemp2 = temp2.toFixed(1) +\"%\";\n\t\tif(temp2 == null)\n\t\t\ttemp2 = \"-\";\n\t\ttemp.push({airport:currentAirportList[i].airport,count:currentAirportList[i].count,growth:temp2});\n\t}\n\t\n\tfor(var i = 0; i < airportList.length; i++)\n\t{\n\t\tvar temp2 = null;\n\t\tvar flag = true;\n\t\tfor(var j = 0; j < currentAirportList.length; j++)\n\t\t{\n\t\t\tif(airportList[i].airport == currentAirportList[j].airport)\n\t\t\t{\n\t\t\t\tflag = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif(flag)\n\t\t{\n\t\t\ttemp.push({airport:airportList[i].airport,count:0,growth:\"-100%\"});\n\t\t}\n\t}\n\t\n\tfor(var i = 0; i < temp.length; i++)\n\t{\n\t\t$('#airportTable').append(\"\" + temp[i].airport +\"\"+ temp[i].count + \"\"+ temp[i].growth + \"\");\n\t}\n\ttable2=$('#airportTable').dataTable({\n\t\t\"order\": [[ 1, \"desc\" ]],\n\t\t//\"aoColumnDefs\": [ { \"bSortable\": false, \"aTargets\": [ 2 ] }],\n\t\tdestroy: true,\n\t\t\"bFilter\": false\t\t\n\t});\n}\n\nfunction AddCompareList(countryList,compareList){\n\tif (table3) {\n $('#stateCompareTable').empty();\n }\n if(countryList.length == 0){\n alert(\"No Data! Please choose another Comparing week!\");\n return\n }\n\tfor(var i = 0; i < countryList[0].countryList.length; i++)\n\t{\n\t\tvar flag = \"\";\n\t\tvar d = countryList[0].countryList[i].count;\n\t\tfor(var j = 0; j < compareList.countryList.length; j++)\n\t\t{\n\t\t\tif(compareList.countryList[j].countryName == countryList[0].countryList[i].countryName)\n\t\t\t{\n\t\t\t\td = countryList[0].countryList[i].count - compareList.countryList[j].count;\n\t\t\t\tif(d < 0)\n\t\t\t\t{\n\t\t\t\t\tflag = \"\";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tif(d >=0)\n\t\t\tflag = flag + \"(+\"+d+\")\";\n\t\telse{\n\t\t\tflag = flag + \"(\"+d+\")\";\n\t\t}\n\t\t\n\t\tif(countryList[0].countryList[i].countryName == 'Macao' || countryList[0].countryList[i].countryName == 'Hong Kong' ||countryList[0].countryList[i].countryName == 'Taiwan')\n\t countryList[0].countryList[i].countryName = countryList[0].countryList[i].countryName +\",China\";\n\t\t\n\t\t$('#stateCompareTable').append(\"\" + countryList[0].countryList[i].countryName +\"\"+ countryList[0].countryList[i].count + \"\"+flag+\"\");\n\t}\n\ttable3=$('#stateCompareTable').dataTable({\n\t\t\"order\": [[ 1, \"desc\" ]],\n\t\t\"aoColumnDefs\": [ { \"bSortable\": false, \"aTargets\": [ 2 ] }],\n\t\tdestroy: true,\n\t\t\"bFilter\": false\t\t\n\t});\n}\n\nfunction flightNumChart(data,category){\n\tvar daily = [];\n\tvar weekly = [];\n\tfor(var i = 0; i < data.length; i++)\n\t{\n\t\tdaily.push([(new Date(category[i]).getTime()),data[i]]);\n\t}\n\t\n\tvar start;\n\tfor(var i = category.length -1 ; i >=0; i--)\n\t{\n\t\tif((new Date(category[i]).getUTCDay()) == 0)\n\t\t{\n\t\t\tstart = (new Date(category[i]).getTime() - 6*24*60*60*1000);\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tfor(var i = (new Date(start)).getTime(); i >= (new Date(category[0])).getTime(); i = (i- 7*24*60*60*1000))\n\t{\n\t\tvar countWeekly = 0\n\t\tfor(var j = 0; j < data.length; j++)\n\t\t{\n\t\t\tif((new Date(category[j]) >=i) &&(new Date(category[j]) < (i+ 7*24*60*60*1000)))\n\t\t\t{\n\t\t\t\tcountWeekly = countWeekly + data[j];\t\t\t\t\t\t\t\n\t\t\t}\n\t\t}\n\t\tweekly.push([i,parseFloat((countWeekly/7).toFixed(1))]);\n\t\t\t\t\n\t}\n\t\t\t\t\n\t//console.log(weekly);\n\n\n\tweekly.reverse();\n\n\tvar temp = new Date(selectIndicator).getTime();\n\tvar temp2 = temp + 7*24*60*60*1000;\n\tvar flightDailyIndicator;\n\tvar flightWeeklyIndicator;\n\t\n\tfor(var i = 0; i < weekly.length; i++)\n\t{\n\t\tif(weekly[i][0]>= temp && weekly[i][0] {point.y} flights '\n\t\t\t},\n }, {\n type: 'line',\n\t\t\tmarker:{enabled:true,radius:3},\n\t\t\tdataLabels:{enabled:true},\n name: 'Weekly Average',\n data: weekly,\n yAxis: 1,\n\t\t\ttooltip: {\n\t\t\t\tpointFormatter: function(){\n\t\t\t\t\tvar percent = (((this.y / flightWeeklyIndicator[1] -1)*100).toFixed(2));\n\t\t\t\t\tif(parseFloat(percent) > 0)\n\t\t\t\t\t\tpercent = \"+\" + percent;\n\t\t\t\t\treturn 'Weekly Average Departure '+this.y+' flights per day
Compare to Reference Week: ' +percent + '%';\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t},\n /*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['week',\t[1] ]]\n },*/\n },{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Current',\n data: [current],\n yAxis: 1,\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },*/\n\t\t},{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Reference Week',\n data: [flightWeeklyIndicator],\n yAxis: 1,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: 'Reference Week {point.y}
'\n\t\t\t},\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },*/\n\t\t},/*{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Daily Indicator',\n data: [daily[flightNumberIndicator*7]],\n\t\t\t\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: 'Daily Indicator {point.y}
'\n\t\t\t},\n\t\t},*/\n\t\t]\n\n\t});\n}\n\nfunction countryNumChart(data,category){\n\tvar daily = [];\n\tvar weekly = [];\n\tfor(var i = 0; i < data.length; i++)\n\t{\n\t\tdaily.push([(new Date(category[i]).getTime()),data[i]]);\n\t}\n\t\n\tvar start;\n\tfor(var i = category.length -1 ; i >=0; i--)\n\t{\n\t\tif((new Date(category[i]).getUTCDay()) == 0)\n\t\t{\n\t\t\tstart = (new Date(category[i]).getTime() - 6*24*60*60*1000);\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tfor(var i = (new Date(start)).getTime(); i >= (new Date(category[0])).getTime(); i = (i- 7*24*60*60*1000))\n\t{\n\t\tvar countWeekly = 0\n\t\tvar temp = [];\n\t\tfor(var j = 0; j < result.length; j++)\n\t\t{\n\t\t\tif((new Date(result[j].date) >=i) &&(new Date(result[j].date) < (i+ 7*24*60*60*1000)))\n\t\t\t{\n\t\t\t\ttemp.push(result[j]);\n\t\t\t}\n\t\t}\n\t\tweekly.push([i,stateTotal(temp).length]);\n\t\t\t\t\n\t}\n\n\tweekly.reverse();\n\n\tvar temp = new Date(selectIndicator).getTime();\n\tvar temp2 = temp + 7*24*60*60*1000;\n\tvar flightDailyIndicator;\n\tvar flightWeeklyIndicator;\n\t\n\tfor(var i = 0; i < weekly.length; i++)\n\t{\n\t\tif(weekly[i][0]>= temp && weekly[i][0] {point.y} Countries(Territories)'\n\t\t\t},\n }, {\n type: 'line',\n\t\t\tmarker:{enabled:true,radius:3},\n\t\t\tdataLabels:{enabled:true},\n name: 'Total weekly destination countries / territotires',\n data: weekly,\n yAxis: 1,\n\t\t\ttooltip: {\n\t\t\t\tpointFormatter: function(){\n\t\t\t\t\tvar percent = (((this.y / flightWeeklyIndicator[1] -1)*100).toFixed(2));\n\t\t\t\t\tif(parseFloat(percent) > 0)\n\t\t\t\t\t\tpercent = \"+\" + percent;\n\t\t\t\t\treturn 'Total weekly destination countries / territotires '+this.y+'
Compare to Reference Week: ' +percent + '%';\n\t\t\t\t}\t\n\t\t\t},\n /*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['week',\t[1] ]]\n },*/\n },{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Current',\n data: [current],\n yAxis: 1,\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },*/\n\t\t},{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Reference Week',\n data: [flightWeeklyIndicator],\n yAxis: 1,\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: 'Weekly Indicator {point.y}
'\n\t\t\t},\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },*/\n\t\t},/*{\n\t\t\ttype: 'line',\n\t\t\tmarker:{enabled:true,radius:6},\n\t\t\tdataLabels:{enabled:true},\n name: 'Daily Indicator',\n data: [daily[flightNumberIndicator*7]],\n\t\t\t\n\t\t\t/*dataGrouping:{\n type:\"line\",\n approximation:\"sum\",\n forced:true,\n units: [['day',\t[1] ]]\n },\n\t\t\ttooltip: {\n\t\t\t\tpointFormat: 'Daily Indicator {point.y}
'\n\t\t\t},\n\t\t},*/\n\t\t]\n\n\t});\n}\n\nfunction getDateString(dd){\n var y = dd.getUTCFullYear();\n var m = dd.getUTCMonth()+1;\n var d = dd.getUTCDate();\n if(m < 10)\n {\n if(d < 10)\n return y+\"-0\"+m+\"-0\"+d;\n else\n return y+\"-0\"+m+\"-\"+d;\n }\n else{\n if(d<10)\n return y+\"-\"+m+\"-0\"+d;\n else\n return y+\"-\"+m+\"-\"+d;\n }\n}\n\nfunction compareData(){\n\tif(($(\"#daySelect :selected\").text() ==\"\")||(($(\"#weekSelect :selected\").text() ==\"\")))\n\t{\n\t\t\talert(\"selected data is null!\");\n\t\t\treturn;\n\t}\n\tconsole.log($(\"#daySelect :selected\").text());\n\t$(\"#aDay\").text(($(\"#daySelect :selected\").text()));\n\t$(\"#aWeek\").text($(\"#weekSelect :selected\").text());\n\n\t//$.getJSON(\"http://test.anbdata.com:8000/anb/app/who/getdeparture_stat?callback=?\",{fromDate:($(\"#weekSelect :selected\").text()),toDate:getDateString(new Date(new Date(($(\"#weekSelect :selected\").text())).getTime()+6*24*60*60*1000)),airports:airportsList},function(res){\n\t$.getJSON(\"https://api.anbdata.com/anb/app/who/getdeparture_stat?callback=?\",{fromDate:($(\"#weekSelect :selected\").text()),toDate:getDateString(new Date(new Date(($(\"#weekSelect :selected\").text())).getTime()+6*24*60*60*1000)),airports:airportsList},function(res){\n if (res.error) {\n alert(\"Failed to search!\")}\n else {\n\t\t\t\tif(res.length == 0)\n\t\t\t\t{\n\t\t\t\t\talert(\"No Data! Please choose another date!\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconsole.log(res);\n\t\t\t\tvar dayOfWeek = new Date($(\"#daySelect :selected\").text()).getUTCDay();\n\t\t\t\tif(dayOfWeek == 0)\n\t\t\t\t\tdayOfWeek = 7;\n\t\t\t\t\n\t\t\t\tvar temp = mergeNumbers(getDateString(new Date(new Date(($(\"#weekSelect :selected\").text())).getTime()+(dayOfWeek - 1)*24*60*60*1000)),res);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconsole.log(getDateString(new Date(new Date(($(\"#weekSelect :selected\").text())).getTime()+(dayOfWeek - 1)*24*60*60*1000)));\n\t\t\t\tconsole.log(new Date($(\"#daySelect :selected\").text()).getUTCDay() - 1);\n\t\t\t\t\n\t\t\t\tvar selectDayData;\n\t\t\t\tfor(var i = 0 ; i < result.length; i++)\n\t\t\t\t{\n\t\t\t\t\tif(result[i].date == $(\"#daySelect :selected\").text())\n\t\t\t\t\t{\n\t\t\t\t\t\tselectDayData = result[i];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconsole.log(selectDayData);\n\t\t\t\tconsole.log(temp);\n\t\t\t\tif(temp.length == 0)\n\t\t\t\t{\n\t\t\t\t alert(\"No Data! Please choose another Comparing week!\");\n return\n\t\t\t\t}\n\t\t\t\n\t\t\t\tAddCompareList(temp,selectDayData);\n\t\t\t\t\n\t\t\t\tvar flightNum = 0;\n\t\t\t\tvar flightCompareNum = 0;\n\t\t\t\tvar countryNum = 0;\n\t\t\t\tvar countryCompareNum = 0;\n\t\t\t\tfor(var i = 0 ; i < selectDayData.airportList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tflightCompareNum = flightCompareNum + selectDayData.airportList[i].count;\n\t\t\t\t}\n\t\t\t\tfor(var i = 0 ; i < selectDayData.countryList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tcountryCompareNum = countryCompareNum + 1;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor(var i = 0 ; i < temp[0].airportList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tflightNum = flightNum + temp[0].airportList[i].count;\n\t\t\t\t}\n\t\t\t\tfor(var i = 0 ; i < temp[0].countryList.length; i++)\n\t\t\t\t{\n\t\t\t\t\tcountryNum = countryNum + 1;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tshowIndicators(flightNum,flightCompareNum,countryNum,countryCompareNum);\n\t\t\t}\n\t});\n}\n\nfunction showIndicators(flightNum,flightCompareNum,countryNum,countryCompareNum){\n\t$('#countryCompareDiv').empty();\n\t$('#flightCompareDiv').empty();\n\tvar temp1 = flightNum - flightCompareNum;\n\tvar temp2 = countryNum - countryCompareNum;\n\tvar country = \"\";\n\tvar flight = \"\";\n\t\n\tif(temp2 >0)\n\t{\n\t\tcountry = \"\";\n\t\ttemp2 = \"+\" + temp2;\n\t}\n\t\n\tif(temp2 == 0)\n\t{\n\t\tcountry = \"\";\n\t\ttemp2 = \"+\" + temp2;\n\t}\n\t\n\tif(temp1 >0)\n\t{\n\t\tflight = \"\";\n\t\ttemp1 = \"+\" + temp1;\n\t}\n\t\n\tif(temp1 == 0)\n\t{\n\t\tflight = \"\";\n\t\ttemp1 = \"+\" + temp1;\n\t}\n\t\n\t$('#countryCompareDiv').append(\"\"+country+\"\"+\n\t\t\t\t\t\t\t\t\t\"\"+\n\t\t\t\t\t\t\t\t\t\"

Country or Territory Number

\"+\n\t\t\t\t\t\t\t\t\t\"

\"+countryNum+\" (\"+ temp2 +\")

\"+\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\n\t$('#flightCompareDiv').append(\"\"+flight+\"\"+\n\t\t\t\t\t\t\t\t\t\"\"+\n\t\t\t\t\t\t\t\t\t\"

Flight Number

\"+\n\t\t\t\t\t\t\t\t\t\"

\"+flightNum+\" (\"+ temp1 +\")

\"+\n\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t);\n}\n\n\nfunction mergeNumbers(date,data)\n{\n\t//console.log(date);\n\t//console.log(data);\n\tvar temp = [];\n\tfor(var i = 0 ; i < data.length; i++)\n\t{\n\t\tif(data[i]._id.date == date)\n\t\t{\t\t\t\n\t\t\tvar flag = true;\n\t\t\t\t\tfor(var j = 0; j < temp.length; j++)\n\t\t\t\t\t{\n\t\t\t\t\t\tif(temp[j].date == data[i]._id.date){\n\t\t\t\t\t\t\tflag = false;\n\t\t\t\t\t\t\tfor(var m = 0; m < data[i].airportList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].airportList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].airportList[n].airport == data[i].airportList[m].airport)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].airportList[n].count = temp[j].airportList[n].count + data[i].airportList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(data[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].airportList.push(data[i].airportList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tfor(var m = 0; m < data[i].countryList.length; m ++)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvar flag1 = true;\n\t\t\t\t\t\t\t\tfor(var n = 0; n < temp[j].countryList.length; n ++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif(temp[j].countryList[n].countryName == data[i].countryList[m].countryName)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tflag1 = false;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\ttemp[j].countryList[n].count = temp[j].countryList[n].count + data[i].countryList[m].count;\n\t\t\t\t\t\t\t\t\t\t//console.log(temp[j].airportList[n].count);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(flag1)\n\t\t\t\t\t\t\t\t\t//console.log(data[i].airportList[m]);\n\t\t\t\t\t\t\t\t\ttemp[j].countryList.push(data[i].countryList[m]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(flag)\n\t\t\t\t\t{\n\t\t\t\t\t\ttemp.push({date:data[i]._id.date,airportList:data[i].airportList,countryList:data[i].countryList});\n\t\t\t\t\t}\n\t\t}\n\t}\n\t\n\t//console.log(temp);\n\treturn temp;\n}\n\n\nfunction weekSelectChange(value)\n{\n\tselectIndicator = value;\n\t//console.log(value);\n\treferenceWeek = referenceWeekDate();\n\tAddCountryList();\n\tAddAirportList();\n\tflightNumChart(airportChartData1,categoryData1);\n\tcountryNumChart(stateChartData1,categoryData1);\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,"content":"\t.boxes {\n\t\tpadding-left: 20px;\n\t\tmax-height: 200px;\n\t\toverflow: auto;\n\t\twidth: auto;\n\t}\n\t\n\t.loader {\n\t border: 16px solid #f3f3f3;\n\t border-radius: 50%;\n\t border-top: 16px solid #3498db;\n\t width: 120px;\n\t height: 120px;\n\t -webkit-animation: spin 2s linear infinite;\n\t animation: spin 2s linear infinite;\n\t}\n\t@-webkit-keyframes spin {\n\t 0% { -webkit-transform: rotate(0deg); }\n\t 100% { -webkit-transform: rotate(360deg); }\n\t}\n\n\t@keyframes spin {\n\t 0% { transform: rotate(0deg); }\n\t 100% { transform: rotate(360deg); }\n\t}\n\n\t.topPadding{\n\t\tpadding-top: 40px;\n\t}"},"jade":{"file":{"type":"","url":"","link":"","message":{"error":true,"text":"File not defined"}},"title":"Jade","activated":true,"name":"jade","linkedtofile":false,"optional":false,"content":".container\n .panel.panel-info\n .panel-heading\n h3#gtitle(style='text-align:center') Description\n .panel-body\n .row(style='text-align:center')\n p\n h4\n strong\n | System Required: \n\n | Chrome is the best Brower to the Application. IE Edge is also supported. While some older versions of IE may not be supported. \n \n p\n .alert.alert-warning Please note that due to a technical problem, no data is available for the period from 13 July to 21 July. \n | All statistics presented including that time period should not be used.\n #description_panel.panel.panel-info\n .panel-heading\n h3#gtitle(style='text-align:center') General Trends\n .panel-body\n .row\n .col-xs-6\n label(for='StateSelect') Select a State or Territory\n select#StateSelect.form-control(onchange='show_airports(this.options[this.options.selectedIndex].value)')\n option(value='AFG') Afghanistan\n option(value='ALB') Albania\n option(value='DZA') Algeria\n option(value='ASM') Amer Samoa\n option(value='USA') Angola\n option(value='AIA') Anguilla\n option(value='XJV') Antarctica (Arg)\n option(value='XJY') Antarctica (Aus, NZ)\n option(value='ATG') Antigua\n option(value='ARG') Argentina\n option(value='COL') Armenia\n option(value='XJS') Aruba\n option(value='XJC') Ascension Island\n option(value='AUS') Australia\n option(value='AUT') Austria\n option(value='AZE') Azerbaijan\n option(value='XJI') Azores\n option(value='BHS') Bahamas\n option(value='BHR') Bahrain\n option(value='BGD') Bangladesh\n option(value='BRB') Barbados\n option(value='BLR') Belarus\n option(value='BEL') Belgium\n option(value='BLZ') Belize\n option(value='LBY') Benin\n option(value='USA') Bermuda\n option(value='BTN') Bhutan\n option(value='BOL') Bolivia\n option(value='BIH') Bosnia-Herzegovina\n option(value='BWA') Botswana\n option(value='BRA') Brazil\n option(value='VGB') British Virgin Is\n option(value='BRN') Brunei\n option(value='BGR') Bulgaria\n option(value='BFA') Burkina Faso\n option(value='BDI') Burundi\n option(value='XJL') Caicos Is\n option(value='KHM') Cambodia\n option(value='CMR') Cameroon\n option(value='CAN') Canada\n option(value='XJE') Canary Is\n option(value='CPV') Cape Verde\n option(value='CYM') Cayman Is\n option(value='CAF') Central African Republic\n option(value='TCD') Chad\n option(value='XJD') Chagos Archipelago\n option(value='CHL') Chile\n option(value='CHN') China\n option(value='COL') Colombia\n option(value='COM') Comoros\n option(value='COD') Congo, Dr Of\n option(value='COG') Congo, Rep Of\n option(value='COK') Cook Is\n option(value='CRI') Costa Rica\n option(value='HRV') Croatia\n option(value='USA') Cuba\n option(value='CYP') Cyprus\n option(value='CZE') Czech\n option(value='PRK') DPR of Korea\n option(value='XJU') Dakhla/Laayoune\n option(value='DNK') Denmark\n option(value='DJI') Djibouti\n option(value='DOM') Dom Rep\n option(value='DMA') Dominica\n option(value='XJP') Easter Island\n option(value='ECU') Ecuador\n option(value='EGY') Egypt\n option(value='SLV') El Salvador\n option(value='GNQ') Eq Guinea\n option(value='ERI') Eritrea\n option(value='EST') Estonia\n option(value='ETH') Ethiopia\n option(value='FLK') Falkland Is\n option(value='FRO') Faroe Is\n option(value='FJI') Fiji Is\n option(value='FIN') Finland\n option(value='FRA') France\n option(value='GUF') French Guiana\n option(value='PYF') French Pacific O.T.\n option(value='GAB') Gabon\n option(value='GMB') Gambia\n option(value='USA') Georgia\n option(value='DEU') Germany\n option(value='GHA') Ghana\n option(value='USA') Gibraltar\n option(value='GRC') Greece\n option(value='GRL') Greenland\n option(value='USA') Grenada\n option(value='GLP') Guadeloupe\n option(value='GUM') Guam\n option(value='GTM') Guatemala\n option(value='GIN') Guinea Rep\n option(value='GNB') Guinea-Bissau\n option(value='GUY') Guyana\n option(value='HTI') Haiti\n option(value='HND') Honduras\n //option(value='HKG') Hong Kong(China)\n option(value='HUN') Hungary\n option(value='ISL') Iceland\n option(value='USA') India\n option(value='IDN') Indonesia\n option(value='IRN') Iran\n option(value='IRQ') Iraq\n option(value='IRL') Ireland\n option(value='ISR') Israel\n option(value='ITA') Italy\n option(value='CIV') Ivory Coast\n option(value='JAM') Jamaica\n option(value='JPN') Japan\n option(value='USA') Jerusalem\n option(value='USA') Jordan\n option(value='KAZ') Kazakhstan\n option(value='KEN') Kenya\n option(value='KIR') Kiribati\n option(value='KOR') Korea\n option(value='KWT') Kuwait\n option(value='KGZ') Kyrgyzstan\n option(value='LAO') Laos\n option(value='LVA') Latvia\n option(value='USA') Lebanon\n option(value='LSO') Lesotho\n option(value='LBR') Liberia\n option(value='LBY') Libyan Arab Jamahiriya\n option(value='LTU') Lithuania\n option(value='LUX') Luxembourg\n //option(value='MAC') Macao(China)\n option(value='MKD') Macedonia, F Y R\n option(value='MDG', selected='') Madagascar\n option(value='PRT') Madeira Is\n option(value='MWI') Malawi\n option(value='MYS') Malaysia\n option(value='MDV') Maldives\n option(value='MLI') Mali\n option(value='USA') Malta\n option(value='MHL') Marshall Is\n option(value='MTQ') Martinique\n option(value='MRT') Mauritania\n option(value='MUS') Mauritius\n option(value='MYT') Mayotte\n option(value='XJF') Melilla\n option(value='USA') Mexico\n option(value='FSM') Micronesia\n option(value='MID') Midway Is\n option(value='XJB') Miquelon Is\n option(value='MDA') Moldova\n option(value='MNG') Mongolia\n option(value='MNE') Montenegro\n option(value='MSR') Montserrat Is\n option(value='MAR') Morocco\n option(value='MOZ') Mozambique\n option(value='MMR') Myanmar\n option(value='NAM') Namibia\n option(value='NRU') Nauru\n option(value='NPL') Nepal\n option(value='ANT') Neth Antilles\n option(value='NLD') Netherlands\n option(value='XJR') Nevis Is\n option(value='NCL') New Caledonia\n option(value='NZL') New Zealand\n option(value='NIC') Nicaragua\n option(value='NGA') Niger\n option(value='NGA') Nigeria\n option(value='NIU') Niue\n option(value='XJO') Northern Mariana Is\n option(value='NOR') Norway\n option(value='OMN') Oman\n option(value='PNG') PNG\n option(value='PAK') Pakistan\n option(value='PLW') Palau\n option(value='PAN') Panama\n option(value='PNG') Papua New Guinea\n option(value='PRY') Paraguay\n option(value='USA') Peru\n option(value='PHL') Philippines\n option(value='POL') Poland\n option(value='PRT') Portugal\n option(value='PRI') Puerto Rico\n option(value='QAT') Qatar\n option(value='REU') Reunion\n option(value='ROU') Romania\n option(value='USA') Russia\n option(value='RWA') Rwanda\n option(value='SHN') Saint Helena\n option(value='STP') Sao Tome & Principe\n option(value='SAU') Saudi Arabia\n option(value='SEN') Senegal\n option(value='SCG') Serbia-Mont.\n option(value='SYC') Seychelles\n option(value='SLE') Sierra Leone\n option(value='SGP') Singapore\n option(value='SVK') Slovakia\n option(value='SVN') Slovenia\n option(value='SLB') Solomon Is\n option(value='SOM') Somalia\n option(value='ZAF') South African Rep\n option(value='SSD') South Sudan\n option(value='USA') Spain\n option(value='LKA') Sri Lanka\n option(value='KNA') St Kitts And Nevis\n option(value='LCA') St Lucia\n option(value='SPM') St Pierre Is\n option(value='VCT') St Vincent\n option(value='SDN') Sudan\n option(value='SUR') Suriname\n option(value='SWZ') Swaziland\n option(value='SWE') Sweden\n option(value='CHE') Switzerland\n option(value='SYR') Syria\n //option(value='TWN') Taiwan (China)\n option(value='TJK') Tajikistan\n option(value='TZA') Tanzania\n option(value='THA') Thailand\n option(value='TLS') Timor-Leste\n option(value='XJT') Tobago Is\n option(value='TGO') Togo\n option(value='TON') Tonga\n option(value='TTO') Trinidad\n option(value='XJN') Tuamotu\n option(value='TUN') Tunisia\n option(value='XJG') Turkey\n option(value='XJG') Turkey-Rep Of N Cyp\n option(value='TKM') Turkmenistan\n option(value='TCA') Turks Is\n option(value='TUV') Tuvalu\n option(value='ARE') UAE\n option(value='USA') UK\n option(value='USA') USA\n option(value='UGA') Uganda\n option(value='UKR') Ukraine\n option(value='URY') Uruguay\n option(value='UZB') Uzbekistan\n option(value='VUT') Vanuatu\n option(value='VEN') Venezuela\n option(value='VNM') Vietnam\n option(value='VIR') Virgin Islands\n option(value='WSM') W Samoa\n option(value='XJW') Wake Is\n option(value='WLF') Wallis Is\n option(value='YEM') Yemen\n option(value='ZMB') Zambia\n option(value='ZWE') Zimbabwe\n .col-xs-6\n label(for='weekSelect1') Select a reference week\n select#weekSelect1.form-control(onchange='weekSelectChange(this.options[this.options.selectedIndex].value)')\n br\n .row\n .row(style='text-align:center')\n p\n h3\n strong Departures \n p\n .row(style='text-align:center')\n p\n h4\n | ( \n label.fromDate\n | -- \n label.toDate\n | )\n p\n br\n #loading.loader\n .row\n #DepFlightContainer(style='min-width: 310px; max-width: 800px; height: 500px; margin: 0 auto')\n br\n .row\n .row(style='text-align:center')\n p\n h3\n strong Destination Countries / Territories \n p\n .row(style='text-align:center')\n p\n h4\n | ( \n label.fromDate\n | -- \n label.toDate\n | )\n p\n .row\n #countryNumContainer(style='min-width: 310px; max-width: 800px; height: 500px; margin: 0 auto;')\n .row\n .row.topPadding(style='text-align:center')\n p\n h3 Details on Departures and Destinations \n p\n .row(style='text-align:center')\n p\n h4 Proceeding 7 days\n p\n .row(style='text-align:center')\n p\n h4\n | ( \n label#fromDate1\n | -- \n strong\n label#toDate1\n | )\n p\n .row\n #countryList.col-xs-6\n // \n table#stateTable.table.table-striped\n thead\n tr\n th Destination Country / Territory \n th\n | Departures \n br\n | (7 days)\n th Growth (Compare to Reference Week)\n tbody\n #airportList.col-xs-6\n // \n table#airportTable.table.table-striped\n thead\n tr\n th Destination Airport\n th\n | Departures \n br\n | (7 days)\n th Growth (Compare to Reference Week)\n tbody\n .panel.panel-info(id='')\n .panel-heading\n h3(style='text-align:center') Indicators Comparison\n .panel-body\n .row\n .col-xs-6\n label(for='daySelect') Select a day\n select#daySelect.form-control(onchange='(this.options[this.options.selectedIndex].value)')\n .col-xs-6\n label(for='weekSelect') Compare with the week start from\n select#weekSelect.form-control(onchange='(this.options[this.options.selectedIndex].value)')\n br\n .row(style='padding-left: 15px;')\n button.btn.btn-primary(onclick='compareData()') Compare\n .row\n .row(style='text-align:center;padding-top: 40px;')\n p\n h4\n | The Day \n strong\n label#aDay\n | compare to the week start from \n strong\n label#aWeek \n p\n .row\n #countryCompareList.col-xs-6\n label Country or Territory Comparison\n table#stateCompareTable.table.table-striped\n thead\n tr\n th Arrival Country or Territory\n th Flight Number\n th\n tbody\n .col-xs-6\n br\n br\n br\n br\n table(width='100%')\n tbody\n tr\n td\n div\n table#countryCompareDiv.table.table-bordered(width='100%')\n tbody\n tr\n td\n div\n table#flightCompareDiv.table.table-bordered(width='100%')\n tbody\n .panel.panel-info\n .panel-heading\n h3(style='text-align:center') Airport Trends\n .panel-body\n .row\n .col-xs-6\n label(for='StateSelect2') Select a State or Region\n select#StateSelect2.form-control(onchange='show_airports2(this.options[this.options.selectedIndex].value)')\n option(value='AFG') Afghanistan\n option(value='ALB') Albania\n option(value='DZA') Algeria\n option(value='ASM') Amer Samoa\n option(value='USA') Angola\n option(value='AIA') Anguilla\n option(value='XJV') Antarctica (Arg)\n option(value='XJY') Antarctica (Aus, NZ)\n option(value='ATG') Antigua\n option(value='ARG') Argentina\n option(value='COL') Armenia\n option(value='XJS') Aruba\n option(value='XJC') Ascension Island\n option(value='AUS') Australia\n option(value='AUT') Austria\n option(value='AZE') Azerbaijan\n option(value='XJI') Azores\n option(value='BHS') Bahamas\n option(value='BHR') Bahrain\n option(value='BGD') Bangladesh\n option(value='BRB') Barbados\n option(value='BLR') Belarus\n option(value='BEL') Belgium\n option(value='BLZ') Belize\n option(value='LBY') Benin\n option(value='USA') Bermuda\n option(value='BTN') Bhutan\n option(value='BOL') Bolivia\n option(value='BIH') Bosnia-Herzegovina\n option(value='BWA') Botswana\n option(value='BRA') Brazil\n option(value='VGB') British Virgin Is\n option(value='BRN') Brunei\n option(value='BGR') Bulgaria\n option(value='BFA') Burkina Faso\n option(value='BDI') Burundi\n option(value='XJL') Caicos Is\n option(value='KHM') Cambodia\n option(value='CMR') Cameroon\n option(value='CAN') Canada\n option(value='XJE') Canary Is\n option(value='CPV') Cape Verde\n option(value='CYM') Cayman Is\n option(value='CAF') Central African Republic\n option(value='TCD') Chad\n option(value='XJD') Chagos Archipelago\n option(value='CHL') Chile\n option(value='CHN') China\n option(value='COL') Colombia\n option(value='COM') Comoros\n option(value='COD') Congo, Dr Of\n option(value='COG') Congo, Rep Of\n option(value='COK') Cook Is\n option(value='CRI') Costa Rica\n option(value='HRV') Croatia\n option(value='USA') Cuba\n option(value='CYP') Cyprus\n option(value='CZE') Czech\n option(value='PRK') DPR of Korea\n option(value='XJU') Dakhla/Laayoune\n option(value='DNK') Denmark\n option(value='DJI') Djibouti\n option(value='DOM') Dom Rep\n option(value='DMA') Dominica\n option(value='XJP') Easter Island\n option(value='ECU') Ecuador\n option(value='EGY') Egypt\n option(value='SLV') El Salvador\n option(value='GNQ') Eq Guinea\n option(value='ERI') Eritrea\n option(value='EST') Estonia\n option(value='ETH') Ethiopia\n option(value='FLK') Falkland Is\n option(value='FRO') Faroe Is\n option(value='FJI') Fiji Is\n option(value='FIN') Finland\n option(value='FRA') France\n option(value='GUF') French Guiana\n option(value='PYF') French Pacific O.T.\n option(value='GAB') Gabon\n option(value='GMB') Gambia\n option(value='USA') Georgia\n option(value='DEU') Germany\n option(value='GHA') Ghana\n option(value='USA') Gibraltar\n option(value='GRC') Greece\n option(value='GRL') Greenland\n option(value='USA') Grenada\n option(value='GLP') Guadeloupe\n option(value='GUM') Guam\n option(value='GTM') Guatemala\n option(value='GIN') Guinea Rep\n option(value='GNB') Guinea-Bissau\n option(value='GUY') Guyana\n option(value='HTI') Haiti\n option(value='HND') Honduras\n //option(value='HKG') Hong Kong(China)\n option(value='HUN') Hungary\n option(value='ISL') Iceland\n option(value='USA') India\n option(value='IDN') Indonesia\n option(value='IRN') Iran\n option(value='IRQ') Iraq\n option(value='IRL') Ireland\n option(value='ISR') Israel\n option(value='ITA') Italy\n option(value='CIV') Ivory Coast\n option(value='JAM') Jamaica\n option(value='JPN') Japan\n option(value='USA') Jerusalem\n option(value='USA') Jordan\n option(value='KAZ') Kazakhstan\n option(value='KEN') Kenya\n option(value='KIR') Kiribati\n option(value='KOR') Korea\n option(value='KWT') Kuwait\n option(value='KGZ') Kyrgyzstan\n option(value='LAO') Laos\n option(value='LVA') Latvia\n option(value='USA') Lebanon\n option(value='LSO') Lesotho\n option(value='LBR') Liberia\n option(value='LBY') Libyan Arab Jamahiriya\n option(value='LTU') Lithuania\n option(value='LUX') Luxembourg\n //option(value='MAC') Macao(China)\n option(value='MKD') Macedonia, F Y R\n option(value='MDG', selected='') Madagascar\n option(value='PRT') Madeira Is\n option(value='MWI') Malawi\n option(value='MYS') Malaysia\n option(value='MDV') Maldives\n option(value='MLI') Mali\n option(value='USA') Malta\n option(value='MHL') Marshall Is\n option(value='MTQ') Martinique\n option(value='MRT') Mauritania\n option(value='MUS') Mauritius\n option(value='MYT') Mayotte\n option(value='XJF') Melilla\n option(value='USA') Mexico\n option(value='FSM') Micronesia\n option(value='MID') Midway Is\n option(value='XJB') Miquelon Is\n option(value='MDA') Moldova\n option(value='MNG') Mongolia\n option(value='MNE') Montenegro\n option(value='MSR') Montserrat Is\n option(value='MAR') Morocco\n option(value='MOZ') Mozambique\n option(value='MMR') Myanmar\n option(value='NAM') Namibia\n option(value='NRU') Nauru\n option(value='NPL') Nepal\n option(value='ANT') Neth Antilles\n option(value='NLD') Netherlands\n option(value='XJR') Nevis Is\n option(value='NCL') New Caledonia\n option(value='NZL') New Zealand\n option(value='NIC') Nicaragua\n option(value='NGA') Niger\n option(value='NGA') Nigeria\n option(value='NIU') Niue\n option(value='XJO') Northern Mariana Is\n option(value='NOR') Norway\n option(value='OMN') Oman\n option(value='PNG') PNG\n option(value='PAK') Pakistan\n option(value='PLW') Palau\n option(value='PAN') Panama\n option(value='PNG') Papua New Guinea\n option(value='PRY') Paraguay\n option(value='USA') Peru\n option(value='PHL') Philippines\n option(value='POL') Poland\n option(value='PRT') Portugal\n option(value='PRI') Puerto Rico\n option(value='QAT') Qatar\n option(value='REU') Reunion\n option(value='ROU') Romania\n option(value='USA') Russia\n option(value='RWA') Rwanda\n option(value='SHN') Saint Helena\n option(value='STP') Sao Tome & Principe\n option(value='SAU') Saudi Arabia\n option(value='SEN') Senegal\n option(value='SCG') Serbia-Mont.\n option(value='SYC') Seychelles\n option(value='SLE') Sierra Leone\n option(value='SGP') Singapore\n option(value='SVK') Slovakia\n option(value='SVN') Slovenia\n option(value='SLB') Solomon Is\n option(value='SOM') Somalia\n option(value='ZAF') South African Rep\n option(value='SSD') South Sudan\n option(value='USA') Spain\n option(value='LKA') Sri Lanka\n option(value='KNA') St Kitts And Nevis\n option(value='LCA') St Lucia\n option(value='SPM') St Pierre Is\n option(value='VCT') St Vincent\n option(value='SDN') Sudan\n option(value='SUR') Suriname\n option(value='SWZ') Swaziland\n option(value='SWE') Sweden\n option(value='CHE') Switzerland\n option(value='SYR') Syria\n //option(value='TWN') Taiwan (China)\n option(value='TJK') Tajikistan\n option(value='TZA') Tanzania\n option(value='THA') Thailand\n option(value='TLS') Timor-Leste\n option(value='XJT') Tobago Is\n option(value='TGO') Togo\n option(value='TON') Tonga\n option(value='TTO') Trinidad\n option(value='XJN') Tuamotu\n option(value='TUN') Tunisia\n option(value='XJG') Turkey\n option(value='XJG') Turkey-Rep Of N Cyp\n option(value='TKM') Turkmenistan\n option(value='TCA') Turks Is\n option(value='TUV') Tuvalu\n option(value='ARE') UAE\n option(value='USA') UK\n option(value='USA') USA\n option(value='UGA') Uganda\n option(value='UKR') Ukraine\n option(value='URY') Uruguay\n option(value='UZB') Uzbekistan\n option(value='VUT') Vanuatu\n option(value='VEN') Venezuela\n option(value='VNM') Vietnam\n option(value='VIR') Virgin Islands\n option(value='WSM') W Samoa\n option(value='XJW') Wake Is\n option(value='WLF') Wallis Is\n option(value='YEM') Yemen\n option(value='ZMB') Zambia\n option(value='ZWE') Zimbabwe\n br\n label(for='fromDate') From Date: \n p\n input#fromDatepicker.form-control(type='text')\n label(for='fromDate') To Date: \n p\n input#toDatepicker.form-control(type='text')\n .col-xs-6\n label(for='airportSelect') Select Airports\n .boxes\n #airportSelect\n br\n .row\n br\n .row(style='padding-left: 15px;')\n button.btn.btn-primary(onclick='getFlightData2()') Submit\n br\n #loading2.loader\n .row.col-xs-8\n p\n h4\n strong Depature Flights Number\n p\n .row\n #DepFlightContainer2(style='min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto')\n br\n .row.col-xs-8\n p\n h4\n strong Connected Countries(Regions) Number\n p\n .row\n #countryNumContainer2(style='min-width: 310px; max-width: 800px; height: 400px; margin: 0 auto;')\n .row.topPadding\n #countryList2.col-xs-6\n label List of Connected State or Territory\n table#stateTable2.table.table-striped\n thead\n tr\n th State or Territory\n th Flights Number\n th\n tbody\n #airportList2.col-xs-6\n label List of Connected Airport\n table#airportTable2.table.table-striped\n thead\n tr\n th Airport\n th Flights Number\n th\n tbody\n .panel.panel-info(id='')\n .panel-heading\n h3(style='text-align:center') Disease Information\n .panel-body\n .row\n .col-xs-5\n a.twitter-timeline(data-height='810', href='https://twitter.com/WHO') Tweets by WHO\n script(async='', src='https://platform.twitter.com/widgets.js', charset='utf-8')\n .col-xs-7\n label\n h4 NOTAMS Information\n label\n | tags for plague: plague, bubonic, pneumonic, Yersinia pestis (bacterial species)\n br\n | \t\t\t\t\t\t\t\ttags for ebola: ebola, haemorrhagic, fever, Filoviridae \n br\n | \t\t\t\t\t\t\t\ttags for yellow fever: yellow fever, virus, mosquito\n br\n | \t\t\t\t\t\t\t\ttags for diseases in general: contagious, disease, infection, outbreak, epidemic, bacteria, virus, protozoa\n br\n | \t\t\t\t\t\t\t\ttags for diseases + aviation: quarantine, isolate, infect\n br\n #notams(style='height:600;overflow:auto;')\n table#notamsTable.table.table-striped\n thead\n tr\n th\n tbody\n br\n br\n div\n div(align='center')\n iframe(src='http://www.who.int/csr/don/en/', frameborder='0', marginwidth='0', marginheight='0', style='width:100%;height:500px;')\n"},"morejs":[{"url":"https://code.jquery.com/ui/1.12.1/jquery-ui.js"}],"morecss":[{"url":"https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"},{"url":"https://jqueryui.com/resources/demos/style.css"}],"capture":"https://quipslibistars.s3.amazonaws.com/prod/5c1c21b205c09f70bfe60eeeeb46316af89506e9/capture.png","deploydate":"2018-11-22T20:06:51.941Z","sharedwith":["5c04aaa2efdd71e72faa0419","5969034e9b111eaf654f4aab"],"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"},{"_id":"57f7f99b7534189495eb5d90","description":"highcharts extension","key":"","version":"4.2.5","link":"https://cdnjs.cloudflare.com/ajax/libs/highstock/4.2.5/highstock.js","name":"highstock","haskey":false,"required":false,"website":"www.highcharts.com"}],"host":"https://quips.anbdata.com","version":"dev"} 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]() } } }) }