
	document.onmousedown=mousePos;
		  
				 function scroll() 
				 {
					
					yposFields=document.getElementsByName('ypos'); 
				 	xposFields=document.getElementsByName('xpos'); 
				 	
					 for (var i=0; i<yposFields.length;i++) 
					 { 
					 	yposFields[i].value=window.pageYOffset; 
					 	xposFields[i].value=window.pageXOffset; 					  
					 } 
				 } 
	
	function mousePos(evt)
	{
		xs=document.getElementsByName('xmouse'); 
		ys=document.getElementsByName('ymouse'); 
		for (var i=0; i<xs.length;i++) 
		{ 
			if ((x=xs[i])!=null)
		 		x.value=evt.clientX;
			if ((y=ys[i])!=null)
		 		y.value=evt.clientY;
		
		}
	}

	 function addToForm(fieldstr, valuestr) 
	 { 
	 	valuearray=valuestr.split("|"); 
	 	for (i=2;i<valuearray.length;i++) 
	 	{ 	
	 		fieldid=fieldstr+'|input'+(i-2);
			 inputfield=document.getElementById(fieldid); 
			 //inputfield.setAttribute('value',valuearray[i]); 
			 inputfield.value=valuearray[i];
	 	} 	
	 	//Type auf old setzen
		typeField=document.getElementById(fieldstr+"|type");
		typeField.value='old';
		//Id setzen
		idField=document.getElementById(fieldstr+"|id");
		idField.value=valuearray[0];

	 } 
	  
				 var counter=0; 
				  
		

				
				
				// function addValue(id, text, field) 
				 function addValue(field, valuestr, type, multi) 
				 { 
					 if (multi==false)
					 {
					 	valuearray=valuestr.split('|'); 
					 	id=valuearray[0];
					 	myDivName=field+'|result'; 
					 	myDiv=document.getElementById(myDivName); 
						
						//Typ auslesen
					 	typeField=document.getElementById(field+'|type');
					 	type=typeField.value;
						
						//Nur einer darf angehängt werden
						while (myDiv.firstChild!=null)
						 	myDiv.removeChild(myDiv.firstChild);
					 	newDiv=document.createElement('div'); 
					  
					 	newDiv.setAttribute('class','searchresult_div'); 
/*
02.08.2005
Sonst wird das hiddenfield nicht mit gelöscht (weil nicht gefunden)
			 	newDiv.setAttribute('id',field+'|'+type+'|'+id); 
			 */
					 	newDiv.setAttribute('id',field+'|select'); 
					 	newMinus = document.createElement('img'); 
					 	newMinus.setAttribute('src','img/remove_14.gif'); 
					 	newMinus.setAttribute('width','14px'); 
					 	newMinus.setAttribute('onclick','remove(this.parentNode)'); 
					 	newMinus.setAttribute('title','klicken, um den Datensatz zu entfernen');
					 	newDiv.appendChild(newMinus); 
					 	newNode = document.createElement('div'); 
					 	newNode.setAttribute('class','searchresult_span');
					 	text=''; 
					 	for(i=2;i<valuearray.length;i++) 
					 	{ 
					 			if (valuearray[i]!='') 
					 		text+=valuearray[i]+', '; 
					 	} 
					 	text=text.substr(0,text.length-2); 
					 	newNode.appendChild(document.createTextNode(" "+text)); 
					 	newDiv.appendChild(newNode); 
					 	myDiv.appendChild(newDiv); 
					  
					 	myName=field+"|select";
					 	myHiddenField=document.getElementsByName(myName)[0];
					 	myHiddenField.value=valuestr;
					}
					else
					{
						valuearray=valuestr.split('|'); 
					 	id=valuearray[0];
					 	
					 	typeField=document.getElementById(field+'|type');
					 	type=typeField.value;
					 	
					 	//TODO: einmaliges Anhängen erweitern 
					 	//nur einmal anhängen \n 
					 	mySelect=document.getElementById(field+'|select'); 
					 	myOptions=mySelect.options;
					 	firstDelimiter=valuestr.indexOf("|");
					 	secondDelimiter=valuestr.indexOf("|", firstDelimiter+1);
					 	compareString=valuestr.substring(secondDelimiter, valuestr.length);
					 	already_in=false;
					 	for (i=0;i<myOptions.length;i++)
					 	{
					 		myVal=myOptions[i].value;
					 		curFirstDelimiter=myVal.indexOf("|");
						 	curSecondDelimiter=myVal.indexOf("|", curFirstDelimiter+1);
						 	curCompareString=myVal.substring(curSecondDelimiter, myVal.length);
	
						 	if (compareString==curCompareString)
						 	{
						 		already_in=true;
						 		alert("Wert wurde bereits hinzugefügt");
						 		break;
						 	}
					 	}
					 	
	 
	
					 	if(already_in==false) 
					 	{ 
					 	optiontext=''; 
						 	for(i=2;i<valuearray.length;i++) 
						 	{ 
						 			if (valuearray[i]!='') 
						 		optiontext+=valuearray[i]+', '; 
						 	} 
						 	optiontext=optiontext.substr(0,optiontext.length-2); 
							 len=mySelect.length;
							 for (i=0;i<len;i++)
							 {
								 mySelect.options[i].selected=false;
							 }
							 newOption = new Option(optiontext,valuestr); 
							 mySelect.options[len]=newOption; 
							 mySelect.options[len].selected=true;
						}
					}
						 	
 
				 } 
				  
				 function editValue(field, valuestr, node) 
				 { 
				 	addToForm(field, valuestr); 
				 	ok_button=document.getElementById(field+'|take'); 
				 	//ok_button.setAttribute('style','display:none'); 
				 	check_button=document.getElementById(field+'|check'); 
				 	//check_button.setAttribute('style','display:none'); 
				 	cancel_button=document.getElementById(field+'|cancel'); 
				 	//cancel_button.setAttribute('style','display:inline'); 
				 	edit_button=document.getElementById(field+'|edit'); 
				 	//edit_button.setAttribute('style','display:inline'); 
				 	remove(node); 
				 } 
				  
				  
				 function newValue(fieldstr, multi) 
				 { 
				 	valuestr=getValueStr(fieldstr);
				 	if (valuestr=="")
				 		alert("Bitte machen Sie erst eine Eingabe");
				 	else
				 	{
						if (multi==false)
							addValue( fieldstr, valuestr, 'new', false); 
						else
							addValue( fieldstr, valuestr, 'new', true); 
						clearSearchForm(fieldstr);
					} 
				 } 

				  
				 function getValueStr(fieldstr)
				 {
				 	typeField=document.getElementById(fieldstr+'|type');
					 	type=typeField.value;
					 	if (type=="old" || type=="edit")
					 	{
					 		myIdField=document.getElementById(fieldstr+'|id');
					 		id=myIdField.value;
					 	}
					 	else
					 	{
					 		id="n"+(counter++);
					 	}
					 	valuestr=id+'|'+type+'|'; 
					 	fieldcount=0;
					 	errorcount=0;
					 	while ((inputfield=document.getElementById(fieldstr+'|input'+fieldcount))!=null)
					 	{
						if (inputfield.value=="")
							errorcount++;
					 	valuestr+=inputfield.value+'|'; 
					 	fieldcount++;
					 	}
						if (errorcount==fieldcount)
						{
							return "";
						}
						else
						{
							//letsten | abschneiden
							valuestr=valuestr.substring(0,valuestr.length-1);
							return valuestr;
						}						
				 		
				 }
				  
				  
				 function addEditValue(field) 
				 { 
				 	valuestr=document.getElementById(field+'|id').value+'|'+document.getElementById(field+'|input0').value+'|'+ document.getElementById(field+'|input1').value+'|'+ document.getElementById(field+'|input2').value; 
				 	addValue(field, valuestr, 'edit'); 
				 	endSearchFormEdit(field); 
				 //	clearSearchForm(field); 
				 	 
				 } 
				  
				 function endSearchFormEdit(field) 
				 { 
				 	/*
				 	ok_button=document.getElementById(field+'|take'); 
				 	ok_button.setAttribute('style','display:inline'); 
				 	check_button=document.getElementById(field+'|check'); 
				 	check_button.setAttribute('style','display:inline'); 
				 	cancel_button=document.getElementById(field+'|cancel'); 
				 	cancel_button.setAttribute('style','display:none'); 
				 	edit_button=document.getElementById(field+'|edit'); 
				 	edit_button.setAttribute('style','display:none'); 
				 	*/
				 } 
				  
				 function clearSearchForm(fieldstr) 
				 { 
	 		
			 		fieldcount=0;
				 	while ((inputfield=document.getElementById(fieldstr+'|input'+fieldcount))!=null)
				 	{
				 		//inputfield.setAttribute('value',""); 
						inputfield.value=" ";
				 		fieldcount++;
				 	}
			 		
				 	fieldid=fieldstr+"|id";
				 	inputfield=document.getElementById(fieldid); 
			 		inputfield.setAttribute('value',''); 
			 		inputfield.value='';
					
					//Buttons inactive setzen
					/*
				 	fieldid=fieldstr+"|reset";
				 	resetButton=document.getElementById(fieldid); 
			 		resetButton.setAttribute('class','inactive'); 
				 	fieldid=fieldstr+"|take";
				 	okButton=document.getElementById(fieldid); 
			 		okButton.setAttribute('class','inactive'); 
			 		*/
				 } 
				  
			
				/*
				 * entfernt einen Div und das Hiddenfield aus einem Searchfield-
				 * Resultat
				 */
				 function remove(field) 
				 { 
				 	id=field.getAttribute('id'); 
				 	hiddenfield=document.getElementsByName(id)[0]; 
				 	removeDiv=field; 
				 	removeDiv.parentNode.removeChild(removeDiv); 
				 	if (hiddenfield!=null) 
				 		//hiddenfield.parentNode.removeChild(hiddenfield); 
				 		hiddenfield.value='';
				 			
				 } 
				  
				//Stellt eine Zahl ans Ende des Namens eines Searchfield-Results; 
				//wird im Moment nicht verwendet
				 function numberize(form) 
				 {	 
				 	var fieldcnt=0; 
				 	for (var i=0;i< form.elements.length;i++) 
				 	{ 
				 		field=form.elements[i]; 
				 		if  (field.name!=null && (( field.name.lastIndexOf('old')!=-1) 
				 		||(field.name.lastIndexOf('new')!=-1) 
				 		|| (field.name.lastIndexOf('edit')!=-1) ) ) 
				 		{ 
				 			field.setAttribute('name',field.getAttribute('name')+'|'+(fieldcnt++)); 
				 		} 
				 	} 
				 } 
				 
				 /**
				 *	Selektiert alle Felder der Selects im übergebenen Formular
				 */
				 function selectSelects(formstr)
				 {
					//alert(formstr);
				 	forms=document.getElementsByName(formstr);
				 	form=forms[0];
				 	for (var i=0;i<form.elements.length;i++)
				 	{
				 		elt=form.elements[i];
				 		if (elt.nodeName=="SELECT" && elt.getAttribute('info')=="select_me"  )
				 		{
				 			for (var j=0;j<elt.options.length;j++)
				 			{
				 				opt=elt.options[j];
				 				opt.selected='true';
				 			}
				 		}
				 	}
				 }
				 
				 /**
				 *	Verschiebt ein option-Feld in einem Select mit übergebenem Namen nach oben
				 */
				 function optionUp(fieldname)
				 {
					 field=document.getElementById(fieldname);
					 for (var i=1; i<field.options.length;i++)
				 	 {
				 		opt=field.options[i];
				 		if (opt.selected==true)
				 		{
				 			dummy=new Option("","");
				 			tmp=field.options[i-1];
				 			field.options[i-1]=dummy;
				 			field.options[i]=tmp;
				 			field.options[i-1]=opt;
				 		}
				 		
				 	 }
				 }
				 /**
				 *	Löscht ein option-Feld in einem Select 
				 */
				 
				 function optionDel(fieldname)
				 {
				 	field=document.getElementById(fieldname);
				 	//am Ende beginnen, um verschiebungen durch zuvor gelöschte Options zu vermeiden
				 	for (var i=field.options.length-1; i>=0;i--)
				 	{
				 		opt=field.options[i];
				 		if (opt.selected==true)
				 		{
				 			field.options[i]=null;
				 		}
				 		
				 	}
				 
				 }
				 /**
				 *	Verschiebt ein option-Feld in einem Select mit übergebenem Namen nach oben
				 */
				 function optionDown(fieldname)
				 {
				 	 field=document.getElementById(fieldname);
					 for (var i=field.options.length-2; i>=0;i--)
				 	 {
				 		opt=field.options[i];
				 		if (opt.selected==true)
				 		{
				 			dummy=new Option("","");
				 			tmp=field.options[i+1];
				 			field.options[i+1]=dummy;
				 			field.options[i]=tmp;
				 			field.options[i+1]=opt;
				 			
				 		}
				 		
				 	 }
				 }
				 
				 /**
				 *	Löscht ein option-Feld in einem Select 
				 */
				 
				 function optionEdit(fieldname, fieldstr)
				 {
				 	field=document.getElementById(fieldname);
				 	//am Ende beginnen, um verschiebungen durch zuvor gelöschte Options zu vermeiden
				 	for (var i=0; i<=field.options.length;i++)
				 	{
				 		opt=field.options[i];
				 		if (opt.selected==true)
				 		{
				 			addToForm(fieldstr, field.options[i].value);
				 			field.options[i]=null;
				 			break;
				 		}
				 		
				 	}
				 
				 }
				 
				 
				 
				 function submitAction(elementstr, action, focus)
				 {
				 	myActionField=document.getElementById(elementstr+"|action");
				 	myActionField.value=action;
				 	//Focus-Feld setzen
				 	myFocusFields=document.getElementsByName("focus");
				 	for (var i=0;i<myFocusFields.length;i++)
				 	{
				 		if (myFocusFields[i]!=null)
				 		myFocusFields[i].value=focus;
				 	}
				 	myForm=myActionField.form;
				 	scroll();
				 	selectSelects(myForm.id);
				 	myForm.submit();
				 }
				 
				 
				 function openCloseAllLE()
				 {
				 	var opencloseallplus=document.getElementsByName("opencloseall_plus");
				 	var opencloseallminus=document.getElementsByName("opencloseall_minus");
				 	
				 	var plus=document.getElementsByName("openclose_plus");
				 	var minus=document.getElementsByName("openclose_minus");
				 	var full=document.getElementsByName("openclose_full");
				 	var small=document.getElementsByName("openclose_small");
				 	
				 	if (opencloseallplus!=null)
				 		measure=opencloseallplus[0];
				 	
				 	if (measure!=null && measure.style.display=='inline')
				 	{
				 		for (var i=0;i<opencloseallplus.length;i++)
					 		opencloseallplus[i].style.display='none';
				 		if (opencloseallminus!=null)
				 			for (var i=0;i<opencloseallminus.length;i++)
					 			opencloseallminus[i].style.display='inline';
				 		if (plus!=null)
				 			for (var i=0;i<plus.length;i++)
				 				plus[i].style.display='none';
				 		if (minus!=null)
				 			for (var i=0;i<minus.length;i++)
				 				minus[i].style.display='inline';
				 		if (full!=null)
				 			for (var i=0;i<full.length;i++)
				 				full[i].style.display='inline';
				 		if (small!=null)
				 			for (var i=0;i<small.length;i++)
				 				small[i].style.display='none';
				 	}
				 	else if (measure!=null && measure.style.display=='none')
				 	{
					 	for (var i=0;i<opencloseallplus.length;i++)
					 		opencloseallplus[i].style.display='inline';
				 		if (opencloseallminus!=null)
				 			for (var i=0;i<opencloseallminus.length;i++)
					 			opencloseallminus[i].style.display='none';
				 		if (plus!=null)
				 			for (var i=0;i<plus.length;i++)
				 				plus[i].style.display='inline';
				 		if (minus!=null)
				 			for (var i=0;i<minus.length;i++)
				 				minus[i].style.display='none';
				 		if (full!=null)
				 			for (var i=0;i<full.length;i++)
				 				full[i].style.display='none';
				 		if (small!=null)
				 			for (var i=0;i<small.length;i++)
				 				small[i].style.display='inline';
				 	}
				 }
				 
				 function openCloseLE(key)
				 {
				 	var plus=document.getElementById(key+"_plus");
				 	var minus=document.getElementById(key+"_minus");
				 	var full=document.getElementById(key+"_full");
				 	var small=document.getElementById(key+"_small");
				 	
				 	if (plus!=null)
				 	{
				 		if (plus.style.display=="none")
				 		{
				 			plus.style.display="inline";
				 			if (minus!=null)
					 			minus.style.display="none";
				 		}
				 		else if (plus.style.display=="inline")
				 		{
				 			plus.style.display="none";
				 			if (minus!=null)
					 			minus.style.display="inline";
					 	}
				 	}
				 	if (full!=null)
				 	{
				 		if (full.style.display=="none")
				 		{
				 			full.style.display="inline";
				 			if (small!=null)
					 			small.style.display="none";
				 		}
				 		else if (full.style.display=="inline")
				 		{
				 			full.style.display="none";
				 			if (small!=null)
					 			small.style.display="inline";
				 		}
				 	}

				 }
				 
				 
				 function openClose(element)
				 {
				 	myDiv=document.getElementById(element+"|openclose");
				 	myHiddenField=document.getElementById(element+"|open");
				 	myRadio=document.getElementById(myHiddenField.form.name+"|openclose|custom");
				 	if (myRadio!=null)
				 		myRadio.checked=true;
				 	if (myDiv.style.display=='none')
				 	{
				 		myDiv.style.display='inline';
						myHiddenField.setAttribute('value','1');				 	
				 	}
				 	else
				 	{
				 		myDiv.style.display='none';
						myHiddenField.setAttribute('value','-1');				 	
				 	}
				 }
				 
				 /**
				 *	TODO: Funktioniert noch nicht
				 */
				 var global_display='none';
				 /**
				 *	@param type 'all' für alle oder 'req' für nur Pflichtfelder
				 */
				 function openFields(formstr, type)
				 {
				 	divs=document.getElementsByTagName("div");
				 	for (var i=0;i<divs.length;i++)
				 	{
				 		elt=divs[i];
				 		
				 		if (elt.getAttribute('info')=="openclose_me" && elt.getAttribute('form')==formstr)
				 		{
					 			myId=elt.getAttribute('id');
					 	infostr=myId.substring(0,myId.length-5);
					 	myInfoField=document.getElementById(infostr);
					 			if (type=="req" || type=="none")
					 			{
					 				elt.style.display='none';
						 			myInfoField.setAttribute('value','0');
						 		}
					 			else
					 			{
					 				elt.style.display='inline';
						 			myInfoField.setAttribute('value','1');
						 		}
					 		
				 		}
				 		else if (elt.getAttribute('info')=="req" && elt.getAttribute('form')==formstr)
				 		{
				 		myId=elt.getAttribute('id');
					 	infostr=myId.substring(0,myId.length-5);
					 	myInfoField=document.getElementById(infostr);
					 		if (type=="none")
					 		{
					 			myInfoField.setAttribute('value','0');
				 				elt.style.display='none';
					 		}
					 		
					 		else
					 		{
						 		myInfoField.setAttribute('value','1');
				 				elt.style.display='inline';
			 				}
				 		}

				 	}
				 }
				 
				 function valueChanged(fieldstr)
				 {
				 	mainInput=document.getElementById(fieldstr+"|input0");
				 	trimmed=trim(mainInput.value);
				 	if (trimmed!="")
				 	{
					 	mainInput.value=trimmed;
					 	//tpye auf new setzen
					 	typeField=document.getElementById(fieldstr+"|type");
					 	typeField.value='new';
					 	/*
					 	okButton=document.getElementById(fieldstr+"|take");
					 	okButton.setAttribute('class','active');
					 	resetButton=document.getElementById(fieldstr+"|reset");
					 	resetButton.setAttribute('class','active');
						okButton.removeChild(okButton.firstChild);
						okButton.appendChild(document.createTextNode('Neu anlegen'));
						*/
					}
				 }
				 
				 function trim(trimme)
				 {
				 	trimstr=trimme;
				 	output="vorher:\n*"+trimstr+"*\n";
				 	while ( trimstr.indexOf(" ")==0)
				 	{
				 		trimstr=trimstr.substring(1,trimstr.length);
				 	}
				 	while ( trimstr.indexOf(" ", trimstr.length-1)==trimstr.length-1 && trimstr.length>0)
				 	{
				 		trimstr=trimstr.substring(0,(trimstr.length-1));
				 	}
				 	output+="nachher:\n*"+trimstr+"*";
				 	return trimstr;
				 }
				 
				 function help(helpmsg)
				 {
				 //opera versteht beides
				 	alert("IE: "+window.event.offsetX);
				 	//alert(helpmsg.screenX);
				 }
				 
				 function helpDiv(elt)
				 {
				 	helpDiv=document.getElementById("helpdiv");
				 	if (helpDiv.style.display=='visible')

				 		helpDiv.style.display='none';
				 	else
				 		helpDiv.style.display='visible';
				 }
				 
				 
				 function liveDB(feld)
				 {
				 	//alert('Da');
				 	if (feld.value.length >= 0)
				 	 	helper=window.open('helper.php?term='+feld.value,"Helper","width:100,height=100");
				 }
				 
				 function appendResult(opt)
				 {
				 alert(opt.nodeType+"\n"+opt.nodeValue);
				 	select=document.getElementById(opt.name);
				 	select.options[select.options.length]=opt;
				 }
	
	
//Benötigt von edit_persinst
			 
function personToForm(theselect)
{
	theoption=null;
	if (theselect!=null)
	{
		for (i=0;i<theselect.length;i++)
		{
			if (theselect.options[i].selected==true)
			{
				theoption=theselect.options[i];
				break;
			}
		}
	}
	else
	{
		alert("SELECT = NULL");
	}
	
	person=theoption.value;
	parray=person.split('|');
	pid=document.getElementById('personid');
	pid.value=parray[0];
	last=document.getElementById('personlastname');
	last.value=parray[1];
	pre=document.getElementById('personprename');
	pre.value=parray[2];
	url=document.getElementById('personurl');
	url.value=parray[3];
	oldlast=document.getElementById('oldpersonlastname');
	oldlast.value=parray[1];
	oldpre=document.getElementById('oldpersonprename');
	oldpre.value=parray[2];
	oldurl=document.getElementById('oldpersonurl');
	oldurl.value=parray[3];
}

function instToForm(theselect)
{
	theoption=null;
	if (theselect!=null)
	{
		for (i=0;i<theselect.length;i++)
		{
			if (theselect.options[i].selected==true)
			{
				theoption=theselect.options[i];
				break;
			}
		}
	}
	else
	{
		alert("SELECT = NULL");
	}
	inst=theoption.value;
	iarray=inst.split('|');
	pid=document.getElementById('instid');
	pid.value=iarray[0];
	longn=document.getElementById('instlongname');
	longn.value=iarray[1];
	shortn=document.getElementById('instshortname');
	shortn.value=iarray[2];
	url=document.getElementById('insturl');
	url.value=iarray[3];
	oldlong=document.getElementById('oldinstlongname');
	oldlong.value=iarray[1];
	oldshort=document.getElementById('oldinstshortname');
	oldshort.value=iarray[2];
	oldurl=document.getElementById('oldinsturl');
	oldurl.value=iarray[3];
}


/*
function selectperson(searchfield)
{
	alert("hui");
	persselect=document.getElementById("personselect");
	searchterm=searchfield.value;
	//alert(searchterm);
	for (var i=0;i<persselect.options.length;i++)
	{
		optval=persselect.options[i].value;
		valarray=optval.split("|");
		lastname=valarray[1];
		//Vergleichswert
		cmpval=lastname.substr(0, searchterm.length).toLowerCase();
		searchval=searchterm.toLowerCase();
		if (lastname!="" && cmpval==searchval);
		{
			persselect.options[i].selected=true;
			//break;
		}
		if (i<10)
			alert(cmpval+" : "+searchval+" : "+optval+" : "+lastname);
	}
}


function selectinst(searchfield)
{
	instselect=document.getElementById("instselect");
	searchterm=searchfield.value;
	//alert(searchterm);
	for (var i=0;i<instselect.options.length;i++)
	{
		optval=instselect.options[i].value;
		valarray=optval.split("|");
		lastname=valarray[1];
		//Vergleichswert
		cmpval=lastname.substr(0, searchterm.length).toLowerCase();
		searchval=searchterm.toLowerCase();
		if (lastname!="" && cmpval==searchval);
		{
			persselect.options[i].selected=true;
			//break;
		}
		if (i<10)
			alert(cmpval+" : "+searchval+" : "+optval+" : "+lastname);
	}
}	



*/
