Liferay.TagsEntriesSelector=new Liferay.Class({initialize:function(c){var b=this;b._curTagsEntries=[];b.options=c;b._ns=b.options.instanceVar||"";b._mainContainer=jQuery('<div class="lfr-tag-select-container"></div>');b._container=jQuery('<div class="lfr-tag-container"></div>');b._searchContainer=jQuery('<div class="lfr-tag-search-container"><input class="lfr-tag-search-input" type="text"/></div>');var d=jQuery("#"+c.hiddenInput);d.attr("name",d.attr("id"));var e=jQuery("#"+c.textInput);e.autocomplete({source:b._getTagsEntries,width:e.width()+20,formatItem:function(j,h,f,g){return j},dataType:"json",delay:0,multiple:true,mutipleSeparator:",",minChars:1,hide:function(f,g){jQuery(this).removeClass("showing-list")},show:function(f,g){jQuery(this).addClass("showing-list");this._LFR_listShowing=true},result:function(h,i){var f=this.value.length;if(this.createTextRange){var g=this.createTextRange();g.moveStart("character",f);g.select()}else{if(this.selectionStart){this.selectionStart=f;this.selectionEnd=f}}}});b._popupVisible=false;b._setupSelectTagsEntries();b._setupSuggestions();var a=jQuery("#"+c.instanceVar+"addTag");a.click(function(){var f=b._curTagsEntries;var g=e.val().split(",");jQuery.each(g,function(h,j){j=jQuery.trim(j);if(f.indexOf(j)==-1){if(j!=""){f.push(j);if(b._popupVisible){jQuery("input[type=checkbox][value$="+j+"]",b.selectTagEntryPopup).attr("checked",true)}}}});f=f.sort();e.val("");b._update()});e.keypress(function(f){if(f.keyCode==13){if(!this._LFR_listShowing){a.trigger("click")}this._LFR_listShowing=null;return false}});if(c.focus){e.focus()}if(c.curTagsEntries!=""){b._curTagsEntries=c.curTagsEntries.split(",");b._update()}Liferay.Util.actsAsAspect(window);window.before("submitForm",function(){var f=jQuery.trim(e.val());if(f.length){a.trigger("click")}})},deleteTagEntry:function(e){var a=this;var c=a.options;var b=a._curTagsEntries;jQuery("#"+a._ns+"CurTags"+e).remove();var d=b.splice(e,1);if(a._popupVisible){jQuery("input[type=checkbox][value$="+d+"]",a.selectTagEntryPopup).attr("checked",false)}a._update()},_createPopup:function(){var b=this;var e=b._ns;var d=b._container;var a=b._mainContainer;var g=b._searchContainer;var f=jQuery('<input class="submit lfr-save-button" id="'+e+'saveButton" type="submit" value="'+Liferay.Language.get("save")+'" />');f.click(function(){b._curTagsEntries=b._curTagsEntries.length?b._curTagsEntries:[];d.find("input[type=checkbox]").each(function(){var h=b._curTagsEntries.indexOf(this.value);if(this.checked){if(h==-1){b._curTagsEntries.push(this.value)}}else{if(h>-1){b._curTagsEntries.splice(h,1)}}});b._update();Liferay.Popup.close(b.selectTagEntryPopup)});a.append(g).append(d).append(f);if(!b.selectTagEntryPopup){var c=Liferay.Popup({className:"lfr-tag-selector",message:a[0],modal:false,position:"center",resizable:false,title:Liferay.Language.get("tags"),width:400,open:function(){var h=jQuery(".lfr-tag-search-input");Liferay.Util.defaultValue(h,Liferay.Language.get("search"))},onClose:function(){b._popupVisible=false;b.selectTagEntryPopup=null}});b.selectTagEntryPopup=c}b._popupVisible=true;if(Liferay.Browser.isIe()){jQuery(".lfr-label-text",c).click(function(){var h=jQuery(this.previousSibling);var i=!h.is(":checked");h.attr("checked",i)})}},_getTagsEntries:function(b){var d=0;var a=20;var c=Liferay.Service.Tags.TagsEntry.search({groupId:10136,name:"%"+b+"%",properties:"",begin:d,end:a});return jQuery.map(c,function(e){return{data:e.text,value:e.value,result:e.text}})},_getVocabularies:function(b,c){var a=this;Liferay.Service.Tags.TagsVocabulary.getGroupVocabularies({groupId:10136,folksonomy:b},c)},_getVocabularyEntries:function(b,c){var a=this;Liferay.Service.Tags.TagsEntry.getGroupVocabularyEntries({groupId:10136,name:b},c)},_initializeSearch:function(a){var c=function(){var e=jQuery(this).attr("title");return e.toLowerCase()};var d=jQuery(".lfr-tag-search-input");var b={data:c,list:".lfr-tag-container label",after:function(){jQuery("fieldset",a).each(function(){var e=jQuery(this);var f=e.find("label:visible");if(f.length==0){e.addClass("no-matches")}else{e.removeClass("no-matches")}})}};d.liveSearch(b)},_setupSelectTagsEntries:function(){var a=this;var c=a.options;var d=a._ns;var b=jQuery("#"+d+"selectTag");b.click(function(){a._showSelectPopup()})},_setupSuggestions:function(){var a=this;var c=a.options;var d=a._ns;var b=jQuery("#"+d+"suggestions");b.click(function(){a._showSuggestionsPopup()})},_showSelectPopup:function(){var b=this;var d=b.options;var e=b._ns;var a=b._mainContainer;var c=b._container;var f=Liferay.Language.get("no-tags-found");a.empty();c.empty().html('<div class="loading-animation" />');b._getVocabularies(true,function(h){var g=[];if(h.length==0){g.push('<fieldset class="no-matches"><legend>'+Liferay.Language.get("tag-sets")+"</legend>");g.push('<div class="lfr-tag-message">'+f+"</div>");g.push("</fieldset>");c.html(g.join(""))}else{jQuery.each(h,function(k){var j=this;var l=j.name;b._getVocabularyEntries(l,function(i){g.push("<fieldset>");g.push('<legend class="lfr-tag-set-title">');g.push(l);g.push("</legend>");jQuery.each(i,function(m){var q=this;var p=q.name;var n=q.entryId;var o=(b._curTagsEntries.indexOf(p)>-1)?' checked="checked" ':"";g.push('<label title="');g.push(p);g.push('">');g.push('<input type="checkbox" value="');g.push(p);g.push('" ');g.push(o);g.push("> ");g.push(p);g.push("</label>")});g.push('<div class="lfr-tag-message">'+f+"</div>");g.push("</fieldset>");c.html(g.join(""));b._initializeSearch(c)})})}});b._createPopup()},_showSuggestionsPopup:function(){var h=this;var i=h.options;var g=h._ns;var c=h._mainContainer;var b=h._container;var f=Liferay.Language.get("no-tags-found");c.empty();b.empty().html('<div class="loading-animation" />');var d="";if(i.contentCallback){d=i.contentCallback()}var a="http://search.yahooapis.com/ContentAnalysisService/V1/termExtraction?appid=YahooDemo&output=json&context="+escape(d);var e=[];jQuery.ajax({url:themeDisplay.getPathMain()+"/portal/rest_proxy",data:{url:a},dataType:"json",success:function(j){e.push("<fieldset><legend>"+Liferay.Language.get("suggestions")+"</legend>");jQuery.each(j.ResultSet.Result,function(l,n){var m=(h._curTagsEntries.indexOf(n)>-1)?' checked="checked" ':"";var k=g+"input"+l;e.push('<label title="');e.push(n);e.push('"><input');e.push(m);e.push(' type="checkbox" name="');e.push(k);e.push('" id="');e.push(k);e.push('" value="');e.push(n);e.push('" /> ');e.push(n);e.push("</label>")});e.push('<div class="lfr-tag-message">'+f+"</div>");e.push("</fieldset>");b.html(e.join(""));if(!j.ResultSet.Result.length){b.find("fieldset:first").addClass("no-matches")}h._initializeSearch(b)}});h._createPopup()},_update:function(){var a=this;a._updateHiddenInput();a._updateSummarySpan()},_updateHiddenInput:function(){var a=this;var c=a.options;var b=a._curTagsEntries;var d=jQuery("#"+c.hiddenInput);d.val(b.join(","))},_updateSummarySpan:function(){var a=this;var c=a.options;var b=a._curTagsEntries;var e="";jQuery(b).each(function(f,g){e+='<span class="ui-tag" id="'+a._ns+"CurTags"+f+'">';e+=g;e+='<a class="ui-tag-delete" href="javascript: '+a._ns+".deleteTagEntry("+f+');"><span>x</span></a>';e+="</span>"});var d=jQuery("#"+c.summarySpan);if(b.length){d.removeClass("empty")}else{d.addClass("empty")}d.html(e)}});