var Defuddle={init:function(){this.setupInput($('search'),'Search');this.setup();},setup:function(){$$('li.vote').each(function(li){li.removeEvents();var qid=li.id.substr(2);li.addEvent('click',Defuddle.vote.bind(Defuddle,[qid,li.hasClass('yes')]));});$$('a.flag').each(function(a){a.removeEvents();var qid=a.id.substr(5);a.addEvent('click',Defuddle.flag.bind(Defuddle,qid));});},vote:function(id,yes){if(yes){$('y_'+id).addClass('voted');$('n_'+id).removeClass('voted');}else{$('y_'+id).removeClass('voted');$('n_'+id).addClass('voted');}
var params=new Hash({id:id,yes:yes,token:this.token});new Request.JSON({url:'/vote',data:params.toQueryString(),onSuccess:function(responseJSON){$('y_'+id).set('text','Yes ('+responseJSON.yes+')');$('n_'+id).set('text','No ('+responseJSON.no+')');}}).send();},flag:function(id){if(confirm('Are you sure you want to flag this question as inappropriate?')){window.location.href='/flag/'+id;}},setupInput:function(input,defaultText){var inputElement=$(input);Defuddle.addInputEventHandlers(input,defaultText);if(inputElement.value==''){inputElement.addClass('blank');inputElement.value=defaultText;}},addInputEventHandlers:function(input,defaultText){var inputElement=$(input);inputElement.addEvent('focus',function(){if(!inputElement.hasClass('blank')){return;}
inputElement.value='';inputElement.removeClass('blank');});inputElement.addEvent('blur',function(){if(inputElement.value!=''){return;}
inputElement.addClass('blank');inputElement.value=defaultText;});},loadMore:function(moreURL,beforeID){$('more_'+beforeID).empty();$('loading').inject($('more_'+beforeID),'bottom');var div=new Element('div');div.inject($('more_'+beforeID),'after');new Request.HTML({url:moreURL,evalScripts:true,update:div,onSuccess:function(responseHTML){$('more_'+beforeID).setStyle('display','none');$('more_'+beforeID).removeEvents();Defuddle.setup();}}).send();}};window.addEvent('domready',Defuddle.init.bind(Defuddle));