$(document).ready(function() {
   var itemid = document.getElementById('itemid').value;
   var userid = document.getElementById('userid').value;
   var ajaxurl = document.getElementById('ajaxurl').value;

   if(document.getElementById("searchstatus"))
     {
     BitstreamSearch(itemid,userid,ajaxurl);
     }
 
});


// Called when changind the bitstream search
function BitstreamSearch(itemid,userid,ajaxurl)
{
  var searchstatus     = document.getElementById("searchstatus");
  var image = document.getElementById("webroot").value+"images/loading.gif";
  cleanTable();
  var table=$("#bitstreamtable");
  table.find("tr:last").after("<tr bgcolor='#CBCBCB'><td colspan=4><img src=\""+image+"\"/> Loading bitstreams..</td></tr>")
  

  var searchtxt = document.getElementById("bitstreamsearch").value
  if(searchtxt.length>0)
    {
    ajaxurl += "?search="+searchtxt;
    }
  $.ajax({
   type: "GET",
   url: ajaxurl,
   data: "itemid="+itemid,
   success: function(msg){
    searchstatus.innerHTML="";
    if(msg.length>0)
      {
      var parameters = new Array();
      parameters = msg.split('||');
      count=0;
      for(i=0;i<parameters.length;i++)
        {
        if(parameters[i].length==0)
          {
          delete parameters[i];
          }
        else
          {
          count++;
          }
        }
      var filesN='file';
      if(count>1)filesN='files';
      parameters.unshift("0;;"+count+" "+filesN+" found");
      updateTable(parameters);
      }
    else
      {
      var parameters=new Array();
      parameters.unshift("0;;0 file found");
      updateTable(parameters);
      }
   }
 });
}

// Clean the table
function cleanTable()
{
var tbl     = document.getElementById("bitstreamtable");
var lastRow = tbl.rows.length;
while(lastRow > 2)
  {
  tbl.deleteRow(lastRow - 1);
  lastRow = tbl.rows.length;
  }
}


function updateTable(values)
{
var tbl = document.getElementById("bitstreamtable");
cleanTable();

var lastRow = tbl.rows.length;
var previouscell = "";
row_color=true;
for(val in values)
  {
  var text = new Array();
  cells = values[val].split(';;');
  // if there's no header row in the table, then iteration = lastRow + 1
  var row = tbl.insertRow(-1);

  if (row_color) 
    {
    row.style.backgroundColor = "#CBD6DE";
    row_color=false;
    }
  else
    {
    row_color=true;
    }
  if(val==0)
    {
    row.style.backgroundColor = "#CBCBCB";
    }

  row.id = cells[0];

  var i=0;
  for(cell in cells)
    {
    // Skip the first cell
    if(i > 0)
      {
    // Add the cells
    var cellFile = row.insertCell(cell-1);
    //var textNode = document.createTextNode(cells[cell]);
    var nn = document.createElement('z');
    nn.innerHTML = cells[cell];
    cellFile.appendChild(nn);
      }
    i++;
    }
  }
  var table=$("#bitstreamtable");
  table.find("tr:eq(2)").find("td").attr("colspan","4").attr("align","center").attr("style","font-weight:bold;");
  collapseAllRows();

  $('#license_pop').jqm();

$('.bitstream_info').tooltip({ 
    track: true, 
    delay: 0, 
    showURL: false, 
    showBody: " - ", 
    fade: 250
    });
  
  // Image preview
  var thumbnails=$(".bitstreamPreview");
  imgPrevSize=150;
  xOffset=imgPrevSize/2;
  yOffset=30;
  thumbnails.hover(function(e)
    {
    this.t = this.title;
    this.title = ""; 
    var c = (this.t != "") ? "<br/>" + this.t : "";
    $("body").append("<p id='bitstreamPreview'><img src='"+this.src+"'' alt='Image preview' height='" + imgPrevSize + "'/>"+ c +"</p>");      
    $("#bitstreamPreview").css("top",(e.pageY - xOffset) + "px")
                         .css("left",(e.pageX + yOffset) + "px")
                         .fadeIn("normal");},
     function()
       {
       this.title = this.t; 
       $("#bitstreamPreview").remove();
       }
     ); 
  
  thumbnails.mousemove(function(e)
    {
    $("#bitstreamPreview").css("top",(e.pageY - xOffset) + "px")
                          .css("left",(e.pageX + yOffset) + "px");
    }
   );
}

function prepareView()
{
  $("#iframe1").css("display","block");
  $("#iframe1").css("width","100%");
  $("#iframe1").css("height","600px");
}

function verify(bitstreamid,itemid)
  {
  var webroot = document.getElementById('webroot').value;
  var lic = webroot+"item/license/"+itemid;
  
  $("#license_pop").load(lic,
    function() {      
    if($("#license_pop").html()=='false')
      {
      $('#license_pop').hide();
      $('#license_pop').jqmHide();
      window.location.href=webroot+"bitstream/download/" + bitstreamid ;
      return;
      }
      $("#license_pop").append(
  "<br \><div style='text-align: center;'>" +
  "<a href='"+webroot+"bitstream/download/" + bitstreamid + "' onclick='closeVerify()'>" +
  "Accept</a>&nbsp;&nbsp;<a href='#' onclick='closeVerify()' class='jqmClose'>Decline</a></div>");});
   $('#license_pop').jqm();
   $('#license_pop').show();
  }
  
function check_licence(downloadURL,itemid)
  {
  var webroot = document.getElementById('webroot').value;
  var lic = webroot+"item/license/"+itemid;
  
  $("#license_pop").load(lic,
    function() {      
    if($("#license_pop").html()=='false')
      {
      $('#license_pop').hide();
      $('#license_pop').jqmHide();
      window.location.href=downloadURL ;
      return;
      }
      $("#license_pop").append(
  "<br \><div style='text-align: center;'>" +
  "<a href='"+downloadURL + "' onclick='closeVerify()'>" +
  "Accept</a>&nbsp;&nbsp;<a href='#' onclick='closeVerify()' class='jqmClose'>Decline</a></div>");});
   $('#license_pop').jqm();
   $('#license_pop').show();
  }

function closeVerify()
  {
  $('#license_pop').jqmHide();
  $('#license_pop').hide();
  }

// Functions for the cart
function addBitstreamToCart(cartid,bitstreamid,ajaxurl,divid)
{
   var divname = "#"+divid;

   $.ajax({
   type: "GET",
   url: ajaxurl+"cart/addbitstream",
   data: "cartid="+cartid+"&bitstreamid="+bitstreamid,
   success: function(msg){
    if(msg != "ERROR")
      {
      $(divname).html("<a href=\"#\" onclick=\"removeBitstreamFromCart('"+cartid+"','"+bitstreamid+"','"+ajaxurl+"','"+divid+"');return false;\">Remove from cart</a>");
      }
     else
      {
      $(divname).html("Cannot add to cart");
      }
   }
 });
}

function removeBitstreamFromCart(cartid,bitstreamid,ajaxurl,divid)
{
   var divname = "#"+divid;

   $.ajax({
   type: "GET",
   url: ajaxurl+"cart/removebitstream",
   data: "cartid="+cartid+"&bitstreamid="+bitstreamid,
   success: function(msg){
    if(msg != "ERROR")
      {
      $(divname).html("<a href=\"#\" onclick=\"addBitstreamToCart('"+cartid+"','"+bitstreamid+"','"+ajaxurl+"','"+divid+"');return false;\">Add to cart</a>");
      }
     else
      {
      $(divname).html("Cannot remove from cart");
      }
   }
 });

}
