/* Copyright 2008 Red Robot Studios Ltd.  All rights reserved. */
MooTools.More={version:"1.2.3.1"};var Log=new Class({log:function(){Log.logger.call(this,arguments);}});Log.logged=[];Log.logger=function(){if(window.console&&console.log){console.log.apply(console,arguments);
}else{Log.logged.push(arguments);}};Request.JSONP=new Class({Implements:[Chain,Events,Options,Log],options:{url:"",data:{},retries:0,timeout:0,link:"ignore",callbackKey:"callback",injectScript:document.head},initialize:function(a){this.setOptions(a);
this.running=false;this.requests=0;this.triesRemaining=[];},check:function(){if(!this.running){return true;}switch(this.options.link){case"cancel":this.cancel();
return true;case"chain":this.chain(this.caller.bind(this,arguments));return false;}return false;},send:function(c){if(!$chk(arguments[1])&&!this.check(c)){return this;
}var e=$type(c),a=this.options,b=$chk(arguments[1])?arguments[1]:this.requests++;if(e=="string"||e=="element"){c={data:c};}c=$extend({data:a.data,url:a.url},c);
if(!$chk(this.triesRemaining[b])){this.triesRemaining[b]=this.options.retries;}var d=this.triesRemaining[b];(function(){var f=this.getScript(c);this.log("JSONP retrieving script with url: "+f.get("src"));
this.fireEvent("request",f);this.running=true;(function(){if(d){this.triesRemaining[b]=d-1;if(f){f.destroy();this.send(c,b);this.fireEvent("retry",this.triesRemaining[b]);
}}else{if(f&&this.options.timeout){f.destroy();this.cancel();this.fireEvent("failure");}}}).delay(this.options.timeout,this);}).delay(Browser.Engine.trident?50:0,this);
return this;},cancel:function(){if(!this.running){return this;}this.running=false;this.fireEvent("cancel");return this;},getScript:function(c){var b=Request.JSONP.counter,d;
Request.JSONP.counter++;switch($type(c.data)){case"element":d=document.id(c.data).toQueryString();break;case"object":case"hash":d=Hash.toQueryString(c.data);
}var e=c.url+(c.url.test("\\?")?"&":"?")+(c.callbackKey||this.options.callbackKey)+"=Request.JSONP.request_map.request_"+b+(d?"&"+d:"");if(e.length>2083){this.log("JSONP "+e+" will fail in Internet Explorer, which enforces a 2083 bytes length limit on URIs");
}var a=new Element("script",{type:"text/javascript",src:e});Request.JSONP.request_map["request_"+b]=function(f){this.success(f,a);}.bind(this);return a.inject(this.options.injectScript);
},success:function(b,a){if(a){a.destroy();}this.running=false;this.log("JSONP successfully retrieved: ",b);this.fireEvent("complete",[b]).fireEvent("success",[b]).callChain();
}});Request.JSONP.counter=0;Request.JSONP.request_map={};var EasyJobBoard={};EasyJobBoard.SimpleWidget=new Class({Implements:[Options],options:{count:10,showSummary:true,showDate:true,showSalary:true,listId:"easyjobboard_joblist",cssOdd:"odd",cssEven:"even"},initialize:function(B,C,A){if(!$defined($(B))){return 
}this.setOptions(A);this.element=$(B);this.url="http://{domain}/api/jobs/json/{count}/".substitute({domain:C,count:this.options.count});
this.attach()},attach:function(){new Request.JSONP({url:this.url,onComplete:function(B){var A=new Array();B.reverse().each(function(E,D){var C=new Element("li",{"class":"item"}).adopt(new Element("a",{href:E.href,text:(this.options.showSalary&&E.budget)?E.title+" - "+E.budget:E.title}));
C.addClass(D%2?this.options.cssEven:this.options.cssOdd);if(this.options.showDate){C.adopt(new Element("span",{"class":"posted_on_date",text:E.creation_date}))
}if(this.options.showSummary){C.adopt(new Element("div",{"class":"summary",html:E.summary}))}A.push(C)}.bind(this));this.element.adopt(new Element("ol",{id:this.options.listId}).adopt(A))
}.bind(this)}).send()}});