﻿$().ready(function() {
    $("div.content-tags-edit").suggest({
        inputString: '',
        internalInputFieldSelector : function() {return "div.content-tags-edit " + this.inputFieldSelector},
        searchFor: function(inputString, callback) {
            this.inputString = inputString.substring(this.start(), this.end());
            var existingElements = $(this.internalInputFieldSelector()).val().split(",");
            Designit.ITST.OIO.CMS.WebUI.json_services.TagFunctions.SuggestTag(this.inputString, existingElements, callback);
        },
        inputFieldSelector: 'input.content-tags-edit',
        updateInputText: function(currentSelectedSuggestion) {
            var currentString = $(this.internalInputFieldSelector()).val();
        	$(this.internalInputFieldSelector()).val(unescapeHTML(currentString.substring(0, this.start()) + currentSelectedSuggestion + currentString.substring(this.end())));
        },
        generateLiItem: function(element) {
            return '<li><strong>' + element.name.substring(0, this.inputString.length) + '</strong>'+ element.name.substring(this.inputString.length) + '<span class="suggestion" style="display:none">'+ element.name + "</span></li>";
        },
        start: function() {
            var endpos = this.end();
            var startpos = $(this.internalInputFieldSelector()).val().lastIndexOf(',', endpos) + 1;
            var rawString = $(this.internalInputFieldSelector()).val().substring(startpos, endpos);
            while($(this.internalInputFieldSelector()).val().substring(startpos, startpos+1) == ' ' && startpos < endpos) {
                startpos++;    
            }
            return startpos;
        },
        end: function() {
            return $(this.internalInputFieldSelector()).getSelection().start;
        },
        keepFocusOnTab: false,
        keepFocusOnReturn: true,
        minChars: 1

    });
    
    $('div.content-tags input.showContentTagsEdit').click(function () {
        $('div.content-tags div.btnSave, div.content-tags div.content-tags-edit, div.content-tags div.btnEdit, div.content-tags div.tagListContainer, div.content-tags p.alternateTagsText').toggleClass('hidden');
        return false;
    });

});