 //code by @nilleren for www.buhlrasmussen.eu
  var paths = Array();

    var pcode = Array('v','a','o','f','c','b','e','i');
  $(function() {
    var pwidth = 2;
    $('.inlinesparkline').sparkline('html', {fillColor:'#efefef',spotColor:'#ccc',minSpotColor:false,maxSpotColor:false,lineColor:'#555',width:'60px',height:'20px'}); 

  //V,S,O,F,C,B,Ø,I
  var colors = ['#0066cc', '#e73b13', '#000', '#50d102', '#00ccad', '#ed008c', '#fc6b6a', '#fd6b0a'];
    function getAnchors(p1x, p1y, p2x, p2y, p3x, p3y) {
        var l1 = (p2x - p1x) / 2,
            l2 = (p3x - p2x) / 2,
            a = Math.atan((p2x - p1x) / Math.abs(p2y - p1y)),
            b = Math.atan((p3x - p2x) / Math.abs(p2y - p3y));
        a = p1y < p2y ? Math.PI - a : a;
        b = p3y < p2y ? Math.PI - b : b;
        var alpha = Math.PI / 2 - ((a + b) % (Math.PI * 2)) / 2,
            dx1 = l1 * Math.sin(alpha + a),
            dy1 = l1 * Math.cos(alpha + a),
            dx2 = l2 * Math.sin(alpha + b),
            dy2 = l2 * Math.cos(alpha + b);
        return {
            x1: p2x - dx1,
            y1: Math.min(height-margin, p2y + dy1),
            x2: p2x + dx2,
            y2: Math.min(height-margin, p2y + dy2)
        };
    }

    var data = Array(data1, data2, data3, data4, data5, data6, data7, data8);

    var partileder = Array('Lars Løkke Rasmussen (V)','Helle Thorning-Schmidt (S)','Pia Kjærsgaard (DF)', 'Villy Søvndal (SF)', 'Lars Barfoed (K)','Margrethe Vestager (RV)', 'Johanne Schmidt-Nielsen (EL)','Anders Samuelsen (LA)');

    var max = Math.max.apply(Math, data1.concat(data2).concat(data3).concat(data4).concat(data5).concat(data6).concat(data7).concat(data8)); //max graph-value
    
    var width = 600,
        height = 400,
        margin = 5,
        r = Raphael("holder", width, height+2),
        X = (width) / 14, //x-unit width
        Y = (height - margin*2) / max; //y-unit height

    var axisYp = r.rect(0, (height/2-margin+1), margin, 2).attr( {fill:'#9e9e9e', "stroke":'none' } );
    var axisYp2 = r.rect(0, (height/4*3-margin+1), margin, 2).attr( {fill:'#9e9e9e', "stroke":'none' } );
    var axisYp3 = r.rect(0, (height/4-margin+1), margin, 2).attr( {fill:'#9e9e9e', "stroke":'none' } );
    var axisYp3 = r.rect(0, margin+2, margin, 2).attr( {fill:'#9e9e9e', "stroke":'none' } );
    var axisX = r.rect(margin-1, margin+2, 2, height-margin*2).attr( {fill:'#7e7e7e', "stroke":'none' } );
    var axisXp = r.rect(margin-1+width/2, height-margin+2, 2, margin).attr( {fill:'#9e9e9e', "stroke":'none' } );
    var axisY = r.rect(margin, height-margin+1, width-X+margin*2, 2).attr( {fill:'#7e7e7e', "stroke":'none' } );

    for (var pnr = 0; pnr < data.length; pnr++) {
      paths[pnr] = r.set();
      paths[pnr].push( r.path().attr({stroke: colors[pnr], "stroke-width": pwidth, "stroke-linejoin": "round",'title': partileder[pnr]}) );
      var p;
      for (var i = 0, ii = data1.length; i < ii; i++) {
        var y = Math.round(height - margin - Y * data[pnr][i]),
            x = Math.round(margin + X * i);
        if (!i) {
            p = ["M", x, y, "C", x, y]; //starting point
        }
        if (i && i < ii - 1) {
            var Y0 = Math.round(height - margin - Y * data[pnr][i - 1]), //prev point
                X0 = Math.round(margin + (X) * (i - 1)),
                Y2 = Math.round(height - margin - Y * data[pnr][i + 1]), //next point
                X2 = Math.round(margin + X * (i + 1));
            var a = getAnchors(X0, Y0, x, y, X2, Y2); //calculate curve
            p = p.concat([a.x1, a.y1, x, y, a.x2, a.y2]); //add to path
        }
        var dot = r.circle(x, y, 3).attr({fill: '#fff', stroke: colors[pnr], "stroke-width": pwidth}); //add point

        var txt = data[pnr][i]+' omtale';
        if (data[pnr][i] != 1) txt += 'r';
        dot.attr({'title': txt});
        paths[pnr].push(dot);
      }
      p = p.concat([x, y, x, y]);
      paths[pnr][0].attr({path: p});
      paths[pnr].hover(function(event){ 
                         this.stop().attr({"stroke-width": 6, 'cursor':'pointer' }); },
                       function(event){ 
                         this.animate({"stroke-width": pwidth }, 500); }, paths[pnr], paths[pnr] );
      createhover(pnr);
    }

    function createhover(pnr) {
      paths[pnr].click(function(event){ showmf(pnr); });
      paths[pnr].hover(function(event){
                       $("#"+pcode[pnr]).addClass(pcode[pnr]+'hover');
                     },
                     function(event){
                       $("#"+pcode[pnr]).removeClass(pcode[pnr]+'hover');
                     }, paths[pnr], paths[pnr] );
    }

  });

  function hover(i) { //same as createhover but outside raphael scope 
    paths[i].stop().attr({"stroke-width": 6 }).toFront();
  }

  function out(i) { //same as createhover but outside raphael scope
    paths[i].animate(({"stroke-width": 2 }),500).toBack();
    $("#"+pcode[i]).removeClass(pcode[i]+'hover');
  }

  var link = Array('Lars_Loekke_Rasmussen','Helle_Thorning-Schmidt','Pia_Kjaersgaard', 'Villy_Soevndal', 'Lars_Barfoed','Margrethe_Vestager', 'Johanne_Schmidt-Nielsen','Anders_Samuelsen');
  function showmf(i) { 
    location.href=''+link[i]+'.php';
  }

