// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
function add_fields(link, association, content) {  
  var new_id = new Date().getTime();  
  var regexp = new RegExp("new_" + association, "g");  
  $(link).up().insert({  
    after: content.replace(regexp, new_id)  
  });
  if($$('input[type=submit]')[0].retrieve("touched")){
    return true;
  }
  else{
    $$('input[type=submit]')[0].value += " / upload images";
    $$('input[type=submit]')[0].store("touched", true);
  }
}

function load_as_preview(link){
  $('admin_bar').down().insert({after: "<div class='admin_messages'><div class='notify'>Loading...</div></div>"});
  $$('.admin_menu')[0].hide();
  held_values = [];
  $$('input,textarea').each((function(e,i){ held_values[i] = e.value; }).bind(this));
  var ar = new Ajax.Request(link, { 
    method: 'get', 
    onSuccess: (function(transport){
      $$('.admin_messages .notify')[0].innerHTML = "Viewing reference, click anywhere on the page to return"
      $('content').store('editable', $('content').innerHTML);
      $('content').update(transport.responseText);
      $('content').observe('click', (function(event){
        event.stop();
        $$('.admin_menu')[0].appear({duration: 0.5});
        $$('.admin_messages')[0].remove();
        $('content').innerHTML = $('content').retrieve('editable');
        $$('input,textarea').each((function(e,i){ e.value = held_values[i]; }).bind(this));
        $('content').stopObserving('click');
      }).bind(this));
    }).bind(this) 
  });
}

function preview(resource_type){
  $('admin_bar').down().insert({after: "<div class='admin_messages'><div class='notify'>Loading...</div></div>"});
  $$('.admin_menu')[0].hide();
  var to_format = $(resource_type+'_content').value
  var ar = new Ajax.Request($$('form')[0].action.replace(path_for(resource_type), '/preview_'+resource_type+'/'), { 
    method: 'post', 
    parameters: { to_format: to_format }, 
    onSuccess: (function(transport){ 
      $$('.admin_messages .notify')[0].innerHTML = "Preview mode, click anywhere on the page to return.";
      $('content').store('editable', $('content').innerHTML);
      $('content').update(transport.responseText);
      $('content').observe('click', (function(event){
        event.stop();
        $$('.admin_menu')[0].appear({duration: 0.5});
        $$('.admin_messages')[0].remove();
        $('content').innerHTML = $('content').retrieve('editable');
        $(resource_type+'_content').value = to_format;
        $('content').stopObserving('click');
      }).bind(this));
    }).bind(this) 
  });
}

function path_for(resource_type) {
  return (resource_type == 'clipping') ? '/news/' : '/'+resource_type+'s/';
}