Array.prototype.contains = function (ele) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == ele) {
            return true;
        }
    }
    return false;
};

Array.prototype.remove = function (ele) {
    var arr = new Array();
    var count = 0;
    for (var i = 0; i < this.length; i++) {
        if (this[i] != ele) {
            arr[count] = this[i];
            count++;
        }
    }
    return arr;
};


function getUnescapedTag(oldTag) {
	var tag = oldTag;
	tag = tag.replace(/&#39;/g, "'");
	tag = tag.replace(/&amp;/g, "&");
	tag = tag.replace(/&lt;/g, "<");
	tag = tag.replace(/&gt;/g, ">");
	tag = tag.replace(/&quot;/g, "\"");
	return tag;
}

function addTag(ele) {
    var thisTag = ele.innerHTML;
    var taglist = document.getElementById('SceneTags');
    var tags = taglist.value.split(',');
    thisTag = getUnescapedTag(thisTag);

    // If tag is already listed, remove it
    if (tags === null || tags[0] == '') {
    	tags = [thisTag];
        ele.className = 'sTag';
    } else if (tags.contains(thisTag)) {
        tags = tags.remove(thisTag);
        ele.className = 'uTag';

    // Otherwise add it
    } else {
        tags.push(thisTag);
        ele.className = 'sTag';
    }


    taglist.value = "";

    for( var i=0; i<tags.length; i++ )
    {
    	if( tags[i] != '' )
    	{
    		taglist.value = taglist.value + tags[i] + ',';
    	}
    }


    document.getElementById('SceneTags').focus();
}
