
var stationLayers=new Array();var userFeedbackLayers=new Array();var tileLayerArray=new Array();var tileLayerCheckboxArray=new Array();var stationLayer=null;var userfeedbackLayer=null;var pushpinLayer=null;var infoboxLayer=null;var tileLayerLayer=null;var heatmapTileLayer=null;var userfeedbackAirLightmapTileLayer=null;var userfeedbackWaterLightmapTileLayer=null;var airstationLightmapTileLayer=null;var waterstationLightmapTileLayer=null;var rememberedFirstWatch=null;var defaultSelectedWatch="Air";var defaultSelectedLayers=["AirStations"];function FakeTileSourcesForDevelopment(){var url="http://eyeonearth.blob.core.windows.net/";var heatmapUrl=url+"heatmaptileserver/{quadkey}.png";var userfeedbackAirUrl=url+"userfeedbackairlightmap/{quadkey}.png";var userfeedbackWaterUrl=url+"userfeedbackwaterlightmap/{quadkey}.png";var airstationUrl=url+"airstationlightmap/{quadkey}.png";var waterstationUrl=url+"waterstationlightmap/{quadkey}.png";for(var i in tileLayerPropertyBagArray){switch(tileLayerPropertyBagArray[i].getLayerName()){case"AirUserFeedback":tileLayerPropertyBagArray[i].setTileLayerUri(userfeedbackAirUrl);break;case"AirQualityModel":tileLayerPropertyBagArray[i].setTileLayerUri(heatmapUrl);break;case"AirStations":tileLayerPropertyBagArray[i].setTileLayerUri(airstationUrl);break;case"Airport":tileLayerPropertyBagArray[i].setTileLayerUri(heatmapUrl);break;case"SeasonalWater":tileLayerPropertyBagArray[i].setTileLayerUri(heatmapUrl);break;case"WaterUserFeedback":tileLayerPropertyBagArray[i].setTileLayerUri(userfeedbackWaterUrl);break;case"YearlyWater":tileLayerPropertyBagArray[i].setTileLayerUri(waterstationUrl);break;case"WaterStations":tileLayerPropertyBagArray[i].setTileLayerUri(waterstationUrl);break;case"NoiseUserFeedback":tileLayerPropertyBagArray[i].setTileLayerUri(userfeedbackAirUrl);break;}}}
function GetTiles(){var newLayer=null;var tileSource=null;tileLayerLayer=new Microsoft.Maps.EntityCollection();map.entities.push(tileLayerLayer);for(var i in tileLayerPropertyBagArray){try{tileSource=new Microsoft.Maps.TileSource({uriConstructor:tileLayerPropertyBagArray[i].getTileLayerUri()});newLayer=new Microsoft.Maps.TileLayer({mercator:tileSource,opacity:0.7});tileLayerArray.push(newLayer);var renderer=tileLayerPropertyBagArray[i].getRendererType();if(renderer!=null&&renderer!=undefined){if(renderer.setTileLayerLayer!=undefined&&renderer.setTileLayer){renderer.setTileLayerLayer(tileLayerLayer);renderer.setTileLayer(newLayer);}}}
catch(err){alert("ERROR: "+err.Message);}}}
function CreateCategoryDivs(){var categories=new Array();var contained=false;var queryLayerCategory=undefined;for(var i in tileLayerPropertyBagArray){for(var j in categories){if(tileLayerPropertyBagArray[i].getCategory1()==categories[j]){contained=true;}}
if(!contained){categories.push(tileLayerPropertyBagArray[i].getCategory1());}
contained=false;}
if(querySelectedWatch!=undefined){for(var i=0;i<tileLayerPropertyBagArray.length;i++){if(tileLayerPropertyBagArray[i].getCategory1()==querySelectedWatch){queryLayerCategory=querySelectedWatch;}}}
else{queryLayerCategory=defaultSelectedWatch;if(querySelectedLayerArray.length==0){for(var i=0;i<defaultSelectedLayers.length;i++){querySelectedLayerArray.push(defaultSelectedLayers[i]);}}}
var table=document.createElement("table");var rowCounter=0;var rowHeight=25;for(var i in categories){var tr=document.createElement("tr");tr.style.height=""+rowHeight+"px";var tdleft=document.createElement("td");tdleft.className="chooseWatchCategoryBackground";var tdright=document.createElement("td");tdright.style.display="none";var divWatch=document.createElement("div");divWatch.id=""+categories[i]+"Watch";divWatch.className="chooseWatchCategoryDiv";divWatch.onclick=DivWatchClick;var paragraph=document.createElement("p");paragraph.id=divWatch.id+"Paragraph";paragraph.innerHTML=""+categories[i]+watchNameSuffix;paragraph.className="chooseWatchCategoryText";var divCheckboxes=document.createElement("div");divCheckboxes.id=""+categories[i]+"Checkboxes";divWatch.appendChild(paragraph);tdleft.appendChild(divWatch);tdright.appendChild(divCheckboxes);tr.appendChild(tdleft);tr.appendChild(tdright);table.appendChild(tr);if(i==0){rememberedFirstWatch=paragraph;}
if((queryLayerCategory!=undefined)&&(queryLayerCategory==categories[i])){rememberedFirstWatch=paragraph;}
rowCounter++;}
$('#tilelayerCheckboxes').append(table);document.getElementById("tilelayerCheckboxes").style.height=""+(rowCounter*rowHeight+rowCounter*2)+"px";}
function CreateTileLayerCheckboxes(){for(var i in tileLayerPropertyBagArray){var cb=document.createElement("input");cb.type="checkbox";cb.name=cb.value=tileLayerPropertyBagArray[i].getLayerName();cb.id=tileLayerPropertyBagArray[i].getLayerName()+"checkbox";cb.checked=cb.defaultChecked=false;if(querySelectedLayerArray.length>0){for(var j=0;j<querySelectedLayerArray.length;j++){if(querySelectedLayerArray[j]==tileLayerPropertyBagArray[i].getLayerName()){cb.checked=cb.defaultChecked=true;}}}
cb.onclick=ShowSelectedTileLayer;var divId=""+tileLayerPropertyBagArray[i].getCategory1()+"Checkboxes";var div=document.getElementById(divId);div.appendChild(cb);tileLayerCheckboxArray.push(cb);}
if(rememberedFirstWatch!=null){ShowWatchInDiv(rememberedFirstWatch);}}
function ShowSelectedTileLayer(){var watch=document.getElementById("selectedWatchName").innerHTML;var category=watch.substring(0,watch.length-watchNameSuffix.length);for(var i in tileLayerCheckboxArray){var renderer=tileLayerPropertyBagArray[i].getRendererType();if(tileLayerCheckboxArray[i].checked==true&&(tileLayerPropertyBagArray[i].getCategory1()==category)){if(map.getZoom()>=tileLayerPropertyBagArray[i].getSwitchToPushPinLevel()){if(tileLayerLayer.indexOf(tileLayerArray[i])!=-1){tileLayerLayer.remove(tileLayerArray[i]);}
var odatauri=tileLayerPropertyBagArray[i].getODataUri();if(renderer!=null){renderer.Render(odatauri);}}
else{if(tileLayerLayer.indexOf(tileLayerArray[i])==-1){if(tileLayerPropertyBagArray[i].getLayerName().indexOf("Feedback")!=-1){tileLayerLayer.insert(tileLayerArray[i],0);}
else{tileLayerLayer.push(tileLayerArray[i]);}}}}
else{if(tileLayerLayer.indexOf(tileLayerArray[i])!=-1){tileLayerLayer.remove(tileLayerArray[i]);}
if(renderer!=null){renderer.Clear();}}
setCookie(tileLayerPropertyBagArray[i].getLayerName(),tileLayerCheckboxArray[i].checked);}
ShowSelectedLegends();}
function ShowSelectedLegends(){var watch=document.getElementById("selectedWatchName").innerHTML;var category=watch.substring(0,watch.length-watchNameSuffix.length);for(var i in tileLayerCheckboxArray){if(tileLayerCheckboxArray[i].checked==true&&(tileLayerPropertyBagArray[i].getCategory1()==category)){$("#"+tileLayerPropertyBagArray[i].getLayerName()+"Key").css("display","block");}
else{$("#"+tileLayerPropertyBagArray[i].getLayerName()+"Key").css("display","none");}}
updateLegend();}
