//XMLHttpRequest
var xmlhttp = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) {
	try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (E) { xmlhttp = false; }
	}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); }

//A function to shade and unshade items in the submenu
function selbutton(var1) {
	document.getElementById("abutton").setAttribute("class", "off");
	document.getElementById("kbutton").setAttribute("class", "off");
	document.getElementById("ebutton").setAttribute("class", "off");
	document.getElementById("lbutton").setAttribute("class", "off");
	document.getElementById("pbutton").setAttribute("class", "off");
	document.getElementById(var1).setAttribute("class", "on");
	}

// A FUNCTION TO UPDATE THE LINE SEQUENCE AFTER DRAG AND DROP
function updateSequence(catid, id) {
	var busy = document.getElementById("busyimg");
	list = document.getElementById(id)
	var items = list.getElementsByTagName("li");
	var array = new Array();
	for (var i = 0, n = items.length; i < n; i++) {
			var item = items[i].getAttribute("id");
			array.push(item);
		}
	var list = array.join('|');
	var serverPage = "i_reorder.php?catid=" + catid + "&list=" + list;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			busy.setAttribute("class", "busyimg");
			xmlDoc = xmlhttp.responseXML;
			var retpage = xmlDoc.getElementsByTagName("retpage")[0].childNodes[0].nodeValue;
			busy.setAttribute("class", "notbusy");
			window.location = retpage;
			}
		}
	xmlhttp.send(null);
	}

// A FUNCTION TO UPDATE THE DICTIONARY TAGS AFTER INLINE EDIT AND REMATCH
function reMatch(catid, lineseq, id, om) {
	var busy = document.getElementById("busyimg");
	list = document.getElementById(id)
	var items = list.getElementsByTagName("li");
	var array = new Array();
	for (var i = 0, n = items.length; i < n; i++) {
			var item = items[i].getAttribute("id");
			array.push(item);
		}
	var list = array.join('|');
	var serverPage = "i_rematch.php?catid=" + catid + "&lineseq=" + lineseq + "&list=" + list + "&om=" + om;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			busy.setAttribute("class", "busyimg");
			xmlDoc = xmlhttp.responseXML;
			var retpage = xmlDoc.getElementsByTagName("retpage")[0].childNodes[0].nodeValue;
			busy.setAttribute("class", "notbusy");
			window.location = retpage;
			}
		}
	xmlhttp.send(null);
	}



//A function to show and hide the index filters
var showIdxFilter = true;

function showIdxFilters(var1) {
	var objID = "filter";

	if (showIdxFilter == true){
		var serverPage = "i_filter_idx.php?level=" + var1;
		
		showIdxFilter = false;

		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("fbutton").setAttribute("class", "on");
				}
			}
		xmlhttp.send(null);
		}
	else {
		showIdxFilter = true;
		document.getElementById("fbutton").setAttribute("class", "off");
		document.getElementById(objID).innerHTML = "";
		}
	}

//A function to show and hide the dictionary filters
function showDicFilters(var1) {
	var objID = "filter";
	var bon = document.getElementById("fbutton").getAttribute("class");
	if (bon == "on") {
		var showDicFilter = false;
		}
	else {
		var showDicFilter = true;
		}

	if (showDicFilter == true){
		var serverPage = "i_filter_dic.php?level=" + var1;
		
		showDicFilter = false;

		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("fbutton").setAttribute("class", "on");
				}
			}
		xmlhttp.send(null);
		}
	else {
		showDicFilter = true;
		document.getElementById("fbutton").setAttribute("class", "off");
		document.getElementById(objID).innerHTML = "";
		}
	}

//A function to show and hide the bibliography filters
var showFilter = true;

function showFilters(var1, var2) {
	var objID = "filter";

	if (showFilter == true){
		var serverPage = "i_filter_" + var1 + ".php?level=" + var2;
		
		showFilter = false;

		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("fbutton").setAttribute("class", "on");
				}
			}
		xmlhttp.send(null);
		}
	else {
		showFilter = true;
		document.getElementById("fbutton").setAttribute("class", "off");
		document.getElementById(objID).innerHTML = "";
		}
	}

//A function to show and hide the search option
var showSearch = true;

function showSearches(var1) {
	var objID = "search";

	if (showSearch == true){
		var serverPage = "i_search_" + var1 + ".php";
		
		showSearch = false;

		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("sbutton").setAttribute("class", "on");
				}
			}
		xmlhttp.send(null);
		}
	else {
		showSearch = true;
		document.getElementById(objID).innerHTML = "";
		document.getElementById("sbutton").setAttribute("class", "off");
		}
	}

//A function to alter the bibliography edit form
function bibForm() {
	var objID = "bibForm";

// retrieve the name typed by the user on the form
	b_id = encodeURIComponent(document.getElementById("id").value);
    bib_type = encodeURIComponent(document.getElementById("bib_type").value);
    bib_script = encodeURIComponent(document.getElementById("bib_script").value);
    editnew = encodeURIComponent(document.getElementById("editnew").value);

	if (bib_script == "") {
		showForm = false;
		document.getElementById(objID).innerHTML = "";
		}
	else {
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", "x_bibedit.php?bib_type=" + bib_type + "&bib_script=" + bib_script + "&b_id=" + b_id + "&new=" + editnew);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	}

//A function to show and hide the metadata --- BASED ON THE BIB FILTERS FUNCTION ABOVE
function showDiv(var1, var2, var3, var4, var5, var6) {
	var objID = var2;
	var serverPage = var1 + ".php?catid=" + var3 + "&disp=" + var4 + "&name=" + var5 + "&level=" + var6;
		
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			}
		}
	xmlhttp.send(null);
	}
	
//A function to show and hide the metadata --- BASED ON THE BIB FILTERS FUNCTION ABOVE
function showMeta(var1, var2, var3, var4, var5) {
	var objID = var2;
	var showMetav = document.getElementById("metbutton").getAttribute("class");

	if (showMetav == "ajaxbutton"){
		var serverPage = var1 + ".php?catid=" + var3 + "&level=" + var4 + "&edt=" + var5;
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("metbutton").setAttribute("class", "ajaxbuttonon");
				}
			}
		xmlhttp.send(null);
		}
	else {
		document.getElementById(objID).innerHTML = "";
		document.getElementById("metbutton").setAttribute("class", "ajaxbutton");
		}
	}
	
//A function to show and hide the image --- BASED ON THE BIB FILTERS FUNCTION ABOVE
var showImagev = true;

function showImage(var1, var2, var3, var4, var5, var6) {
	var objID = var2;

	if (showImagev == true){
		var serverPage = "i_images.php?catid=" + var3 + "&level=" + var4 + "&imgno=" + var5 + "&edt=" + var6;
		
		//Set the open close tracker variable.
		showImagev = false;

		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				document.getElementById("imgbutton").setAttribute("class", "ajaxbuttonon");
				document.getElementById("text").setAttribute("class", "transliteration");
				}
			}
		xmlhttp.send(null);
		}
	else {
		//Hide the filters.
		showImagev = true;
		document.getElementById(objID).innerHTML = "";
		document.getElementById("imgbutton").setAttribute("class", "ajaxbutton");
		document.getElementById("text").setAttribute("class", "bibliography");
		}
	}

//A function to switch the text modes
function showText(var1, var2, var3, var4, var5, var6, var7, var8) { //(FILE, STYLE, CATID, LEVEL, BUTTON, COUNT TEXTIDS, NAME, EDITOR)
	var objID = "text";

	var serverPage = var1 + ".php?style=" + var2 + "&catid=" + var3 + "&level=" + var4 + "&name=" + var7 + "&editor=" + var8;
	
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;

			for (var8=0;var8<=var6;var8++) {
				var9 = "tbutton" + var8;
				if (var8 == var5) {
					document.getElementById(var9).setAttribute("class", "ajaxbuttonon");
					}
				else {
					document.getElementById(var9).setAttribute("class", "ajaxbutton");
					}
				}
			}
		}
	xmlhttp.send(null);
	}
	
//A function to switch the text modes
function showTextDI(var1, var3, var4, uname) { //(FILE, STYLE, CATID, LEVEL, NAME)
	var objID = "text";
	var var2 = document.getElementById("dispstyle").innerHTML;
	if (var2 == "fragment") {
		var2 = "segment";
		document.getElementById("txtbutton").setAttribute("class", "ajaxbuttonon");
		}
	else {
		var2 = "fragment";
		document.getElementById("txtbutton").setAttribute("class", "ajaxbutton");
		}
	var serverPage = var1 + ".php?style=" + var2 + "&catid=" + var3 + "&level=" + var4 + "&name=" + uname;
	
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById("dispstyle").innerHTML = var2;
			}
		}
	xmlhttp.send(null);
	}
	
function showIdx(var1, var3, var4) { //(FILE, STYLE, CATID, LEVEL)
	var objID = "text";
	var var2 = document.getElementById("dispidx").innerHTML;
	if (var2 == "text") {
		var2 = "index";
		document.getElementById("idxbutton").setAttribute("class", "ajaxbuttonon");
		}
	else {
		var2 = "text";
		document.getElementById("idxbutton").setAttribute("class", "ajaxbutton");
		}
	var serverPage = "i_index.php?catid=" + var1 + "&level=" + var3 + "&name=" + var4;
	
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById("dispidx").innerHTML = var2;
			}
		}
	xmlhttp.send(null);
	}
	
function flipImage(var1, var2, var3, var4, var5, var6) {
	var objID = var2;

	var serverPage = "i_images.php?catid=" + var3 + "&level=" + var4 + "&imgno=" + var5 + "&edt=" + var6;
	
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			}
		}
	xmlhttp.send(null);
	}

window.edval = 1;

function addEdcmty(var1){
	var inputs = var1;
	var var2 = window.edval;
	var3 = var1+var2;	
	var2++;
    window.edval = var2;

    var table = document.getElementById('editions');

    var tr    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var td5   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('INPUT');
    var inp3  = document.createElement('INPUT');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var lb1 = document.createTextNode(var3);
    var lb2 = document.createTextNode("Edition");
    var lb3 = document.createTextNode("Catalog");
    var lb4 = document.createTextNode("Comment");
    var lb5 = document.createTextNode("Image");
    var lb6 = document.createTextNode("Spurious");
	
	td1.setAttribute("class", "label");
	td2.setAttribute("class", "input");
	td3.setAttribute("class", "input");
	td4.setAttribute("class", "input");
	td5.setAttribute("class", "input");
    inp1.setAttribute("name", "bib_id[]");
    inp1.setAttribute("size", "10px");
    inp2.setAttribute("name", "pages[]");
    inp2.setAttribute("size", "8px");
    inp3.setAttribute("name", "plates[]");
    inp3.setAttribute("size", "8px" +inputs);
    sel1.setAttribute("name", "edcmty[]");
    opt1.setAttribute("value", "Edition");
    opt2.setAttribute("value", "Catalog");
    opt3.setAttribute("value", "Comment");
    opt4.setAttribute("value", "Image");
    opt5.setAttribute("value", "Spurious");

    table.appendChild(tr);
    tr.appendChild(td1);
    tr.appendChild(td2);
    tr.appendChild(td3);
    tr.appendChild(td4);
    tr.appendChild(td5);
    td2.appendChild(inp1);
    td3.appendChild(inp2);
    td4.appendChild(inp3);
    td5.appendChild(sel1);
    sel1.appendChild(opt1);
    sel1.appendChild(opt2);
    sel1.appendChild(opt3);
    sel1.appendChild(opt4);
    sel1.appendChild(opt5);
    td1.appendChild(lb1);
    opt1.appendChild(lb2);
    opt2.appendChild(lb3);
    opt3.appendChild(lb4);
    opt4.appendChild(lb5);
    opt5.appendChild(lb6);

    if(inputs>0){
        var img     = document.createElement('IMG');
        img.setAttribute('src', 'images/b_delete.png');
        img.setAttribute('height', '12px');
        img.setAttribute('class', 'button');
        img.setAttribute('alt', 'Delete');
        img.onclick = function(){
            removeRow(tr, 1);
        	}
        td1.appendChild(img);
    	}
    inputs++;
	}

window.imval = 1;

function addImage(var1, varC, varU){
	var inputs = var1;
	var var2 = window.imval;
	var3 = var1+var2;	
	var2++;
    window.imval = var2;
	var4 = varC+"."+var3+".jpg";
    var table = document.getElementById('images');

    var tr    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('INPUT');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var opt6  = document.createElement('OPTION');
    var opt7  = document.createElement('OPTION');
    var opt8  = document.createElement('OPTION');
    var opt9  = document.createElement('OPTION');
    var opt10  = document.createElement('OPTION');
    var lb1 = document.createTextNode("1");
    var lb2 = document.createTextNode("2");
    var lb3 = document.createTextNode("3");
    var lb4 = document.createTextNode("4");
    var lb5 = document.createTextNode("5");
    var lb6 = document.createTextNode("6");
    var lb7 = document.createTextNode("7");
    var lb8 = document.createTextNode("8");
    var lb9 = document.createTextNode("9");
    var lb10 = document.createTextNode("10");
	
	td1.setAttribute("class", "label");
	td2.setAttribute("class", "input");
	td3.setAttribute("class", "input");
	td4.setAttribute("class", "input");
    inp1.setAttribute("name", "filename[]");
    inp1.setAttribute("size", "18");
    inp1.setAttribute("value", var4);
    inp2.setAttribute("name", "source[]");
    inp2.setAttribute("size", "18");
    sel1.setAttribute("name", "security[]");
    opt1.setAttribute("value", "1");
    opt2.setAttribute("value", "2");
    opt3.setAttribute("value", "3");
    opt4.setAttribute("value", "4");
    opt5.setAttribute("value", "5");
    opt6.setAttribute("value", "6");
    opt7.setAttribute("value", "7");
    opt8.setAttribute("value", "8");
    opt9.setAttribute("value", "9");
    opt10.setAttribute("value", "10");

    table.appendChild(tr);
    tr.appendChild(td1);
    tr.appendChild(td2);
    tr.appendChild(td3);
    tr.appendChild(td4);
    td2.appendChild(inp1);
    td3.appendChild(inp2);
    td4.appendChild(sel1);
    sel1.appendChild(opt1);
    sel1.appendChild(opt2);
    sel1.appendChild(opt3);
    sel1.appendChild(opt4);
    sel1.appendChild(opt5);
    sel1.appendChild(opt6);
    sel1.appendChild(opt7);
    sel1.appendChild(opt8);
    sel1.appendChild(opt9);
    sel1.appendChild(opt10);
    opt1.appendChild(lb1);
    opt2.appendChild(lb2);
    opt3.appendChild(lb3);
    opt4.appendChild(lb4);
    opt5.appendChild(lb5);
    opt6.appendChild(lb6);
    opt7.appendChild(lb7);
    opt8.appendChild(lb8);
    opt9.appendChild(lb9);
    opt10.appendChild(lb10);

	if (varU == "URL") {
	    var tr1    = document.createElement('TR');
		var td5   = document.createElement('TD');
		var td6   = document.createElement('TD');
	    var inp3  = document.createElement('INPUT');
	    var lb11 = document.createTextNode("URL");
	    inp2.setAttribute("value", "IDP");
		td5.setAttribute("class", "left3");
		td6.setAttribute("class", "input");
		td6.setAttribute("colspan", "3");
		inp3.setAttribute("name", "url[]");
		inp3.setAttribute("size", "40");
		table.appendChild(tr1);
		tr1.appendChild(td5);
		tr1.appendChild(td6);
	    td5.appendChild(lb11);
	    td6.appendChild(inp3);
		}

    var lb11 = document.createTextNode(var3);
    td1.appendChild(lb11);

    var img = document.createElement('IMG');
    img.setAttribute('src', 'images/b_delete.png');
    img.setAttribute('height', '12px');
    img.setAttribute('class', 'button');
    img.setAttribute('alt', 'Delete');
    img.onclick = function(){
        removeRow(tr, 2);
		if (varU == "URL") {
            removeRow(tr1, 2);
			}        	
    	}
    td1.appendChild(img);
    inputs++;
	}

function addLine(var1){
    var table = document.getElementById('lines');

    var tr1    = document.createElement('TR');
    var tr2    = document.createElement('TR');
    var tr3    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var td5   = document.createElement('TD');
    var td6   = document.createElement('TD');
    var td7   = document.createElement('TD');
    var td8   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('TEXTAREA');
    var inp3  = document.createElement('INPUT');
    var inp4  = document.createElement('INPUT');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var opt6  = document.createElement('OPTION');
    var opt7  = document.createElement('OPTION');
    var opt8  = document.createElement('OPTION');
    var opt9  = document.createElement('OPTION');
    var opt10  = document.createElement('OPTION');
    var lb1 = document.createTextNode("1");
    var lb2 = document.createTextNode("2");
    var lb3 = document.createTextNode("3");
    var lb4 = document.createTextNode("4");
    var lb5 = document.createTextNode("5");
    var lb6 = document.createTextNode("6");
    var lb7 = document.createTextNode("7");
    var lb8 = document.createTextNode("8");
    var lb9 = document.createTextNode("9");
    var lb10 = document.createTextNode("10");
    var lb11 = document.createTextNode("version");
    var lb12 = document.createTextNode("security");
    var lb13 = document.createTextNode("comment");
	
	td1.setAttribute("class", "input");
	td2.setAttribute("class", "input");
	td2.setAttribute("colspan", "4");
	td3.setAttribute("class", "left3");
	td4.setAttribute("class", "input");
	td5.setAttribute("class", "left2");
	td6.setAttribute("class", "input");
	td7.setAttribute("class", "left2");
	td8.setAttribute("class", "input");
	td8.setAttribute("colspan", "4");
    inp1.setAttribute("name", "line[]");
    inp1.setAttribute("size", "3.5");
    inp2.setAttribute("name", "translit[]");
    inp2.setAttribute("cols", "42.5");
    inp2.setAttribute("rows", "2em");
    inp3.setAttribute("name", "tversion[]");
    inp3.setAttribute("size", "18.5");
    inp4.setAttribute("name", "tcomment[]");
    inp4.setAttribute("size", "42.5");
    sel1.setAttribute("name", "tsecurity[]");
    opt1.setAttribute("value", "1");
    opt2.setAttribute("value", "2");
    opt3.setAttribute("value", "3");
    opt4.setAttribute("value", "4");
    opt5.setAttribute("value", "5");
    opt6.setAttribute("value", "6");
    opt7.setAttribute("value", "7");
    opt8.setAttribute("value", "8");
    opt9.setAttribute("value", "9");
    opt10.setAttribute("value", "10");

    table.appendChild(tr1);
    tr1.appendChild(td1);
    tr1.appendChild(td2);
    td1.appendChild(inp1);
    td2.appendChild(inp2);
    table.appendChild(tr2);
    tr2.appendChild(td3);
    tr2.appendChild(td4);
    tr2.appendChild(td5);
    tr2.appendChild(td6);
    td3.appendChild(lb11);
    td4.appendChild(inp3);
    td5.appendChild(lb12);
    td6.appendChild(sel1);
    sel1.appendChild(opt1);
    sel1.appendChild(opt2);
    sel1.appendChild(opt3);
    sel1.appendChild(opt4);
    sel1.appendChild(opt5);
    sel1.appendChild(opt6);
    sel1.appendChild(opt7);
    sel1.appendChild(opt8);
    sel1.appendChild(opt9);
    sel1.appendChild(opt10);
    opt1.appendChild(lb1);
    opt2.appendChild(lb2);
    opt3.appendChild(lb3);
    opt4.appendChild(lb4);
    opt5.appendChild(lb5);
    opt6.appendChild(lb6);
    opt7.appendChild(lb7);
    opt8.appendChild(lb8);
    opt9.appendChild(lb9);
    opt10.appendChild(lb10);
    table.appendChild(tr3);
    tr3.appendChild(td7);
    tr3.appendChild(td8);
    td7.appendChild(lb13);
    td8.appendChild(inp4);

    var img1 = document.createElement('IMG');
    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
        removeRow(tr2);
        removeRow(tr3);
    	}

    td1.appendChild(img1);
	}

function addLineC(var1){
    var table = document.getElementById('lines');

    var tr1    = document.createElement('TR');
    var tr2    = document.createElement('TR');
    var tr3    = document.createElement('TR');
    var tr4    = document.createElement('TR');
    var tr5    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var td5   = document.createElement('TD');
    var td6   = document.createElement('TD');
    var td7   = document.createElement('TD');
    var td8   = document.createElement('TD');
    var td9   = document.createElement('TD');
    var td10   = document.createElement('TD');
    var td11   = document.createElement('TD');
    var td12   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('TEXTAREA');
    var inp3  = document.createElement('INPUT');
    var inp4  = document.createElement('INPUT');
    var inp5  = document.createElement('INPUT');
    var inp6  = document.createElement('TEXTAREA');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var opt6  = document.createElement('OPTION');
    var opt7  = document.createElement('OPTION');
    var opt8  = document.createElement('OPTION');
    var opt9  = document.createElement('OPTION');
    var opt10  = document.createElement('OPTION');
    var lb1 = document.createTextNode("1");
    var lb2 = document.createTextNode("2");
    var lb3 = document.createTextNode("3");
    var lb4 = document.createTextNode("4");
    var lb5 = document.createTextNode("5");
    var lb6 = document.createTextNode("6");
    var lb7 = document.createTextNode("7");
    var lb8 = document.createTextNode("8");
    var lb9 = document.createTextNode("9");
    var lb10 = document.createTextNode("10");
    var lb11 = document.createTextNode("version");
    var lb12 = document.createTextNode("security");
    var lb13 = document.createTextNode("comment");
    var lb14 = document.createTextNode("other line");
    var lb15 = document.createTextNode("other legend");
	
	td1.setAttribute("class", "input");
	td2.setAttribute("class", "input");
	td2.setAttribute("colspan", "4");
	td3.setAttribute("class", "left3");
	td4.setAttribute("class", "input");
	td5.setAttribute("class", "left2");
	td6.setAttribute("class", "input");
	td7.setAttribute("class", "left2");
	td8.setAttribute("class", "input");
	td8.setAttribute("colspan", "4");
	td9.setAttribute("class", "left2");
	td10.setAttribute("class", "left2");
	td10.setAttribute("colspan", "4");
	td11.setAttribute("class", "input");
	td12.setAttribute("class", "input");
	td12.setAttribute("colspan", "4");
    inp1.setAttribute("name", "line[]");
    inp1.setAttribute("size", "3.5");
    inp2.setAttribute("name", "translit[]");
    inp2.setAttribute("cols", "42.5");
    inp2.setAttribute("rows", "2em");
    inp3.setAttribute("name", "tversion[]");
    inp3.setAttribute("size", "18.5");
    inp4.setAttribute("name", "tcomment[]");
    inp4.setAttribute("size", "42.5");
    inp5.setAttribute("name", "tline2[]");
    inp5.setAttribute("size", "3.5");
    inp6.setAttribute("name", "tedition2[]");
    inp6.setAttribute("cols", "42.5");
    inp6.setAttribute("rows", "2em");
 
    sel1.setAttribute("name", "tsecurity[]");
    opt1.setAttribute("value", "1");
    opt2.setAttribute("value", "2");
    opt3.setAttribute("value", "3");
    opt4.setAttribute("value", "4");
    opt5.setAttribute("value", "5");
    opt6.setAttribute("value", "6");
    opt7.setAttribute("value", "7");
    opt8.setAttribute("value", "8");
    opt9.setAttribute("value", "9");
    opt10.setAttribute("value", "10");

    tr1.appendChild(td1);
    tr1.appendChild(td2);
    td1.appendChild(inp1);
    td2.appendChild(inp2);
    tr2.appendChild(td3);
    tr2.appendChild(td4);
    tr2.appendChild(td5);
    tr2.appendChild(td6);
    td3.appendChild(lb11);
    td4.appendChild(inp3);
    td5.appendChild(lb12);
    td6.appendChild(sel1);
    sel1.appendChild(opt1);
    sel1.appendChild(opt2);
    sel1.appendChild(opt3);
    sel1.appendChild(opt4);
    sel1.appendChild(opt5);
    sel1.appendChild(opt6);
    sel1.appendChild(opt7);
    sel1.appendChild(opt8);
    sel1.appendChild(opt9);
    sel1.appendChild(opt10);
    opt1.appendChild(lb1);
    opt2.appendChild(lb2);
    opt3.appendChild(lb3);
    opt4.appendChild(lb4);
    opt5.appendChild(lb5);
    opt6.appendChild(lb6);
    opt7.appendChild(lb7);
    opt8.appendChild(lb8);
    opt9.appendChild(lb9);
    opt10.appendChild(lb10);
    tr3.appendChild(td7);
    tr3.appendChild(td8);
    td7.appendChild(lb13);
    td8.appendChild(inp4);
	tr4.appendChild(td9);
	tr4.appendChild(td10);
	td9.appendChild(lb14);
	td10.appendChild(lb15);
	tr5.appendChild(td11);
	tr5.appendChild(td12);
	td11.appendChild(inp5);
	td12.appendChild(inp6);

    table.appendChild(tr1);
    table.appendChild(tr4);
    table.appendChild(tr5);
    table.appendChild(tr2);
    table.appendChild(tr3);

    var img1 = document.createElement('IMG');
    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
        removeRow(tr4);
        removeRow(tr5);
        removeRow(tr2);
        removeRow(tr3);
    	}

    td1.appendChild(img1);
	}

function addLineD(var1){
    var table = document.getElementById('lines');

    var tr1    = document.createElement('TR');
    var tr2    = document.createElement('TR');
    var tr3    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var td5   = document.createElement('TD');
    var td6   = document.createElement('TD');
    var td7   = document.createElement('TD');
    var td8   = document.createElement('TD');
    var inp0  = document.createElement('INPUT');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('TEXTAREA');
    var inp3  = document.createElement('INPUT');
    var inp4  = document.createElement('INPUT');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var opt6  = document.createElement('OPTION');
    var opt7  = document.createElement('OPTION');
    var opt8  = document.createElement('OPTION');
    var opt9  = document.createElement('OPTION');
    var opt10  = document.createElement('OPTION');
    var lb0 = document.createTextNode("/");
    var lb1 = document.createTextNode("1");
    var lb2 = document.createTextNode("2");
    var lb3 = document.createTextNode("3");
    var lb4 = document.createTextNode("4");
    var lb5 = document.createTextNode("5");
    var lb6 = document.createTextNode("6");
    var lb7 = document.createTextNode("7");
    var lb8 = document.createTextNode("8");
    var lb9 = document.createTextNode("9");
    var lb10 = document.createTextNode("10");
    var lb11 = document.createTextNode("version");
    var lb12 = document.createTextNode("security");
    var lb13 = document.createTextNode("comment");
	
	td1.setAttribute("class", "input");
	td2.setAttribute("class", "input");
	td2.setAttribute("colspan", "4");
	td3.setAttribute("class", "left3");
	td4.setAttribute("class", "input");
	td5.setAttribute("class", "left2");
	td6.setAttribute("class", "input");
	td7.setAttribute("class", "left2");
	td8.setAttribute("class", "input");
	td8.setAttribute("colspan", "4");
    inp0.setAttribute("name", "tside[]");
    inp0.setAttribute("size", "7");
    inp1.setAttribute("name", "line[]");
    inp1.setAttribute("size", "3.5");
    inp2.setAttribute("name", "translit[]");
    inp2.setAttribute("cols", "42.5");
    inp2.setAttribute("rows", "2em");
    inp3.setAttribute("name", "tversion[]");
    inp3.setAttribute("size", "18.5");
    inp4.setAttribute("name", "tcomment[]");
    inp4.setAttribute("size", "42.5");
    sel1.setAttribute("name", "tsecurity[]");
    opt1.setAttribute("value", "1");
    opt2.setAttribute("value", "2");
    opt3.setAttribute("value", "3");
    opt4.setAttribute("value", "4");
    opt5.setAttribute("value", "5");
    opt6.setAttribute("value", "6");
    opt7.setAttribute("value", "7");
    opt8.setAttribute("value", "8");
    opt9.setAttribute("value", "9");
    opt10.setAttribute("value", "10");

    table.appendChild(tr1);
    tr1.appendChild(td1);
    tr1.appendChild(td2);
    td1.appendChild(inp0);
    td1.appendChild(lb0);
    td1.appendChild(inp1);
    td2.appendChild(inp2);
    table.appendChild(tr2);
    tr2.appendChild(td3);
    tr2.appendChild(td4);
    tr2.appendChild(td5);
    tr2.appendChild(td6);
    td3.appendChild(lb11);
    td4.appendChild(inp3);
    td5.appendChild(lb12);
    td6.appendChild(sel1);
    sel1.appendChild(opt1);
    sel1.appendChild(opt2);
    sel1.appendChild(opt3);
    sel1.appendChild(opt4);
    sel1.appendChild(opt5);
    sel1.appendChild(opt6);
    sel1.appendChild(opt7);
    sel1.appendChild(opt8);
    sel1.appendChild(opt9);
    sel1.appendChild(opt10);
    opt1.appendChild(lb1);
    opt2.appendChild(lb2);
    opt3.appendChild(lb3);
    opt4.appendChild(lb4);
    opt5.appendChild(lb5);
    opt6.appendChild(lb6);
    opt7.appendChild(lb7);
    opt8.appendChild(lb8);
    opt9.appendChild(lb9);
    opt10.appendChild(lb10);
    table.appendChild(tr3);
    tr3.appendChild(td7);
    tr3.appendChild(td8);
    td7.appendChild(lb13);
    td8.appendChild(inp4);

    var img1 = document.createElement('IMG');
    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
        removeRow(tr2);
        removeRow(tr3);
    	}

    td1.appendChild(img1);
	}

function addLineM(var1){
    var table = document.getElementById('lines');

    var tr1    = document.createElement('TR');
    var tr2    = document.createElement('TR');
    var tr3    = document.createElement('TR');
    var tr4    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var td5   = document.createElement('TD');
    var td6   = document.createElement('TD');
    var td7   = document.createElement('TD');
    var td8   = document.createElement('TD');
    var td9   = document.createElement('TD');
    var td10   = document.createElement('TD');
    var td11   = document.createElement('TD');
    var td12   = document.createElement('TD');
    var td13   = document.createElement('TD');
    var td14   = document.createElement('TD');
    var sel0  = document.createElement('SELECT');
    var opt01  = document.createElement('OPTION');
    var opt02  = document.createElement('OPTION');
    var opt03  = document.createElement('OPTION');
    var opt04  = document.createElement('OPTION');
    var opt05  = document.createElement('OPTION');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('TEXTAREA');
    var inp3  = document.createElement('INPUT');
    var inp4  = document.createElement('INPUT');
    var inp5  = document.createElement('INPUT');
    var inp6  = document.createElement('INPUT');
    var sel1  = document.createElement('SELECT');
    var opt1  = document.createElement('OPTION');
    var opt2  = document.createElement('OPTION');
    var opt3  = document.createElement('OPTION');
    var opt4  = document.createElement('OPTION');
    var opt5  = document.createElement('OPTION');
    var opt6  = document.createElement('OPTION');
    var opt7  = document.createElement('OPTION');
    var opt8  = document.createElement('OPTION');
    var opt9  = document.createElement('OPTION');
    var opt10  = document.createElement('OPTION');
    var sel2  = document.createElement('SELECT');
    var opt21  = document.createElement('OPTION');
    var opt22  = document.createElement('OPTION');
    var opt23  = document.createElement('OPTION');
    var lb01 = document.createTextNode("");
    var lb02 = document.createTextNode("A");
    var lb03 = document.createTextNode("B");
    var lb04 = document.createTextNode("Recto");
    var lb05 = document.createTextNode("Verso");
    var lb0 = document.createTextNode("/");
    var lb1 = document.createTextNode("1");
    var lb2 = document.createTextNode("2");
    var lb3 = document.createTextNode("3");
    var lb4 = document.createTextNode("4");
    var lb5 = document.createTextNode("5");
    var lb6 = document.createTextNode("6");
    var lb7 = document.createTextNode("7");
    var lb8 = document.createTextNode("8");
    var lb9 = document.createTextNode("9");
    var lb10 = document.createTextNode("10");
    var lb11 = document.createTextNode("version");
    var lb12 = document.createTextNode("security");
    var lb13 = document.createTextNode("comment");
    var lb14 = document.createTextNode("text id");
    var lb15 = document.createTextNode("scribe");
    var lb16 = document.createTextNode("group");
    var lb17 = document.createTextNode("");
    var lb18 = document.createTextNode("Seattle");
    var lb19 = document.createTextNode("Berlin");
	
	td1.setAttribute("class", "input");
	td2.setAttribute("class", "input");
	td2.setAttribute("colspan", "4");
	td3.setAttribute("class", "left3");
	td4.setAttribute("class", "input");
	td5.setAttribute("class", "left2");
	td6.setAttribute("class", "input");
	td7.setAttribute("class", "left2");
	td8.setAttribute("class", "input");
	td9.setAttribute("class", "left2");
	td10.setAttribute("class", "input");
	td11.setAttribute("class", "left2");
	td12.setAttribute("class", "input");
	td13.setAttribute("class", "left2");
	td14.setAttribute("class", "input");
    sel0.setAttribute("name", "tside[]");
    opt01.setAttribute("value", "");
    opt02.setAttribute("value", "a");
    opt03.setAttribute("value", "b");
    opt04.setAttribute("value", "r");
    opt05.setAttribute("value", "v");
    inp1.setAttribute("name", "tline[]");
    inp1.setAttribute("size", "3.5");
    inp2.setAttribute("name", "translit[]");
    inp2.setAttribute("cols", "42.5");
    inp2.setAttribute("rows", "2em");
    inp3.setAttribute("name", "tversion[]");
    inp3.setAttribute("size", "18.5");
    inp4.setAttribute("name", "tcomment[]");
    inp4.setAttribute("size", "35");
    inp5.setAttribute("name", "ttextid[]");
    inp5.setAttribute("size", "5");
    inp6.setAttribute("name", "tscribe[]");
    inp6.setAttribute("size", "5");
    sel1.setAttribute("name", "tsecurity[]");
    opt1.setAttribute("value", "1");
    opt2.setAttribute("value", "2");
    opt3.setAttribute("value", "3");
    opt4.setAttribute("value", "4");
    opt5.setAttribute("value", "5");
    opt6.setAttribute("value", "6");
    opt7.setAttribute("value", "7");
    opt8.setAttribute("value", "8");
    opt9.setAttribute("value", "9");
    opt10.setAttribute("value", "10");
    sel2.setAttribute("name", "tgroup[]");
    opt21.setAttribute("value", "");
    opt22.setAttribute("value", "Seattle");
    opt23.setAttribute("value", "Berlin");
    table.appendChild(tr1);
		tr1.appendChild(td1);
		tr1.appendChild(td2);
		td1.appendChild(sel0);
		sel0.appendChild(opt01);
		sel0.appendChild(opt02);
		sel0.appendChild(opt03);
		sel0.appendChild(opt04);
		sel0.appendChild(opt05);
		opt01.appendChild(lb01);
		opt02.appendChild(lb02);
		opt03.appendChild(lb03);
		opt04.appendChild(lb04);
		opt05.appendChild(lb05);
		td1.appendChild(lb0);
		td1.appendChild(inp1);
		td2.appendChild(inp2);
	table.appendChild(tr4);
		tr4.appendChild(td9);
		tr4.appendChild(td10);
		tr4.appendChild(td11);
		tr4.appendChild(td12);
		td9.appendChild(lb14);
		td10.appendChild(inp5);
		td11.appendChild(lb15);
		td12.appendChild(inp6);
	table.appendChild(tr2);
		tr2.appendChild(td3);
		tr2.appendChild(td4);
		tr2.appendChild(td5);
		tr2.appendChild(td6);
		td3.appendChild(lb11);
		td4.appendChild(inp3);
		td5.appendChild(lb12);
		td6.appendChild(sel1);
		sel1.appendChild(opt1);
		sel1.appendChild(opt2);
		sel1.appendChild(opt3);
		sel1.appendChild(opt4);
		sel1.appendChild(opt5);
		sel1.appendChild(opt6);
		sel1.appendChild(opt7);
		sel1.appendChild(opt8);
		sel1.appendChild(opt9);
		sel1.appendChild(opt10);
		opt1.appendChild(lb1);
		opt2.appendChild(lb2);
		opt3.appendChild(lb3);
		opt4.appendChild(lb4);
		opt5.appendChild(lb5);
		opt6.appendChild(lb6);
		opt7.appendChild(lb7);
		opt8.appendChild(lb8);
		opt9.appendChild(lb9);
		opt10.appendChild(lb10);
    var img1 = document.createElement('IMG');
    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
        removeRow(tr2);
        removeRow(tr3);
        removeRow(tr4);
    	}

    td1.appendChild(img1);
	}

window.lpval = 1;

function addLineP(var1){ // Function to add a line to the parallels input table
    var table = document.getElementById('tbparallels');
    var img1 = document.createElement('IMG');
	var var2 = window.lpval;
	var2++;
    window.lpval = var2;

    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
    	}

    var tr1    = document.createElement('TR');
    var td0   = document.createElement('TD');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var td3   = document.createElement('TD');
    var td4   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('INPUT');
    var inp3  = document.createElement('INPUT');
    var inp4  = document.createElement('INPUT');
	
    inp1.setAttribute("name", "lang[]");
    inp1.setAttribute("size", "10");
	inp1.setAttribute("id", "aplang");
	inp1.setAttribute("id", "morphsubpos");
	inp1.setAttribute("autocomplete", "off");
	inp1.setAttribute("onFocus", "AutoList('aplang', '')");
    inp2.setAttribute("name", "native[]");
    inp2.setAttribute("size", "15");
	inp2.setAttribute("autocomplete", "off");
    inp3.setAttribute("name", "roman[]");
    inp3.setAttribute("size", "15");
	inp3.setAttribute("autocomplete", "off");
    inp4.setAttribute("name", "ref[]");
    inp4.setAttribute("size", "15");
	inp4.setAttribute("autocomplete", "off");

    table.appendChild(tr1);
    tr1.appendChild(td0);
    tr1.appendChild(td1);
    tr1.appendChild(td2);
    tr1.appendChild(td3);
    tr1.appendChild(td4);
    td0.appendChild(img1);
    td1.appendChild(inp1);
    td2.appendChild(inp2);
    td3.appendChild(inp3);
    td4.appendChild(inp4);
	}

function addNote(var1){
    var table = document.getElementById('notes');

    var tr1    = document.createElement('TR');
    var td1   = document.createElement('TD');
    var td2   = document.createElement('TD');
    var inp1  = document.createElement('INPUT');
    var inp2  = document.createElement('TEXTAREA');
	
	td1.setAttribute("class", "input");
	td2.setAttribute("class", "input");
	td2.setAttribute("colspan", "4");
    inp1.setAttribute("name", "notenum[]");
    inp1.setAttribute("size", "3.5");
    inp2.setAttribute("name", "notetext[]");
    inp2.setAttribute("cols", "42.5");
    inp2.setAttribute("rows", "2em");

    table.appendChild(tr1);
    tr1.appendChild(td1);
    tr1.appendChild(td2);
    td1.appendChild(inp1);
    td2.appendChild(inp2);

    var img1 = document.createElement('IMG');
    img1.setAttribute('src', 'images/b_delete.png');
    img1.setAttribute('height', '12px');
    img1.setAttribute('class', 'button');
    img1.setAttribute('alt', 'Delete');
    img1.onclick = function(){
        removeRow(tr1);
    	}

    td1.appendChild(img1);
	}

function removeRow(tr, vtbl){
    tr.parentNode.removeChild(tr);

	if (vtbl == 1) {
		window.edval = window.edval - 1;
		}
	if (vtbl == 2) {
		window.imval = window.imval - 1;
		}
}	
	
function removeRow1(var1, var2){
    var par = document.getElementById(var1);
    var chld = document.getElementById(var2);
    par.removeChild(chld);
	if (var1 == 'images') {
		var3 = var2.replace(/imr/, "imu");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		}
	if (var1 == 'lines') {
		var3 = var2.replace(/txr/, "txv");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		var3 = var2.replace(/txr/, "txs");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		var3 = var2.replace(/txr/, "otc");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		var3 = var2.replace(/txr/, "otl");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		var3 = var2.replace(/txr/, "txc");
	    var chld2 = document.getElementById(var3);
	    par.removeChild(chld2);
		}
}

// A function to convert input fields to UTF8
function UTF8Convert(var1) {
	var objID = var1;

	cvrt = encodeURIComponent(document.getElementById(var1).value);

	if (cvrt == "") {
		showForm = false;
		document.getElementById(objID).innerHTML = "";
		}
	else {
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", "i_UTF8Convert.php?cvrt=" + cvrt);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.value = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	}

//A function to carry over the search word
function keepSearch(var1) { // dictionary page
	var keepword = encodeURIComponent(document.getElementById("dictsearch").value);
	window.location='a_' + var1 + '.php?searchs=' + keepword + '&busy=' + false;
	}

//A function to query a specified dictionary
function dictForm(dict, var1, var2, bebusy) {
	var objID = "dictwords";

// retrieve the name typed by the user on the form
	dictss = encodeURIComponent(document.getElementById("dictsearch").value);
	if (dictss == "") {
		showForm = false;
		document.getElementById(objID).innerHTML = "";
		}
	else {
		var obj = document.getElementById(objID);
		var busy = document.getElementById("busyimg");
		if (bebusy == true) { busy.setAttribute("class", "busyimg"); }
		xmlhttp.open("GET", "i_search_dict.php?dict=" + dict + "&dictss=" + dictss + "&seldef=" + var1 + "&offset=" + var2);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				if (bebusy == true) { busy.setAttribute("class", "notbusy"); }
				}
			document.getElementById("dictsearch").focus();
			}
		xmlhttp.send(null);
		}
	}

//A function to query the Gandhari Dictionary
function gdForm(var1, var2, corpus, bebusy, lang) { // seldef offset corpus busy_on language
	var objID = "dictwords";

// retrieve the name typed by the user on the form
	gdss = encodeURIComponent(document.getElementById("dictsearch").value);

	if (gdss == "") {
		showForm = false;
		document.getElementById(objID).innerHTML = "";
		}
	else {
		var busy = document.getElementById("busyimg");
		if (bebusy == true) { busy.setAttribute("class", "busyimg"); }
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", "i_search_gd.php?gdss=" + gdss + "&seldef=" + var1 + "&offset=" + var2 + "&corpus=" + corpus + "&lang=" + lang);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				if (bebusy == true) { busy.setAttribute("class", "notbusy"); }
				}
			}
		xmlhttp.send(null);
		}
	document.getElementById("dictsearch").focus();
	}

//A function to link to a word in the Gandhari Dictionary
function gdLink(var0, var1, var2, var3, var4, var5) {
	var objID = "dictwords";

	if (var0 == "") {
		showForm = false;
		document.getElementById(objID).innerHTML = "";
		}
	else {
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", "i_search_gd.php?gdss=" + var0 + "&seldef=" + var1 + "&offset=" + var2 + "&bgdss=" + var3 + "&bseldef=" + var4 + "&boffset=" + var5);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	}

//A function to show and hide the help messages
function showHelp(var1, var2) {
	if (var1 == "diacritics") {
		var objID = "diacritics";
		}
	else {
		var objID = "help";
		}
	var testcontent = document.getElementById(objID).innerHTML;
		
	if (testcontent == ""){
		var serverPage = "i_help_" + var1 + ".php?field=" + var2;
		
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	else {
		document.getElementById(objID).innerHTML = "";
		}
	document.getElementById(var2).focus();
	}

function confirm_delete(msg) {
	var answer = confirm(msg);
	if(answer == false) {
	return false;
	}
	return true;
}

//A function to add a scan to the bibliography
function addScan(var1, var2) {
	var3 = "scan" + var1;
	var var4 = document.getElementById(var3).innerHTML;
	xmlhttp.open("GET", "i_bib_scan.php?b_id=" + var1 + "&ui=" + var2 + "&scan=" + var4);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			document.getElementById(var3).innerHTML = xmlhttp.responseText;
			}
		}
	xmlhttp.send(null);
	}

//A function to show the wordlist
function genWordlist(var1, var2, var3) {
	var objID = "wordlist";

	if (var3 == "submite") {
		var4 = confirm_delete("Are you sure you want to delete the existing entries?");
		}
	else {
		var4 = true;
		}
	if (var4) {
		var serverPage = "i_d_indexer.php?catid=" + var1 + "&user=" + var2 + "&insert=" + var3;
			
		var obj = document.getElementById(objID);
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	}

//A function to load the cognate/morphology list
function cognList(var1, var2, var3, var4, var5, var6) {//catid, seldef, nseldef, offset, order, dirline
	var objID = "morph";
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", "i_d_wordlistfrm.php?catid=" + var1 + "&seldef=" + var2 + "&nseldef=" + var3 + "&offset=" + var4 + "&order=" + var5 + "&dirlineseq=" + var6);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			document.getElementById("morphskt").focus();
			}
		}
	xmlhttp.send(null);
	}

// A function to copy completed data from one field to another.
function copyEntry(sourceid, targetid, checkid) {
	sourceval = document.getElementById(sourceid).value;
	targetval = document.getElementById(targetid).value;
	checkval =  document.getElementById(checkid).value;
	if (sourceval) { // make sure there is a source value
		if (targetval) { // check if there is a target value
			if (targetval == checkval) { // replace the target value if it is equal to the check value
				document.getElementById(targetid).value = sourceval;
				}
			}
		else { // replace the target value if empty
			document.getElementById(targetid).value = sourceval;
			}
		}
	}

//A function to get like entries for the cognate table
function likeEntries(var1, var2, var3, var4) { // fieldid; lemc; hom; seldef
	var objID = "autocomplete";
	var obj = document.getElementById(objID);

	// Dictionary Button
	if (var1 == "morphskt") { dictlb = "MW"; }
	else if (var1 == "morphpali") { dictlb = "PTSD"; }
	else if (var1 == "morphroot") { dictlb = "MW"; }
	else { dictlb = ""; }
	if (dictlb) {
		document.getElementById("dictbutton1").setAttribute("class", "button-o");
		document.getElementById("dictbutton1").innerHTML = "<span class=\"button-i\" onClick=\"Autoskt('" + var1 + "')\">" + dictlb + "</span>";
		}
	else {
		document.getElementById("dictbutton1").setAttribute("class", "");
		document.getElementById("dictbutton1").innerHTML = "";
		}

	// Match on Lem when skt is null
	if (var1 == "morphskt") {
		autoc = encodeURIComponent(document.getElementById(var1).value);
		xmlhttp.open("GET", "i_d_cognate_likeentries.php?lemc=" + var2 + "&hom=" + var3 + "&id=" + var4);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
			}
		xmlhttp.send(null);
		}
	// Match on Skt
	else if (var1 == "shom") {
		autoc = encodeURIComponent(document.getElementById("morphskt").value);
		xmlhttp.open("GET", "i_d_cognate_likeskt.php?newskt=" + autoc);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
			}
		xmlhttp.send(null);
		}
	else {
		obj.innerHTML = "";
		}
	}

function testphonology(var1) {
	var obj = document.getElementById("autocomplete");
	if (var1 == "gs") {
		var phonegs = document.getElementById("phonegs").value;
		var phones = document.getElementById("phones").value;
		if (phonegs != "" & phones != "") {
			var serverPage = "i_phonologytest.php?phonegs=" + phonegs + "&phones=" + phones;
			xmlhttp.open("GET", serverPage);
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
				}
			xmlhttp.send(null);
			}
		else { alert("Test requires phonology entries for Gandhari and Sanskrit"); }
		}
	}

//A function to find Sanskrit terms
function Autoskt(var1) { // lem field id
	var obj = document.getElementById("autocomplete");
	autoc = encodeURIComponent(document.getElementById(var1).value);
	if (autoc == "") { obj.innerHTML = ""; 	}
	else {
		xmlhttp.open("GET", "i_d_sanskrit_auto.php?autoc=" + autoc + "&insfield=" + var1);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				obj.innerHTML = xmlhttp.responseText;
				}
			}
		xmlhttp.send(null);
		}
	}

//A function to load the cognate/morphology list
function AutoList(var1, var2) { // var1 = field id, var2 = dependent field id
	var objID = "autocomplete";
	var obj = document.getElementById(objID);

	if (var2) {	
		var3 = document.getElementById(var2).value;
		xmlhttp.open("GET", "i_autolist.php?field=" + var1 + "&depfield=" + var3);
		}
	else { xmlhttp.open("GET", "i_autolist.php?field=" + var1); }	
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
		}
	xmlhttp.send(null);
	}

// A function to insert an item from the autocomplete list into the form
function autoInsert(var1, var2, var3, var4, var5){ // insert position1; insert value1; next tab position; insert position2; insert value2
	var objID = "autocomplete";
	document.getElementById(objID).innerHTML = "";
	document.getElementById(var1).value = var2;
	if (var4) { document.getElementById(var4).value = var5; }

	var hgi0 = document.getElementById("hgi0").innerHTML;
	var hgi1 = document.getElementById("hgi1").innerHTML;
	var hgi2 = document.getElementById("hgi2").innerHTML;
	var hgi3 = document.getElementById("hgi3").innerHTML;
	var hgi4 = document.getElementById("hgi4").innerHTML;
	var hgi5 = document.getElementById("hgi5").innerHTML;

	if (var1 == 'morphpos' & (var2 == 'noun' || var2 == 'pronoun' || var2 == 'numeral' || var2 == 'adjective')) {
		var table = document.getElementById('tablemorph');
		document.getElementById('gl1').setAttribute("class", "label2");
		document.getElementById('gl2').setAttribute("class", "label2");
		document.getElementById('gl3').setAttribute("class", "label2");
		var gi0td = document.getElementById('gi0');
		var gl1td = document.getElementById('gl1');
		var gi1td = document.getElementById('gi1');
		var gl2td = document.getElementById('gl2');
		var gi2td = document.getElementById('gi2');
		var gl3td = document.getElementById('gl3');
		var gi3td = document.getElementById('gi3');
		var inp0  = document.createElement('INPUT');
	    var lb1 = document.createTextNode("Gender");
		var inp1  = document.createElement('INPUT');
	    var lb2 = document.createTextNode("Case");
		var inp2  = document.createElement('INPUT');
	    var lb3 = document.createTextNode("Number");
		var inp3  = document.createElement('INPUT');

		if (var2 != hgi0) {
			inp0.setAttribute("name", "subpos");
			inp0.setAttribute("id", "morphsubpos");
			inp0.setAttribute("size", "12");
			inp0.setAttribute("onFocus", "AutoList('morphsubpos', 'morphpos')");
			document.getElementById('gi0').innerHTML = "";
			gi0td.appendChild(inp0);
			document.getElementById("hgi0").innerHTML = var2;
			}
		if (var2 != hgi1) {
			inp1.setAttribute("name", "wgender");
			inp1.setAttribute("id", "morphgender");
			inp1.setAttribute("size", "12");
			inp1.setAttribute("onFocus", "AutoList('morphgender', '')");
			document.getElementById('gl1').innerHTML = "";
			document.getElementById('gi1').innerHTML = "";
			gl1td.appendChild(lb1);
			document.getElementById("hgi1").innerHTML = var2;
			gi1td.appendChild(inp1);
			}
		if (var2 != hgi2) {
			inp2.setAttribute("name", "wcase");
			inp2.setAttribute("id", "morphcase");
			inp2.setAttribute("size", "12");
			inp2.setAttribute("onFocus", "AutoList('morphcase', '')");
			document.getElementById('gl2').innerHTML = "";
			document.getElementById('gi2').innerHTML = "";
			document.getElementById("hgi2").innerHTML = var2;
			gl2td.appendChild(lb2);
			gi2td.appendChild(inp2);
			}
		if (var2 != hgi3) {
			inp3.setAttribute("name", "wnumber");
			inp3.setAttribute("id", "morphnumber");
			inp3.setAttribute("size", "12");
			inp3.setAttribute("onFocus", "AutoList('morphnumber', 'morphsubpos')");
			document.getElementById('gl3').innerHTML = "";
			document.getElementById('gi3').innerHTML = "";
			document.getElementById("hgi3").innerHTML = var2;
			gl3td.appendChild(lb3);
			gi3td.appendChild(inp3);
			}
		document.getElementById('gl4').setAttribute("class", "");
		document.getElementById('gl5').setAttribute("class", "");
		document.getElementById('gl4').innerHTML = "";
		document.getElementById('gi4').innerHTML = "";
		document.getElementById('gl5').innerHTML = "";
		document.getElementById('gi5').innerHTML = "";
		}
	else if (var2 == 'gdv.' || var2 == 'pp.' || var2 == 'pres. part.') {
		document.getElementById('gl4').innerHTML = "";
		document.getElementById('gi4').innerHTML = "";
		document.getElementById('gl5').innerHTML = "";
		document.getElementById('gi5').innerHTML = "";
		var gl4td = document.getElementById('gl4');
			document.getElementById('gl4').setAttribute("class", "label2");
			var lb4 = document.createTextNode("Root/hom");
				gl4td.appendChild(lb4);
		var gi4td = document.getElementById('gi4');
			var inp4  = document.createElement('INPUT');
				inp4.setAttribute("name", "wroot");
				inp4.setAttribute("id", "morphroot");
				inp4.setAttribute("size", "7");
				inp4.setAttribute("autocomplete", "off");
				inp4.setAttribute("onFocus", "likeEntries('morphroot', '', '', '')");
				gi4td.appendChild(inp4);
			var inp4b  = document.createElement('INPUT');
				inp4b.setAttribute("name", "rhom");
				inp4b.setAttribute("id", "rhom");
				inp4b.setAttribute("size", "2");
				inp4b.setAttribute("autocomplete", "off");
				gi4td.appendChild(inp4b);
		var gl5td = document.getElementById('gl5');
			document.getElementById('gl5').setAttribute("class", "label2");
			var lb5 = document.createTextNode("Derivative");
				gl5td.appendChild(lb5);
		var gi5td = document.getElementById('gi5');
			var inp5  = document.createElement('INPUT');
				inp5.setAttribute("name", "wderivative");
				inp5.setAttribute("id", "morphderivative");
				inp5.setAttribute("size", "12");
				inp5.setAttribute("autocomplete", "off");
				inp5.setAttribute("onFocus", "AutoList('morphderivative', '')");
				gi5td.appendChild(inp5);
		}
	else if (var2 == 'common') {
		document.getElementById('gl4').setAttribute("class", "");
		document.getElementById('gl5').setAttribute("class", "");
		document.getElementById('gl4').innerHTML = "";
		document.getElementById('gi4').innerHTML = "";
		document.getElementById('gl5').innerHTML = "";
		document.getElementById('gi5').innerHTML = "";
		}
	else if (var2 == 'verb') {
//	add grammar
		document.getElementById('gl1').setAttribute("class", "label2");
		document.getElementById('gl2').setAttribute("class", "label2");
		document.getElementById('gl3').setAttribute("class", "label2");
		document.getElementById('gl4').setAttribute("class", "label2");
		document.getElementById('gl5').setAttribute("class", "label2");
		var gl1td = document.getElementById('gl1');
		var gi1td = document.getElementById('gi1');
		var gl2td = document.getElementById('gl2');
		var gi2td = document.getElementById('gi2');
		var gl3td = document.getElementById('gl3');
		var gi3td = document.getElementById('gi3');
		var gl4td = document.getElementById('gl4');
		var gi4td = document.getElementById('gi4');
		var gl5td = document.getElementById('gl5');
		var gi5td = document.getElementById('gi5');
	    var lb1 = document.createTextNode("Person");
		var inp1  = document.createElement('INPUT');
	    var lb2 = document.createTextNode("Number");
		var inp2  = document.createElement('INPUT');
	    var lb3 = document.createTextNode("Mood/Tense");
		var inp3  = document.createElement('INPUT');
	    var lb4 = document.createTextNode("Voice");
		var inp4  = document.createElement('INPUT');
	    var lb5 = document.createTextNode("Derivative");
		var inp5  = document.createElement('INPUT');

		document.getElementById('gi0').innerHTML = "";
		document.getElementById("hgi0").innerHTML = var2;
		if (var2 != hgi1) {
			inp1.setAttribute("name", "wperson");
			inp1.setAttribute("id", "morphperson");
			inp1.setAttribute("size", "12");
			inp1.setAttribute("autocomplete", "off");
			inp1.setAttribute("onFocus", "AutoList('morphperson', '')");
			document.getElementById('gl1').innerHTML = "";
			document.getElementById('gi1').innerHTML = "";
			gl1td.appendChild(lb1);
			gi1td.appendChild(inp1);
			}
		if (var2 != hgi2) {
			inp2.setAttribute("name", "wnumber");
			inp2.setAttribute("id", "morphnumber");
			inp2.setAttribute("size", "12");
			inp2.setAttribute("autocomplete", "off");
			inp2.setAttribute("onFocus", "AutoList('morphnumber', 'morphpos')");
			document.getElementById('gl2').innerHTML = "";
			document.getElementById('gi2').innerHTML = "";
			gl2td.appendChild(lb2);
			gi2td.appendChild(inp2);
			}
		if (var2 != hgi3) {
			inp3.setAttribute("name", "wtense");
			inp3.setAttribute("id", "morphtense");
			inp3.setAttribute("size", "12");
			inp3.setAttribute("autocomplete", "off");
			inp3.setAttribute("onFocus", "AutoList('morphtense', '')");
			document.getElementById('gl3').innerHTML = "";
			document.getElementById('gi3').innerHTML = "";
			gl3td.appendChild(lb3);
			gi3td.appendChild(inp3);
			}
		if (var2 != hgi4) {
			inp4.setAttribute("name", "wvoice");
			inp4.setAttribute("id", "morphvoice");
			inp4.setAttribute("size", "12");
			inp4.setAttribute("autocomplete", "off");
			inp4.setAttribute("onFocus", "AutoList('morphvoice', '')");
			document.getElementById('gl4').innerHTML = "";
			document.getElementById('gi4').innerHTML = "";
			gl4td.appendChild(lb4);
			gi4td.appendChild(inp4);
			}
		if (var2 != hgi5) {
			inp5.setAttribute("name", "wderivative");
			inp5.setAttribute("id", "morphderivative");
			inp5.setAttribute("size", "12");
			inp5.setAttribute("autocomplete", "off");
			inp5.setAttribute("onFocus", "AutoList('morphderivative', '')");
			document.getElementById('gl5').innerHTML = "";
			document.getElementById('gi5').innerHTML = "";
			gl5td.appendChild(lb5);
			gi5td.appendChild(inp5);
			}
		}
	else if (var2 == 'adverb' || var2 == 'indeclinable' || var2 == 'digit' || var2 == 'punctuation' || var2 == 'akṣara' || var2 == 'error' || var2 == 'unknown') {
		document.getElementById('gl1').setAttribute("class", "");
		document.getElementById('gl2').setAttribute("class", "");
		document.getElementById('gl3').setAttribute("class", "");
		document.getElementById('gl4').setAttribute("class", "");
		document.getElementById('gl5').setAttribute("class", "");
		document.getElementById('gl1').innerHTML = "";
		document.getElementById('gl2').innerHTML = "";
		document.getElementById('gl3').innerHTML = "";
		document.getElementById('gl4').innerHTML = "";
		document.getElementById('gl5').innerHTML = "";
		document.getElementById('gi0').innerHTML = "&nbsp;";
		document.getElementById('gi1').innerHTML = "";
		document.getElementById('gi2').innerHTML = "";
		document.getElementById('gi3').innerHTML = "";
		document.getElementById('gi4').innerHTML = "";
		document.getElementById('gi5').innerHTML = "";
		}		
	document.getElementById(var3).focus();	}

// A function to insert a set of items from the matching entries list into the form
function autoInsertCognateSet(sstem, shom, sinfl, pstem, phom, pinfl, estem, pos, subpos, wrdcase, gender, person, number, tense, voice, root, rhom, derivative, phonegs, phones, phonegp, phonep) {
	var table = document.getElementById('tablemorph');
	if (sstem) { document.getElementById("morphskt").value = sstem; }
	if (shom) { document.getElementById("shom").value = shom; }
	if (sinfl) { document.getElementById("sinfl").value = sinfl; }
	if (pstem) { document.getElementById("morphpali").value = pstem; }
	if (phom) { document.getElementById("phom").value = phom; }
	if (pinfl) { document.getElementById("pinfl").value = pinfl; }
	if (estem) { document.getElementById("morpheng").value = estem; }
	if (pos) { document.getElementById("morphpos").value = pos; }
	if (phonegs) { document.getElementById("phonegs").value = phonegs; }
	if (phones) { document.getElementById("phones").value = phones; }
	if (phonegp) { document.getElementById("phonegp").value = phonegp; }
	if (phonep) { document.getElementById("phonep").value = phonep; }

	if (pos == 'noun' || pos == 'pronoun' || pos == 'numeral' || pos == 'adjective') {
		// SUBPOS
		var gi0td = document.getElementById('gi0');
			gi0td.innerHTML = "";
		var inp0  = document.createElement('INPUT');
			inp0.setAttribute("name", "subpos");
			inp0.setAttribute("id", "morphsubpos");
			inp0.setAttribute("size", "12");
			inp0.setAttribute("autocomplete", "off");
			inp0.setAttribute("tabindex", "11");
			inp0.setAttribute("onFocus", "AutoList('morphsubpos', 'morphpos')");
			if (subpos) { inp0.setAttribute("value", subpos); }
			gi0td.appendChild(inp0);
		document.getElementById("hgi0").innerHTML = pos;
		//GENDER
		document.getElementById('gl1').setAttribute("class", "label2");
		var gl1td = document.getElementById('gl1');
			gl1td.innerHTML = "";
		var gi1td = document.getElementById('gi1');
			gi1td.innerHTML = "";
		var lb1 = document.createTextNode("Gender");
			gl1td.appendChild(lb1);
		var inp1  = document.createElement('INPUT');
			inp1.setAttribute("name", "wgender");
			inp1.setAttribute("id", "morphgender");
			inp1.setAttribute("size", "12");
			inp1.setAttribute("autocomplete", "off");
			inp1.setAttribute("tabindex", "12");
			inp1.setAttribute("onFocus", "AutoList('morphgender', '')");
			if (gender) { inp1.setAttribute("value", gender); }
			gi1td.appendChild(inp1);
		document.getElementById("hgi1").innerHTML = pos;
		//CASE
			document.getElementById('gl2').setAttribute("class", "label2");
			var gl2td = document.getElementById('gl2');
				gl2td.innerHTML = "";
			var gi2td = document.getElementById('gi2');
				gi2td.innerHTML = "";
			var lb2 = document.createTextNode("Case");
				gl2td.appendChild(lb2);
			var inp2  = document.createElement('INPUT');
				inp2.setAttribute("name", "wcase");
				inp2.setAttribute("id", "morphcase");
				inp2.setAttribute("size", "12");
				inp2.setAttribute("autocomplete", "off");
				inp2.setAttribute("tabindex", "13");
				inp2.setAttribute("onFocus", "AutoList('morphcase', '')");
				if (wrdcase) { inp2.setAttribute("value", wrdcase); }
				gi2td.appendChild(inp2);
			document.getElementById("hgi2").innerHTML = pos;
		//NUMBER
			document.getElementById('gl3').setAttribute("class", "label2");
			var gl3td = document.getElementById('gl3');
				document.getElementById('gl3').innerHTML = "";
			var gi3td = document.getElementById('gi3');
				document.getElementById('gi3').innerHTML = "";
			var lb3 = document.createTextNode("Number");
				gl3td.appendChild(lb3);
			var inp3  = document.createElement('INPUT');
				inp3.setAttribute("name", "wnumber");
				inp3.setAttribute("id", "morphnumber");
				inp3.setAttribute("size", "12");
				inp3.setAttribute("autocomplete", "off");
				inp3.setAttribute("tabindex", "14");
				inp3.setAttribute("onFocus", "AutoList('morphnumber', '')");
				if (number) { inp3.setAttribute("value", number); }
				gi3td.appendChild(inp3);
			document.getElementById("hgi3").innerHTML = pos;
		if (root) { //ROOT
			document.getElementById('gl4').setAttribute("class", "label2");
			var gl4td = document.getElementById('gl4');
				document.getElementById('gl4').innerHTML = "";
			var gi4td = document.getElementById('gi4');
				document.getElementById('gi4').innerHTML = "";
			var lb4 = document.createTextNode("Root");
				gl4td.appendChild(lb4);
			var inp4  = document.createElement('INPUT');
				inp4.setAttribute("name", "wroot");
				inp4.setAttribute("id", "morphroot");
				inp4.setAttribute("size", "7");
				inp4.setAttribute("autocomplete", "off");
				inp4.setAttribute("tabindex", "15");
				inp4.setAttribute("onFocus", "likeEntries('morphroot', '', '', '')");
				inp4.setAttribute("value", root);
				gi4td.appendChild(inp4);
			var inp5  = document.createElement('INPUT');
				inp5.setAttribute("name", "rhom");
				inp5.setAttribute("id", "rhom");
				inp5.setAttribute("size", "2");
				inp5.setAttribute("autocomplete", "off");
				inp5.setAttribute("tabindex", "16");
				if (rhom) { inp5.setAttribute("value", rhom); }
				gi4td.appendChild(inp5);
			document.getElementById("hgi4").innerHTML = pos;
		//DERIVATIVE
			document.getElementById('gl5').setAttribute("class", "label2");
			var gl5td = document.getElementById('gl5');
				document.getElementById('gl5').innerHTML = "";
			var gi5td = document.getElementById('gi5');
				document.getElementById('gi5').innerHTML = "";
			var lb5 = document.createTextNode("Derivative");
				gl5td.appendChild(lb5);
			var inp5  = document.createElement('INPUT');
				inp5.setAttribute("name", "wderivative");
				inp5.setAttribute("id", "morphderivative");
				inp5.setAttribute("size", "12");
				inp5.setAttribute("autocomplete", "off");
				inp5.setAttribute("tabindex", "17");
				inp5.setAttribute("onFocus", "AutoList('morphderivative', '')");
				if (derivative) { inp5.setAttribute("value", derivative); }
				gi5td.appendChild(inp5);
			document.getElementById("hgi5").innerHTML = pos;
			}
		else {
			document.getElementById('gl4').setAttribute("class", "");
			document.getElementById('gl4').innerHTML = "";
			document.getElementById('gi4').innerHTML = "";
			document.getElementById('gl5').setAttribute("class", "");
			document.getElementById('gl5').innerHTML = "";
			document.getElementById('gi5').innerHTML = "";
			}
		}
	else if (pos == 'verb') {
		//PERSON
		document.getElementById('gl1').setAttribute("class", "label2");
		var gl1td = document.getElementById('gl1');
			document.getElementById('gl1').innerHTML = "";
		var gi1td = document.getElementById('gi1');
			document.getElementById('gi1').innerHTML = "";
		var lb1 = document.createTextNode("Person");
			gl1td.appendChild(lb1);
		var inp1  = document.createElement('INPUT');
			inp1.setAttribute("name", "wperson");
			inp1.setAttribute("id", "morphperson");
			inp1.setAttribute("size", "12");
			inp1.setAttribute("autocomplete", "off");
			inp1.setAttribute("tabindex", "12");
			inp1.setAttribute("onFocus", "AutoList('morphperson', '')");
			if (person) { inp1.setAttribute("value", person); }
			gi1td.appendChild(inp1);
		document.getElementById("hgi1").innerHTML = pos;
		//NUMBER
		document.getElementById('gl2').setAttribute("class", "label2");
		var gl2td = document.getElementById('gl2');
			document.getElementById('gl2').innerHTML = "";
		var gi2td = document.getElementById('gi2');
			document.getElementById('gi2').innerHTML = "";
		var lb2 = document.createTextNode("Number");
			gl2td.appendChild(lb2);
		var inp2  = document.createElement('INPUT');
			inp2.setAttribute("name", "wnumber");
			inp2.setAttribute("id", "morphnumber");
			inp2.setAttribute("size", "12");
			inp2.setAttribute("autocomplete", "off");
			inp2.setAttribute("tabindex", "13");
			inp2.setAttribute("onFocus", "AutoList('morphnumber', 'morphpos')");
			if (number) { inp2.setAttribute("value", number); }
			gi2td.appendChild(inp2);
		document.getElementById("hgi2").innerHTML = pos;
		//MOOD/TENSE
		document.getElementById('gl3').setAttribute("class", "label2");
		var gl3td = document.getElementById('gl3');
			document.getElementById('gl3').innerHTML = "";
		var gi3td = document.getElementById('gi3');
			document.getElementById('gi3').innerHTML = "";
		var lb3 = document.createTextNode("Mood/Tense");
			gl3td.appendChild(lb3);
		var inp3  = document.createElement('INPUT');
			inp3.setAttribute("name", "wtense");
			inp3.setAttribute("id", "morphtense");
			inp3.setAttribute("size", "12");
			inp3.setAttribute("autocomplete", "off");
			inp3.setAttribute("tabindex", "14");
			inp3.setAttribute("onFocus", "AutoList('morphtense', '')");
			if (tense) { inp3.setAttribute("value", tense); }
			gi3td.appendChild(inp3);
		document.getElementById("hgi3").innerHTML = pos;
		//VOICE
		document.getElementById('gl4').setAttribute("class", "label2");
		var gl4td = document.getElementById('gl4');
			document.getElementById('gl4').innerHTML = "";
		var gi4td = document.getElementById('gi4');
			document.getElementById('gi4').innerHTML = "";
		var lb4 = document.createTextNode("Voice");
			gl4td.appendChild(lb4);
		var inp4  = document.createElement('INPUT');
			inp4.setAttribute("name", "wvoice");
			inp4.setAttribute("id", "morphvoice");
			inp4.setAttribute("size", "12");
			inp4.setAttribute("autocomplete", "off");
			inp4.setAttribute("tabindex", "15");
			inp4.setAttribute("onFocus", "AutoList('morphvoice', '')");
			if (voice) { inp4.setAttribute("value", voice); }
			gi4td.appendChild(inp4);
		document.getElementById("hgi4").innerHTML = pos;
		//DERIVATIVE
		document.getElementById('gl5').setAttribute("class", "label2");
		var gl5td = document.getElementById('gl5');
			document.getElementById('gl5').innerHTML = "";
		var gi5td = document.getElementById('gi5');
			document.getElementById('gi5').innerHTML = "";
		var lb5 = document.createTextNode("Derivative");
			gl5td.appendChild(lb5);
		var inp5  = document.createElement('INPUT');
			inp5.setAttribute("name", "wderivative");
			inp5.setAttribute("id", "morphderivative");
			inp5.setAttribute("size", "12");
			inp5.setAttribute("autocomplete", "off");
			inp1.setAttribute("tabindex", "17");
			inp5.setAttribute("onFocus", "AutoList('morphderivative', '')");
			if (derivative) { inp5.setAttribute("value", derivative); }
			gi5td.appendChild(inp5);
		document.getElementById("hgi5").innerHTML = pos;
		}
	else {
		document.getElementById('gl1').setAttribute("class", "");
		document.getElementById('gl2').setAttribute("class", "");
		document.getElementById('gl3').setAttribute("class", "");
		document.getElementById('gl4').setAttribute("class", "");
		document.getElementById('gl5').setAttribute("class", "");
		document.getElementById('gi0').innerHTML = "";
		document.getElementById('gl1').innerHTML = "";
		document.getElementById('gi1').innerHTML = "";
		document.getElementById('gl2').innerHTML = "";
		document.getElementById('gi2').innerHTML = "";
		document.getElementById('gl3').innerHTML = "";
		document.getElementById('gi3').innerHTML = "";
		document.getElementById('gl4').innerHTML = "";
		document.getElementById('gi4').innerHTML = "";
		document.getElementById('gl5').innerHTML = "";
		document.getElementById('gi5').innerHTML = "";
		document.getElementById("hgi1").innerHTML = pos;
		document.getElementById("hgi2").innerHTML = pos;
		document.getElementById("hgi3").innerHTML = pos;
		document.getElementById("hgi4").innerHTML = pos;
		document.getElementById("hgi5").innerHTML = pos;
		}
	document.getElementById("morphsubmit").focus();	}

//A function to show a quotation in the dictionary
function showQuote(var1, var2, var3, var4, var5, var6, var7) {
	var objID = "quotation";
	var serverPage = "i_d_quotation.php?lem=" + var1 + "&text=" + var2 + "&lineseq=" + var3 + "&ref=" + var4 + "&ref2=" + var5 + "&textid=" + var6 + "&name=" + var7;
	
	var obj = document.getElementById(objID);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			obj.innerHTML = xmlhttp.responseText;
			}
		}
	xmlhttp.send(null);
	}

function removeQuote(){
	var objID = "quotation";
	document.getElementById(objID).innerHTML = "";
	}

function append(var1, var2) {
	document.getElementById(var1).value += var2;
	document.getElementById(var1).focus();
}

function prependChild(parent, node) {
    parent.insertBefore(node, parent.firstChild);
}

// A function to run inline edits from the dictionaries
function InlineDict(dict, drid, htmlid) {
	var obj = document.getElementById(htmlid);
	var serverPage = "i_inlinedict.php?dict=" + dict + "&drid=" + drid;
//	alert (serverPage);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			var elemc = xmlDoc.getElementsByTagName("lemc")[0].childNodes[0].nodeValue;
			elemc = elemc.replace(/^\s+|\s+$/g, '')
			var ehom = xmlDoc.getElementsByTagName("hom")[0].childNodes[0].nodeValue;
			ehom = ehom.replace(/^\s+|\s+$/g, '')
			var epos = xmlDoc.getElementsByTagName("pos")[0].childNodes[0].nodeValue;
			epos = epos.replace(/^\s+|\s+$/g, '')
			var edef = xmlDoc.getElementsByTagName("def")[0].childNodes[0].nodeValue;
			edef = edef.replace(/^\s+|\s+$/g, '')
			var epage = xmlDoc.getElementsByTagName("page")[0].childNodes[0].nodeValue;
			epage = epage.replace(/^\s+|\s+$/g, '')
			var ecol = xmlDoc.getElementsByTagName("col")[0].childNodes[0].nodeValue;
			ecol = ecol.replace(/^\s+|\s+$/g, '')
			window.dictresult = obj.innerHTML; // store with edit menu active
			obj.innerHTML = "";
			var table = document.createElement('TABLE');
				table.setAttribute("class", "inlineedit");
				table.setAttribute("id", "inlinetable");
				obj.appendChild(table);
			var tr = document.createElement('TR');
				table.appendChild(tr);
			var td1 = document.createElement('TD');
				td1.setAttribute("width", "90%");
				tr.appendChild(td1);
			var img = document.createElement('IMG');
				img.setAttribute('src', 'images/b_revert.png');
				img.setAttribute('height', '12px');
				img.setAttribute('class', 'button');
				img.setAttribute('alt', 'Cancel');
				img.onclick = function(){ InlineDictCancel(htmlid); }
				td1.appendChild(img);
			var lb1 = document.createTextNode("  Lemma: ");
				td1.appendChild(lb1);
			var inp1  = document.createElement('INPUT');
				inp1.setAttribute("id", "lemc");
				inp1.setAttribute("name", "lemc");
				inp1.setAttribute("value", elemc);
				inp1.setAttribute("class", "normal");
				inp1.setAttribute("tabindex", "1");
				td1.appendChild(inp1);
			var lb2 = document.createTextNode("  Homonym: ");
				td1.appendChild(lb2);
			var inp2  = document.createElement('INPUT');
				inp2.setAttribute("id", "hom");
				inp2.setAttribute("name", "hom");
				inp2.setAttribute("value", ehom);
				inp2.setAttribute("class", "single");
				inp2.setAttribute("tabindex", "2");
				td1.appendChild(inp2);
//			var lb3 = document.createTextNode("  PoS: ");
//				td1.appendChild(lb3);
			var inp3  = document.createElement('INPUT');
				inp3.setAttribute("id", "pos");
				inp3.setAttribute("name", "pos");
				inp3.setAttribute("value", epos);
				inp3.setAttribute("type", "hidden");
				inp3.setAttribute("class", "normal");
				inp3.setAttribute("tabindex", "3");
				td1.appendChild(inp3);
			var lb4 = document.createTextNode("  Page: ");
				td1.appendChild(lb4);
			var inp4  = document.createElement('INPUT');
				inp4.setAttribute("id", "page");
				inp4.setAttribute("name", "page");
				inp4.setAttribute("value", epage);
				inp4.setAttribute("class", "narrow");
				inp4.setAttribute("tabindex", "4");
				td1.appendChild(inp4);
			var lb5 = document.createTextNode("  Col: ");
				td1.appendChild(lb5);
			var inp5  = document.createElement('INPUT');
				inp5.setAttribute("id", "col");
				inp5.setAttribute("name", "col");
				inp5.setAttribute("value", ecol);
				inp5.setAttribute("class", "single");
				inp5.setAttribute("tabindex", "5");
				td1.appendChild(inp5);
			var lb6 = document.createTextNode("  ");
				td1.appendChild(lb6);
			var inp6  = document.createElement('INPUT');
				inp6.setAttribute("type", "submit");
				inp6.setAttribute("value", "Save");
				inp6.setAttribute("tabindex", "7");
				inp6.onclick = function(){ InlineDictSub(dict, drid, htmlid); }
				td1.appendChild(inp6);
			var textarea = document.createElement('TEXTAREA');
				textarea.setAttribute("name", "def");
				textarea.setAttribute("id", "def");
				textarea.setAttribute("cols", 55);
				textarea.setAttribute("rows", 10);
				textarea.setAttribute("tabindex", "6");
				td1.appendChild(textarea);
				textarea.innerHTML = edef;
			if (drid > 0 & dict == 'mlbsml') {
				var img = document.createElement('IMG');
					img.setAttribute('src', 'images/b_delete.png');
					img.setAttribute('height', '12px');
					img.setAttribute('class', 'button');
					img.setAttribute('alt', 'Delete Lemma');
					img.onclick = function(){ InlineDictDel(dict, drid, htmlid); }
					td1.appendChild(img);
				}
			if (drid > 0) { textarea.focus(); }
			else { inp1.focus(); }
			}
		}
	xmlhttp.send(null);
	}

function InlineDictCancel(htmlid) {
	var obj = document.getElementById(htmlid);
	var restore = window.dictresult;
	obj.innerHTML = restore;
	}

function InlineDictSub(dict, drid, htmlid) {
	var obj = document.getElementById(htmlid);
	var lemc = document.getElementById("lemc").value;
		lemc = lemc.replace(/^\s+|\s+$/g, '')
	var hom = document.getElementById("hom").value;
	var pos = document.getElementById("pos").value;
	var page = document.getElementById("page").value;
	var col = document.getElementById("col").value;
	var def = document.getElementById("def").value;
		def = def.replace(/^\s+|\s+$/g, '')
	// VALIDATE HOM AND PAGE ARE NUMERIC
	var brktL = countInstances(def, '<b>');
	var brktR = countInstances(def, '</b>');
	if (lemc == "") {
		alert("The lemma field is blank!"); 
		return false;
		}
	if (def == "") {
		alert("The definition field is blank!"); 
		return false;
		}
	if (brktL != brktR) {
		alert("Bold tags are not balanced"); 
		return false;
		}
	var brktL = countInstances(def, '<i>');
	var brktR = countInstances(def, '</i>');
	if (brktL != brktR) {
		alert("Italic tags are not balanced"); 
		return false;
		}
	if (isNaN(hom)) {
		alert("The homonym value needs to be a number"); 
		return false;
		}
	if (dict != "swtf" & isNaN(page)) {
		alert("The page value needs to be a number"); 
		return false;
		}

	def = def.replace(/\+/g, '@');
	def = def.replace(/\&/g, "");

	var serverPage = "i_inlinedictsub.php?dict=" + dict + "&drid=" + drid + "&lemc=" + lemc + "&hom=" + hom + "&pos=" + pos + "&page=" + page + "&col=" + col + "&def=" + def;
//	alert(serverPage);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			obj.innerHTML = "";
			var drid = xmlDoc.getElementsByTagName("drid")[0].childNodes[0].nodeValue;
			var uplemc = xmlDoc.getElementsByTagName("lemc")[0].childNodes[0].nodeValue;
			var uphom = xmlDoc.getElementsByTagName("hom")[0].childNodes[0].nodeValue;
			var uppage = xmlDoc.getElementsByTagName("page")[0].childNodes[0].nodeValue;
			var upcol = xmlDoc.getElementsByTagName("col")[0].childNodes[0].nodeValue;
			var updef = xmlDoc.getElementsByTagName("def")[0].childNodes[0].nodeValue;
			var span1 = document.createElement('SPAN');
				span1.setAttribute("class", "pagecol");
				obj.appendChild(span1);
			var lb1 = document.createTextNode(uppage  + upcol);
				span1.appendChild(lb1);
			var p1 = document.createElement('P');
				obj.appendChild(p1);
			p1.innerHTML = uplemc;
			var span2 = document.createElement('SPAN');
				span2.setAttribute("id", "dictdef");
				span2.ondblclick = function(){ InlineDict(dict, drid, htmlid); }
				obj.appendChild(span2);
				span2.innerHTML = updef;
				
			}
		}
	xmlhttp.send(null);
	}
	
function InlineDictDel(dict, drid, htmlid) {
	var obj = document.getElementById(htmlid);
	var answer = confirm("Are you ABSOLUTELY sure you want to DELETE this lemma PERMANENTLY?");
	if(answer == true) {
		var serverPage = "i_inlinedictdel.php?dict=" + dict + "&drid=" + drid;
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
			}
		xmlhttp.send(null);
		obj.innerHTML = "";
		}
	return false;
	}
	
function InlineXML(var1, var2, var3, var4, uname) { // catid | textid | level | Above/Below | username
	var objID = "div" + var2;
	var edmnID = "edmn" + var2;
	var obj = document.getElementById(objID);
	var edstatus = document.getElementById("edstatus").innerHTML;
	var cat = var1.substr(2,1).toLowerCase();
	var serverPage = "i_inlinexml.php?catid=" + var1 + "&trid=" + var2 + "&name=" + uname;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			var editlock = xmlDoc.getElementsByTagName("editlock")[0].childNodes[0].nodeValue;
			if (editlock != 'ready') { alert("Sorry, this text is currently being edited by " + editlock + ".");
				return;				
				}
			if (edstatus == "On") {
				alert("Sorry, you can only edit one line at a time.");
				return;
				}
			else { document.getElementById("edstatus").innerHTML = "On"; }
			window['div' + var2] = obj.innerHTML; // store with edit menu active
			if (var4 != "above" & var4 != "below") { obj.innerHTML = ""; }
			var side = xmlDoc.getElementsByTagName("side")[0].childNodes[0].nodeValue;
			var line = xmlDoc.getElementsByTagName("line")[0].childNodes[0].nodeValue;
				if (line == " ") { line = ""; }
				if (var4 == "below") { line++; } // Not a perfect solution, but works for integers
			var trid = xmlDoc.getElementsByTagName("trid")[0].childNodes[0].nodeValue;
			var translit = xmlDoc.getElementsByTagName("translit")[0].childNodes[0].nodeValue;
				if (translit == " ") { translit = ""; }
			var autorows = xmlDoc.getElementsByTagName("autorows")[0].childNodes[0].nodeValue;
			var status = xmlDoc.getElementsByTagName("status")[0].childNodes[0].nodeValue;
			var source = xmlDoc.getElementsByTagName("source")[0].childNodes[0].nodeValue;
				if (source == " ") { source = ""; }
			var sources = xmlDoc.getElementsByTagName("sources")[0].childNodes[0].nodeValue;
				if (source == " ") { source = ""; }
			var security = xmlDoc.getElementsByTagName("security")[0].childNodes[0].nodeValue;
			var editors = xmlDoc.getElementsByTagName("editors")[0].childNodes[0].nodeValue;
			var date = xmlDoc.getElementsByTagName("date")[0].childNodes[0].nodeValue;
			var ebmp = "EBMP " + date;
		// SET UP EDIT TABLE
			var table = document.createElement('TABLE');
				table.setAttribute("class", "inlineedit");
				table.setAttribute("id", "inlinetable");
				if (var4 == "above") {prependChild(obj, table); }
				else {obj.appendChild(table); }
			var tr    = document.createElement('TR');
				table.appendChild(tr);
			var td1   = document.createElement('TD');
				td1.setAttribute("width", "10%");
				tr.appendChild(td1);
			var inp1  = document.createElement('INPUT');
				inp1.setAttribute("id", "textid");
				inp1.setAttribute("type", "hidden");
				inp1.setAttribute("name", "textid");
				if (var4 != "above" & var4 != "below") { inp1.setAttribute("value", trid); }
				td1.appendChild(inp1);
			var inp2  = document.createElement('INPUT');
				inp2.setAttribute("id", "side");
				inp2.setAttribute("name", "side");
				inp2.setAttribute("size", "7");
				if (side == " ") { inp2.setAttribute("value", "SIDE"); }
				else { inp2.setAttribute("value", side); }
				inp2.onfocus = function() { ClearInput(inp2); }
				td1.appendChild(inp2);
			var inp3  = document.createElement('INPUT');
				inp3.setAttribute("id", "line");
				inp3.setAttribute("name", "line");
				if (var4 != "above") { inp3.setAttribute("value", line); }
				else {
					inp3.setAttribute("value", "LINE"); 
					inp3.onfocus = function() { ClearInput(inp3); }
					}
				inp3.setAttribute("size", "3.5");
				td1.appendChild(inp3);
			var lb0 = document.createTextNode(" ");
				td1.appendChild(lb0);
			var img = document.createElement('IMG');
				img.setAttribute('src', 'images/b_revert.png');
				img.setAttribute('height', '12px');
				img.setAttribute('class', 'button');
				img.setAttribute('alt', 'Cancel');
				img.onclick = function(){ InlineCancel(var1, trid, uname); }
				td1.appendChild(img);
			var lb1 = document.createTextNode(" ");
				td1.appendChild(lb1);
			var img2 = document.createElement('IMG');
				img2.setAttribute('src', 'images/b_note.png');
				img2.setAttribute('height', '12px');
				img2.setAttribute('class', 'button');
				img2.setAttribute('alt', 'Note');
				img2.onclick = function(){ InlineNote(var1, trid, var3); }
				td1.appendChild(img2);
			var td2   = document.createElement('TD');
				td2.setAttribute("class", "inlineedit");
				tr.appendChild(td2);
			var textarea = document.createElement('TEXTAREA');
				textarea.setAttribute("name", "edition");
				textarea.setAttribute("id", "edition");
				textarea.setAttribute("rows", autorows);
				td2.appendChild(textarea);
			var lb2 = document.createTextNode(translit);
				if (var4 != "above" & var4 != "below") { textarea.appendChild(lb2); }
			var td3   = document.createElement('TD');
				td3.setAttribute("width", "180px");
				tr.appendChild(td3);
			var sel1 = document.createElement('SELECT');
				sel1.setAttribute("name", "version");
				sel1.setAttribute("id", "version");
				td3.appendChild(sel1);
				var opt11  = document.createElement('OPTION');
					opt11.setAttribute("value", source);
					sel1.appendChild(opt11);
					var lb11 = document.createTextNode(source);
						opt11.appendChild(lb11);
/// ADD EXTRA OPTIONS HERE
				var sources = sources.split(";");						
				for (var i in sources) {
					if (sources[i] != source) {
						var opt12  = document.createElement('OPTION');
							opt12.setAttribute("value", sources[i]);
							if (var4 == "above" || var4 == "below") { opt12.setAttribute("selected", true); }
							sel1.appendChild(opt12);
							var lb12 = document.createTextNode(sources[i]);
								opt12.appendChild(lb12);
						}
					}
				var opt12  = document.createElement('OPTION');
					opt12.setAttribute("value", ebmp);
					if (var4 == "above" || var4 == "below") { opt12.setAttribute("selected", true); }
					sel1.appendChild(opt12);
					var lb12 = document.createTextNode(ebmp);
						opt12.appendChild(lb12);
				var editors = editors.split(";");						
				for (var i in editors) {
					if (editors[i] != source) {
						var opt12  = document.createElement('OPTION');
							opt12.setAttribute("value", editors[i]);
							sel1.appendChild(opt12);
							var lb12 = document.createTextNode(editors[i]);
								opt12.appendChild(lb12);
						}
					}
			var img3 = document.createElement('IMG');
				img3.setAttribute('src', 'images/b_delete.png');
				img3.setAttribute('height', '12px');
				img3.setAttribute('alt', 'Delete');
				img3.onclick = function(){ InlineDelete(var1, trid, var3, uname); }
				if (var4 != "above" & var4 != "below") {
					td3.appendChild(img3);
					var lb4 = document.createTextNode(" ");
						td3.appendChild(lb4);
					}
			var sel2 = document.createElement('SELECT');
				sel2.setAttribute("name", "security");
				sel2.setAttribute("id", "security");
				td3.appendChild(sel2);
				var opt21  = document.createElement('OPTION');
					opt21.setAttribute("value", "1");
					if (security == 1) { opt21.setAttribute("selected", true); }
					sel2.appendChild(opt21);
						var lb21 = document.createTextNode("Public");
							opt21.appendChild(lb21);
				var opt22  = document.createElement('OPTION');
					opt22.setAttribute("value", "7");
					if (security == 7) { opt22.setAttribute("selected", true); }
					sel2.appendChild(opt22);
						var lb22 = document.createTextNode("Shared");
							opt22.appendChild(lb22);
				var opt23  = document.createElement('OPTION');
					opt23.setAttribute("value", "9");
					if (security == 9) { opt23.setAttribute("selected", true); }
					sel2.appendChild(opt23);
						var lb23 = document.createTextNode("Personal");
							opt23.appendChild(lb23);
			var lb3 = document.createTextNode(" ");
				td3.appendChild(lb3);
			var inp4  = document.createElement('INPUT');
				inp4.setAttribute("type", "submit");
				inp4.setAttribute("value", "Save");
				inp4.onclick = function(){ InlineSubmit(var1, trid, var3, var4, uname); }
				td3.appendChild(inp4);
			textarea.focus();
			}
		}
	xmlhttp.send(null);
	}

function InlineCancel(catid, trid, uname) { // textid
	var objID = "div" + trid;
	editunlock(catid, uname);
	var obj = document.getElementById(objID);
	obj.innerHTML = window['div' + trid] ;
	var objID = "edmn" + trid;
	var obj = document.getElementById(objID);
	obj.setAttribute("class", "hide");
	document.getElementById("edstatus").innerHTML = "Off";
	}

function InlineDelete(var1, var2, var3, uname) { // catid | textrowid | level | username
	var objID = "div" + var2;
	var obj = document.getElementById(objID);

	var answer = confirm("Are you ABSOLUTELY sure you want to DELETE this row PERMANENTLY?");
	if(answer == true & var3 > 8) {
		var serverPage = "i_inlinedel.php?catid=" + var1 + "&trid=" + var2 + "&level=" + var3 + "&username=" + uname;
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; }
			}
		xmlhttp.send(null);
		obj.innerHTML = "";
		document.getElementById("edstatus").innerHTML = "Off";
		}
	return false;
	}

function ClearInput(var1) {
	var1.setAttribute("value", ""); 
	}

window.note = 1;

function InlineNote(var1, var2, var3) {  // catid | textrowid | level
	var serverPage = "i_inlinenote.php?catid=" + var1 + "&trid=" + var2 + "&level=" + var3 + "&action=new";
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			var noteN = xmlDoc.getElementsByTagName("noteN")[0].childNodes[0].nodeValue;
			var notenum = window.note;
			var objID = "div" + var2;
			var numID = "nnum" + notenum;
			var txtID = "tnum" + notenum;
			var obj = document.getElementById(objID);
			var table = document.getElementById("inlinetable");
			var tr    = document.createElement('TR');
				table.appendChild(tr);
			var td1   = document.createElement('TD');
				tr.appendChild(td1);
			var td2   = document.createElement('TD');
				tr.appendChild(td2);
			var td3   = document.createElement('TD');
				tr.appendChild(td3);
			var lb1 = document.createTextNode(noteN + " ");
				td1.appendChild(lb1);
			var inp1  = document.createElement('INPUT');
				inp1.setAttribute("id", numID);
				inp1.setAttribute("name", "notetext[]");
				inp1.setAttribute("type", "hidden");
				inp1.setAttribute("value", noteN);
				td2.appendChild(inp1);
			var img = document.createElement('IMG');
				img.setAttribute('src', 'images/b_revert.png');
				img.setAttribute('height', '12px');
				img.setAttribute('class', 'button');
				img.setAttribute('alt', 'Cancel');
				img.onclick = function(){ InlineRemoveN(tr); }
				td2.appendChild(img);
			var lb2 = document.createTextNode(" ");
				td2.appendChild(lb2);
			var inp2  = document.createElement('INPUT');
				inp2.setAttribute("id", txtID);
				inp2.setAttribute("name", "notetext[]");
				inp2.setAttribute("value", "");
				inp2.setAttribute("size", "40");
				td2.appendChild(inp2);
			var inp3  = document.createElement('INPUT');
				inp3.setAttribute("type", "submit");
				inp3.setAttribute("value", "Save Note");
				inp3.onclick = function(){ InlineSubmitN(var1, var2, var3, notenum, tr, "add", ""); }
				td3.appendChild(inp3);
			}
		}
	xmlhttp.send(null);
	window.note++;
	}

function InlineNoteE(var1, var2, var3, var4, uname) { // catid | textid | level | noteN | name
	var objID = "div" + var2;
	var obj = document.getElementById(objID);
	if(var3 > 8) {
		var serverPage = "i_inlinenote.php?catid=" + var1 + "&trid=" + var2 + "&level=" + var3 + "&noteN=" + var4 + "&action=edit" + "&name=" + uname;
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				xmlDoc = xmlhttp.responseXML;
				var noteID = xmlDoc.getElementsByTagName("noteid")[0].childNodes[0].nodeValue;
				var noteN = xmlDoc.getElementsByTagName("noteN")[0].childNodes[0].nodeValue;
				var noteT = xmlDoc.getElementsByTagName("noteT")[0].childNodes[0].nodeValue;
				var autorows = xmlDoc.getElementsByTagName("autorows")[0].childNodes[0].nodeValue;
			// output edit field
				var table = document.createElement('TABLE');
					table.setAttribute("class", "inlineedit");
					table.setAttribute("id", "inlinetable");
					obj.appendChild(table);
				var tr = document.createElement('TR');
					table.appendChild(tr);
				var td1 = document.createElement('TD');
					td1.setAttribute("width", "10%");
					tr.appendChild(td1);
				var td2 = document.createElement('TD');
					td2.setAttribute("class", "inlineedit");
					tr.appendChild(td2);
				var td3 = document.createElement('TD');
					td3.setAttribute("width", "180px");
					tr.appendChild(td3);
				var inp1  = document.createElement('INPUT');
					var numID = "nnid" + noteID
					inp1.setAttribute("id", numID);
					inp1.setAttribute("name", "notenum[]");
					inp1.setAttribute("value", noteN);
					inp1.setAttribute("size", "3.5");
					td1.appendChild(inp1);
				var lb1 = document.createTextNode(" ");
					td1.appendChild(lb1);
    			var img = document.createElement('IMG');
					img.setAttribute('src', 'images/b_revert.png');
				    img.setAttribute('height', '12px');
				    img.setAttribute('class', 'button');
				    img.setAttribute('alt', 'Cancel');
					img.onclick = function(){ InlineRemoveN(table, var1, uname); }
					td1.appendChild(img);
				var textarea = document.createElement('TEXTAREA');
					var txtID = "ntid" + noteID
					textarea.setAttribute("id", txtID);
					textarea.setAttribute("name", "notetext");
					textarea.setAttribute("rows", autorows);
					td2.appendChild(textarea);
					textarea.innerHTML = noteT;
    			var img = document.createElement('IMG');
					img.setAttribute('src', 'images/b_delete.png');
				    img.setAttribute('height', '12px');
				    img.setAttribute("alt", "Delete");
					img.onclick = function(){ InlineDeleteN(var1, var2, var3, var4, table, noteID); }
					td3.appendChild(img);
				var lb2 = document.createTextNode(" ");
					td3.appendChild(lb2);
				var inp3  = document.createElement('INPUT');
					inp3.setAttribute("type", "submit");
					inp3.setAttribute("value", "Save Note");
					inp3.onclick = function(){ InlineSubmitN(var1, var2, var3, var4, table, "update", noteID); }
					td3.appendChild(inp3);
				}
			}
		xmlhttp.send(null);
		}
	}

function InlineDeleteN(var1, var2, var3, var4, rm, noteID) { // catid | textrowid | level | notenum | remove | noteid
	var answer = confirm("Are you ABSOLUTELY sure you want to DELETE this note PERMANENTLY?");
	if(answer == true & var3 > 8) {
		var serverPage = "i_inlinenote.php?catid=" + var1 + "&trid=" + var2 + "&level=" + var3 + "&noteN=" + var4 + "&action=delete&noteid=" + noteID;
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				xmlDoc = xmlhttp.responseXML;
				var upedition = xmlDoc.getElementsByTagName("edition")[0].childNodes[0].nodeValue;
				rm.parentNode.removeChild(rm);
				var edtxt1 = "edtxt" + var2;
				document.getElementById(edtxt1).innerHTML = upedition;
				var fnN = "fn" + var4;
				fn1 = document.getElementById(fnN);
				fn1.parentNode.removeChild(fn1);
				}
			}
		xmlhttp.send(null);
		}
	}

function InlineSubmitN(var1, var2, var3, var4, rm, var5, var6) { // catid | textrowid | level | notenum | remove | action | noteid
	var busy = document.getElementById("busyimg");
	busy.setAttribute("class", "busyimg");
	var obj = document.getElementById("footnotes");
	if (var5 == "add") {
		var numID = "nnum" + var4;
		var txtID = "tnum" + var4;
		}
	else if (var5 == "update") {
		var numID = "nnid" + var6;
		var txtID = "ntid" + var6;
		}
	var noteN = document.getElementById(numID).value;
	var noteT = document.getElementById(txtID).value;
	noteN = noteN.replace(/\+/g, '@');
	noteT = noteT.replace(/\+/g, '@');

	var serverPage = "i_inlinenote.php?catid=" + var1 + "&trid=" + var2 + "&level=" + var3 + "&noteN=" + noteN + "&noteT=" + noteT + "&action=" + var5 + "&noteid=" + var6;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			var noteN = xmlDoc.getElementsByTagName("noteN")[0].childNodes[0].nodeValue;
			var noteT = xmlDoc.getElementsByTagName("noteT")[0].childNodes[0].nodeValue;
			var fnN = "fn" + noteN;
			if (var5 == "add") {
				var div1 = document.createElement('DIV');
				div1.setAttribute("id", fnN);
				div1.setAttribute("class", "fntext");
				div1.innerHTML = noteT;
				obj.appendChild(div1);
				}
			else if (var5 == "update") {
				document.getElementById(fnN).innerHTML = noteT;
				}
			rm.parentNode.removeChild(rm);
			busy.setAttribute("class", "notbusy");
			}
		}
	xmlhttp.send(null);
	}

function editlock(catid, uname, lasturl) {
	var serverPage = "i_editlock.php?catid=" + catid + "&name=" + uname;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			xmlDoc = xmlhttp.responseXML;
			var editlock = xmlDoc.getElementsByTagName("editlock")[0].childNodes[0].nodeValue;
			if (editlock != 'ready') { alert("Sorry, this text is currently being edited by " + editlock + ". You cannot edit it right now.");
				window.location=lasturl;
				return;
				}
			}
		}
	xmlhttp.send(null);
	}

function editunlock(catid, uname) {
	var serverPage = "i_editunlock.php?catid=" + catid + "&name=" + uname;
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var response = xmlhttp.responseText; }
		}
	xmlhttp.send(null);
	}

function InlineRemoveN(rm, catid, uname){
    rm.parentNode.removeChild(rm);
	if (catid) { editunlock(catid, uname); }
	}

function countInstances(string, word) {
	var substrings = string.split(word);
	return substrings.length - 1;
	}

function insertAfter(parent, node, referenceNode) {
	parent.insertBefore(node, referenceNode.nextSibling);
	}

function isOdd(num) {
	return (num % 2);
	}
	
function InlineSubmit(var1, var2, var3, var4, uname) {  // catid | textrowid | level | above/below | username
	var busy = document.getElementById("busyimg");
	busy.setAttribute("class", "busyimg");
	var objID = "div" + var2;
	var hidemn = "edmn" + var2;
	var obj = document.getElementById(objID);
	var side = document.getElementById("side").value;
		side = side.replace(/\+/g, '@');
	var line = document.getElementById("line").value;
		line = line.replace(/\+/g, '@');
	var edition = document.getElementById("edition").value;
	// validate for balanced brackets
	var brktL = countInstances(edition, '[');
	var brktR = countInstances(edition, ']');
	if (brktL != brktR) {
		alert("Brackets are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '(');
	var brktR = countInstances(edition, ')');
	if (brktL != brktR) {
		alert("Parentheses are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '{');
	var brktR = countInstances(edition, '}');
	if (brktL != brktR) {
		alert("Braces are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '⟨');
	var brktR = countInstances(edition, '⟩');
	if (brktL != brktR) {
		alert("Angle brackets are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '⟪');
	var brktR = countInstances(edition, '⟫');
	if (brktL != brktR) { 
		alert("Double angle brackets are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '<b>');
	var brktR = countInstances(edition, '</b>');
	if (brktL != brktR) {
		alert("Bold tags are not balanced"); 
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brktL = countInstances(edition, '«');
	var brktR = countInstances(edition, '»');
	if (brktL != brktR) {
		alert("Guillemets are not balanced"); 
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brkt = countInstances(edition, '^');
	if (isOdd(brkt)) {
		alert("Circumflexes are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	var brkt = countInstances(edition, '!');
	if (isOdd(brkt)) {
		alert("Exclamation marks are not balanced");
		busy.setAttribute("class", "notbusy");
		return false;
		}
	if (!var4) { var4 = ""; }
	// substitute url entities
		edition = edition.replace(/\+/g, '@');
	var version = document.getElementById("version").value;
		version = version.replace(/\+/g, '@');
	var security = document.getElementById("security").value;
	
	var serverPage = "i_inlinesubmit.php?catid=" + var1 + "&trid=" + var2 + "&side=" + side + "&line=" + line + "&edition=" + edition + "&version=" + version + "&security=" + security + "&insertL=" + var4;
//	alert(serverPage);
	xmlhttp.open("GET", serverPage);
	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			if (var4 == "above" || var4 == "below") { obj.innerHTML = window['div' + var2]; }
			else { obj.innerHTML = ""; }
			xmlDoc = xmlhttp.responseXML;
			var upcatid = xmlDoc.getElementsByTagName("catid")[0].childNodes[0].nodeValue;
			var uptrid = xmlDoc.getElementsByTagName("trid")[0].childNodes[0].nodeValue;
			var uplevel = xmlDoc.getElementsByTagName("level")[0].childNodes[0].nodeValue;
			var upshade = xmlDoc.getElementsByTagName("shade")[0].childNodes[0].nodeValue;
			var upline = xmlDoc.getElementsByTagName("line")[0].childNodes[0].nodeValue;
			var uplineseq = xmlDoc.getElementsByTagName("lineseq")[0].childNodes[0].nodeValue;
			var upedition = xmlDoc.getElementsByTagName("edition")[0].childNodes[0].nodeValue;
			var omisses = xmlDoc.getElementsByTagName("omisses")[0].childNodes[0].nodeValue;
			var divid1 = "div" + uptrid;
			var edmn1 = "edmn" + uptrid;
			var edtxt1 = "edtxt" + uptrid;

			var div1 = document.createElement('DIV');
				div1.setAttribute("id", divid1);
				div1.setAttribute("class", "text");
			var p1 = document.createElement('P');
			var span1 = document.createElement('SPAN');
				span1.setAttribute("class", upshade);
				span1.onmouseover = function(){ ShowOptions(edmn1); }
			var span2 = document.createElement('SPAN');
				span2.onmouseout = function(){ HideOptions(edmn1); }
				span2.setAttribute("id", edmn1);
				span2.setAttribute("class", "hide");
			var span3 = document.createElement('SPAN');
				span3.setAttribute("id", edtxt1);
				span3.ondblclick = function(){ InlineXML(var1, uptrid, var3, '', uname); }
			var b1 = document.createElement('B');
		    var lb1 = document.createTextNode(upline);
		    var lb2 = document.createTextNode(upedition);
		    var lb3 = document.createTextNode(" ");
		    var lb4 = document.createTextNode(" ");
		    var lb5 = document.createTextNode(" ");
		    var lb6 = document.createTextNode(" ");
			var img1 = document.createElement('IMG');
				img1.setAttribute('src', 'images/b_above.png');
				img1.setAttribute('alt', 'InsertAbove');
				img1.onclick = function(){ InlineXML(var1, uptrid, var3, 'above', uname); }
			var a1 = document.createElement('A');
				a1.href = "x_dictskt.php?catid=" + var1 + "&dirlineseq=" + uplineseq;
				a1.target = '_blank';
			var lb7 = document.createTextNode(" ");
			var img2 = document.createElement('IMG');
				img2.setAttribute('src', 'images/b_cognates.png');
				img2.setAttribute('alt', 'Cognates');
				img2.setAttribute('class', 'button');
			var img3 = document.createElement('IMG');
				img3.setAttribute('src', 'images/b_below.png');
				img3.setAttribute('alt', 'InsertBelow');
				img3.onclick = function(){ InlineXML(var1, uptrid, var3, 'below', uname); }
			var parentdiv = document.getElementById("text");
			if (var4 == "above" || var4 == "below") {
				if (var4 == "above") { parentdiv.insertBefore(div1, obj); }
				else { insertAfter(parentdiv, div1, obj); }
				div1.appendChild(p1);
				document.getElementById(hidemn).setAttribute("class", "hide");
				}
			else { obj.appendChild(p1); }
			p1.appendChild(span1);
			span1.appendChild(span2);
			if (uplineseq == 1) {
				span2.appendChild(img1);
				span2.appendChild(lb3);
				}
			span2.appendChild(lb4);
			span2.appendChild(a1);
			a1.appendChild(img2);
			span2.appendChild(lb7);
			span2.appendChild(img3);
			span2.appendChild(lb5);
			span1.appendChild(b1);
			b1.appendChild(lb1);
			p1.appendChild(lb6);
			p1.appendChild(span3);
			span3.innerHTML = upedition;
			document.getElementById("edstatus").innerHTML = "Off";
			busy.setAttribute("class", "notbusy");
			if (omisses != "f") {
				var rematch = "a_rematch.php?catid=" + upcatid + "&lineseq=" + uplineseq + "&om=" + omisses;
				window.location = rematch;
				}
			}
		}
	xmlhttp.send(null);
	}

function HideMenu(var1) {
	var objID = "menubar";
	var obj = document.getElementById(objID);
	window['menubar'] = obj.innerHTML;
	obj.innerHTML = "";
    var img1 = document.createElement('IMG');
	img1.setAttribute('src', 'images/' + var1 + '.png');
    img1.setAttribute("class", "menu");
	img1.setAttribute('height', '36px');
	img1.setAttribute('width', '12px');
	img1.setAttribute('alt', 'Menu');
    var img2 = document.createElement('IMG');
	img2.setAttribute('src', 'images/b_show.png');
	img2.setAttribute('alt', 'ShowMenu');
    img2.setAttribute("class", "menutoggle");
	img2.onclick = function(){ ShowMenu(); }
    var img3 = document.createElement('IMG');
	img3.setAttribute('src', 'images/toggle_shadow.png');
	img3.setAttribute('alt', 'Shadow');
	img3.setAttribute('height', '51px');
	img3.setAttribute('width', '24px');
    img3.setAttribute("class", "toggleshadow");
	obj.appendChild(img1);
	obj.appendChild(img3);
	obj.appendChild(img2);
	}
	
function ShowMenu() {
	var objID = "menubar";
	var obj = document.getElementById(objID);
	obj.innerHTML = "";
	obj.innerHTML = window['menubar'];
	}
	
function ShowOptions(var1) {
	var obj = document.getElementById(var1);
	obj.setAttribute("class", "");
	}

function HideOptions(var1) {
	var obj = document.getElementById(var1);
	obj.setAttribute("class", "hide");
	}
	
function updateFilter(sourceid) {
	if (sourceid == "selCorpus") {
		var sourceval = document.getElementById(sourceid).value;
		if (sourceval == "A") {
			document.getElementById("metaRow").setAttribute("class", "hide"); 
			document.getElementById("catidRow").setAttribute("class", "hide"); 
			}
		else {
			if (sourceval == "M") {
				document.getElementById("msCell1").setAttribute("class", ""); 
				document.getElementById("msCell2").setAttribute("class", ""); 
				document.getElementById("msCell3").setAttribute("class", ""); 
				document.getElementById("msCell4").setAttribute("class", ""); 
				}
			else {
				document.getElementById("msCell1").setAttribute("class", "hide"); 
				document.getElementById("msCell2").setAttribute("class", "hide"); 
				document.getElementById("msCell3").setAttribute("class", "hide"); 
				document.getElementById("msCell4").setAttribute("class", "hide"); 
				}
			document.getElementById("metaRow").setAttribute("class", ""); 
			document.getElementById("catidRow").setAttribute("class", ""); 

			var cMeta = new Array("ruler", "medium", "denomination");
			var dMeta = new Array("type", "ruler", "sender", "addressee", "plaintiff", "holder", "scribe", "places", "site", "ruin", "room");
			var iMeta = new Array("ruler", "subject", "findspot", "school", "type", "medium", "dynasty");
			var mMeta = new Array("collection", "findspot", "type", "medium");
			if (sourceval == "C") { var optMeta = cMeta; }
			if (sourceval == "D") { var optMeta = dMeta; }
			if (sourceval == "I") { var optMeta = iMeta; }
			if (sourceval == "M") { var optMeta = mMeta; }
			var sel = document.getElementById("selMeta");
			if ( sel.hasChildNodes() ) 	{
				while ( sel.childNodes.length >= 1 ) {
					sel.removeChild( sel.firstChild );       
					} 
				}
		    var opt  = document.createElement('OPTION');
		    opt.setAttribute("value", "A");
		    var lbl = document.createTextNode("Select . . .");
		    sel.appendChild(opt);
		    opt.appendChild(lbl);
			for (var i = 0; optMeta[i]; i++) {
			    var opt  = document.createElement('OPTION');
			    opt.setAttribute("value", optMeta[i]);
				var optVal = optMeta[i];
				optVal = optVal.substr(0, 1).toUpperCase() + optVal.substr(1);
			    var lbl = document.createTextNode(optVal);
			    sel.appendChild(opt);
			    opt.appendChild(lbl);
				}

		// RESET METADATA-OPTION VALUES
			var sel = document.getElementById("selOption");
			if ( sel.hasChildNodes() ) 	{
				while ( sel.childNodes.length >= 1 ) {
					sel.removeChild( sel.firstChild );       
					} 
			    var opt  = document.createElement('OPTION');
			    opt.setAttribute("value", "A");
			    var lbl = document.createTextNode(". . .");
			    sel.appendChild(opt);
			    opt.appendChild(lbl);
				}

		// GET CATIDs FOR CORPUS
			serverPage = "i_filterData.php?sourceid=" + sourceid + "&sourceval=" + sourceval;
			xmlhttp.open("GET", serverPage);
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
					xmlDoc = xmlhttp.responseXML;
					var sel = document.getElementById("selCatNum");
					if ( sel.hasChildNodes() ) 	{
						while ( sel.childNodes.length >= 1 ) {
							sel.removeChild( sel.firstChild );       
							} 
					    var opt  = document.createElement('OPTION');
					    opt.setAttribute("value", "A");
					    var lbl = document.createTextNode("All");
					    sel.appendChild(opt);
					    opt.appendChild(lbl);
						}
					for (var i = 0; xmlDoc.getElementsByTagName("id")[i]; i++) {
						var optionid = xmlDoc.getElementsByTagName("id")[i].childNodes[0].nodeValue;
						var optionval = xmlDoc.getElementsByTagName("val")[i].childNodes[0].nodeValue;
					    var opt  = document.createElement('OPTION');
					    opt.setAttribute("value", optionid);
					    var lbl = document.createTextNode(optionval);
					    sel.appendChild(opt);
					    opt.appendChild(lbl);
						}
					}
				}
			xmlhttp.send(null);
			}
		}
	if (sourceid == "selMeta") {
		var corpus = document.getElementById("selCorpus").value; // 
		var sourceval = document.getElementById(sourceid).value;
		serverPage = "i_filterData.php?sourceid=" + sourceid + "&sourceval=" + sourceval + "&corpus=" + corpus;
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				xmlDoc = xmlhttp.responseXML;
				var sel = document.getElementById("selOption");
				if ( sel.hasChildNodes() ) 	{
					while ( sel.childNodes.length >= 1 ) {
						sel.removeChild( sel.firstChild );       
						} 
				    var opt  = document.createElement('OPTION');
				    opt.setAttribute("value", "A");
				    var lbl = document.createTextNode("All");
				    sel.appendChild(opt);
				    opt.appendChild(lbl);
					}
				for (var i = 0; xmlDoc.getElementsByTagName("id")[i]; i++) {
					var optionid = xmlDoc.getElementsByTagName("id")[i].childNodes[0].nodeValue;
					var optionval = xmlDoc.getElementsByTagName("val")[i].childNodes[0].nodeValue;
				    var opt  = document.createElement('OPTION');
				    opt.setAttribute("value", optionid);
				    var lbl = document.createTextNode(optionval);
				    sel.appendChild(opt);
				    opt.appendChild(lbl);
					}
				}
			}
		xmlhttp.send(null);
		}
	if (sourceid == "selText") {
		// ADD CONTROL TO PRE-FILTER OTHER DETAILS WHEN TEXT SELECTED
		}
	if (sourceid == "selScribe") {
		// ADD CONTROL TO PRE-FILTER OTHER DETAILS WHEN SCRIBE SELECTED
		}
	if (sourceid == "selCatNum") {
		var sourceval = document.getElementById(sourceid).value;
		if (sourceval != "A") {
			serverPage = "i_filterData.php?sourceid=" + sourceid + "&sourceval=" + sourceval;
			xmlhttp.open("GET", serverPage);
			xmlhttp.onreadystatechange = function() {
				if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
					xmlDoc = xmlhttp.responseXML;
					var sel1 = document.getElementById("selFromLine");
					var sel2 = document.getElementById("selToLine");
					if ( sel1.hasChildNodes() ) 	{
						while ( sel1.childNodes.length >= 1 ) {
							sel1.removeChild( sel1.firstChild );       
							}
					    var opt  = document.createElement('OPTION');
					    opt.setAttribute("value", "A");
					    var lbl = document.createTextNode("Beginning");
					    sel1.appendChild(opt);
					    opt.appendChild(lbl);
						}
					if ( sel2.hasChildNodes() ) 	{
						while ( sel2.childNodes.length >= 1 ) {
							sel2.removeChild( sel2.firstChild );       
							}
						}
					for (var i = 0; xmlDoc.getElementsByTagName("id")[i]; i++) {
						var optionid = xmlDoc.getElementsByTagName("id")[i].childNodes[0].nodeValue;
						var optionval = xmlDoc.getElementsByTagName("val")[i].childNodes[0].nodeValue;
					    var opt1  = document.createElement('OPTION');
					    var opt2  = document.createElement('OPTION');
					    opt1.setAttribute("value", optionid);
					    opt2.setAttribute("value", optionid);
					    var lbl1 = document.createTextNode(optionval);
					    var lbl2 = document.createTextNode(optionval);
					    sel1.appendChild(opt1);
					    opt1.appendChild(lbl1);
					    sel2.appendChild(opt2);
					    opt2.appendChild(lbl2);
						}
				    var opt  = document.createElement('OPTION');
				    opt.setAttribute("value", "A");
				    opt.setAttribute("selected", true);
				    var lbl = document.createTextNode("End");
				    sel2.appendChild(opt);
				    opt.appendChild(lbl);
					}
				}
			xmlhttp.send(null);
			}
		}
	if (sourceid == "selFromLine") {
		var sourceval = document.getElementById("selCatNum").value;
		var fromLine = document.getElementById(sourceid).value;	
			if (fromLine != "A") {
				serverPage = "i_filterData.php?sourceid=" + sourceid + "&sourceval=" + sourceval + "&fromLine=" + fromLine;
				xmlhttp.open("GET", serverPage);
				xmlhttp.onreadystatechange = function() {
					if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
						xmlDoc = xmlhttp.responseXML;
						var sel2 = document.getElementById("selToLine");
						if ( sel2.hasChildNodes() ) 	{
							while ( sel2.childNodes.length >= 1 ) {
								sel2.removeChild( sel2.firstChild );       
								}
							}
						for (var i = 0; xmlDoc.getElementsByTagName("id")[i]; i++) {
							var optionid = xmlDoc.getElementsByTagName("id")[i].childNodes[0].nodeValue;
							var optionval = xmlDoc.getElementsByTagName("val")[i].childNodes[0].nodeValue;
							var opt2  = document.createElement('OPTION');
							opt2.setAttribute("value", optionid);
							var lbl1 = document.createTextNode(optionval);
							var lbl2 = document.createTextNode(optionval);
							sel2.appendChild(opt2);
							opt2.appendChild(lbl2);
							}
						var opt  = document.createElement('OPTION');
						opt.setAttribute("value", "A");
						var lbl = document.createTextNode("End");
						sel2.appendChild(opt);
						opt.appendChild(lbl);
						}
					}
				xmlhttp.send(null);
			}
		}
	}	
