/**
*	keywords.js
*
*	erstellt ein Dropdownmenü mit den vorhandenen Keywords
*/
var keyword_now="";
var keyword_timer=null;
var keyword_x=0
var keyword_y=0;
var keyword_range=null;
var keyword_element=null;
var keyword_spos=0;
var keyword_epos=0;

function keyword_delete(art) {
	if (document.getElementById("selectedGroup").value!="") {
		if (confirm("Möchten Sie das Schlagwort \""+document.getElementById("selectedTitel").value+"\" wirklich löschen?")==true) {
			xmlHttp=GetXmlHttpObject();
			if (xmlHttp==null) {
				alert ("Ihr Browser unterstützt AJAX nicht.");
				return;
				}
			xmlHttp.onreadystatechange=gruppenListeZeigen;
			xmlHttp.open("GET","index.php3?ACTION=keyword_delete&word="+document.getElementById("selectedGroup").value+"&art="+art+"&sid="+Math.random(),true);
			xmlHttp.send(null);
			document.getElementById("gruppenname").value="";
			document.getElementById("NeueGruppe").style.display="none";
			showgruppenmenue();
			}
		}
	else {
		alert("Bitte markieren Sie zuerst ein Schlagwort.");
		}
	}
function keywords_guess(evt,el) {
	keyword_element=el;
	keyword_x=evt.clientX;
	keyword_y=evt.clientY;
	clearTimeout(keyword_timer);
	keyword_timer=setTimeout("keyword_parse()",1000);
	}
function keyword_parse() {
	/**
	*	IE Parser
	*/
	if (document.all) {
		var range = document.selection.createRange();
		var fulltext=range.duplicate();
		fulltext.expand("word");
		if (document.forms["EDITFORM"].elements["STICHWORTE"].value!="") {
			while(range.text.charAt(0)!=","&&range.text.charAt(0)!=" "&&range.text.charAt(0)!="\n"&&range.parentElement().tagName=="TEXTAREA") {
				if(!range.compareEndPoints("StartToStart",fulltext)) {
					break;
					}
				if (range.parentElement().tagName=="TEXTAREA") {
					range.moveStart("character",-1);
					}
				}
			while(range.text.substr(range.text.length-1)!=","&&range.text.substr(range.text.length-1)!=" "&&range.parentElement().tagName=="TEXTAREA") {
				if(!range.compareEndPoints("EndToEnd", fulltext)) {
					break;
					}
				if (range.parentElement().tagName=="TEXTAREA") {
					range.moveEnd("character",1);
					}
				}
			}
		var rt=range.text.split("\n");
		rt=rt[rt.length-1];
		if (rt.charAt(0)==",") {
			range.moveStart("character",1);
			}
		if (rt.charAt(rt.length-1)==","&&rt.length>0&&rt!=",") {
			range.moveEnd("character",-1);
			}
		rt=rt.replace(/,/gi,"");
		keyword_range=range;
		}
	/**
	*	Firefox
	*/
	if (window.getSelection) {
		keyword_spos=keyword_element.selectionStart;
		keyword_epos=keyword_element.selectionStart;
		var strv=keyword_element.value;
		while(keyword_spos>0&&strv.charAt(keyword_spos)!=","&&strv.charAt(keyword_spos)!=" "&&strv.charAt(keyword_spos)!="\n") {
			keyword_spos--;
			}
		while(keyword_epos<strv.length&&strv.charAt(keyword_epos)!=","&&strv.charAt(keyword_epos)!=" "&&strv.charAt(keyword_epos)!="\n") {
			keyword_epos++;
			}
		var rt=strv.substr(keyword_spos,keyword_epos-keyword_spos);
		if (rt.charAt(0)==",") {
			keyword_spos++;
			}
		rt=rt.replace(/,/gi,"");
		}
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Ihr Browser unterstützt AJAX nicht.");
		return;
		}
	xmlHttp.onreadystatechange=keyword_suggest;
	xmlHttp.open("GET","index.php3?ACTION=keyword_suggest&keyword="+rt+"&sid="+Math.random(),true);
	xmlHttp.send(null);
	}
function keyword_replace(val) {
	if (window.getSelection) {
		keyword_element.value=keyword_element.value.substr(0,keyword_spos)+val+keyword_element.value.substring(keyword_epos,keyword_element.value.length);
		}
	if(document.all) {
		if (document.forms["EDITFORM"].elements["STICHWORTE"].value.indexOf(",")<0) {
			document.forms["EDITFORM"].elements["STICHWORTE"].value=val;
			}
		else {
			keyword_range.text=val;
			}
		}
	document.getElementById("keyword_suggestion").style.display="none";
	keyword_element.focus();
	}
function keyword_suggest() {
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
		var xtext=xmlHttp.responseText;
		if (!document.getElementById("keyword_suggestion")) {
			var v = document.createElement("DIV");
			v.innerHTML=xmlHttp.responseText;
			v.id="keyword_suggestion";
			v.onmouseleave=function() {
				document.getElementById("keyword_suggestion").style.display="none";
				}
			document.body.appendChild(v);
			}
		else {
			document.getElementById("keyword_suggestion").innerHTML=xtext;
			}
		if (xtext=="") {
			document.getElementById("keyword_suggestion").style.display="none";
			}
		else {
			document.getElementById("keyword_suggestion").style.display="block";
			document.getElementById("keyword_suggestion").style.top=keyword_y+5+"px";
			document.getElementById("keyword_suggestion").style.left=keyword_x+5+"px";
			}
		keyword_element.focus();
		}
	}
