
    var addedTags = {};
    var addedInputs = {};
    function toggleAddTagToSearch(tagContent, creatorElement){
        if(addedTags[tagContent] != undefined){
            addedTags[tagContent]();
        }else{
            addTagToSearch(tagContent, creatorElement);
            $('[rel=\'tag_'+tagContent+'\']').addClass("clickedTag");
        }

    }
    function addTagToSearch(tagContent, creatorElement){
        if(addedTags[tagContent] != undefined){
            return;
        }
        var $searchTagContainer = $('#searchTagContainer');
        var $div = createTagElement(tagContent, creatorElement);
        $searchTagContainer.append($div);
    }
    function createTagElement(tagContent, creatorElement){
        var $searchForm = $('#tagsForm');
        var $div=$('<div class="tagCloudTag"/>');
        var $span = $('<div class="tagCloudTagContent"/>');
        var $rmImg = $('<img src="/img/backgrounds/searchbar/divTagCloserImg.png" alt="x"/>');
        var $creator = null;
        if(creatorElement!=undefined){
            $creator = $(creatorElement);
            if(!$creator.is("input[type='checkbox']")){
                addedInputs[tagContent] = $("<input type='hidden' name='searchOffer.tags' value='"+tagContent+"' />");
                var input = addedInputs[tagContent];
                input.appendTo($searchForm);
            }
        }
        else{
             addedInputs[tagContent] = $("<input type='hidden' name='searchOffer.tags' value='"+tagContent+"' />");
            var input = addedInputs[tagContent];
            input.appendTo($searchForm);
        }
        $span.html(tagContent);
        $span.append($rmImg);
        $div.append($span);
        addedTags[tagContent] = function(){
            $div.remove();
            $.post('/search/removeTag',{
                    'tag':tagContent
            });
            if($creator!= null){
                if($creator.is("input[type='checkbox']")){
                    $creator.removeAttr("checked");
                }else{
                    $('[rel=\'tag_'+tagContent+'\']').removeClass("clickedTag");
                }
            }
            if(addedInputs[tagContent]){
                addedInputs[tagContent].remove();
            }
            addedTags[tagContent] = undefined;
            addedInputs[tagContent]=undefined;
        };
        $rmImg.click(addedTags[tagContent]);
        return $div;
    }
    globalOnLoad.push(function() {
        $('#searchHolder input.checkbox').change(function(){
            var value= $('label',$(this).parent()).html();
            if(addedTags[value] == undefined){
                if($(this).attr('checked')){
                    addTagToSearch(value,this);
                }
            }else{
                addedTags[value]();
            }
        }).change();
    });
