function addRow(theTable,sKeyword,sSearches,sTheme)
{	
	sKeyword = filter(sKeyword);
	var bNoRemove = false
	if ( sKeyword==sTheme) bNoRemove = true;
	var mytable=document.getElementById(theTable);
	if ( isUnique(theTable,0,sKeyword) )
	{
		var newrow=mytable.insertRow(-1); //add new row to end of table
		var newcell=newrow.insertCell(0); //insert new cell to row
		newcell.innerHTML=sKeyword;
		var newcell2=newrow.insertCell(1); //insert new cell to row
		newcell2.innerHTML=sSearches;
		var newcell3=newrow.insertCell(2); //insert new cell to row
		if ( bNoRemove ) 
		{
			// for the theme keyword, it must be in the keyword list for the index page to work properly
			newcell3.innerHTML='&nbsp;';
		}
		else
		{
			newcell3.innerHTML='<a onClick=\'deleteRow("' + theTable + '","' + sKeyword + '");\'><font style=\'color:red;\'>Remove</font></a>';
		}
		newrow.setAttribute('id', sKeyword);
		//alert ( newrow.getAttribute('id') )
		
		// update hidden element with new keyword in both forms
		var sCurrentList = document.basket.elements['keylist'].value;
		var sCurrentList2 = document.wtform.elements['keylist'].value;
		//alert ( "Current Key List:" + sCurrentList );
		document.basket.elements['keylist'].value = sCurrentList + sKeyword + "|";
		document.wtform.elements['keylist'].value = sCurrentList2 + sKeyword + "|";
		//alert ( "Current Key List:" + sCurrentList );
	}
	//alert ( "Done adding row");
	return true;
}
function deleteRow(theTable,sKeyword)
{
	//var mykeyword=document.getElementById(theTable).getElementById(sKeyword)[0].getElementsByTagName('td')[0].childNodes[0].data;
	var rows=document.getElementById(theTable).getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	//alert (mykeyword.length);
    var sContents = "|";
	for (i = 0; i < rows.length-1; i++)
	{
        sContents +=rows[i+1].getAttribute('id') + "|";
		//document.write("Content for item " + i + ":" + rows[i].getElementsByTagName('td')[0].childNodes[0].data );
		if (rows[i+1].getAttribute('id') == sKeyword )
		{
			//alert ("found at index " + (i+1) + " and " + rows[i+1].getElementsByTagName('td')[0].childNodes[0].data);
			document.getElementById(theTable).deleteRow(i+1);
			
		}	
	}
	//alert("Attribute IDs:" + sContents);
	// update the current list
	var sCurrentList = String(document.basket.elements['keylist'].value);
	//alert ( "Current Key List:" + sCurrentList );
	sCurrentList = sCurrentList.replace("|" + sKeyword + "|","|");
	document.basket.elements['keylist'].value = sCurrentList;
	//alert ( "New Key List:" + document.basket.elements['keylist'].value );
	
	// update the delete list
	var sDelList = String(document.basket.elements['delkeylist'].value);
	//alert ( "Current Del Key List:" + sDelList );
	sDelList = sDelList + sKeyword + "|";
	document.basket.elements['delkeylist'].value = sDelList;
	//alert ( "New Del Key List:" + document.basket.elements['delkeylist'].value );
}

function isUnique(table,column,value)
{
// scans table column for value and returns true if unique
    var rows = document.getElementById(table).getElementsByTagName('tbody')[0].getElementsByTagName('tr');
   //	alert(rows.length);

    var sContents = "|";
	for (i = 0; i < rows.length-1; i++) 
	{
        sContents +=rows[i+1].getElementsByTagName('td')[0].childNodes[0].data + "|";
		//document.write("Content for item " + i + ":" + rows[i].getElementsByTagName('td')[0].childNodes[0].data );
	}
	//alert(sContents);
	if ( sContents.indexOf ( "|" + value + "|" ) == -1 ) return true;
	return false;	
}
function getRowIndex() 
{
	var sKeyword = '';
	var sSearches = '';
	var sAction = '';
    if (!document.getElementsByTagName || !document.createTextNode) return;
    var rows = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
    for (i = 0; i < rows.length; i++) 
	{
        rows[i].onclick = function() {
            sKeyword = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-1].getElementsByTagName('a')[0].childNodes[0].data;
            sSearches = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-1].getElementsByTagName('td')[0].childNodes[0].data;
            sAction = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-1].getElementsByTagName('td')[2].childNodes[0].data;
			if ( sAction == "Add" )
			{
				addRow('keywordbasket',sKeyword,sSearches);
				// change it to say remove
        	    document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-1].getElementsByTagName('td')[2].childNodes[0].data = "Remove";
			}
			if ( sAction == "Remove" ) 
			{
			
				deleteRow('keywordbasket',sKeyword);
				// change it to say add
        	    document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-2].getElementsByTagName('td')[2].childNodes[0].data = "Add";
			}
			
      }// end function 
	  
    }// end loop
}
function getMoreKeywords() 
{
	// add keyword list to post so that page refresh saves keyword list we have built
	var sKeyword = '';
	var sSearches = '';
	var sAction = '';
   // if (!document.getElementsByTagName || !document.createTextNode) return;
    var rows = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
	for (i = 0; i < rows.length; i++) 
	{
        rows[i].onclick = function() {
            sKeyword = document.getElementById('wtkeywords').getElementsByTagName('tbody')[0].getElementsByTagName('tr')[this.rowIndex-1].getElementsByTagName('a')[0].childNodes[0].data;
    //		alert(sKeyword);
			document.wtform.elements['seed'].value = sKeyword;
			//alert(document.wtform.elements['seed'].value);
			document.wtform.submit();
			
      }// end function 
	  
    }// end loop
}
function checkHidden(thename)
{
	//alert (document.basket.elements['update--C:' + thename].checked)
	if ( !document.basket.elements['updateignore--C:' + thename].checked )
	{
		//alert ('It was checked, now set the value of the hidden to zero')
		document.basket.elements['update--H:' + thename].value='0';
	}
	else
	{
		document.basket.elements['update--H:' + thename].value='1';
	
	}
}
function filter(thekeyword)
{
//#1. Illegal filename characters: \ (backslash), / (forward slash), : (colon), * (asterisk), ? (question mark), " (double quotes), < (left angle bracket), > (right angle bracket), | (pipe).
thekeyword = String(thekeyword).replace(/\./gi," ");
thekeyword = String(thekeyword).replace(/, /gi," ");
thekeyword = String(thekeyword).replace(/,/gi," ");
return String(thekeyword).replace(/[&%\\\/:\*\?';!@$^\(\)`~\{\}\[\]"<>|]/gi,"");

}
function addBulkKeywords()
{
    var sKeywords = document.getElementById('bulk').value;
	if ( String(sKeywords) == "undefined" || String(sKeywords).length < 1 ) return;
	var arrKeywords = String(sKeywords).split('\n');
	//alert (arrKeywords.length);
	
	for (mm = 0; mm < arrKeywords.length; mm++) 
	{
		var sKeyword = String(arrKeywords[mm]);
		sKeyword = sKeyword.replace(/[\r\n]+/gi,"");
		//alert ( sKeyword + "<<");
		addRow('keywordbasket',sKeyword,'','<%Out(sTheme)%>');
		//test();
		
		//alert ( "Done adding keyword " + mm);
	}
	//if ( sContents.indexOf ( "|" + value + "|" ) == -1 ) return true;
		//alert ( "Done script");

	return false;	
}
function test()
{
	alert ("in test");
}