// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function selectMessages(messageType) {
    var messages;
    if (messageType != "") {
  messages = $j(".message");
  messages.each(function () {
      var box = $j("input:checkbox", this);
      box[0].checked = this.hasClassName(messageType);
  });
    }
};

function getMessageIds() {
    ids = [];
    $j(".message input:checked").each(function () {
  ids[ids.length] = this.value;
    });
    return ids;
}

function markSelected(url, classToRemove, classToAdd) {
    var ids = getMessageIds();
    if (ids.length > 0) {
  new Ajax.Request(url + '?ids=' + ids.join(","), 
       {asynchronous:true, 
        onSuccess: function(transport) {
            $(transport.responseText.split(",")).each(function (id) {
          $j('#message-'+id).removeClass(classToRemove).addClass(classToAdd);
            });
        }});
    }
}

function deleteSelected(url) {
    var ids = getMessageIds();
    if (ids.length > 0) {
  new Ajax.Request(url + '?ids=' + ids.join(","), 
       {asynchronous:true, 
        onSuccess: function(transport) {
            $(transport.responseText.split(",")).each(function (id) {
          $j('#message-'+id).fadeOut('normal', function() {this.remove()});
            });
        }});
    }
}

function resetFeedbackForm() {
    bm_close_all_popups();
    $('feedback-thanks').style.display = 'none';
    $('feedback_form').style.display = 'block';
    $$("#feedback_form form textarea")[0].value = "";
    var radios = $$("#feedback_form form input[type=radio]");
    var i;
    for (i = 0; i < radios.length; ++i) {
  radios[i].checked = false;
    }
}

function confirmLink(link, text, title) {
    $('confirm_form').action = link.href;
    if (title) {
  $('confirm_title').update(title);
    } else {
  $('confirm_title').update(link.innerHTML);
    }
    $('confirm_button').value = $('confirm_title').innerHTML;
    $('confirm_text').update(text);
    greyOutBackground();
    center('confirm_popup');
    $('confirm_popup').style.display = "block";


    return false;
}

function confirmRemoteLink(link, text, title) {
  confirmLink(link, text, title);

  $('confirm_button').onclick = function (){
    new Ajax.Request(link.href, {asynchronous:true, evalScripts:true, parameters:Form.serialize($('confirm_form'))}); return false;
  }

  return false;
}

function resize(element) {
  var height = parseInt(element.style.height);
  element.style.height = (height + 50).toString() + "px";
  return false;
}

function center(element) {
  element = $(element);

  var yOffset;
  if (window.scrollY != undefined)
    yOffset = window.scrollY;
  else if (document.body.parentNode.scrollTop != undefined)
    yOffset = document.body.parentNode.scrollTop;

  element.style.top = "" + (yOffset + 20) + "px";
  return false;
}


function update_search_text(sel) {
  $("search").value = "Search " + sel.options[sel.selectedIndex].innerHTML;
}

function bm_toggle_popup(event, id, val) {
  bm_close_all_popups();
  var p = $(id);
  if (val == 1) {
    greyOutBackground();
    p.style.display = 'block';
    center(p);
  } else if (val == 0) {
    p.style.display = 'none';
  }        
}

function bm_toggle_invite_popup(event, val) {
  bm_toggle_popup(event, 'invite_popup', val);
}

function bm_toggle_share_this_popup(event, val, link, text, image) { 
  if (val == 1) {
    if (link == null)
        link = window.location;
    else
        link = link.href;
    $('share_link').value = link;
  }
  
  if (text != null) {
    $('share_text').update(text);
    $('share_title').value = text;
  }
  if (image != null)
    $('share_image').update("<img src=\""+image+"\">");  
  bm_toggle_popup(event, 'share_this_popup', val); 
}

function bm_close_all_popups() {
  showBackground();
  if ($('invite_popup'))
    $('invite_popup').style.display = 'none';
  if ($('share_this_popup'))
    $('share_this_popup').style.display = 'none';
  if ($('feedback_popup'))
    $('feedback_popup').style.display = 'none';

    $j(".popup").hide();
}

function greyOutBackground() {
  $("popup_foreground").style.display = "block";

    $j(".hidden-on-popup").css("visibility", "hidden");

  if ($j.browser.msie) {
    var elements = document.documentElement.getElementsByTagName('select');
  
    for (var i=0; i<elements.length; i++) {
      elements[i].style.visibility = "hidden";
    }
  }
}

function showBackground() {
  $("popup_foreground").style.display = "none";

    $j(".hidden-on-popup").css("visibility", "visible");

  if ($j.browser.msie) {
    var elements = document.documentElement.getElementsByTagName('select');
  
    for (var i=0; i<elements.length; i++) {
      elements[i].style.visibility = "visible";
    }
  }
}

function loadPopup(url, elementId) {
  $j("#"+elementId).load(url, null, function() {
    $(elementId).style.display = "block";
    center($(elementId));
    greyOutBackground();
  });
}

function cancelPopup(elementId) {
  showBackground(); 
  $j('#'+elementId).hide(); 
  $j('#'+elementId).html('');
}

function selectBook(element, bookId, asin) {
  $j("input#book-id")[0].value = bookId || "";
  $j("input#asin-id")[0].value = asin;
  $j("#book-to-add span").html($j(element).html());
  $j("#book-to-add").show();
  $j("input#submit")[0].disabled = null;
  $j("#add-book-form .note").hide();
  return false;
}

function showLocation(element) {
  if (element.value == '1') {
    $('u_location_container').show();
    $('u_location_label_container').show();
  } else {
    $('u_location_container').hide();
    $('u_location_label_container').hide();
  }
}