(function(){var d=this,e=d.jQuery,b=(d.DDC=(d.DDC||{})),a={version:"0.75",debugMode:false,debug:function(f){if(d.console&&a.debugMode){console.log("[api] "+f)}else{if(d.$&&a.debugMode){e(function(){if(e("#apiConsole").size()===0){e("body").append('<div id="apiConsole" />')}e("<p>[api] "+f+"</p>").appendTo("#apiConsole");e("#apiConsole")[0].scrollTop=e("#apiConsole")[0].scrollHeight})}}},extend:function(){var j=arguments[0]||{},f=1,h=arguments.length,k,g;if(h===1){j=this;f=0}for(;f<h;f++){if((k=arguments[f])!==null){for(g in k){if(!(j===k[g])){if((typeof k[g]==="object")&&j[g]){a.extend(j[g],k[g])}else{if(k[g]!==undefined){j[g]=k[g]}}}}}}return j},get:function(j,g,l,k,f){j=j||"script";f=f===undefined?true:f;g=(g||"")+a.urlize(l||{},null,null,null,f);k=k||function(){};var i=document.createElement(j==="script"?j:"link"),h=document.getElementsByTagName("head")[0],m=false;if(j==="script"){i.src=g;i.type="text/javascript";i.onload=i.onreadystatechange=function(){if(!m&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){m=true;a.debug("Api.get() - done loading "+j+": "+g);h.removeChild(i);k()}}}else{if(j==="stylesheet"){i.href=g;i.type="text/css";i.rel=j}}h.appendChild(i);a.debug("Api.get() - loading "+j+": "+g)},getStyle:function(f){a.get("stylesheet",f)},getScript:function(g,i,h,f){a.get("script",g,i,h,f)},urlize:function(r,o,n,m,j){o=o||"?";n=n||"&";m=m||"=";j=j===undefined?true:j;var k,h,f,t="",p,q=d.escape,g=function(i){return j?q(i).replace(/\+/g,"%2B").replace(/\"/g,"%22").replace(/\'/g,"%27"):i};switch(typeof r){case"object":if(r){for(h in r){if(typeof(p=a.urlize(r[h]))!=="function"){if(t){t+=n}t+=g(a.urlize(h))+m+g(p)}}return(t.length>=1?o:"")+t}else{return"null"}case"string":return r;case"number":return String(r);default:return"null"}}},c=(function(){var h={},i={},f="fn",g=0;return{callback:i,get:function(m){m=a.extend({url:null,escape:true,cache:true,params:{},callback:function(n){},scope:d},m);var k=m.url.toString()||"",l=m.url+a.urlize(m.params,null,null,null,m.escape),j;if(!h[l]){j=f+g++;m.params=a.extend(m.params,{callback:"DDC.Api.DataAccessManager.callback."+j});i[j]=function(n){a.debug("DDC.Api.DataAccessManager.get() - Response from url: "+l);h[l]=n;m.callback(n)};a.getScript(m.url,m.params,function(){},m.escape);a.debug("DDC.Api.DataAccessManager.get() - Beginning Xjax request")}else{setTimeout(function(){var o=new Date(),n;m.callback(h[l]);n=new Date();a.debug("Retrieving data access result from cache for url: "+l);a.debug("Cached data access callback took: "+(n.getTime()-o.getTime())+"ms")},10)}}}}());d.DDC.Api=a;d.DDC.Api.DataAccessManager=c}());