var editables = {};
function init_editables()
{
  editables = {};
  $('.editable').each( function() {
    classes = $(this).attr('class').split(' ');
    for(i=0;i<classes.length;i++)
    {
      parts = classes[i].split('_');
      if (parts[0]=='name')
      {
        parts = parts[1].split('_');
        key = parts[0];
        editables[key]=$(this).html();
      }
    }
  });
  keys = [];
  for(var k in editables) keys.push(k);
  keys.sort(function (a, b){return (editables[a].toLowerCase() > editables[b].toLowerCase()) - (editables[a].toLowerCase() < editables[b].toLowerCase());});
  $('#edit_table').empty();
  for(var i = 0; i < keys.length; i++)
  {
    key = keys[i];
    value = editables[key];
    editor = "<div id='"+key+"_editor' class='editor' style='display: none'><textarea>"+value+"</textarea><br/><button>Save</button></div>";
    html = "<tr class='editor_row'><td class='key'>"+key+"</td><td><div class='editor_button'>"+value+"</div>"+editor+"</td></tr>"; //"
    $('#edit_table').append(html);
  }
  $('.editor_button').hover(
    function()
    {
      e = $(this).closest('.editor_row');
      key = e.find('.key').text();
      klass = '.name_'+key+'_';
      $(klass).addClass('static_editor_element');
    },
    function()
    {
      e = $(this).closest('.editor_row');
      key = e.find('.key').text();
      klass = '.name_'+key+'_';
      $(klass).removeClass('static_editor_element');
    }
  );
  $('.editor_button').click(function(){
    $(this).toggle();
    $(this).next().toggle();
  });
  $('.editor > button').click(function() {
    $('.static_editor_element').removeClass('static_editor_element');
    e = $(this).closest('.editor_row');
    key = e.find('.key').text();
    val = $(this).prevAll('textarea').val();
    b = $(this).parent().prev();
    b.html($('<div/>').text(val).html());
    $(this).parent().toggle();
    b.toggle();
    $.get('/api/static_editor/save/'+escape(key)+'?v='+escape(val));
    $('.editable').each( function() {
      classes = $(this).attr('class').split(' ');
      for(i=0;i<classes.length;i++)
      {
        parts = classes[i].split('_');
        if (parts[0]=='name')
        {
          parts = parts[1].split('_');
          ekey = parts[0];
          if (ekey == key)
          {
            $(this).html(val);
          }
        }
      }
    });
  });
}
