/* Add your Application JavaScript */
$(function() {
  $("div[data-toggle=fieldset]").each(function() {
    var $this = $(this);

    //Add new entry
    $this.find("button[data-toggle=fieldset-add-row]").click(function() {
      var target = $($(this).data("target"))
      console.log(target);
      var oldrow = target.find("[data-toggle=fieldset-entry]:last");
      var row = oldrow.clone(true, true);
      console.log(row.find(":input")[0]);
      var elem_id = row.find(":input")[0].id;
      var elem_num = parseInt(elem_id.replace(/.*-(\d{1,4})-.*/m, '$1')) + 1;
      row.attr('data-id', elem_num);
      row.find(":input").each(function() {
        console.log(this);
        var id = $(this).attr('id').replace('-' + (elem_num - 1) + '-', '-' + (elem_num) + '-');
        $(this).attr('name', id).attr('id', id).val('').removeAttr("checked");
      });
      oldrow.after(row);
    }); //End add new entry

    //Remove row
    $this.find("button[data-toggle=fieldset-remove-row]").click(function() {
      if ($this.find("[data-toggle=fieldset-entry]").length > 1) {
        var thisRow = $(this).closest("[data-toggle=fieldset-entry]");
        thisRow.remove();
      }
    }); //End remove row
  });
});


$(function() {
  $("#draggable").draggable();
  $("#droppable").droppable({
    drop: function(event, ui) {
      $(this)
        .addClass("ui-state-highlight")
        .find("p")
        .html("Dropped!");
    }
  });
});

$("#title_xppl").click(function() {
  generateTitle(this);
});

$(document).ready(function() {
  generateTitle("#title_xppl");
});

function generateTitle(elem) {
  var x = ["XPERIMENTAL"]
  var p1 = ["POTENTIAL", "PUBLIC", "POST", "PI", "PLATFORM FOR", "PRETENTIOUS"]
  var p2 = ["PIRATE", "PERFORMATIVE", "PUBLIC", "PUBLISHING", "POTENTIAL"]
  var l = ["LIBRARY", "LIAISON", "LAB", "LEGALITY", "LABOUR"]

  $(elem).text(x[Math.floor(Math.random() * x.length)] + " " + p1[Math.floor(Math.random() * p1.length)] + " " + p2[Math.floor(Math.random() * p2.length)] + " " + l[Math.floor(Math.random() * l.length)]);

}

$(function() {
  var index = 'ui-tabs-active';
//  Define friendly data store name
var dataStore = window.sessionStorage;
var oldIndex = 0;
//  Start magic!
try {
    // getter: Fetch previous value
    oldIndex = dataStore.getItem(index);
} catch(e) {}

  $("#tabs").tabs({
     active: oldIndex,
        activate: function(event, ui) {
            //  Get future value
            var newIndex = ui.newTab.parent().children().index(ui.newTab);
            //  Set future value
            try {
                dataStore.setItem( index, newIndex );
            } catch(e) {}
        }
    });

  $("#tabs").addClass("ui-tabs-vertical ui-helper-clearfix");
  $("#tabs li").removeClass("ui-corner-top").addClass("ui-corner-left");
});



$(".no_cover").each(function() {
  var string = $(this).attr('id')
  var randomColor = colorHash(string).rgb

  $(this).css({
    'background-color': randomColor,
  });

})

function colorHash(inputString) {
  var sum = 0;

  for (var i in inputString) {
    sum += inputString.charCodeAt(i);
  }

  r = ~~(('0.' + Math.sin(sum + 1).toString().substr(6)) * 256);
  g = ~~(('0.' + Math.sin(sum + 2).toString().substr(6)) * 256);
  b = ~~(('0.' + Math.sin(sum + 3).toString().substr(6)) * 256);

  var rgb = "rgb(" + r + ", " + g + ", " + b + ")";

  var hex = "#";

  hex += ("00" + r.toString(16)).substr(-2, 2).toUpperCase();
  hex += ("00" + g.toString(18)).substr(-2, 2).toUpperCase();
  hex += ("00" + b.toString(20)).substr(-2, 2).toUpperCase();

  return {
    r: r,
    g: g,
    b: b,
    rgb: rgb,
    hex: hex
  };
}



//newsticker

$('.marquee').marquee({
  duplicated: true,
  pauseOnHover: true
});

$( document ).ready(function() {

  update();
    function update() {
      $.ajax({
               url: "/updates",
               type: 'GET',
               async: false,
               success : function(text)
                {
             response = text;
             $('.marquee').marquee('destroy')
             $('.marquee-text').text(response)
             $('.marquee').marquee({
               duplicated: true,
               pauseOnHover: true,
               duration: 7000,
               speed: 30,
               gap: 200,
               startVisible:true
             });
             console.log(response)
              },
               cache: false,
               contentType: false,
               processData: false
               });
    }

  });

$(document).ready(function()
    {
      $('.messages').scrollTop($('.messages')[0].scrollHeight)

        $("#table").tablesorter();

    }

);

// Autocomplete for search - Contact Joca in case of trouble


$('#search').on("input", function() {
  var query = this.value;

  $.ajax({
    url: "/autocomplete_suggestions",
    data: $('form').serialize(),
    type: "POST",
    success: function(response) {
      //console.log("Got your query!");
    }
  });


    $.ajax({
      type: "GET",
      url: "/autocomplete_suggestions",
      dataType: "json",
      success: function(data) {

        // Start autocomplete
        var availableTags = data;
        console.log(availableTags);
          $( "#search" ).autocomplete({
            source: availableTags
          });
        // End of autocomplete
      }
  });

});

// Get the modal
var modal = document.getElementById('myModal');

// Get the button that opens the modal
var btn = document.getElementById("myBtn");

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];

// When the user clicks on the button, open the modal
btn.onclick = function() {
    modal.style.display = "block";
}

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
    modal.style.display = "none";
}

// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
    if (event.target == modal) {
        modal.style.display = "none";
    }
}
