

function jeval(str){return eval('(' +  str + ');'); }


  
//tog
function tog(clicker, toggler, callback, speed){
  if (speed == undefined)
    speed = SLIDE_SPEED;
  if (callback)
    jQuery(clicker).click(function(){jQuery(toggler).slideToggle(speed, callback); return false;});
  else
    jQuery(clicker).click(function(){jQuery(toggler).slideToggle(speed); return false;});
}
function togger(j, callback, speed){
  if (speed == undefined)
    speed = SLIDE_SPEED;
  if(callback)
  jq(j).slideToggle(speed, callback); 
  else 
  jq(j).slideToggle(speed); 
}
//tog





//message
function async_message(m, d){message(m, d);}
function messages(m, d){message(m, d);}
function message(message, duration){
    if (duration == undefined){ duration = 3000;}
    if (jq.browser.msie) { jq("#message").css({position: 'absolute'}); }
    jq("#message").text(message).fadeIn(1000);
    setTimeout('jq("#message").fadeOut(2000)',duration);
    return false;
}
//message


function debug(m){if (typeof console != 'undefined'){console.log(m);}}
function puts(m){debug(m);}







function show_instance(id){
  jq('#instance').html(mem_ajax(id, 'get'));
  jq('#instance_heading').hide();
}

function edit_instance(id){
jq('#instance').html(edit_memory_ajax(id, 'get'));
jq('#instance_heading').hide();
}
function new_instance(){
jq('#instance').html(new_memory_ajax('get'));
jq('#instance_heading').show().html('Create a New Memory:');
}


function load_memories(type){
  formatted_memories_ajax(type, 'get', {}, {async: true, success: function(a){
    jq('#memories').html(a);
    jq('#memory_scope_all_memories').removeClass('on');
    jq('#memory_scope_mine').removeClass('on');
    jq('#memory_scope_friends').removeClass('on');
    jq('#memory_scope_' + type).addClass('on');
    clear_search();
  }})
}

function show_memory(id){
  jq('#instance').html(memory_ajax(id, 'get'));
  jq('#link_to_create_new_memory').hide();
}


function sort_memories(direction){
  formatted_memories_ajax(direction, 'get', {}, {async: true, success: function(a){
    jq('#memories').html(a);
    jq('#memory_sort_abc').removeClass('on');
    jq('#memory_sort_abc_all').removeClass('on');
    jq('#memory_sort_recent').removeClass('on');
    jq('#memory_sort_recent_all').removeClass('on');
    jq('#memory_sort_' + direction).addClass('on');
    clear_search();
  }})
}




var search_timer;
var search_val = '';
function search(){
  if (jq('#q').length == 0)
    return;
  if (search_val != jq('#q').val()){
    search_val = jq('#q').val();
    jq.ajax({
      type: 'POST',
      url: searches_path(),
      data: "q=" + search_val,
      beforeSend: function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")},
      success: function(x) {try{jq('#memories').html(x)} catch(e){}}
    })
  }
  search_timer = setTimeout(search, 500);
}

function clear_search(){
  clearTimeout(search_timer);
  search_val = '';
  jq('#q').val('');
  search();
}




jq(function(){
  
  //waiter
  jQuery("#waiter").ajaxStart(function(){jq(this).show();}).ajaxStop(function(){jq(this).hide();}).ajaxError(function(){jq(this).hide();});

//  jQuery.ajaxSetup({ beforeSend: function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} })
  
  
  //memory_scope
  jq('#memory_scope_all_memories').click(function(){load_memories('all_memories');});
  jq('#memory_scope_friends').click(function(){load_memories('friends');});
  jq('#memory_scope_mine').click(function(){load_memories('mine');});
  jq('#memory_sort_abc').click(function(){sort_memories('abc');});
  jq('#memory_sort_abc_all').click(function(){sort_memories('abc_all');});
  jq('#memory_sort_recent').click(function(){sort_memories('recent');});
  jq('#memory_sort_recent_all').click(function(){sort_memories('recent_all');});
  
  
  //search
  //search_val = jq('#q').val();
  search();
})

