/*jslint white: false, space:false, indent: 2 */
/*global $: false */
function initMenu() {
  $('#menu div').hide();
  $('#menu a').click( 
    function () {
      var checkElement = $(this).next();
      if ((checkElement.is('div')) && (checkElement.is(':visible'))) {
        return false;
      }
      if ((checkElement.is('div')) && (!checkElement.is(':visible'))) {
        $('#menu div:visible').slideUp('normal');
        checkElement.slideDown('normal');
        return false;
      }
    }
  );
}
 
var DateHelper = {
   // Takes the format of "Jan 15, 2007 15:45:00 GMT" and converts it to a relative time
   // Ruby strftime: %b %d, %Y %H:%M:%S GMT
  time_ago_in_words_with_parsing: function (from) {
    var date = new Date();
    date.setTime(Date.parse(from));
    return this.time_ago_in_words(date);
  },

  time_ago_in_words: function (from) {
    return this.distance_of_time_in_words(new Date(), from);
  },

  distance_of_time_in_words: function (to, from) {
    var distance_in_seconds, distance_in_minutes;
    distance_in_seconds = ((to - from) / 1000);
    distance_in_minutes = (distance_in_seconds / 60);
    
    if  (distance_in_minutes === 0) { 
      return 'meno di un minuto fa'; 
    }
    if  (distance_in_minutes === 1) { 
      return 'un minuti fa'; 
    }
    if  (distance_in_minutes < 45) { 
      return distance_in_minutes + ' minuti fa'; 
    }
    if  (distance_in_minutes < 90) { 
      return 'circa un ora fa'; 
    }
    if  (distance_in_minutes < 1440) { 
      return 'circa ' + parseInt((distance_in_minutes / 60), 10) + ' ore fa'; 
    }
    if  (distance_in_minutes < 2880) { 
      return '1 giorno fa'; 
    }
    if  (distance_in_minutes < 43200) { 
      return parseInt((distance_in_minutes / 1440), 10) + ' giorni fa'; 
    }
    if  (distance_in_minutes < 86400) { 
      return 'circa 1 mese fa'; 
    }
    if  (distance_in_minutes < 525960) { 
      return parseInt((distance_in_minutes / 43200), 10) + ' mesi fa'; 
    }
    if  (distance_in_minutes < 1051199) { 
      return 'circa 1 anno fa'; 
    }
    
    return parseInt((distance_in_minutes / 525960), 10) + ' anni fa';
  }
};
 
$(function () {
  //vista codice estensibile
  $('.CodeRay').css('overflow', 'hidden');
  $('.CodeRay').css('z-index', '1');
  $('.CodeRay').css('position', 'relative');
  $('#ghbadge').css('z-index', '0');
  $('.CodeRay').mouseover(function () {
                                        $(this).css('width', '900px');
                                      });
  $('.CodeRay').mouseout(function () {
                                        $(this).css('width', 'auto'); 
                                      });
  
  //date dinamiche
  $('.date').each(function () {
		$(this).html(DateHelper.time_ago_in_words_with_parsing($(this).html()));
		$(this).show();
	});
 initMenu();
  $('.ext_link').attr('target', 'blank');
  //github badge
  $.getJSON("http://github.com/api/v1/json/tejo?callback=?", function (data){
    $('#loader').remove();
      $.each(data.user.repositories, function (i,repo){
        $('#ghbadge').append('<li><a title="'+repo.description+'" href="'+repo.url+'" target="blank">'+repo.name+'</a></li>');
      });
      //$('#ghbadge > li').slideDown();
  });
  
  
  //slide show
   //posiziona l'immagine in background e nasconde quella vera
   $('.imgsk8 > img').each(function () {
     imgdiv = $(this).parent();
     src =  $(this).attr('src');
     imgdiv.css('background-image', 'url('+src+')');
     $(this).remove();
   });
   
   //appende i bottoni next e prev al div dell'immagine
   $('.imgsk8').prepend('<div class="switcher up"> <a href="#" id="uparrow"><img src="/img/arrow-up.png"/></a></div>');
   $('.imgsk8').append('<div class="switcher down"> <a href="#" id="downarrow"><img src="/img/arrow-down.png"/></a></div>');
   
   //rende visibile il primo elemento e rimuove i bottoni next e prev in testa ed in coda
   $('#loaderphoto').remove();
   $('.slider-item').filter(':first').fadeIn();
   $('.slider-item').filter(':first').children().filter('.imgsk8').children().filter('.up').children().filter('a').remove();
   $('.slider-item').filter(':last').children().filter('.imgsk8').children().filter('.down').children().filter('a').remove();
   
   //logica di mouse over 
   $('.imgsk8').bind('mouseleave',function () {
     $(this).children().filter('.up').animate( { marginTop:"-17px" }, 100 ,'swing' );//.css('margin-top', '-17px');
     $(this).children().filter('.down').animate( { marginTop:"182px" }, 100,'swing'  );//.css('margin-top', '179px');
   });
   $('.imgsk8').bind('mouseenter',function () {
     $(this).children().filter('.up').animate( { marginTop:"0px" }, 100,'swing' );
     $(this).children().filter('.down').animate( { marginTop:"148px" }, 100,'swing' );
   });
   
   //control button up
   $('.up').click(function () {
    $(this).parent().parent().slideUp();
    $(this).parent().parent().prev().slideDown();
    return false;
   });
   //control button down
   $('.down').click(function () {
     $(this).parent().parent().slideUp();
     $(this).parent().parent().next().slideDown();
     return false;
   });
  //play animated gif s: static-frame.jpg >> static-frame-video.gif 
  $('.play').click(function () {
    debugger
    imgdiv = $(this).parent().children().filter('.imgsk8');
    src =  imgdiv.css('background-image');
    src = src.split('-video.gif ')[0]+'.jpg?'+new Date().getTime() / 1000+')';
    imgdiv.fadeOut();
    imgdiv.fadeIn();
    imgdiv.css('background-image',src);
    src = src.split('.jpg')[0]+'-video.gif';
    imgdiv.css('background-image',src);
    return false;
  }); 
  //remove focus outline
  $('a').click(function () {
    this.blur();
  });
  //per post di su jquery
  $("#clicka").click(function () {$(this).css("font-size",(parseInt($(this).css("font-size").split("px")[0],10)*2) +"px"); });
	  

    
    jQuery.fn.flickr_get = function( flickr_uid , options) {
      // define defaults and override with options, if available
      settings = jQuery.extend({
         flickr_resource_uri: "http://api.flickr.com/services/feeds/photos_public.gne",
         tag: "",
         spinner: "#spinner", 
      }, options);
      
      var images_container = $(this);
      var spinner = settings.spinner;
      
      //load from flickr feed
      $.getJSON(settings.flickr_resource_uri+"?id="+flickr_uid+"&tags=\""+settings.tag+"\"&lang=en-us&format=json&jsoncallback=?", function (data){
         $.each(data.items, function (i,item){
           $("<img/>").attr("src", item.media.m.split('_m.').join('_s.')).appendTo(images_container).wrap("<a title=\""+item.title+"\" rel=\"fl-gallery\" class=\"fl-image\" href='" + item.media.m.split('_m.').join('.') + "'></a>");
           $(spinner).remove();
     			 images_container.show();
     			 $("a[rel='fl-gallery']").colorbox();
         });
       });

    }
    //mie foto flickr
    $('#images').flickr_get('14763639@N07',{spinner:"#fl-loader"}); 
    
    //foto articolo su flickr
    $("#flink1").click(function(){
      
      $("<img/>").attr("src","/img/ajax-loader.gif").attr("style","float:none;margin:0px;").attr("id","spinner").insertAfter($(this));
      $('#images-container1').flickr_get('27435083@N06').prev().hide();
      return false;
    });
    
    $("#flink2").click(function(){
      $("<img/>").attr("src","/img/ajax-loader.gif").attr("style","float:none;margin:0px;").attr("id","spinner").insertAfter($(this));
      $('#images-container2').flickr_get('30020829@N02');
      return false;
    });
    
    $("#flink3").click(function(){
      $("<img/>").attr("src","/img/ajax-loader.gif").attr("style","float:none;margin:0px;").attr("id","spinner").insertAfter($(this));
      $('#images-container3').flickr_get('8413010@N05', {tag: "venice"});	
      return false;
    });

});