$(document).bind("ready", function(event) {

  /** tab switch */
  var container = $("ul.tabs");
  container.data("active", "tab_library")
  container.find("a.switch_tab").each(function(){
    var button = $(this);

    button.attr("href", "javascript:void(0);");
    button.click(function(){
      if(container.data("active") !== button.metadata().tab){

        $(":input[type=hidden]").removeAttr("disabled");
        $(":input[type=hidden]." + button.metadata().tab).attr("disabled", "disabled");

        container.data("active", button.metadata().tab);
        container.find("li").removeClass("selected");
        container.find("li." + button.metadata().tab).addClass("selected");

        $("div.tab_content:visible").hide();
        $("div.tab_content." + button.metadata().tab).show();

        var target  = $("div.illustration img." + button.metadata().tab);
        var visible = $("div.illustration img").not(target);

        visible.animate({ left: '-445px'}, {queue: false, duration: 175, complete: function(){
          visible.css("left", "445px");
        }});
        target.animate({ left: 0}, {queue: false, duration: 175});
      }
    });
  });

  $("#carousel").jcarousel({
    wrap: "circular",
    scroll: 2,
    buttonNextHTML: '<a href="javascript:void(0);" class="first"></a>',
    buttonPrevHTML: '<a href="javascript:void(0);" class="last"></a>'
  });

  /** item placeholders */
  $(".placeholder").each(function(index, element) {
    var item = $(element);
    var text = $(element).metadata().text;
    var form = $(element).parents("form:first");

    if (item.val() === "") {
      item.val(text);
    }

    item.bind("focus.placeholder", function(event) {
      if (item.val() === text)
        item.val("");
    });

    item.bind("blur.placeholder", function(event) {
      if (item.val() === "")
        item.val(text);
    });

    form.bind("submit.placeholder", function(event) {
      if (item.val() === text)
        item.val("");
    });
  });

  /** submit button */
  $(".form_submit").each(function(index, element) {
    var item = $(element);
    var form = null;

    if (item.attr("rel")) {
      form = $("form#" + item.attr("rel"));
    } else {
      form = item.parents("form:first");
    }

    if (item.hasClass("enter")) {
      form.bind("keypress", function(event) {
        if (event.keyCode == 13) {
          event.preventDefault();
          form.submit();
        }
      });
    }

    item.attr("href", "javascript:void(0);");
    item.bind("click", function(event) {
      event.preventDefault();
      form.submit();
    });
  });

});