<!DOCTYPE html>
<meta charset="utf-8">
<title>Number of establishments, bedrooms and bed-places - NUTS 3 regions</title>
<style>

.background {
  fill: #fff;
  stroke: #ccc;
}

.tooltip{ background-color:rgba(200,200,200,0.5);;
          margin: 10px;
          height: 90px;
          width: 150px;
          padding-left: 10px; 
          padding-top: 10px;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
    border-radius:10px;
        }
</style>
<body>
<h2>Number of establishments, bedrooms and bed-places - NUTS 3 regions</h2>
<div id="map"></div>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<script type="text/javascript" src="./tooltip.js"></script>
<script type="text/javascript" src="./legend.js"></script>
<script>
var width = 600,  
    height = 600;  
  
var projection = d3.geo.stereographic()  
    .center([3.9,43.0])  
    .scale(1000)  
    .translate([width / 4 , height / 2]); 

var path = d3.geo.path()  
    .projection(projection);

var svg = d3.select("#map").append("svg")
    .attr("width", 960)
    .attr("height", 500);

var domain = [0,30]
var color = d3.scale.linear().domain(domain).range(['blue', 'red']);

d3.csv("tour_cap_nuts3_1_Data.csv", function(stats) {
  data = {};
  stats.forEach(function(d) {
    if (d.TIME == 2010){
      data[d.GEO] = d.Value.replace(",",""); //Thousands is a comma!
    }
  });

d3.json("/rveciana/raw/5919944/regions.json", function(error, europe) {
	svg.selectAll(".region")
	.data(topojson.feature(europe, europe.objects.regions).features)
  .enter()
    .append("path")
    .filter(function(d) { return !isNaN(parseFloat(data[d.properties.NUTS_ID])); }) 
      .attr("class", "region")
      .attr("d", path)
      .style("stroke", "#999")
      .style("stroke-width", 0.2)
      .style("fill", function(d) {
        if (!isNaN(parseFloat(data[d.properties.NUTS_ID])))

          return color(10000*data[d.properties.NUTS_ID]/d.properties.POPULATION);
        else
          return "#999";
      })
      .style("opacity", function(d){
        if (!isNaN(parseFloat(data[d.properties.NUTS_ID])))
          return 1;
        else
          return 0;
      })
      
      .call(d3.helper.tooltip(function(d, i){return tooltipText(d);}));


    function tooltipText(d){
           if (isNaN(parseFloat(data[d.properties.NUTS_ID]))) {
            var beds = "No Data";
           } else {
            var beds = data[d.properties.NUTS_ID];
           }
           return "<b>" + d.properties.NAME + "</b>"
                  + "<br/> pop: " + d.properties.POPULATION 
                  + "<br/> beds: " + beds;
      }
    svg.call(legend({width:300, posx: 100, posy:400, elements: 16, domain: domain, title:"Number of establishments / 10000 inhabitants"}));
});
});
</script>


<footer>Source: <a href="http://epp.eurostat.ec.europa.eu/portal/page/portal/crime/data/database">eurostat</a></footer>