// Draw logo
function draw(a){a.fillStyle="#000";a.save();a.save();a.beginPath();a.moveTo(49,0);a.bezierCurveTo(22.1,0,.3,21.8,.3,48.7);a.bezierCurveTo(.3,75.4,21.7,97,48.2,97.4);a.lineTo(48.2,52.1);a.lineTo(30.3,52.1);a.lineTo(18.6,63.8);a.bezierCurveTo(18.4,63.9,18.2,64,18,64);a.bezierCurveTo(17.9,64,17.7,63.9,17.5,63.8);a.bezierCurveTo(17.2,63.5,17.2,63,17.5,62.7);a.lineTo(28.2,52.1);a.lineTo(24.1,52.1);a.lineTo(16,60.2);a.bezierCurveTo(15.8,60.4,15.6,60.5,15.5,60.5);a.bezierCurveTo(15.3,60.5,15.1,60.4,14.9,60.2);a.bezierCurveTo(14.7,60,14.7,59.5,14.9,59.2);a.lineTo(22.1,52.1);a.lineTo(18.1,52.1);a.bezierCurveTo(17.7,52.1,17.4,51.7,17.4,51.3);a.bezierCurveTo(17.4,50.9,17.7,50.6,18.1,50.6);a.lineTo(22.1,50.6);a.lineTo(16.5,45);a.bezierCurveTo(16.2,44.7,16.2,44.2,16.5,44);a.bezierCurveTo(16.8,43.7,17.2,43.7,17.5,44);a.lineTo(24.1,50.6);a.lineTo(28.2,50.6);a.lineTo(19.6,42);a.bezierCurveTo(19.3,41.7,19.3,41.2,19.6,41);a.bezierCurveTo(19.9,40.7,20.3,40.7,20.6,41);a.lineTo(30.3,50.6);a.lineTo(47.2,50.6);a.lineTo(35.2,38.6);a.lineTo(18.7,38.6);a.bezierCurveTo(18.3,38.6,17.9,38.3,17.9,37.9);a.bezierCurveTo(17.9,37.5,18.3,37.2,18.7,37.2);a.lineTo(33.8,37.2);a.lineTo(30.9,34.3);a.lineTo(23.2,34.3);a.bezierCurveTo(22.8,34.3,22.5,34,22.5,33.6);a.bezierCurveTo(22.5,33.2,22.8,32.9,23.2,32.9);a.lineTo(29.5,32.9);a.lineTo(26.7,30);a.bezierCurveTo(26.4,29.8,26.4,29.3,26.7,29);a.bezierCurveTo(26.9,28.7,27.4,28.7,27.7,29);a.lineTo(30.5,31.8);a.lineTo(30.5,25.6);a.bezierCurveTo(30.5,25.2,30.8,24.9,31.2,24.9);a.bezierCurveTo(31.6,24.9,31.9,25.2,31.9,25.6);a.lineTo(31.9,33.3);a.lineTo(34.8,36.2);a.lineTo(34.8,21);a.bezierCurveTo(34.8,20.6,35.1,20.3,35.5,20.3);a.bezierCurveTo(36,20.3,36.3,20.6,36.3,21);a.lineTo(36.3,37.6);a.lineTo(48.2,49.6);a.lineTo(48.2,28.4);a.lineTo(38.2,18.4);a.bezierCurveTo(37.9,18.1,37.9,17.6,38.2,17.3);a.bezierCurveTo(38.5,17.1,39,17.1,39.3,17.3);a.lineTo(48.2,26.3);a.lineTo(48.2,22.3);a.lineTo(41.3,15.3);a.bezierCurveTo(41,15,41,14.6,41.3,14.3);a.bezierCurveTo(41.6,14,42,14,42.3,14.3);a.lineTo(48.2,20.2);a.lineTo(48.2,7.6);a.bezierCurveTo(48.2,7.2,48.6,6.9,49,6.9);a.bezierCurveTo(49.4,6.9,49.7,7.2,49.7,7.6);a.lineTo(49.7,20.2);a.lineTo(55.7,14.3);a.bezierCurveTo(56,14,56.4,14,56.7,14.3);a.bezierCurveTo(57,14.6,57,15,56.7,15.3);a.lineTo(49.7,22.3);a.lineTo(49.7,26.4);a.lineTo(58.7,17.3);a.bezierCurveTo(59,17.1,59.5,17.1,59.8,17.3);a.bezierCurveTo(60.1,17.6,60.1,18.1,59.8,18.4);a.lineTo(49.7,28.4);a.lineTo(49.7,49.6);a.lineTo(61.6,37.6);a.lineTo(61.6,21);a.bezierCurveTo(61.6,20.6,62,20.3,62.4,20.3);a.bezierCurveTo(62.8,20.3,63.1,20.6,63.1,21);a.lineTo(63.1,36.2);a.lineTo(66,33.3);a.lineTo(66,25.6);a.bezierCurveTo(66,25.2,66.3,24.9,66.7,24.9);a.bezierCurveTo(67.1,24.9,67.4,25.2,67.4,25.6);a.lineTo(67.4,31.8);a.lineTo(70.2,29);a.bezierCurveTo(70.5,28.7,71,28.7,71.3,29);a.bezierCurveTo(71.6,29.3,71.6,29.8,71.3,30);a.lineTo(68.5,32.9);a.lineTo(74.7,32.9);a.bezierCurveTo(75.1,32.9,75.4,33.2,75.4,33.6);a.bezierCurveTo(75.4,34,75.1,34.3,74.7,34.3);a.lineTo(67,34.3);a.lineTo(64.1,37.2);a.lineTo(77.8,37.2);a.bezierCurveTo(78.2,37.2,78.5,37.5,78.5,37.9);a.bezierCurveTo(78.5,38.3,78.2,38.6,77.8,38.6);a.lineTo(62.7,38.6);a.lineTo(50.7,50.6);a.lineTo(67.6,50.6);a.lineTo(77.3,41);a.bezierCurveTo(77.6,40.7,78,40.7,78.3,41);a.bezierCurveTo(78.6,41.2,78.6,41.7,78.3,42);a.lineTo(69.7,50.6);a.lineTo(73.8,50.6);a.lineTo(80.4,44);a.bezierCurveTo(80.7,43.7,81.1,43.7,81.4,44);a.bezierCurveTo(81.7,44.2,81.7,44.7,81.4,45);a.lineTo(75.8,50.6);a.lineTo(79.8,50.6);a.bezierCurveTo(80.2,50.6,80.5,50.9,80.5,51.3);a.bezierCurveTo(80.5,51.7,80.2,52.1,79.8,52.1);a.lineTo(75.8,52.1);a.lineTo(83,59.2);a.bezierCurveTo(83.2,59.5,83.2,60,83,60.2);a.bezierCurveTo(82.8,60.4,82.6,60.5,82.4,60.5);a.bezierCurveTo(82.3,60.5,82.1,60.4,81.9,60.2);a.lineTo(73.8,52.1);a.lineTo(69.7,52.1);a.lineTo(80.4,62.7);a.bezierCurveTo(80.7,63,80.7,63.5,80.4,63.8);a.bezierCurveTo(80.2,63.9,80,64,79.9,64);a.bezierCurveTo(79.7,64,79.5,63.9,79.3,63.8);a.lineTo(67.6,52.1);a.lineTo(49.7,52.1);a.lineTo(49.7,53.1);a.lineTo(49.7,97.4);a.bezierCurveTo(76.3,97.1,97.7,75.4,97.7,48.7);a.bezierCurveTo(97.7,21.8,75.9,0,49,0);a.closePath();a.moveTo(36.8,55);a.lineTo(45.5,55);a.lineTo(45.5,63.7);a.bezierCurveTo(45.5,64.1,45.2,64.4,44.8,64.4);a.bezierCurveTo(44.4,64.4,44.1,64.1,44.1,63.7);a.lineTo(44.1,56.5);a.lineTo(36.8,56.5);a.bezierCurveTo(36.4,56.5,36.1,56.1,36.1,55.7);a.bezierCurveTo(36.1,55.3,36.4,55,36.8,55);a.closePath();a.moveTo(61.1,56.5);a.lineTo(53.9,56.5);a.lineTo(53.9,63.7);a.bezierCurveTo(53.9,64.1,53.6,64.4,53.2,64.4);a.bezierCurveTo(52.8,64.4,52.4,64.1,52.4,63.7);a.lineTo(52.4,55);a.lineTo(61.1,55);a.bezierCurveTo(61.5,55,61.9,55.3,61.9,55.7);a.bezierCurveTo(61.9,56.1,61.5,56.5,61.1,56.5);a.closePath();a.fill();a.restore();a.restore()}function initCanvas(){var a=document.getElementById("canvas");var b=a.getContext("2d");b.scale(.67,.67);draw(b)}


var app = {
  // Classes
  Collections: {},
  Models: {},
  Views: {},
  // Instances
  collections: {},
  models: {},
  views: {},
  // Config
  config:{
      url: 'http://victat.tumblr.com/api/read/json?callback=?'
  },
  router: {},
  init: function () {
      this.collections.posts = new Posts();
      this.router.app_router = new AppRouter();
      Backbone.history.start({pushState: true});


      window.document.addEventListener('click', function(e) {
        e = e || window.event;
        var target = e.target || e.srcElement;
        if ( target.nodeName.toLowerCase() === 'a' ) {
            e.preventDefault();
            var uri = target.getAttribute('href');
            if(uri.substring(0,4)!=='http' && uri !== "#top"){
              app.router.app_router.navigate(uri.substr(1), true);
            } else{
                window.location = uri;
            }
        }
      });
  }
};

$(document).ready(function () {
    initCanvas();
    app.init();
});
