$(function(){

  // Info on first visit
  if ($("body").hasClass("hh_info")) {
    var info_cookie = getCookie("info_hidden");
    if (info_cookie == null || info_cookie == "") {
      var info_html = "<section id='hh_info'><p><strong>Hi!</strong> HumanHuman is a community of people who discover new bands that might be big one day. Join us and add your own discoveries.</p><a href='#'>Hide this</a></section>";
      $("#stream").before(info_html);
    }
    
    $("#hh_info a").click(function(){
      setCookie("info_hidden","true",999);
      $("#hh_info").fadeOut(500, function(){
        $(this).remove();
      });
    });
  }
  
  // Set cookie when on homepage
/*
  if ($("body").hasClass("ultra_featured")) {
    setCookie("info_hidden","true",999);
  }
*/

  // oEmbed
  
  $(".oembed").click(function(){
    var link = $(this);
    link.addClass("loading").embedly({
      maxWidth: 410,
      wmode: 'transparent',
      key: '6b9002924a9c11e1ab1c4040d3dc5c07',
      wrapElement: "div",
      autoplay: true
    }).bind('embedly-oembed', function(e, oembed){
      link.removeClass("loading");
    });
    return false;
  });

  // BROADCASTS
  var originalBroadcastEl = $("#broadcast h1 span");
  var originalBroadcastText = $("#broadcast h1 span").text();
  var broadcastUL = $("#broadcast ul");
  $("#broadcast h1 a").toggle(function(){
    broadcastUL.show();
    originalBroadcastEl.text("hide messages");
  }, function(){
    broadcastUL.hide();
    originalBroadcastEl.text(originalBroadcastText);    
  });
    
  // URL HOVER
/*
  var originalHTML = "";
  $("#bands h1 a, .thumb").hover(function(){
    var el = $("h2", $(this).parents("li"));
    var hoverEl = $(this);
    originalHTML = el.html();
    el.html("<a href='#'><img src='/_gfx/icon_small_link.png' alt='' />" + hoverEl.attr("href") + "</a>");
  },function(){
    var el = $("h2", $(this).parents("li"));
    el.html(originalHTML);
  });
*/
  
  // EDITABLE
  $(".editable").editable("/_ajax/band_edit_desc.php", {
    type: "textarea",
    cancel: "Cancel",
    submit: "Save",
    tooltip: "Click to edit",
    loadurl: "/_ajax/band_get_desc.php"
  });

  // Placeholders
  $("#add_band_input").placeholder();
  $("#screenname").placeholder();
  
  $("#top .add_band").click(function(){
    $("#add_band").toggle(0, function(){
      $("#add_band_input").focus();
    });
  }); 

  // CHECK BAND
  $("#add_band_check").submit(function(){
    if ($("#add_band_input").val() != "") {
      $.ajax({
        type: "GET",
        url: "/_ajax/band_new_check.php",
        data: {"name":$("#add_band_input").val()},
        dataType: "json",
        beforeSend: function(){
          // reset
          resetAddBand();
          $("#add_band_check").addClass("active");
          $("#add_band_status h2").text("Loading…").addClass("loading");
          $("#add_band_status").slideDown();
/*           $("#add_band_check input[type='submit']").attr("value", "Loading..."); */
        },
        success: function(data) {
          if (data["status"] == "ok") {
            $("#add_band_check input[type='submit']").attr("value", "Submit");
            $("#add_band_status").slideUp(100, function(){
              $("#add_band_preview h2").text($("#add_band_input").val());
              $("#lfm_url").attr("href", data["lfm_url"][0]);
              $("#add_band_preview img").attr("src", data["picture"]["0"]);
              $("#add_band_preview h3").text(data.listeners_spaces);
              $("#input_bp_band_listeners").attr("value", data.listeners[0]);
              if (data["status_desc"] == "too_many_listeners"){
                $("#bp_band_listeners").addClass("too_many_listeners");
                $("#add_band_submit, #add_band_text").attr("disabled", "disabled").addClass("disabled too_many_listeners");
                $("#add_band_submit").attr("value", "Too many listeners (10.000+)");
              }     
              $("#add_band_preview").slideDown();
            });
          }
          else if (data["status"] == "not_existing") {
            $("#add_band_check input[type='submit']").attr("value", "Submit");
            $("#add_band_status").slideUp(100);
            $("#add_band_preview").slideUp(100, function(){
              $("#add_band_preview h2").text($("#add_band_input").val());
              $("#add_band_sure").show().html(data["status_desc"]);
              $("#add_band_preview img").attr("src", "_gfx/band_picture_none.jpg");
              $("#add_band_preview h3").text("0 listeners");
              $("#input_bp_band_listeners").attr("value", 0);
              $("#lfm_url").hide();
              $("#add_band_preview").slideDown();
            });
          }
          else if (data["status"] == "already_added") {
            $("#add_band_check input[type='submit']").attr("value", "Submit");
            $("#add_band_preview").slideUp(100, function(){
              // reset
              $("#bp_band_listeners").removeClass("too_many_listeners");
              $("#add_band_submit").removeAttr("disabled");
              $("#add_band_status h2").html(data["status_desc"]);
              $("#add_band_status").slideDown();
            });
          }
        }
      });
    }
    return false;
  });
  
  // CANCEL ADD BAND
  $("#add_band_cancel").click(function(){
    resetAddBand();
    $("#add_band_status").slideUp();    
    $("#add_band_input").val("")
  });
  
  // SUBMIT BAND
  $("#add_band_submit").click(function(){
    $.ajax({
      type: "GET",
      url: "/_ajax/band_new_submit.php",
      dataType: "json",
      data: {
        "band_name": $("#add_band_input").val(),
        "band_description": $("#add_band_text").val()
      },
      beforeSend: function(){
        $("#add_band_submit").attr("value", "Submitting...");
      },
      complete: function(callback){
        console.log(callback);
        if (callback.responseText == "ok") {
          $("#add_band_submit").attr("value", "Added to your profile!").attr("disabled", "disabled").addClass("disabled success");
          $("#add_band_cancel").attr("value", "Close");
          $("#add_band_submit").animate({opacity: 1}, 1000, function(){
            window.location.href = "/newest";
          });
        } else {
          $("#add_band_submit").attr("value", "Something went wrong! Try again.");
        }
      }
    });
    return false;
  });
  
  // Following Users
  $(".btn.follow").click(function(){
    var btn = $(this);
    $.ajax({
      type: "GET",
      url: "/_ajax/user_follow.php",
      dataType: "json",
      data: {
        "followingScreenName": btn.attr("rel")
      },
      beforeSend: function(){
        btn.text("Loading…");
      },
      complete: function(callback){
        if (callback.responseText == "followed") {
          btn.text("Following!");
          setTimeout(function(){
            btn.text("Unfollow").addClass("following");
          }, 2000)
        } else if (callback.responseText == "unfollowed") {
          btn.text("Follow").removeClass("following");
        } else {
          btn.text("Error!");
          console.log(callback.responseText);
        }
      }
    });
    return false;
  });
  
  // border-right
  var stream = $("#stream");
  var asideHeight = $("aside").height();
  if (stream.height() < asideHeight){
    var contentHeight = $("#content_center").height();
    stream.css("height", contentHeight);
  }

});

function resetAddBand() {
  $("#add_band_preview").slideUp(100, function(){
    $("#add_band_check").removeClass("active");
    $("#bp_band_listeners").removeClass("too_many_listeners");
    $("#add_band_submit, #add_band_text").removeAttr("disabled").removeClass("disabled").removeClass("too_many_listeners");
    $("#add_band_text").attr("value", "");
    $("#add_band_submit").attr("value", "Add Band");
    $("#add_band_preview img").attr("src", "_gfx/band_picture_none.jpg");
    $("#lfm_url").show();
    $("#add_band_sure").hide().html("");
    $("#input_bp_band_listeners").attr("value", "");
    $("#add_band_cancel").attr("value", "Cancel");
  });
  $("#add_band_status h2").removeClass("loading");
}

// Delete Band

function deleteBand(id,trigger) {
  var ok = confirm("Are you sure you want to delete this band?");
  if (ok) {
    $.ajax({
      type: "POST",
      url: "/_ajax/band_delete.php",
      data: {"id":id},
      dataType: "json",
      beforeSend: function(){
        trigger.text("Deleting…");
      },
      success: function(data) {
        trigger.parents("li").fadeOut(600, function(){
          $(this).remove();
        });
      }
    });
  }  
};

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
  x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
  y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
  x=x.replace(/^\s+|\s+$/g,"");
  if (x==c_name)
    {
    return unescape(y);
    }
  }
}
