(function(){var B=YAHOO,F=B.util,H=F.YUILoader,J=B.lang,A=F.Dom,K=F.Event,I=F.CustomEvent,C=YAHOO.namespace("api");C.TermExtractor=function(D){if(!J.isUndefined(D)&&!J.isUndefined(D.contextEl)&&A.get(D.contextEl)){this.contextEl=A.get(D.contextEl);}else{return false;}if(!J.isUndefined(D.proxy)&&J.isString(D.proxy)){this.proxy=D.proxy;}else{}if(!J.isUndefined(D.appid)&&J.isString(D.appid)){this.appid=D.appid;}else{this.appid=false;}this.onComplete=new I("onComplete",this,false,I.FLAT);return this;};var G=C.TermExtractor.prototype;G.toString=function(){return"TermExtractor "+(this.contextEl.id||this.contextEl.nodeName);};G.extract=function(){if(!J.isUndefined(F.Connect)&&!J.isUndefined(J.JSON)){this._onDependenciesLoaded();}else{this._loadDependencies();}};G._onDependenciesLoaded=function(){var E,L,D;E=this._getContextContent();if(!J.isUndefined(E)&&!J.isUndefined(E.length)&&E.length>0){D=["context="+encodeURIComponent(E),"output=json"].join("&");if(this.appid){D+="&appid="+encodeURIComponent(this.appid);}L={success:this._onResponseSuccess,scope:this,failure:this._onResponseError,timeout:30000};this._lastConnection=F.Connect.asyncRequest("post",this.proxy,L,D);}else{this.onComplete.fire({terms:[],message:"Context element had no content."});}};G._onResponseError=function(D){};G._onResponseSuccess=function(M){var E,D;try{E=J.JSON.parse(M.responseText);if(!J.isUndefined(E)&&!J.isUndefined(E.ResultSet)&&!J.isUndefined(E.ResultSet.Result)){D=E.ResultSet.Result;}else{D=[];}this.onComplete.fire({terms:D,message:"Response retrieved from Yahoo Search Term Extractor API."});}catch(L){}};G._getContextContent=function(){var D=this.contextEl;if((D.nodeName.toLowerCase()==="input")||(D.nodeName.toLowerCase()==="textarea")){return D.value;}else{return(J.isUndefined(D.innerText))?D.textContent:D.innerText;}return false;};G._loadDependencies=function(){var D=new YAHOO.util.YUILoader({require:["connection","dom","event","json"],combine:true,allowRollup:false,onSuccess:this._onDependenciesLoaded,scope:this});D.insert();};})();YAHOO.register("termextractor",YAHOO.api.TermExtractor,{version:"0.0.1",build:"0"});