$(function(){
  $(".button").button(); //all buttons
  qInit({ //init qAlerts
    resizable:false, 
    overlayClose:true
  });
    
  tipsy()
  allForms();
  mainNav();
  headerSearchForm();
  userLoginSwitch();
  tagSidebar();
  defaultLitstItem();
  mainContentUserSubmenu();
  addThis();
  facebookFans();
  paginationScroll();
})

function tipsy(){
  $('a[title],label[title]').tipsy({fade: true, gravity: 'sw', opacity: 1});
  $('#header input[title]').tipsy({fade: true, gravity: 'nw', opacity: 1});
}

function paginationScroll(){
  if($("#breadcrumbs ~ .pagination:first").size()){
    var minus = $("#headerContainer").outerHeight();
    var target = $("#breadcrumbs ~ .pagination:first");
    var targetOffset = target.offset().top;
    $('html,body').animate({
      scrollTop: targetOffset - minus - 10
    }, 200);
  }
}

function facebookFans(){
  if($("#facebookFans").size()){
    $(window).resize(function(){
      var width = $("#facebookFans").width();
      var src = $("#facebookFans").attr("src");
      src = src.replace(/(width=\d+)/g, 'width=' + width);
      $("#facebookFans").attr("src", src);
    });
    $("#facebookFans").trigger("resize");
  }
}

function allForms(){
  $("form").validationEngine();
  $('label[class*=required]').append(' <span class="red">*</span>');
}

function mainNav(){
  /*
  $("#mainNav > ul > li").each(function(){
    $(this).prepend('<span class="m16 navarrow-default">&nbsp;</span>');
  });
  
  $("#mainNav ul > li.active").each(function(){
    $(this).find("> a").addClass("active");
  });
  */
  
  $("#mainNav ul > li .navarrow-default").click(function(){
    $(this).parent().find("ul").slideToggle(500,'easeOutCubic');
    $(this).parent().toggleClass('active');
  });
  
  $("#mainNav ul > li *").click(function(event){
    event.stopPropagation();
  });
}

function headerSearchForm(){
  $("#headerSearchSubmitAsk").click(function(){
    var url = $(this).data().url;
    var url_array = url.split('?');
    if(url_array[1]){
      url = url_array[0] + '?' + url_array[1] + '&title=' + $("#headerSearchInput").val();
    }else{
      url = url_array[0] + '?title=' + $("#headerSearchInput").val();
    }
    window.location.href = url;
    return false;
  });
  $("#headerSearchForm").submit(function(){
    var action = $(this).attr("action");
    window.location.href = action + "#/?" + $(this).serialize();
    return false;
  });
}

function userLoginSwitch(){
  $("#userLoginSwitch").click(function(){
    $(this).toggleClass("active");
    $("#userLoginWrapper").slideToggle(300,'easeOutCubic');
    if($("#mainContainer").hasClass("loginHeader")){
      $("#mainContainer").removeClass("loginHeader",300);
    }else{
      $("#mainContainer").addClass("loginHeader",300);
    } 
    $.cookie('userLoginSwitch', $('#userLoginSwitch').hasClass('active') ? 0 : 1);
  });
}

function tagSidebar(){  
  if(!$('#tagsSidebarCanvas').tagcanvas({
    textColour : '#148BB2',
    maxSpeed : 0.05,
    depth : 0.15,
    interval: 20,
    decel: 0.985,
    textHeight: 18,
    outlineColour: "#14a81e",
    outlineOffset: 2,
    pulsateTo: 0.2,
    pulsateTime: 0.5,
    frontSelect: true,
    //txtOpt: false,
    reverse: true,
    weight: true,
    weightMode:'both',
    weightGradient: {
      0:    '#ff7c0c',
      0.5: '#7dbe0a', 
      1:    '#148BB2'  
    }
  },'tagsSidebarTags')) {
    $('#tagsSidebarTags').show();
  }
}

function defaultLitstItem(){
  $("#mainContent .default-list-item right a:not(:first)," +
    "#mainContent .question-list-mini-item right a:not(:first)").click(function(event){
    event.stopPropagation();
  });
  $("#mainContent .default-list-item," +
    "#mainContent .question-list-mini-item").live('click', function(){
    var href = $(this).find('.right > a').attr("href");
    window.document.location = href;    
  });
}

function mainContentUserSubmenu(){
  $("#mainContentUserSubmenu #profile").button({
    icons: {
      primary: "m16w user"
    }
  });  
  $("#mainContentUserSubmenu #edit").button({
    icons: {
      primary: "m16w update"
    }
  });
  $("#mainContentUserSubmenu #notifications").button({
    icons: {
      primary: "m16w notifications"
    }
  });
  $("#mainContentUserSubmenu #invite").button({
    icons: {
      primary: "m16w message"
    }
  });
  $("#mainContentUserSubmenu .active").bind("mouseout", function(){
    $(this).addClass("ui-state-active")
  });
}

function addThis(){
  $('.addthis_toolbox').html('<a class="addthis_button_facebook_like" fb:like:layout="button_count"></a>'+
    '<a class="addthis_button_tweet"></a>'+
    '<a class="addthis_button_google_plusone" g:plusone:size="medium"></a>'+
    // '<a class="addthis_counter addthis_pill_style"></a>'+
    ' <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4e8db7ed7ef9fb37"></script>'    
    )
}

if(document.location.protocol=='http:'){
  var Tynt=Tynt||[];
  Tynt.push('cxJp0g_p0r4kwVacwqm_6l');
  Tynt.i={
    "ap":"Viac odpovedí nájdete na Reply.sk"
  };
  (function(){
    var s=document.createElement('script');
    s.async="async";
    s.type="text/javascript";
    s.src='http://tcr.tynt.com/ti.js';
    var h=document.getElementsByTagName('script')[0];
    h.parentNode.insertBefore(s,h);
  })();
}
