/*  keywords.js  */

function kw_update(inp){
	var nms = inp.name.split(/\_/);
	if(nms[0] == "eng" || nms[0] == "heb"){
		LoadAjaxData("kw_ajax.php","&op=update&name=" + encodeURIComponent(inp.name) + "&value=" + encodeURIComponent(inp.value),setId)
		function setId(id){
			if(nms[1] == "NULL" && inp.value != ""){
				var nrow = inp.parentNode.parentNode.cloneNode(true);
				if(inp.name.substr(0,3) == "eng"){
					inp.name = "eng_" + id + "_ " + nms[2];
					inp.nextSibling.nextSibling.name = "heb_" + id + "_ "+ nms[2];
					inp.nextSibling.nextSibling.onfocus = function(){kw_draw_childs(inp,id);};
				}else if(inp.name.substr(0,3) == "heb"){ //heb
					inp.name = "heb_" + id + "_ " + nms[2];
					inp.previousSibling.previousSibling.name = "eng_" + id + "_ "+ nms[2];
					inp.previousSibling.previousSibling.onfocus = function(){kw_draw_childs(inp,id);};
				}
				inp.onfocus = function(){kw_draw_childs(inp,id);};
				var lvl = inp.parentNode.abbr.substr(inp.parentNode.abbr.split(/\_/)[1]);
				inp.parentNode.parentNode.parentNode.appendChild(nrow);
				nrow.firstChild.getElementsByTagName("INPUT")[0].value="";
				nrow.firstChild.getElementsByTagName("INPUT")[1].value="";
				gid('synENG').name = 'synENG_' + id + '_' + nms[2];
				gid('synHEB').name = 'synHEB_' + id + '_' + nms[2];
				gid('misENG').name = 'misENG_' + id + '_' + nms[2];
				gid('misHEB').name = 'misHEB_' + id + '_' + nms[2];
				nbut = document.createElement("INPUT");
				nbut.className = "kw_input button";
				nbut.value = "^";
				nbut.type = "button";
				nbut.onclick = function(){fill_hot_lits(id);};
				inp.parentNode.appendChild(nbut);
			}
		}
	}else if(nms[0] == "synENG" ||  nms[0] == "synHEB" || nms[0] == "misENG" || nms[0] == "misHEB" || nms[0] == "relENG" || nms[0] == "relHEB"){
		function void1(x){}
		LoadAjaxData("kw_ajax.php","&op=update&name=" + encodeURIComponent(inp.name) + "&value=" + encodeURIComponent(inp.innerHTML),void1);
	}else{
	}
}

function kw_draw_childs(td,id){
	// rename the textareas -- td is input now
	gid('synENG').name = 'synENG_' + id + '_'+td.name.split(/\_/)[2];
	gid('synHEB').name = 'synHEB_' + id + '_'+td.name.split(/\_/)[2];
	gid('misENG').name = 'misENG_' + id + '_'+td.name.split(/\_/)[2];
	gid('misHEB').name = 'misHEB_' + id + '_'+td.name.split(/\_/)[2];
	gid('relENG').name = 'relENG_' + id + '_'+td.name.split(/\_/)[2];
	gid('relHEB').name = 'relHEB_' + id + '_'+td.name.split(/\_/)[2];
	
	td = td.parentNode;
	
	// paint the current cell -- td is td now
	var tr = td.parentNode;
	var rows = tr.parentNode.rows;
	
	for(var t = 0; t < rows.length; t++){
		rows[t].className = rows[t].className.replace(/ selected/,'');
	}
	tr.className += ' selected';
	
	// clear the next lavels
	var lvl = parseInt(td.abbr.split(/\_/)[1]);
	var cont = gid('kw_tree');
	for(var t = cont.cells.length - 1; t > 0  ;t--){
		if(parseInt(cont.cells[t].firstChild.id.split(/\_/)[1]) > lvl){
			cont.deleteCell(t);
		}
	}
	
	//getting fresh data
	LoadAjaxData("kw_ajax.php","&op=childs&par=" + id + "&lvl=" + (parseInt(lvl) + 1),setRes);
	
	function setRes(res){
		res = res.split(/ALBATROSSDELIMITER/g);
		//open the next level
		ntd = gid('kw_tree').insertCell();
		
		//populating next level
		ntd.innerHTML = res[0];
		
		//populating syn / mis
		if(id != "-1"){
			gid('synENG').innerHTML = res[1];
			gid('synHEB').innerHTML = res[2];
			gid('misENG').innerHTML = res[3];
			gid('misHEB').innerHTML = res[4];
			gid('relENG').innerHTML = res[5];
			gid('relHEB').innerHTML = res[6];
		}else{
			gid('synENG').innerHTML = "";
			gid('synHEB').innerHTML = "";
			gid('misENG').innerHTML = "";
			gid('misHEB').innerHTML = "";
			gid('relENG').innerHTML = "";
			gid('relHEB').innerHTML = "";
		}
	}
}

function fill_hot_lits(id){
	LoadAjaxData("kw_ajax.php","&op=hot&id=" + id,setRes);
	function setRes(res){
		res = res.split(/ALBATROSSDELIMITER/g);	
		addKeywords(gid('hl_eng'),res[1] + res[7]);
		addKeywords(gid('hl_eng_s'),res[3]);
		addKeywords(gid('hl_eng_m'),res[5]);
		addKeywords(gid('hl_heb'),res[2] + res[8]);
		addKeywords(gid('hl_heb_s'),res[4]);
		addKeywords(gid('hl_heb_m'),res[6]);
	}
}
function get_search_res(exp){
	LoadAjaxData("kw_ajax.php","&op=search&term=" + encodeURIComponent(exp),setRes);
	function setRes(res){
		gid('kw_search').removeChild(gid('kw_reaults'));
		gid('kw_search').innerHTML += res;
	}
}
function clear_hl(){
	gid('hl_eng').innerHTML = "";
	gid('hl_eng_m').innerHTML = "";
	gid('hl_eng_s').innerHTML = "";
	gid('hl_heb').innerHTML = "";
	gid('hl_heb_m').innerHTML = "";
	gid('hl_heb_s').innerHTML = "";
}

function togKwPanel(what){
	var selects = document.getElementsByTagName("SELECT");
	var objects = document.getElementsByTagName("OBJECT");
	var ke = gid('KeywordsEditing');
	var keo = gid('KeywordsEditingOpen');
	switch(what){
		case 0:
			ke.style.display='none';keo.style.display='inline';
			for(var s = 0; s < selects.length; s++){
				selects[s].style.visibility = 'visible';
			}
			for(var o = 0; o < objects.length; o++){
				objects[o].style.visibility = 'visible';
			}
		break;
		case 1:
			for(var s = 0; s < selects.length; s++){
				selects[s].style.visibility = 'hidden';
			}
			for(var o = 0; o < objects.length; o++){
				objects[o].style.visibility = 'hidden';
			}
			ke.style.display='inline';keo.style.display='none';
		break;
	}

}




function debug(txt){
	gid('debug').innerHTML +="&nbsp;&nbsp;" + txt;

}
