
var userRatingRadius=1.0;var airChartComponentDataArray=new Array();function AirChartData(){this.ComponentId;this.Caption;this.Unit;this.Title;this.Tresholds;}
function WordCloudData(){this.WordQualifierId;this.Word;this.Percentage;this.height;this.width;this.opacity;}
function FillQualityIndexInFilename(filename,value){var returnfilename=filename;var dotPosition=-1;for(var i=returnfilename.length;i>=0;i--){if(returnfilename.charAt(i)=='.'){dotPosition=i;break;}}
if(dotPosition!=-1){var name=returnfilename.substring(0,dotPosition);var ending=returnfilename.substring(dotPosition,returnfilename.length);returnfilename=name+value+ending;}
return returnfilename;}
function AddNoiseTooltipForQualityIndex(elementId,qualityIndex){var qualityTargetType=""
if(elementId.indexOf("Air")!=-1){qualityTargetType=""+noiseTypeWords[0]+": ";}
else if(elementId.indexOf("Industry")!=-1){qualityTargetType=""+noiseTypeWords[1]+": ";}
else if(elementId.indexOf("Rail")!=-1){qualityTargetType=""+noiseTypeWords[2]+": ";}
else if(elementId.indexOf("Road")!=-1){qualityTargetType=""+noiseTypeWords[3]+": ";}
switch(parseInt(qualityIndex)){case-2:$('#'+elementId).attr("title",""+qualityTargetType+ratingWords[0]);break;case-1:$('#'+elementId).attr("title",""+qualityTargetType+ratingWords[0]);break;case 0:$('#'+elementId).attr("title",""+qualityTargetType+ratingWords[1]);break;case 1:$('#'+elementId).attr("title",""+qualityTargetType+ratingWords[3]);break;case 2:$('#'+elementId).attr("title",""+qualityTargetType+ratingWords[5]);break;}}
function MouseOverRatingIcon(e){if(e.target==undefined){return;}
var filename=e.target.src;var index=filename.indexOf("noEffect.png");if(index==-1){return;}
var newFilename=filename.substring(0,index);newFilename=newFilename.concat("hover.png");e.target.src=newFilename;}
function MouseOutRatingIcon(e){if(e.target==undefined){return;}
var filename=e.target.src;var index=filename.indexOf("hover");if(index==-1){return;}
var newFilename=filename.substring(0,index);newFilename=newFilename.concat("noEffect.png");e.target.src=newFilename;}
function AirStationsInfoboxLoadData(stationID){var oDataUri="";for(var i=0;i<tileLayerPropertyBagArray.length;i++){if(tileLayerPropertyBagArray[i].getLayerName()=="AirStations"){oDataUri=tileLayerPropertyBagArray[i].getODataUri();}}
var latitude=parseFloat($('#AirStationsInfoboxLatitude').text());var longitude=parseFloat($('#AirStationsInfoboxLongitude').text());InfoboxLoadData("AirStationsInfobox",stationID,oDataUri,"AspNetVisualAssets/RatingIcons/EEAAir.png");InfoboxLoadCommunityData(latitude,longitude,'air',userRatingRadius,'AirStationsInfobox',"AspNetVisualAssets/RatingIcons/CommunityRating.png");LoadAirChartData(stationID,"AirStationsInfobox","infoBoxAirChartContainer");}
function YearlyWaterInfoboxLoadData(stationID){var oDataUri="";for(var i=0;i<tileLayerPropertyBagArray.length;i++){if(tileLayerPropertyBagArray[i].getLayerName()=="WaterStations"){oDataUri=tileLayerPropertyBagArray[i].getODataUri();}}
var latitude=parseFloat($('#YearlyWaterInfoboxLatitude').text());var longitude=parseFloat($('#YearlyWaterInfoboxLongitude').text());InfoboxLoadData("YearlyWaterInfobox",stationID,oDataUri,"AspNetVisualAssets/RatingIcons/EEAWater.png");InfoboxLoadCommunityData(latitude,longitude,'water',userRatingRadius,'YearlyWaterInfobox',"AspNetVisualAssets/RatingIcons/CommunityRating.png");LoadWaterChartData(stationID,"YearlyWaterInfobox","waterChartDiv",latitude,longitude);}
function AirUserPushpinInfoboxLoadData(stationID){SetInitialInfoboxView("AirUserPushpinInfobox");$("#AirUserPushpinInfoboxClosestStationName").text("");var latitude=parseFloat($('#AirUserPushpinInfoboxLatitude').text());var longitude=parseFloat($('#AirUserPushpinInfoboxLongitude').text());GetClosestAirModelLocation("AirUserPushpinInfobox",stationID,latitude,longitude,0.5,"AspNetVisualAssets/RatingIcons/EEAAir.png");LoadAirModelChartData(stationID,"AirUserPushpinInfobox","infoBoxAirModelChartContainer",latitude,longitude,0.5);InfoboxLoadCommunityData(latitude,longitude,'air',userRatingRadius,'AirUserPushpinInfobox',"AspNetVisualAssets/RatingIcons/CommunityRating.png");}
function NoiseUserPushpinInfoboxLoadData(pushpinID){SetInitialNoiseStationsInfoboxView("NoiseUserPushpinInfobox");$("#NoiseUserPushpinInfoboxClosestStationName").text("");var latitude=parseFloat($('#NoiseUserPushpinInfoboxLatitude').text());var longitude=parseFloat($('#NoiseUserPushpinInfoboxLongitude').text());GetClosestNoiseStation("NoiseUserPushpinInfobox",pushpinID,latitude,longitude,10.0);InfoboxLoadCommunityData(latitude,longitude,'noise',userRatingRadius,'NoiseUserPushpinInfobox',"AspNetVisualAssets/RatingIcons/CommunityRatingNoise.png");}
function NoiseStationsInfoboxLoadData(stationID){var oDataUri="";for(var i=0;i<tileLayerPropertyBagArray.length;i++){if(tileLayerPropertyBagArray[i].getLayerName()=="NoiseStations"){oDataUri=tileLayerPropertyBagArray[i].getODataUri();}}
SetInitialNoiseStationsInfoboxView("NoiseStationsInfobox");var qualityIndexRequest=""+oDataUri+"NoiseLevels('"+stationID+"')";OData.read(qualityIndexRequest,function(data,request){if($("#NoiseStationsInfoboxPushpinID").text()!=stationID){return;}
$("#NoiseStationsInfoboxEEARatingPreloader").css("display","none");$("#NoiseStationsInfoboxEEARatingTable").css("display","block");$("#NoiseStationsInfoboxRoadQualityIcon").attr("src",""+FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseRoad.png",data.Road));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxRoadQualityIcon",data.Road);$("#NoiseStationsInfoboxAirQualityIcon").attr("src",""+FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseAir.png",data.Air));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxAirQualityIcon",data.Air);$("#NoiseStationsInfoboxIndustryQualityIcon").attr("src",""+FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseIndustry.png",data.Industry));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxIndustryQualityIcon",data.Industry);$("#NoiseStationsInfoboxRailQualityIcon").attr("src",""+FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseRail.png",data.Rail));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxRailQualityIcon",data.Rail);var stationName=data.Location;if(stationName.length>35){stationName=stationName.substring(0,32);stationName=stationName.concat("...");}
$("#NoiseStationsInfoboxStationName").text(stationName);showLocationNameInFlyinPanel(stationName);$('#NoiseStationsInfoboxEEARatingHeadline').css("display","block");},function(error){$("#NoiseStationsInfoboxEEARatingPreloader").css("display","none");$("#NoiseStationsInfoboxEEARatingTable").css("display","block");$("#NoiseStationsInfoboxRoadQualityIcon").attr("src",FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseRoad.png",-2));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxRoadQualityIcon",-2);$("#NoiseStationsInfoboxAirQualityIcon").attr("src",FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseAir.png",-2));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxAirQualityIcon",-2);$("#NoiseStationsInfoboxIndustryQualityIcon").attr("src",FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseIndustry.png",-2));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxIndustryQualityIcon",-2);$("#NoiseStationsInfoboxRailQualityIcon").attr("src",FillQualityIndexInFilename("AspNetVisualAssets/RatingIcons/EEANoiseRail.png",-2));AddNoiseTooltipForQualityIndex("NoiseStationsInfoboxRailQualityIcon",-2);$('#NoiseStationsInfoboxEEARatingHeadline').css("display","block");});var latitude=parseFloat($('#NoiseStationsInfoboxLatitude').text());var longitude=parseFloat($('#NoiseStationsInfoboxLongitude').text());InfoboxLoadCommunityData(latitude,longitude,"noise",userRatingRadius,"NoiseStationsInfobox","AspNetVisualAssets/RatingIcons/CommunityRatingNoise.png");}
function InfoboxLoadData(infoboxName,stationID,oDataUri,EEARatingIconFilename){SetInitialInfoboxView(infoboxName);var qualityIndexRequest=""+oDataUri+"Stations("+stationID+")";OData.read(qualityIndexRequest,function(data,request){if($("#"+infoboxName+"PushpinID").text()!=stationID){return;}
if(data.QualityIndex>0&&data.QualityIndex<=5){var filename=FillQualityIndexInFilename(EEARatingIconFilename,data.QualityIndex);document.getElementById(infoboxName+"EEAQualityIcon").src=filename;document.getElementById(infoboxName+"EEARating"+data.QualityIndex).style.display="block";}
else{document.getElementById(infoboxName+"EEAQualityIcon").src=EEARatingIconFilename;document.getElementById(infoboxName+"EEARating").style.display="block";}
var stationName=data.Name;if(stationName.length>35){stationName=stationName.substring(0,32);stationName=stationName.concat("...");}
$("#"+infoboxName+"StationName").text(stationName);showLocationNameInFlyinPanel(stationName);$('#'+infoboxName+"EEAQualityIcon").attr("class","mapInfoboxEEAQualityIcon");$('#'+infoboxName+'EEARatingHeadline').css("display","block");},function(error){document.getElementById(infoboxName+"EEAQualityIcon").src=EEARatingIconFilename;document.getElementById(infoboxName+"EEARating").style.display="block";$('#'+infoboxName+"EEAQualityIcon").attr("class","mapInfoboxEEAQualityIcon");$('#'+infoboxName+'EEARatingHeadline').css("display","block");});}
function InfoboxLoadCommunityData(latitude,longitude,ratingTarget,radius,infoboxName,ratingIconFilename){SendCommunityRatingRequest(latitude,longitude,ratingTarget,radius,infoboxName,ratingIconFilename);}
function SendCommunityRatingRequest(latitude,longitude,ratingTarget,radius,infoboxName,ratingIconFilename){var nowDate=new Date();var communityRequest="http://"+currentHostname+"/EoEServices/DataServices/RatingDataService.svc/GetAverageRating?latitude="+latitude+"&longitude="+longitude+"&ratingTarget='"+ratingTarget+"'&radius="+radius+"&startTime=datetime'1980-01-01T00:01:00Z'&endTime=datetime'"+nowDate.getFullYear()+"-12-31T23:59:00Z'";OData.read(communityRequest,function(data,request){var rating=parseInt(data.GetAverageRating.Rating);if(rating>0&&rating<=5){var filename=FillQualityIndexInFilename(ratingIconFilename,rating);document.getElementById(infoboxName+"CoummintyRatingIcon").src=filename;document.getElementById(infoboxName+"CommunityRating"+rating).style.display="block";SendWordCloudRequest(latitude,longitude,ratingTarget,radius,infoboxName);}
else{document.getElementById(infoboxName+"CoummintyRatingIcon").src=ratingIconFilename;document.getElementById(infoboxName+"CommunityRating").style.display="block";SendEmptyWordCloudRequest(infoboxName);}
$("#"+infoboxName+"CoummintyRatingIcon").attr("class","mapInfoboxCommunityQualityIcon");$('#'+infoboxName+'CommunityRatingHeadline').css("display","block");},function(error){document.getElementById(infoboxName+"CoummintyRatingIcon").src=ratingIconFilename;document.getElementById(infoboxName+"CommunityRating").style.display="block";$("#"+infoboxName+"CoummintyRatingIcon").attr("class","mapInfoboxCommunityQualityIcon");$('#'+infoboxName+'CommunityRatingHeadline').css("display","block");SendEmptyWordCloudRequest(infoboxName)});}
function SendWordCloudRequest(latitude,longitude,ratingTarget,radius,infoboxName){var nowDate=new Date();var wordCloudRequest="http://"+currentHostname+"/EoEServices/DataServices/RatingDataService.svc/GetAverageWordQualifiers?latitude="+latitude+"&longitude="+longitude+"&ratingTarget='"+ratingTarget+"'&radius="+radius+"&startTime=datetime'1980-01-01T00:01:00Z'&endTime=datetime'"+nowDate.getFullYear()+"-12-31T23:59:00Z'";OData.read(wordCloudRequest,function(data,request){var wordArray=new Array();var obj;var word;for(var i=0;i<data.results.length;i++){obj=new WordCloudData();word=$('#'+infoboxName+'WordQualifierLabel'+(data.results[i].WordId+1)).text();if(word==undefined){word="";}
obj.WordQualifierId=data.results[i].WordId;obj.Word=word;obj.Percentage=data.results[i].Percentage;wordArray.push(obj);}
ShowWordCloud(infoboxName,wordArray);},function(error){var wordArray=new Array();ShowWordCloud(infoboxName,wordArray);});}
function SendEmptyWordCloudRequest(infoboxName){var wordArray=new Array();ShowWordCloud(infoboxName,wordArray);}
function LoadAirChartData(stationId,elementId,containerId){if(airChartComponentDataArray.length==0){InitializeAirChartComponentArray(stationId,elementId,containerId,"AirChart");return;}
var request="http://"+currentHostname+"/EoEServices/DataServices/AirStationService.svc/Measurements?$filter="+escape("StationId eq "+stationId);OData.read(request,function(data,result){ShowDataInAirChart(stationId,elementId,containerId,data.results);},function(error){var measurements=new Array();ShowDataInAirChart(stationId,elementId,containerId,measurements);});}
function LoadAirModelChartData(stationId,elementId,containerId,latitude,longitude,radius){if(airChartComponentDataArray.length==0){InitializeAirChartComponentArray(stationId,elementId,containerId,"AirModelChart");return;}
var request="http://"+currentHostname+"/EoEServices/DataServices/AirModelService.svc/CentreLocations?$filter="+"((("+latitude+" sub Latitude) le "+radius+" and ("+latitude+" sub Latitude) ge 0.0) or (("+latitude+" sub Latitude) ge "+(-radius)+" and ("+latitude+" sub Latitude) le 0.0)) and ((("+longitude+" sub Longitude) le "+radius+" and ("+longitude+" sub Longitude) ge 0.0) or (("+longitude+" sub Longitude) ge "+(-radius)+" and ("+longitude+" sub Longitude) le 0.0))";OData.read(request,function(data,result){var closest=GetClosestStation(data.results,latitude,longitude);if(closest==null){var measurements=new Array();ShowDataInAirChart(stationId,elementId,containerId,measurements);}
else{var request2="http://"+currentHostname+"/EoEServices/DataServices/AirModelService.svc/Measurements?$filter="+escape("CentreLocationId eq "+closest.CentreLocationId);OData.read(request2,function(data,result){ShowDataInAirChart(stationId,elementId,containerId,data.results);},function(error){var measurements=new Array();ShowDataInAirChart(stationId,elementId,containerId,measurements);});}},function(error){var measurements=new Array();ShowDataInAirChart(stationId,elementId,containerId,measurements);});}
function InitializeAirChartComponentArray(stationId,elementId,containerId,type){var request="http://"+currentHostname+"/EoEServices/DataServices/AirStationService.svc/Components";OData.read(request,function(data,result){var tempObject;airChartComponentDataArray=new Array();for(var i=0;i<data.results.length;i++){tempObject=new AirChartData();tempObject.ComponentId=data.results[i].ComponentId;tempObject.Caption=data.results[i].Caption;tempObject.Unit=data.results[i].Unit;tempObject.Title=airChartComponentWords[i];tempObject.Tresholds=airChartTresholds[i];airChartComponentDataArray.push(tempObject);}
if(type=="AirChart"){LoadAirChartData(stationId,elementId,containerId);}
else if(type=="AirModelChart"){if(elementId.indexOf("Infobox")!=-1){AirUserPushpinInfoboxLoadData(stationId);}
else if(elementId.indexOf("PanelBox")!=-1){AirModelPanelBoxLoadData();}}},function(error){airChartComponentDataArray=new Array();});}
function ShowDataInAirChart(stationId,elementId,containerId,measurements){if(($("#"+elementId+"PushpinID").text()!=stationId)||(airChartComponentDataArray.length==0)){return;}
airChartContainer=new airChartClass(containerId);airChartContainer.thresholdData[0]=new airChartData(400,airChartComponentDataArray[1].Tresholds[3],airChartComponentDataArray[1].Tresholds[2],airChartComponentDataArray[1].Tresholds[1],airChartComponentDataArray[1].Tresholds[0]);airChartContainer.thresholdData[1]=new airChartData(400,airChartComponentDataArray[0].Tresholds[3],airChartComponentDataArray[0].Tresholds[2],airChartComponentDataArray[0].Tresholds[1],airChartComponentDataArray[0].Tresholds[0]);airChartContainer.thresholdData[2]=new airChartData(400,airChartComponentDataArray[2].Tresholds[3],airChartComponentDataArray[2].Tresholds[2],airChartComponentDataArray[2].Tresholds[1],airChartComponentDataArray[2].Tresholds[0]);airChartContainer.unit=airChartComponentDataArray[0].Unit;airChartContainer.gasType[0]=airChartComponentDataArray[1].Title;airChartContainer.gasType[1]=airChartComponentDataArray[0].Title;airChartContainer.gasType[2]=airChartComponentDataArray[2].Title;var s="";for(var i=0;i<measurements.length;i++){switch(measurements[i].ComponentId){case"0":airChartContainer.dataValues[1]=parseInt(measurements[i].Value);s=new String(measurements[i].Timestamp);break;case"1":airChartContainer.dataValues[0]=parseInt(measurements[i].Value);s=new String(measurements[i].Timestamp);break;case"2":airChartContainer.dataValues[2]=parseInt(measurements[i].Value);s=new String(measurements[i].Timestamp);break;}}
if(s!=""){var t=new Date();s=s.replace("/Date(","").replace(")/","");t.setTime(s);var d=t.getDate();if(d<10)
d="0"+d;var m=t.getMonth()+1;if(m<10)
m="0"+m;var y=t.getFullYear();airChartContainer.chartDate=dateFormat.replace(/d+/g,d).replace(/[Mm]+/g,m).replace(/y+/g,y);}
else
airChartContainer.chartDate="no data";loadAirChartContainer();}
function LoadWaterChartData(stationId,elementId,chartDivId,latitude,longitude){var request="http://"+currentHostname+"/EoEServices/DataServices/WaterStationService.svc/YearlyMeasurements?$filter="+escape("StationId eq "+stationId)+"&$orderby=Timestamp"+escape(" asc");OData.read(request,function(data,request){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
LoadSeasonalMeasurements(stationId,elementId,chartDivId,latitude,longitude,data.results);},function(error){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
var empty=new Array();LoadSeasonalMeasurements(stationId,elementId,chartDivId,latitude,longitude,empty);});}
function LoadSeasonalMeasurements(stationId,elementId,chartDivId,latitude,longitude,yearlyMeasurementData){var request="http://"+currentHostname+"/EoEServices/DataServices/SeasonalWaterStationService.svc/SeasonalMeasurements?$filter="+escape("StationId eq "+stationId);OData.read(request,function(data,request){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
LoadUserRatings(stationId,elementId,chartDivId,latitude,longitude,yearlyMeasurementData,data.results);},function(error){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
var empty=new Array();LoadUserRatings(stationId,elementId,chartDivId,latitude,longitude,yearlyMeasurementData,empty);});}
function LoadUserRatings(stationId,elementId,chartDivId,latitude,longitude,yearlyMeasurementData,seasonalMeasurementData){var radius=1.0;var request="http://"+currentHostname+"/EoEServices/DataServices/RatingDataService.svc/UserRatings?$filter="+"((("+latitude+" sub Latitude) lt "+radius+" and ("+latitude+" sub Latitude) gt 0.0) or (("+latitude+" sub Latitude) gt "+(-radius)+" and ("+latitude+" sub Latitude) lt 0.0)) and ((("+longitude+" sub Longitude) lt "+radius+" and ("+longitude+" sub Longitude) gt 0.0) or (("+longitude+" sub Longitude) gt "+(-radius)+" and ("+longitude+" sub Longitude) lt 0.0)) and (RatingTargetId eq 1)"+"&$orderby=RatingTime"+escape(" asc");OData.read(request,function(data,result){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
ShowDataInWaterChart(stationId,elementId,chartDivId,yearlyMeasurementData,seasonalMeasurementData,data.results);},function(error){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
var empty=new Array();ShowDataInWaterChart(stationId,elementId,chartDivId,yearlyMeasurementData,seasonalMeasurementData,empty);});}
function ShowDataInWaterChart(stationId,elementId,chartDivId,yearlyMeasurementData,seasonalMeasurementData,userRatingData){if($("#"+elementId+"PushpinID").text()!=stationId){return;}
yearlyMeasurements=new Array();yearlyRatings=new Array();seasonalMeasurements=new Array();seasonalRatings=new Array();var minYearMes=10000;var maxYearMes=0;var minYearUse=10000;var maxYearUse=0;var minYear=10000;var maxYear=0;var mapValue=new Array();mapValue[1]=1;mapValue[2]=3;mapValue[3]=5;for(i=0;i<yearlyMeasurementData.length;i++){var t=new Date();var s=new String(yearlyMeasurementData[i].Timestamp);yearlyMeasurementData[i].Timestamp=s.replace("/Date(","").replace(")/","");t.setTime(yearlyMeasurementData[i].Timestamp);if(parseInt(t.getFullYear())<minYearMes)
minYearMes=parseInt(t.getFullYear());if(parseInt(t.getFullYear())>maxYearMes)
maxYearMes=parseInt(t.getFullYear());yearlyMeasurementData[i].Timestamp=t;}
for(i=0;i<seasonalMeasurementData.length;i++){var t=new Date();var s=new String(seasonalMeasurementData[i].Timestamp);seasonalMeasurementData[i].Timestamp=s.replace("/Date(","").replace(")/","");t.setTime(seasonalMeasurementData[i].Timestamp);seasonalMeasurementData[i].Timestamp=t;}
for(i=0;i<userRatingData.length;i++){var t=new Date();var s=new String(userRatingData[i].RatingTime);userRatingData[i].RatingTime=s.replace("/Date(","").replace(")/","");t.setTime(userRatingData[i].RatingTime);if(parseInt(t.getFullYear())<minYearUse)
minYearUse=parseInt(t.getFullYear());if(parseInt(t.getFullYear())>maxYearUse)
maxYearUse=parseInt(t.getFullYear());userRatingData[i].RatingTime=t;}
minYear=Math.min(minYearMes,minYearUse);maxYear=Math.max(maxYearMes,maxYearUse);for(i=minYear;i<=maxYear;i++){var found=false;var fountIndex=0;for(j=0;j<yearlyMeasurementData.length;j++){if(i==parseInt(yearlyMeasurementData[j].Timestamp.getFullYear())){found=true;foundIndex=j;break;}}
if(found){var newValue=6-(mapValue[parseInt(yearlyMeasurementData[foundIndex].Value)]);yearlyMeasurements.push(new YearlyMeasurement(yearlyMeasurementData[foundIndex].MeasurementId,yearlyMeasurementData[foundIndex].ComponentId,newValue,yearlyMeasurementData[foundIndex].Timestamp,stationId));}
else{var t=new Date();t.setFullYear(i);yearlyMeasurements.push(new YearlyMeasurement("","",0,t,stationId));}
var count=0;var totalRating=0;var tempSeasonRating=Array();var tempSeasonData=Array();var times=new Array();for(j=0;j<userRatingData.length;j++){if(i==parseInt(userRatingData[j].RatingTime.getFullYear())){tempSeasonRating.push(new CommunityRating(6-userRatingData[j].Rating,1,userRatingData[j].RatingTime));totalRating+=userRatingData[j].Rating;count++;}
else if(i<parseInt(userRatingData[j].RatingTime.getFullYear()))break;}
for(j=0;j<seasonalMeasurementData.length;j++){if(i==parseInt(seasonalMeasurementData[j].Timestamp.getFullYear())){var newValue=6-(mapValue[parseInt(seasonalMeasurementData[j].Value)]);tempSeasonData.push(new SeasonalMeasurement(seasonalMeasurementData[j].MeasurementId,seasonalMeasurementData[j].ComponentId,newValue,seasonalMeasurementData[j].Timestamp,stationId,null));}
else if(i<parseInt(seasonalMeasurementData[j].Timestamp.getFullYear()))break;}
var j=0;for(var mo=1;mo<13;mo++){var addMonth=true;for(;j<tempSeasonData.length;j++){if((new Date(tempSeasonData[j].Timestamp).getMonth()+1)>mo){break;}
if((new Date(tempSeasonData[j].Timestamp).getMonth()+1)==mo){times.push(new Date(tempSeasonData[j].Timestamp).getTime());addMonth=false;}}
if(addMonth){var time=new Date(i,(mo-1),new Date(i,mo,0).getDate(),11,59,59);times.push(time.getTime());}}
times.sort(Numsort);for(j=0;j<times.length;j++){var foundS=false;var foundSIndex=0;var t=new Date();t.setTime(times[j]);for(k=0;k<tempSeasonData.length;k++){if(tempSeasonData[k].Timestamp.getTime()==times[j]){foundS=true;foundSIndex=k;break;}}
ratingCount=0;gesRate=0;while((ratingCount<tempSeasonRating.length)&&(parseInt(new Date(tempSeasonRating[ratingCount].Timestamp).getTime())<=parseInt(times[j]))){gesRate+=tempSeasonRating[ratingCount].Rating;ratingCount++;}
if(foundS){seasonalMeasurements.push(tempSeasonData[foundSIndex]);}
else if(ratingCount>0){seasonalMeasurements.push(new SeasonalMeasurement("","",0,t,stationId,null));}
if(ratingCount>0){var ratings=(gesRate/ratingCount);seasonalRatings.push(new CommunityRating(ratings,ratingCount,t));}
else if(foundS){seasonalRatings.push(new CommunityRating(0,0,t));}}
var ratings=6-((totalRating/count));if(count==0)
ratings=0;yearlyRatings.push(new CommunityRating(ratings,count,null));}
loadYearlyWaterChart(chartDivId);}
function Numsort(a,b){return a-b;}
function ShowWordCloud(elementName,wordArray){var max=0;for(var i=0;i<wordArray.length;i++){if(wordArray[i].Percentage>max)
max=wordArray[i].Percentage;}
for(var i=0;i<wordArray.length;i++){factor=Math.pow((1-(wordArray[i].Percentage/max)),6)*3;wordArray[i].Percentage=wordArray[i].Percentage+(wordArray[i].Percentage*factor);wordArray[i].opacity=wordArray[i].Percentage/max;}
var MaxFontSize=300;var destinationDiv=document.getElementById(elementName+'TagCloudDiv');var binPackingHeight=140;var binPackingWidth=178;var fontfamily="Arial";var binPackingMargin="5px 0px 15px 20px";if(destinationDiv.lastChild!=null){destinationDiv.removeChild(destinationDiv.lastChild);}
packerDiv=document.createElement("div");destinationDiv.appendChild(packerDiv);packBlocks(MaxFontSize,packerDiv,wordArray,binPackingHeight,binPackingWidth,fontfamily,binPackingMargin);}
function SetInitialInfoboxView(infoboxName){$('#'+infoboxName+'StationName').text("");$('#'+infoboxName+'EEARatingHeadline').css("display","none");$('#'+infoboxName+'CommunityRatingHeadline').css("display","none");$('#'+infoboxName+"EEAQualityIcon").attr("src","AspNetVisualAssets/RatingIcons/ajax-loader.gif");$('#'+infoboxName+"EEAQualityIcon").attr("class","mapInfoboxPreloaderIcon");$('#'+infoboxName+"CoummintyRatingIcon").attr("src","AspNetVisualAssets/RatingIcons/ajax-loader.gif");$('#'+infoboxName+"CoummintyRatingIcon").attr("class","mapInfoboxPreloaderIcon");if(document.getElementById(infoboxName+"EEARating")!=null){document.getElementById(infoboxName+"EEARating").style.display="none";}
if(document.getElementById(infoboxName+"EEARating1")!=null){document.getElementById(infoboxName+"EEARating1").style.display="none";}
if(document.getElementById(infoboxName+"EEARating2")!=null){document.getElementById(infoboxName+"EEARating2").style.display="none";}
if(document.getElementById(infoboxName+"EEARating3")!=null){document.getElementById(infoboxName+"EEARating3").style.display="none";}
if(document.getElementById(infoboxName+"EEARating4")!=null){document.getElementById(infoboxName+"EEARating4").style.display="none";}
if(document.getElementById(infoboxName+"EEARating5")!=null){document.getElementById(infoboxName+"EEARating5").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating")!=null){document.getElementById(infoboxName+"CommunityRating").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating1")!=null){document.getElementById(infoboxName+"CommunityRating1").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating2")!=null){document.getElementById(infoboxName+"CommunityRating2").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating3")!=null){document.getElementById(infoboxName+"CommunityRating3").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating4")!=null){document.getElementById(infoboxName+"CommunityRating4").style.display="none";}
if(document.getElementById(infoboxName+"CommunityRating5")!=null){document.getElementById(infoboxName+"CommunityRating5").style.display="none";}
$('#'+infoboxName+'SharePage').fadeOut('fast');$('#'+infoboxName+'SharePage').css("display","none");$('#'+infoboxName+'RatePage').fadeOut('fast');$('#'+infoboxName+'RatePage').css("display","none");$('#'+infoboxName+'Content').fadeIn('fast');$('#'+infoboxName+'Content').css("display","block");$('#'+infoboxName+'SubmitButton').hide();actualLeftOne=2;$('#'+infoboxName+'Page1').css({'width':'0px','left':'0px'});$('#'+infoboxName+'Page2').css({'width':''+boxWidth+'px','left':'0px'});$('#'+infoboxName+'Page3').css({'width':''+boxWidth+'px','left':''+boxWidth+'px'});$('#'+infoboxName+'Page4').css({'width':'0px','left':''+(boxWidth*2)+'px'});$('#'+infoboxName+'EEAArrowButtonRight').css("display","block");$('#'+infoboxName+'EEAArrowButtonLeft').css("display","none");$('#'+infoboxName+'CommunityArrowButtonRight').css("display","none");$('#'+infoboxName+'CommunityArrowButtonLeft').css("display","block");switch(infoboxName){case"YearlyWaterInfobox":document.getElementById("waterChartDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";document.getElementById("waterChartDiv").style.left="0px";document.getElementById("YearlyWaterInfoboxTagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";break;case"AirStationsInfobox":document.getElementById("infoBoxAirChartContainer").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";document.getElementById("AirStationsInfoboxTagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";break;case"AirStationsPanelBox":document.getElementById("panelBoxAirChartContainer").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";document.getElementById("AirStationsPanelBoxTagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";break;case"AirUserPushpinInfobox":document.getElementById("infoBoxAirModelChartContainer").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";document.getElementById("AirUserPushpinInfoboxTagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";break;case"AirModelPanelBox":document.getElementById("panelBoxAirModelChartContainer").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";document.getElementById("AirModelPanelBoxTagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";break;}}
function SetInitialNoiseStationsInfoboxView(infoboxName){$('#'+infoboxName+'StationName').text("");$("#"+infoboxName+"EEARatingPreloader").css("display","block");$("#"+infoboxName+"EEARatingTable").css("display","none");$('#'+infoboxName+'EEARatingHeadline').css("display","none");$('#'+infoboxName+'CommunityRatingHeadline').css("display","none");document.getElementById(""+infoboxName+"RoadQualityIcon").src="AspNetVisualAssets/RatingIcons/ajax-loader.gif";document.getElementById(""+infoboxName+"RailQualityIcon").src="AspNetVisualAssets/RatingIcons/ajax-loader.gif";document.getElementById(""+infoboxName+"AirQualityIcon").src="AspNetVisualAssets/RatingIcons/ajax-loader.gif";document.getElementById(""+infoboxName+"IndustryQualityIcon").src="AspNetVisualAssets/RatingIcons/ajax-loader.gif";document.getElementById(""+infoboxName+"TagCloudDiv").innerHTML="<div class=\"chartLoaderDiv\"><img src=\"../AspNetVisualAssets/RatingIcons/ajax-loader.gif\"></div>";$("#"+infoboxName+"CoummintyRatingIcon").attr("class","mapInfoboxPreloaderIcon");$("#"+infoboxName+"CoummintyRatingIcon").attr("src","AspNetVisualAssets/RatingIcons/ajax-loader.gif");document.getElementById(""+infoboxName+"CommunityRating").style.display="none";document.getElementById(""+infoboxName+"CommunityRating1").style.display="none";document.getElementById(""+infoboxName+"CommunityRating2").style.display="none";document.getElementById(""+infoboxName+"CommunityRating3").style.display="none";$('#'+infoboxName+'SharePage').fadeOut('fast');$('#'+infoboxName+'SharePage').css("display","none");$('#'+infoboxName+'RatePage').fadeOut('fast');$('#'+infoboxName+'RatePage').css("display","none");$('#'+infoboxName+'Content').fadeIn('fast');$('#'+infoboxName+'Content').css("display","block");$('#'+infoboxName+'SubmitButton').hide();actualLeftOne=2;$('#'+infoboxName+'Page1').css({'width':'0px','left':'0px'});$('#'+infoboxName+'Page2').css({'width':''+boxWidth+'px','left':'0px'});$('#'+infoboxName+'Page3').css({'width':''+boxWidth+'px','left':''+boxWidth+'px'});$('#'+infoboxName+'Page4').css({'width':'0px','left':''+(boxWidth*2)+'px'});$('#'+infoboxName+'CommunityArrowButtonRight').css("display","none");$('#'+infoboxName+'CommunityArrowButtonLeft').css("display","block");$('#'+infoboxName+'ClosestStationName').text("");$('#'+infoboxName+'ClosestStationDiv').css("display","none");}
function ShowEEADetails(e){var buttonName='EEAArrowButtonRight';var infoboxName=e.target.id.substr(0,e.target.id.length-buttonName.length);var actualLeft=parseInt($('#'+infoboxName+"Page2").css("left"));if(actualLeft>0){return;}
SlideLeft(infoboxName+'Page',2);$('#'+infoboxName+buttonName).fadeOut('slow');$('#'+infoboxName+'EEAArrowButtonLeft').fadeIn('slow');}
function HideEEADetails(e){var buttonName='EEAArrowButtonLeft';var infoboxName=e.target.id.substr(0,e.target.id.length-buttonName.length);var actualLeft=parseInt($('#'+infoboxName+"Page2").css("left"));if(actualLeft<boxWidth){return;}
SlideRight(infoboxName+'Page',1);$('#'+infoboxName+buttonName).fadeOut('slow');$('#'+infoboxName+'EEAArrowButtonRight').fadeIn('slow');}
function ShowCommunityDetails(e){var buttonName='CommunityArrowButtonLeft';var infoboxName=e.target.id.substr(0,e.target.id.length-buttonName.length);var actualLeft=parseInt($('#'+infoboxName+"Page3").css("left"));if(actualLeft<boxWidth){return;}
SlideRight(infoboxName+'Page',2);$('#'+infoboxName+buttonName).fadeOut('slow');$('#'+infoboxName+'CommunityArrowButtonRight').fadeIn('slow');}
function HideCommunityDetails(e){var buttonName='CommunityArrowButtonRight';var infoboxName=e.target.id.substr(0,e.target.id.length-buttonName.length);var actualLeft=parseInt($('#'+infoboxName+"Page3").css("left"));if(actualLeft>0){return;}
SlideLeft(infoboxName+'Page',3);$('#'+infoboxName+buttonName).fadeOut('slow');$('#'+infoboxName+'CommunityArrowButtonLeft').fadeIn('slow');}
function ShowSharePage(infoboxName){$('#'+infoboxName+'CopyPasteButton').unbind('click');var agent=navigator.userAgent.toLowerCase();if(agent.indexOf("msie")>-1){var clipboardtext=$('#'+infoboxName+'ShareString').text();$('#'+infoboxName+'CopyPasteButton').click(function(){copyToClipboard(""+clipboardtext);});}
else{$('#'+infoboxName+'CopyPasteButton').click(function(){window.location=$('#'+infoboxName+'ShareString').text();});}
$('#'+infoboxName+'Content').fadeOut('fast');$('#'+infoboxName+'RatePage').fadeOut('fast');$('#'+infoboxName+'SharePage').fadeIn('fast');}
function HideSharePage(infoboxName){$('#'+infoboxName+'SharePage').fadeOut('fast');$('#'+infoboxName+'Content').fadeIn('fast');}
function ShowRatePage(infoboxName,wordQualifierCount){ResetRatingPage(infoboxName,wordQualifierCount);$('#'+infoboxName+'Content').fadeOut('fast');$('#'+infoboxName+'SharePage').fadeOut('fast');$('#'+infoboxName+'RatePage').fadeIn('fast');if(infoboxName=="AirStationsPanelBox")
$('#AirModelPanelBoxContent').fadeOut('fast');}
function HideRatePage(infoboxName){$('#'+infoboxName+'RatePage').fadeOut('fast');$('#'+infoboxName+'Content').fadeIn('fast');if(infoboxName=="AirStationsPanelBox")
$('#AirModelPanelBoxContent').fadeIn('fast');}
function OpenInFlyInPanelButtonClick(infoboxName){var locationName="";changeNameInFip=true;if(infoboxName.indexOf("UserPushpin")!=-1){}
else{locationName=$('#'+infoboxName+'StationName').text();}
var latitude=parseFloat($('#'+infoboxName+'Latitude').text());var longitude=parseFloat($('#'+infoboxName+'Longitude').text());if(latitude==NaN||longitude==NaN){return;}
else{SetLocationToPanelBoxes($('#'+infoboxName+'Latitude').text(),$('#'+infoboxName+'Longitude').text());}
openFlyInPanel(locationName,""+latitude+", "+longitude);}
var actualLeftOne=2;var boxCount=4;var boxWidth=204;var rotationAnimationDuration=1000.0;function SlideLeft(elementId,leftPage){var animationSpeed=1000;$('#'+elementId+(leftPage-1)).animate({width:'+='+boxWidth},animationSpeed);$('#'+elementId+(leftPage)).animate({left:'+='+boxWidth},animationSpeed);$('#'+elementId+(leftPage+1)).animate({width:'-='+boxWidth,left:'+='+boxWidth},animationSpeed);actualLeftOne-=1;}
function SlideRight(elementId,leftPage){var animationSpeed=1000;$('#'+elementId+(leftPage)).animate({width:'-='+boxWidth},animationSpeed);$('#'+elementId+(leftPage+1)).animate({left:'-='+boxWidth},animationSpeed);$('#'+elementId+(leftPage+2)).animate({width:'+='+boxWidth,left:'-='+boxWidth},animationSpeed);actualLeftOne+=1;}
function animateArrowLeftRotate(angleParameter,targetId){angle=parseFloat(angleParameter);if(angle<=180.0){var angleStep=180.0*(40.0/rotationAnimationDuration);var newAngle=angle+angleStep;$('#'+targetId).rotateLeft(angleStep);setTimeout('animateArrowLeftRotate('+newAngle+',"'+targetId+'")',40);}
else{var angleDifference=180-angle;$('#'+targetId).rotateLeft(angleDifference);}}
function animateArrowRightRotate(angleParameter,targetId){angle=parseFloat(angleParameter);if(angle<=180.0){var angleStep=180.0*(40.0/rotationAnimationDuration);var newAngle=angle+angleStep;$('#'+targetId).rotateRight(angleStep);setTimeout('animateArrowRightRotate('+newAngle+',"'+targetId+'")',40);}
else{var angleDifference=180-angle;$('#'+targetId).rotateRight(angleDifference);}}
function copyToClipboard(s){if(window.clipboardData&&clipboardData.setData){clipboardData.setData('text',s);}}
