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

var items = [];

function initEpisode() {
  removeUnusedTweets();
  makeSortable();
}

function removeUnusedTweets() {
  var tweets = Form.getInputs("new_episode","checkbox")

  for (var i = 0, length = tweets.length; i < length; ++i) {
    var item = tweets[i];
    if (item.getValue()!=1) {
      item.ancestors()[0].ancestors()[0].remove();
    }
  }
}

function makeSortable() {
  itemElements = $("tweets").childElements();
  for (var i = 0, length = itemElements.length; i < length; ++i) {
    var itemElement = itemElements[i];
    items[i] = itemElement.id;
  }
  
  for (var i = 0, length = items.length; i < length; ++i) {
    Sortable.create(items[i],{tag: 'div', dropOnEmpty: true, containment: items });
  }
  
}

function saveEpisode() {
  var result = [];
  var items = document.getElementsByClassName('item');
  var episodeCounter = 0;
  for (var i = 0, length = items.length; i < length; ++i) {
    var episodeItems = [];
    for (var j = 0, iLength = items[i].childElements().length; j < iLength; ++j) {
      episodeItems[j] = items[i].childElements()[j].childElements()[1].id;
    }
    if (episodeItems.length > 0) {
      result[episodeCounter] = episodeItems;
      episodeCounter++;
    }
  }
  $("episode_data").value = result.toJSON();
  $("new_episode").submit();
}

function displayItems() {
		var items = document.getElementsByClassName('item');
		var alerttext = '';
		items.each(function(item) {
			var itemID = item.id;
			var order = Sortable.serialize(itemID);
			alerttext += itemID + ': ' + Sortable.sequence(item) + '\n';
		});
		alert(alerttext);
		return false;
}

// bekijk of er een ancor in de url zit
function highlightItem(item) {
  var item = item || location.hash || "";
  if (item != "") {
    if (item.startsWith("#")) {
      item = item.substring(1,item.length);
    }
    new Effect.Highlight(item, { startcolor: '#24A8E1', endcolor: '#E4F4FA', restorecolor: '#E4F4FA' });
  } 
  
}

function initUsernameLabel() {
  var supporters = $("supporters");
  if (supporters) {
    //TODO: gebruikersnaam toevoeg als mousover label
  }
}


document.observe("dom:loaded", function() {
  highlightItem();
  initUsernameLabel();
});

