if (!window.wwm) {
  wwm = {};
}

wwm.urls = { 
  toggleFavorite: null,
  quickLook: null
}

wwm.initFavorites = function() {
  wwm.urls.toggleFavorite = toggleFavoriteUrl;
  $$('a.favlink').each(function(link) {
    Event.observe(link, 'click', wwm.toggleFavorite);
  });
}

wwm.addFavorite = function(slug) {
  var url = wwm.urls.toggleFavorite;
  var a = new Ajax.Request(url, {
   parameters: 'slug='+slug+'&isFavorite=1',
   asynchronous:true, 
   evalScripts:false, 
   onSuccess:function(request, json){
     Element.update('numFavorites', json.numFavorites);
   }
  });
}

wwm.toggleFavorite = function(e) {
  var link = Event.element(e);
  var url = wwm.urls.toggleFavorite;
  var slug = link.id.replace('favorite_', '');
  var a = new Ajax.Request(url, {
   parameters: 'slug='+slug,
   asynchronous:true, 
   evalScripts:false, 
   onSuccess:function(request, json){
     $(link).className = json.klass; 
     Element.update('numFavorites', json.numFavorites);
   }
  });
  Event.stop(e);
};

wwm.initQuickLooks = function() {
  wwm.urls.quickLook = quickLookUrl;
  $$('a.quickbutton').each(function(link) {
    Event.observe(link, 'click', wwm.quickLook);
  });
}

wwm.deselectAll = function() {
  $$('.subpadselect').each(function(div) { 
    div.removeClassName('subpadselect').addClassName('subpad');
    div.down('a.quickbutton').innerHTML = 'QUICK LOOK';
  });
}

wwm.quickLook = function(e) {
  var link = Event.element(e);
  var url = wwm.urls.quickLook;
  if (link.hasClassName('sublet')) {
    var parameters = 'sublet='+link.id.replace('sublet_', '');
  } else {
    var parameters = 'slug='+link.id.replace('quicklook_', '');
  }
  
  var a = new Ajax.Updater('quicklook', url, {
   parameters: parameters,
   asynchronous:true, 
   evalScripts:true, 
   onSuccess:function(request, json){
     wwm.deselectAll();
     $(link).up('.subpad').addClassName('subpadselect');
     link.innerHTML = "LOADED";
   }
  });  
}

Event.observe(window, 'load', function() { wwm.initFavorites(); wwm.initQuickLooks() });
