
onloadEvents=[];window.onload=function()
{var length;var a=document.getElementsByTagName('a');length=a.length;for(i=0;i<length;i++)
{if(a[i].className=='confirm')
{a[i].onclick=function()
{return confirm('Sicher?')};}}
length=onloadEvents.length;for(i=0;i<length;i++)
{onloadEvents[i]();}};function focusThis(htmlRef)
{document.getElementById(htmlRef).focus();}
NHO={appendNodes:function(parentNode,childNodes)
{var anzahl=childNodes.length;for(var i=0;i<anzahl;i++)
{parentNode.appendChild(childNodes[i]);}},removeChildNodes:function(node)
{var lastChild=node.childNodes.length-1;for(var i=lastChild;i>=0;i--)
{node.removeChild(node.childNodes[i]);}},searchParentNode:function(childNode,parentNodeName)
{var searchParent=childNode;parentNodeName=parentNodeName.toLowerCase();ret=null;while(searchParent.parentNode)
{if(searchParent.parentNode.nodeName.toLowerCase()==parentNodeName)
{ret=searchParent.parentNode;break;}
searchParent=searchParent.parentNode;}
return ret;},searchNextSiblingByNodeName:function(node,nextSiblingNodeName)
{var searchSibling=node;nextSiblingNodeName=nextSiblingNodeName.toLowerCase();ret=null;while(searchSibling.nextSibling)
{if(searchSibling.nextSibling.nodeName.toLowerCase()==nextSiblingNodeName)
{ret=searchSibling.nextSibling;break;}
searchSibling=searchSibling.nextSibling;}
return ret;},searchPreviousSiblingByNodeName:function(node,previousSiblingNodeName)
{var searchSibling=node;previousSiblingNodeName=previousSiblingNodeName.toLowerCase();ret=null;while(searchSibling.previousSibling)
{if(searchSibling.previousSibling.nodeName.toLowerCase()==previousSiblingNodeName)
{ret=searchSibling.previousSibling;break;}
searchSibling=searchSibling.previousSibling;}
return ret;}}
function CSAjax()
{var self=this;var ajaxBO;var lastAjaxRequest;var lastAjaxUrl;var lastAjaxQuery;if(window.XMLHttpRequest)
ajaxBO=new XMLHttpRequest();else
if(window.ActiveXObject)
{try
{ajaxBO=new ActiveXObject("Msxml2.XMLHTTP");}
catch(ex)
{try
{ajaxBO=new ActiveXObject("Microsoft.XMLHTTP");}
catch(ex){}}}
else
{alert("Nutzung mit diesem Medium nicht möglich!");return;}
function ajaxCallback(responseHandler)
{if(ajaxBO.readyState<4)
{return;}
else
{if(ajaxBO.status!=200)
{return}
else
{responseHandler();}}}
this.sendAjaxByGet=function(request,responseHandler,sync)
{var async=sync?false:true;setRequestParams(request);if(ajaxBO.readyState)
{ajaxBO.abort();}
ajaxBO.open("GET",request,async);if(async)
{ajaxBO.onreadystatechange=function(){ajaxCallback(responseHandler);};}
ajaxBO.send(null);if(!async){responseHandler();}}
function setRequestParams(request)
{var urlParams=request.split('?');lastAjaxRequest=request;lastAjaxUrl=urlParams[0];lastAjaxQuery=urlParams[1];}
this.getAjaxBO=function()
{return ajaxBO;};this.getLastAjaxRequest=function()
{return lastAjaxRequest;};this.getLastAjaxUrl=function()
{return lastAjaxUrl;};this.getLastAjaxQuery=function()
{return lastAjaxQuery;};}
function Autosuggestions(params)
{var query='';var onblur=false;var resultObject;var selectedIndex;var countSuggestions=0;var suggestions;var countLetters=2;var timer;var lastChars;var obligatorisch=['watch','suggestionsBox','file'];for(var i=0;i<obligatorisch.length;i++)
{if(!params[obligatorisch[i]])
{alert(obligatorisch[i]+' is not set!');return;}}
if(params.query&&params.query.length)
{query='&'+params.query;}
if(params.countLetters)
{countLetters=params.countLetters;}
var autosuggestions=new CSAjax();window.onclick=function()
{NHO.removeChildNodes(params.suggestionsBox);params.suggestionsBox.style.display='none';}
params.watch.setAttribute('autocomplete','off');params.watch.onkeyup=function(e)
{taste=e?e.which:event.keyCode;if(taste!=40&&taste!=38&&taste!=13)
{clearTimeout(timer);timer=setTimeout(sendRequest,200);}};function sendRequest()
{var chars=params.watch.value;if(chars==lastChars)
{return;}
lastChars=chars;if(chars.length<countLetters)
{NHO.removeChildNodes(params.suggestionsBox);params.suggestionsBox.style.display='none';return;}
var queryString='?'+query+'beginnWith='+chars;var request=params.file+queryString;autosuggestions.sendAjaxByGet(request,getSuggestions,1);}
function getSuggestions()
{selectedIndex=-1;var result=autosuggestions.getAjaxBO().responseText;if(!result)
{NHO.removeChildNodes(params.suggestionsBox);params.suggestionsBox.style.display='none';return;}
resultObject=eval('('+result+')');countSuggestions=resultObject.length;var entries=[];for(var i=0;i<countSuggestions;i++)
{var div=document.createElement('div');div.appendChild(document.createTextNode(resultObject[i].text));div.onclick=function()
{params.watch.value=this.firstChild.nodeValue;params.suggestionsBox.style.display='none';if(params.submitCallback)
{params.submitCallback(params.watch.value);}};div.onmousemove=function()
{for(var i=0;i<countSuggestions;i++)
{suggestions[i].className='';if(suggestions[i]==this)
{selectedIndex=i;}}
params.suggestionsBox.getElementsByTagName('div')[selectedIndex].className='selected';params.watch.value=this.firstChild.nodeValue;};params.watch.onkeydown=function(e)
{taste=e?e.which:event.keyCode;if(taste==40)
{selectedIndex++;if(selectedIndex>=countSuggestions)
{selectedIndex=0;}
for(var i=0;i<countSuggestions;i++)
{suggestions[i].className='';}
params.suggestionsBox.getElementsByTagName('div')[selectedIndex].className='selected';params.watch.value=suggestions[selectedIndex].firstChild.nodeValue;}
if(taste==38)
{selectedIndex--;if(selectedIndex<0)
{selectedIndex=countSuggestions-1;}
for(var i=0;i<countSuggestions;i++)
{suggestions[i].className='';}
params.suggestionsBox.getElementsByTagName('div')[selectedIndex].className='selected';params.watch.value=suggestions[selectedIndex].firstChild.nodeValue;}};entries.push(div);}
NHO.removeChildNodes(params.suggestionsBox);NHO.appendNodes(params.suggestionsBox,entries);suggestions=params.suggestionsBox.getElementsByTagName('div');params.suggestionsBox.style.display='block';}
this.getSelectedIndex=function()
{return selectedIndex;}
this.getSelectedObject=function()
{return resultObject[selectedIndex]&&resultObject[selectedIndex].text==params.watch.value?resultObject[selectedIndex]:null;}}
onloadEvents.push(wortsuche);function wortsuche()
{var params={};params.file='/ajax/autosuggest_woerter.php';params.watch=document.getElementById('wortsuche-input');params.suggestionsBox=document.getElementById('wortsuche-vorschlaege');params.countLetters=1;params.submitCallback=function()
{submitForm();}
params.watch.form.onsubmit=function()
{submitForm();}
submitForm=function()
{var inputText=suggest.getSelectedObject()!=null?suggest.getSelectedObject().url:params.watch.value;params.watch.form.submit();}
var suggest=new Autosuggestions(params);}
