function show_login_form()
{
  $('#login_form').fadeIn('slow');
  return false;
}

$(document).ready(function() {
  //Apply watermarks
  $('input.watermark').each(function() {
    $(this).watermark($(this).attr('watermark'), {useNative: false});
  });
});

function show_loading_page(target_id, text)
{
	var text = text || "Loading...";
	var loadingDiv = document.createElement('div');
	loadingDiv.className = "loading_div";
	var textContainer = document.createElement('div');
	textContainer.style.width = "100%";
	textContainer.innerHTML = '<center><p style="font-weight:bold;">'+ text+ '</p><img src="/images/icon_loading.gif"/></center>';
	loadingDiv.appendChild(textContainer);

	var cardsDiv = document.getElementById(target_id);
	if (cardsDiv)
	{
		cardsDiv.appendChild(loadingDiv);
		textContainer.style.marginTop = ((cardsDiv.clientHeight / 2 - 10) > 0) ? cardsDiv.clientHeight / 2 - 10 + "px" : "0px";
	}
}

function add_item_to_wantlist(dom_prefix, sports_card_id, callback)
{
  $('#' + dom_prefix + "_off").hide();
  $('#' + dom_prefix + "_on").show();
  
  $.ajax({
    data: 'sports_card_id=' + sports_card_id + 
          '&authenticity_token=' + encodeURIComponent(AUTH_TOKEN), 
    dataType: 'script', 
    type: 'post', 
    url:'/wantlist/new_item'} )
    
  if (callback)
  {
    callback(sports_card_id)
  }
}

function remove_item_from_wantlist(dom_prefix, sports_card_id, callback)
{
  $('#' + dom_prefix + "_on").hide();
  $('#' + dom_prefix + "_off").show();
  
  $.ajax({
    data: 'sports_card_id=' + sports_card_id + 
          '&authenticity_token=' + encodeURIComponent(AUTH_TOKEN), 
    dataType: 'script', 
    type: 'delete', 
    url:'/wantlist/delete_item'} )
    
  if (callback)
  {
    callback(sports_card_id)
  }
}

function add_item_to_tradelist(dom_prefix, sports_card_id, callback)
{
  $('#' + dom_prefix + "_off").hide();
  $('#' + dom_prefix + "_on").show();
  
  $.ajax({
    data: 'sports_card_id=' + sports_card_id + 
          '&authenticity_token=' + encodeURIComponent(AUTH_TOKEN), 
    dataType: 'script', 
    type: 'post', 
    url:'/tradelist/new_item'} )
    
  if (callback)
  {
    callback(sports_card_id)
  }
}

function remove_item_from_tradelist(dom_prefix, sports_card_id, callback)
{
  $('#' + dom_prefix + "_on").hide();
  $('#' + dom_prefix + "_off").show();
  
  $.ajax({
    data: 'sports_card_id=' + sports_card_id + 
          '&authenticity_token=' + encodeURIComponent(AUTH_TOKEN), 
    dataType: 'script', 
    type: 'delete', 
    url:'/tradelist/delete_item'} )
    
  if (callback)
  {
    callback(sports_card_id)
  }
}

function gallery_item_added_to_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).show();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#wishlisted_' + sports_card_id).show()
  $('#tradelisted_' + sports_card_id).hide()
  $('#gallery_item_' + sports_card_id).attr("wishlisted", "wishlisted")
}

function gallery_item_removed_from_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).show();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#wishlisted_' + sports_card_id).hide()
  $('#tradelisted_' + sports_card_id).hide()
  $('#gallery_item_' + sports_card_id).attr("wishlisted", "")
}

function gallery_item_added_to_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).show();
  
  $('#wishlisted_' + sports_card_id).hide()
  $('#tradelisted_' + sports_card_id).show()
  $('#gallery_item_' + sports_card_id).attr("tradelisted", "tradelisted")
}

function gallery_item_removed_from_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).show();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#wishlisted_' + sports_card_id).hide()
  $('#tradelisted_' + sports_card_id).hide()
  $('#gallery_item_' + sports_card_id).attr("tradelisted", "")
}

function list_item_added_to_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).show();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("wishlisted", "wishlisted")
}

function list_item_removed_from_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).show();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("wishlisted", "")
}

function list_item_added_to_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).show();
  
  $('#card_count_' + sports_card_id).attr("tradelisted", "tradelisted")
}

function list_item_removed_from_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).show();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("tradelisted", "")
}

function details_item_added_to_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).show();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("wishlisted", "wishlisted")
}

function details_item_removed_from_wantlist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).show();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("wishlisted", "")
}

function details_item_added_to_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).hide();
  $('#tradelist_remove_' + sports_card_id).show();
  
  $('#card_count_' + sports_card_id).attr("tradelisted", "tradelisted")
}

function details_item_removed_from_tradelist(sports_card_id)
{
  $('#wantlist_add_' + sports_card_id).hide();
  $('#wantlist_remove_' + sports_card_id).hide();
  $('#tradelist_add_' + sports_card_id).show();
  $('#tradelist_remove_' + sports_card_id).hide();
  
  $('#card_count_' + sports_card_id).attr("tradelisted", "")
}

function show_edit_note_form(card_id)
{
  $('#edit_note_form_' + card_id).show();
  if ($('#details_note_' + card_id + " .note").text().trim() != "No Notes")
  {
    $('#edit_note_form_' + card_id).html($('#details_note_' + card_id + " .note").text().trim());
  }
  $('#details_note_' + card_id + " .edit_note").hide();
  $('#details_note_' + card_id + " .note").hide();
  $('#details_note_' + card_id + " .save_note").show();
}

function save_note(card_id)
{
  $('#edit_note_form_' + card_id).hide();
  $('#details_note_' + card_id + " .edit_note").show();
  $('#details_note_' + card_id + " .note").show();
  if ($('#edit_note_form_' + card_id).val().trim() != "")
  {
    $('#details_note_' + card_id + " .note").html($('#edit_note_form_' + card_id).val());
    $.ajax({
      data: 'sports_card_id=' + card_id + 
            '&authenticity_token=' + encodeURIComponent(AUTH_TOKEN) +
            "&note=" + $('#edit_note_form_' + card_id).val(),
      dataType: 'script', 
      type: 'post', 
      url:'/user_cards/save_note'} )
  }
  else
  {
    $('#details_note_' + card_id + " .note").html("<i>No Notes</i>");
  }
  $('#details_note_' + card_id + " .save_note").hide();
}

/*
*  Uglier than it needs to be because stupid libraries like prototype extend Array.prototype
*/
function add_or_update_query_param(name, value)
{
   url = window.location.href;
   query_string_chunks = url.split("?");
   base_url = query_string_chunks[0];
   query_string = (query_string_chunks.length == 2) ? query_string_chunks[1] : null;
   chunks = [];
   new_value_updated = false;
   if (query_string)
   {
     name_value_pairs = query_string.split("&")
     for (var i = 0; i < name_value_pairs.length; i++)
     {
       pair = name_value_pairs[i].split("=");
       if (pair.length == 2)
       {
         if (pair[0].toLowerCase() === name.toLowerCase())
         {
           chunks.push(name + "=" + value);
           new_value_updated = true;
         }
         else
         {
           chunks.push(pair[0] + "=" + pair[1]);
         }
       }
     }
   }
   
   if (!new_value_updated)
   {
     chunks.push(name + "=" + value);
   }

   return (base_url + "?" + chunks.join("&"));
}

function change_filter(input, accept_blank, query_string_var)
{
  var accept_blank = (accept_blank) ? accept_blank : false;
  if ((input && input.value) || (input && accept_blank))
  {
    filter_name = (query_string_var) ? query_string_var : "filter"; 
    url = add_or_update_query_param(filter_name, input.value)
    window.location.href = url
  }
}

function change_type_selector(new_sport)
{
  $('#sports_selector .selected').removeClass("selected");
  $('#sports_selector .' + new_sport).addClass("selected");
}

function close_lightbox()
{
  if (window.parent)
  {
    window.parent.$.nyroModalRemove();
  }
  else
  {
    $.nyroModalRemove();
  }
}

function show_lightbox_iframe(url, height, width)
{
  $.nyroModalManual({
    url: url,
    forceType: "iframe",
    height: height,
    width: width,
    titleFromIframe: false
  }); 

}

function show_item(item_id)
{
  $.nyroModalManual({
    url: "/sports_cards/" + item_id + "?ajax=true",
    forceType: "iframe",
    height: 450,
    width: 750,
    titleFromIframe: false
  }); 
}

function show_new_flag(item_id)
{
  window.parent.$.nyroModalManual({
    url: "/item_flags/new?sports_card_id=" + item_id,
    forceType: "iframe",
    height: 650,
    width: 600,
    titleFromIframe: false
  });
}

function ui_selected(obj)
{
  $(".selected").removeClass("selected");
  $(obj).addClass("selected");
}