var ticks = 0;
var ticksReq = null;

$(document).ready(function() {

  $(".confirmButton").click(function() {
    return confirm("Are you sure you want to do this?");
  });
  $(".ping").each(function() {
    var t = $(this).text();
    $(this).html('<a href="profile.php?name=' + t + '">' + t + '</a>');
  });
  
  $(".toggle").children().hide();
  $(".toggle").click(function() {
    $(this).children().toggle();
  });
  
  $("#userSearchButton").click(function() {
    var userName = $("#userSearchField").val();
    $.post("mini/user_search.php", {name: userName}, function(data) {
      if(data.number > 0) {
        $("#userSearchResults").html("<span class=\"alert\">"+data.number+" users found</span>");
        var i = 0;
        for(i = 0; i < data.users.length; i++) {
          $("#userSearchResults").append("<div><a href=\"profile.php?id="+data.users[i].id+"\">"+data.users[i].name+" (#"+data.users[i].id+")</a>");
        }
      } else {
        $("#userSearchResults").html("<span class=\"error\">No results...</span>");
      }
    }, "json");
  });
  
  $("#chatForm").submit(function() {
    var cText = $("#chatText").val();
    var cChat = $("#chatID").val();
    $.post("actions/chat_post.php", {text: cText, chat: cChat}, function(data) {
      $("#chatArea").html(data);
    });
    $("#chatText").val("");
    return false;
  });
  
  $("#lairGroups").sortable({"items":"tr.sort"});

  $(".checkAll").click(function() {
    var checkStatus = $(this).attr("checked");
    $("input[type=checkbox]").attr("checked", checkStatus);
  });
  
  $("#ticker").each(function() {
    $.ajax({url : 'mini/ticker.php',
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            ticksReq = data;
            doTicks();
        }});
    
    setInterval("doTicks()", 4000);
  });
  
  
  $("#preview").click(function() {
    var thisForm = $(this).parents("form");
    var textA = $(thisForm).find("textarea").val();
    
    if($("#previewText").length > 0) return;
    
    $.post("mini/forums_preview.php", {text: textA}, function(data) {
      var textA = $("#preview").parents("form").find("textarea");
      $(textA).after("<div id=\"previewText\" style=\"border:1px solid; padding: 2px; overflow: auto; background-color: #E0E0E0; color: #000\">"+data+"</div>");
      var w = $(textA).width() + "px";
      var h = $(textA).height() + "px";
      $("#previewText").width(w).height(h).click(function() {
        $("#preview").parents("form").find("textarea").show();
        $("#previewText").remove();
      });
      $("#preview").parents("form").find("textarea").hide();
    }, "text");
  });
  
  $("#adminChatForm").submit(function() {
    var cText = $("#adminChatText").val();
    var cChat = $("#chatID").val();
    var cNPC = $("#chatNPC").val();
    $.post("actions/chat_post_admin.php", {text: cText, chat: cChat, npc: cNPC}, function(data) {
      $("#chatArea").html(data);
    });
    $("#adminChatText").val("");
    return false;
  });
  
  $("#us_search_name_button").click(function() {
    var iName = $("#us_search_name").val();
    var iCurrency = $("#us_search_currency").val();
    $.post("mini/item_names.php", {name: iName, currency: iCurrency}, function(data) {
      $("#us_search_button").html(data);
    });
  }); 
  
  $("#chatArea").each(function() {
    getChats();
    setInterval("getChats()", 5000);
  });
  
  bindItems();
  
  $(".lineagePick").click(function() {
    var kID = $(this).attr("id");
    $(this).parent("td").load("mini/lineage.php?id="+kID, function() {
      bindLineage();
    });
  });
  
  $(".itemhover").hover(function() {
    $(this).children(".itemdesc").show();
  }, function() {
    $(this).children(".itemdesc").hide();
  });
  
  $("#itemSorter").sortable();
  $("#galleryItems.sort").sortable({ items: '.item', placeholder: 'item' });
  $("#galleryItemsOrder").sortable({ items: '.item', placeholder: 'item' });
  $("#demoMarkings").sortable({ items: '.mark', placeholder: 'mark' });
  
  $("#demoMarkings .mark").hover(function() {
    $(this).addClass("hover");
  }, function() {
    $(this).removeClass("hover");
  });
  
  $('.colorpick').ColorPicker({
  	onSubmit: function(hsb, hex, rgb, el) {
  		$(el).val(hex);
  		$(el).ColorPickerHide();
  	},
  	onBeforeShow: function () {
  		$(this).ColorPickerSetColor(this.value);
  	}
  })
  .bind('keyup', function(){
  	$(this).ColorPickerSetColor(this.value);
  });
  
  $("#links span").hover(function() {
    $(this).addClass("hover");
    $(this).addClass("activeLink");
  }, function() {
    $(this).removeClass("hover");
    $(this).removeClass("activeLink");
  });
  
  $(".userCheck").click(function() {
    var uID = $("#userID").val();
    $.post("actions/name_check.php", {id: uID }, function(data) {
      $("#userName").html(data);
    });
  });
  
  $(".userCheckName").click(function() {
    var uID = $(this).prev("input").val();
    with({"element": $(this)}) {
        $.post("actions/name_check.php", {id: uID }, function(data) {
            $(element).next("span").html(data);
        });
    }
  });
  
  $("#userIDBanCheck").click(function() {
    var uID = $("#userIDBan").val();
    $.post("actions/name_check.php", {id: uID }, function(data) {
      $(".userNameBan").html(data);
    });
  });
  
  bindForage();

  $("#craftID").change(function() {
    $("#craftRecipe").load("mini/recipe.php?id="+$("#craftID").val());
  });
  
  $(".tooltipMain").hover(function() {
    $(this).children(".tooltip").show();
  }, function() {
    $(this).children(".tooltip").hide();
  });
  
});

function bindForage() {
  $(".forage td a").click(function() {
    var varSlot = $(this).parent("td").attr("id");
    var varArea = $("#area").val();
    $.post("mini/forage.php", {area: varArea, slot: varSlot}, function(data) {
      $(".forage td").html("<a href=\"#\"><img src=\"static/images/blank.png\" class=\"blank\"></a>");
      bindForage();
      $("#"+varSlot).html(data);
    });
    return false;
  });
}

function bindLineage() {
  $(".lineagePick").unbind().click(function() {
    var kID = $(this).attr("id");
    $(this).parent("td").load("mini/lineage.php?id="+kID, function() {
      bindLineage();
    });
  });
}

function getChats() {
  if($("#chatPause").attr("checked")) {
  } else {
    var cChat = $("#chatID").val();
    $.post("actions/chat_fetch.php", {chat: cChat}, function(data) {
      $("#chatArea").html(data);
    });
  }
}

function doTicks() {
  if(ticks % 10 == 0) {
    $.ajax({url : 'mini/ticker.php',
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            ticksReq = data;
        }});
  }
  $("#ticker").html("<a href=\"forums_posts.php?id="+ticksReq[ticks%10].id+"\">"+ticksReq[ticks%10].subject+"</a>");
  ticks++;
}

function bindItems() {
  $(".item img").click(function() {
    var iID = $(this).parent(".item").attr("id");
    $("#iinfo"+iID).toggle();
    $("#iinfo"+iID).load("mini/item.php?id="+iID, function() {
      $(".close").click(function() {
        $("#iinfo"+iID).hide();
      });
    });
  });
}
