	
	String.prototype.trim = function () {
		return this.replace(/^\s*/, "").replace(/\s*$/, "");
	}
	
	function clearList(objSelect){
		for (var i = objSelect.options.length; i >= 0; i--)
		{
    		objSelect.options[i]=null;
	   	}
	}
	
	function isDuplicate(myKeyword)
	{
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');

		for (var count = 0; count < objKeywordList.length; count++)  
		{
			if(myKeyword == objKeywordList[count].childNodes[1].firstChild.nodeValue)
			{	
				return true;				
			}
		}
		return false;
	}
	
	function populatePhrases(myWord)
	{
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');

		var objPhrases = document.getElementById("lstPhrases");
		clearList(objPhrases);
		
		for (var count = 0; count < objKeywordList.length; count++) 
		{
			var objOption = document.createElement('option');	
			var objTextNode =document.createTextNode(myWord + " " + objKeywordList[count].childNodes[1].firstChild.nodeValue);
			
			objOption.appendChild(objTextNode);			
			objPhrases.appendChild(objOption);
		}				
	}

	function addKeywords(){
		var objAddKeywords = document.getElementById("txtAddKeywords").value;
		
		objAddKeywords = objAddKeywords.split(',');
		
		for(count in objAddKeywords)
		{		
			if(isDuplicate(objAddKeywords[count].trim())==false)
			{
				createKeyword(objAddKeywords[count],false);
			}
		}
		
		objAddKeywords.value = "";
	}
	
	function outputKeywords(){
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');
		var objOutput = document.getElementById('txtOutput');
		
		var arrKeywords = new Array;		
		var checkCount = 0;
		
		for (var count = 0; count < objKeywordList.length; count++) 
		{
			if(objKeywordList[count].childNodes[0].checked== true)
			{
				arrKeywords[checkCount] = objKeywordList[count].childNodes[1].firstChild.nodeValue;
				checkCount++
			}
		}		
		objOutput.value = arrKeywords;		
	}
	
	function createKeyword(keyword, selected)
	{
		keyword = keyword.trim();

		var target = document.getElementById('divKeywordList');
		var wrapKeyword = document.createElement('div');
		var newCheckBox = document.createElement('input');
		var newAnchor = document.createElement('a');
		var newTextNode = document.createTextNode(keyword);

		newCheckBox.type = 'checkbox';		
		newCheckBox.checked = selected;
		
		newAnchor.setAttribute("href","javascript:populatePhrases('" + keyword + "')");
		newAnchor.appendChild(newTextNode);		
		
		wrapKeyword.setAttribute("class", "divKeywords");
		wrapKeyword.appendChild(newCheckBox);
		wrapKeyword.appendChild(newAnchor);

		target.appendChild(wrapKeyword)
	}

	function addPhrase()
	{
		var objPhrases = document.getElementById("lstPhrases").getElementsByTagName("option");
		
		for(var count=0; count < objPhrases.length; count++)
		{
			if(objPhrases[count].selected==true)
			{
				if(isDuplicate(objPhrases[count].firstChild.nodeValue)==false)
				{
					createKeyword(objPhrases[count].firstChild.nodeValue,true);
				}
			}
			
		}
	}
	
	function deleteKeywords()
	{
	
	if(confirm("Delete selected keywords?"))
	{
		var objKeywordList = document.getElementById('divKeywordList');
		var objKeywordItem = objKeywordList.getElementsByTagName('div');

		for (var count = objKeywordItem.length-1; count >= 0; count--)  
		{
			if(objKeywordItem[count].childNodes[0].checked== true)
			{
				objKeywordList.removeChild(objKeywordItem[count]);
			}
		}
	}
	}
	
	function selectAll()
	{
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');

		for (var count = 0; count < objKeywordList.length; count++)  
		{
			objKeywordList[count].childNodes[0].checked = true;
		}
	}
	
	function deselectAll()
	{
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');

		for (var count = 0; count < objKeywordList.length; count++)  
		{
			objKeywordList[count].childNodes[0].checked = false;
		}
	}
	
	function selectInvert()
	{
		var objKeywordList = document.getElementById('divKeywordList').getElementsByTagName('div');

		for (var count = 0; count < objKeywordList.length; count++)  
		{
			if(objKeywordList[count].childNodes[0].checked == true)
			{
				objKeywordList[count].childNodes[0].checked = false;
			}
			else
			{
				objKeywordList[count].childNodes[0].checked = true;
			}
		}
	}
