var g_pl_addthis_pub = '';

var g_pl_funcs = ["quick-1", "quick-1-check1", "find-db-1", "find-db-1-title", "find-db-1-locate", "find-db-1-category", "find-db-4", "find-db-4-check", "azlist", "eshelf-1", "eshelf-2", "my-sets-1", "my-ejournal-1", "history-1", "preferences-1", "eshelf-2-next", "meta-1", "meta-1-check"];
var g_pl_params = ["mode", "azlist", "scan_utf", "scan_start", "search_type", "restricted", "resource", "find_request_1", "find_request_2", "find_request_3", "find_code_2", "find_code_3", "find_op_1", "set-entry", "F-WCL", "F-WPB", "F-WFL", "F-WRD", "F-WTY", "sequence", "category", "SUB_CAT"];

var g_pl_persistent_link_txt = '';
var g_pl_institute = '';
var g_pl_portal = '';
var g_pl_lng = '';
var g_pl_logged_in = '';
var g_pl_base_address = '';

function showPersistentLink(a_persistent_link_txt, a_institute, a_portal, a_lng, a_logged_in, a_base_address)
{
  g_pl_persistent_link_txt = a_persistent_link_txt;
  g_pl_institute = a_institute;
  g_pl_portal = a_portal;
  g_pl_lng = a_lng;
  g_pl_logged_in = a_logged_in;
  if (a_base_address != 'permalinks_base')
    g_pl_base_address = a_base_address;

  updatePersistentLink(false);

  jQuery("input:radio[@name^=group_number_]").click(function()
  {
    updatePersistentLink(true);
  });

  jQuery("iframe[name=results]").load(function()
  {
    jQuery("iframe[name=results]").contents().find("input:checkbox").click(function()
    {
      updatePersistentLink(true);
    });
    updatePersistentLink(true);
  });
}

function updatePersistentLink(a_changed)
{
  $("div#persistent_link").remove();

  // Fetch all parameters
  var loc = window.location.toString();
  loc.match(/\?(.+)$/);
  var paramstr = RegExp.$1;
  paramlist = paramstr.split("&");
  var params = {};
  for (var i = 0; i < paramlist.length; i++)
  {
     var keyvalue = paramlist[i].split("=");
     params[keyvalue[0]] = unescape(keyvalue[1]);
  }

  // Check that the function is one we can handle
  var func = params["func"];
  var ok = false;
  for (var i = 0; i < g_pl_funcs.length; i++)
  {
    if (g_pl_funcs[i] == func)
    {
      ok = true;
      break;
    }
  }
  if (!ok)
    return;

  // Create base url
  var url = '';
  if (g_pl_base_address == '')
  {
    loc.match(/^(.+?\/[VE])/);
    url = RegExp.$1;
    if (url == "")
      return;
    url += "/";
  }
  else
  {
    url = g_pl_base_address;
  }

  url += "?institute=" + g_pl_institute +
    "&portal=" + g_pl_portal +
    "&new_lng=" + g_pl_lng;
  if (g_pl_logged_in)
    url += "&force_login=Y";

  url += "&func=" + escape(func);

  // Add parameters

  // Special case for azlist, add almost anything
  if (func == "azlist")
  {
    for (var i = 0; i < paramlist.length; i++)
    {
       var keyvalue = paramlist[i].split("=");
       if (keyvalue[0] != "func" && keyvalue[0] != "institute" && keyvalue[0] != "portal" && keyvalue[0] != "new_lng" && keyvalue[0] != "force_login")
         url += "&" + paramlist[i];
    }
  }
  else
  {
    for (var i = 0; i < g_pl_params.length; i++)
    {
      var key = g_pl_params[i];
      if (params.hasOwnProperty(key))
        url += "&" + key + "=" + escape(params[key]);
    }
  }

  // For QuickSearch, find selected quickset and add parameter for it
  if (func == "quick-1")
  {
    var qs = jQuery("#resourceSets").find("input:radio[@name^=group_number_]:checked")[0];
    if (qs)
      url += "&group_number=" + escape(qs.value);
  }
  // For MetaSearch, add ckboxes
  else if (func == "meta-1" || (func == "meta-1-check" && a_changed))
  {
    var cb_checked = jQuery("iframe[name=results]").contents().find("input:checkbox[name=ckbox]:checked");
    for (var i = 0; i < cb_checked.length; i++)
    {
      url += "&ckbox=" + cb_checked[i].value;
    }
  }
  else if (func == "meta-1-check")
  {
    for (var i = 0; i < paramlist.length; i++)
    {
       var keyvalue = paramlist[i].split("=");
       if (keyvalue[0] == "ckbox")
         url += "&ckbox=" + keyvalue[1];
    }
  }

  $("div[id=contentwrap]").append('<div id="persistent_link"><br><a href="' + url + '">' + g_pl_persistent_link_txt + '</a> <input type="text" readonly="readonly" class="bordered_input persistent-link-field" value="' + url + '"></div>');

  if (g_pl_addthis_pub != '')
    $("div[id=persistent_link]").append('<br><a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;pub=' + g_pl_addthis_pub + '" addthis:url="' + url + '"><img src="http://s7.addthis.com/static/btn/sm-share-en.gif" width="83" height="16" alt="Bookmark and Share" style="border:0"/></a><script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js?pub=' + g_pl_addthis_pub + '"></script>');

}


