var selectedGridTr="";
function rebuildDatatypeOpts(val,tgt)
{
	el = document.getElementById(tgt);
	el.options.length=null;
	var optArr = dataOptions[val];
	if (optArr)
	{
	var j=0;
	for (var i=0;i<optArr.length;i++)
	{
		if (optArr[i])
		{
		j++;
		}
	}
	el.options.length = j;
	var j=0;
	for (var i=0;i<optArr.length;i++)
	{
		if (optArr[i])
		{
		opt = new Option(optArr[i],i,false,false);
		el.options[j] = opt;
		j++;
		}
	}
	}
}
	function disableSubs(val,tgtval,preselect)
	{
		TargetID = "lp_data"+tgtval;
		el=document.getElementById(TargetID);
		el.options.length=null;
		val = parseInt(val);
		switch (val)
		{
		case 1: //input
			enableArr = new Array(1,2,3,4,5,6,8);
			break;
		case 2: //text
			enableArr = new Array();
			enableArr.push(7);
			break;
		case 3: //select
			enableArr = new Array(9,10);
			break;
		case 4: //multiple select
			enableArr = new Array(9,10);
			break;
		case 5: // radio
			enableArr = new Array(9,10);
			break;
		case 6: // checkbox
			enableArr = new Array(9,10);
			break;
		case 7: //static text
			break;
		case 8: //unassigned
			break;
		}
		el.options.length = enableArr.length;
		for (i=0;i<enableArr.length;i++)
		{
			opt = new Option(dataNames[enableArr[i]-1],i,false,false);
			el.options[i] = opt;
			var selIndex = -1;
			if (i==preselect)
			{
				selIndex = i;
			}
			if (selIndex == -1)
			{
				selIndex = 0;
			}
		}
		el.selectedIndex=selIndex;
	}
	
function checkMail(x)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x))
	 {
	return true;
	}
	else 
	{
	return false;
	}
}
function checkURL (x)
{
	var filter  = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
	if (filter.test(x))
	 {
	return true;
	}
	else 
	{
	return false;
	}
}
function hiliteTR(id)
{
if (selectedGridTr!="" && document.getElementById(selectedGridTr))
{
document.getElementById(selectedGridTr).setAttribute('style','background-color:#FFF');
}
selectedGridTr=id;
if (id=="") {return;}
document.getElementById(selectedGridTr).setAttribute('style','background-color:#FABD53');
}
function chkForm(formID)
{
	//alert ("chk");return false;
	if (chkForm.arguments.length==2) callObj=chkForm.arguments[1];
	else callObj=0;
	theForm=document.getElementById(formID);
	var groups = new Array();
	var errors = new Array();
	var j=0;
	var message="";
	for (var i = 0; i < theForm.length; i++)
	{
		var el=theForm.elements[i];
		if (el.name=="getScrollTop")
		{
		if (document.body.scrollTop) el.value=document.body.scrollTop;
		else el.value=window.pageYOffset;
		}
		if(el.type=="radio" || el.type=="select-multiple" || el.type=="select-one" || el.type=="checkbox" || el.type=="text" || el.type=="textarea"  || el.type=="password")
		{
			var theVal = trim(el.value);
			if (el.type=="password" && el.getAttribute('lp_type')!="passcontrol")
			{
				var passCompare = theVal;
			}
			if (el.type=="checkbox" || el.type=="radio")
			{
				theVal=Number(el.checked);
				if(theVal==0) theVal="";
				else theVal="1";
			}
			if (el.getAttribute('lp_grp'))
			{
				grpNr = Number(el.getAttribute('lp_grp'));
				
				if (groups.length<grpNr)
				{
					//alert (grpNr);
					groups[grpNr-1] = new Object();
					groups[grpNr-1]["members"]= new Array();
					groups[grpNr-1]["values"]= new Array();
				}
				groups[grpNr-1]["members"].push(el);
				groups[grpNr-1]["values"].push(theVal);
			}
			if (el.getAttribute('pflicht') && theVal=="")
			{
			
				errors[j]= new Object();
				errors[j]["element"]=el;
				
				if (el.getAttribute('message'))
					message = el.getAttribute('message');
				else
				{
					switch(el.type)
					{
					case "radio":
						message = "Bitte wählen Sie einen Wert aus!";
						break;
					case "select":
						message = "Bitte wählen Sie einen Wert aus!";
						break;
					case "checkbox":
						message = "Bitte kreuzen Sie das Feld an!";
						break;
					default:
						message = "Feld darf nicht leer sein!";
						break;
					}
				}
				errors[j]["message"]=message;
				j++;
			}
			else if (el.getAttribute('lp_type')=="email" && (el.getAttribute('pflicht') || theVal!="") && !checkMail(theVal))
			{
				errors[j]= new Object();
				errors[j]["element"]=el;
				errors[j]["message"]="Keine gültige Mailadresse!";
				j++;
			}
			else if (el.getAttribute('lp_type')=="url" && (el.getAttribute('pflicht') || theVal!="") && !checkURL(theVal))
			{
				errors[j]= new Object();
				errors[j]["element"]=el;
				errors[j]["message"]="Kein gültiger URL!";
				j++;
			}
			else if (el.getAttribute('minlength') && theVal.length < Number(el.getAttribute('minlength')))
			{
				errors[j]= new Object();
				errors[j]["element"]=el;
				errors[j]["message"]="Muss mindestens " + el.getAttribute('minlength') + " Zeichen lang sein!";
				j++;
			}
			if (el.getAttribute('lp_type')=="passcontrol" && theVal != passCompare)
			{
				errors[j]= new Object();
				errors[j]["element"]=el;
				errors[j]["message"]="Passworte stimmen nicht überein!";
				j++;
			}
		}
	}
	for (var i = 0; i < groups.length; i++)
	{
		//alert(groups[i]["values"][0];
		//alert(groups.length);
		var theGRP = groups[i];
		var checkGroup = 0;
		var groupType = theGRP["members"][0].type;
		var lp_groupType = theGRP["members"][0].getAttribute('lp_type');
		for (var k = 0; k < theGRP["members"].length; k++)
		{
			if (lp_groupType=="int")
			{
			if (theGRP["values"][k].length && Number(theGRP["values"][k])>0)
			{
				checkGroup = 1;
				break;
			}
			}
			else
			{
			if (theGRP["values"][k].length)
			{
				checkGroup = 1;
				break;
			}
			}
		}
		if (checkGroup==0)
		{
			errors[j]= new Object();
			errors[j]["element"]=theGRP["members"][0];
			
			if (groupType=="text") errors[j]["message"]="Mindestens ein Feld muss ausgefüllt werden!";
			else errors[j]["message"]="Mindestens eine Option muss ausgewählt sein!";
			j++;
		}
	}
	alertText = "";
	for (var i = 0; i < errors.length; i++)
	{
	if (errors[i]["element"].getAttribute('lp_name'))
		alertText = alertText + "Feld "+ errors[i]["element"].getAttribute('lp_name') + ": " + errors[i]["message"]+"\n";
	else
		alertText = alertText + "Feld "+ errors[i]["element"].name + ": " + errors[i]["message"]+"\n";
	}
	if (alertText!="")
	{
		alertText = "Folgende Fehler sind aufgetreten:\n" + alertText;
		alert (alertText);
		errors[0]["element"].focus();
		return false;
	}
	if (callObj==0)
	{
	//alert("zeroKama");
	theForm.submit();
	}
	else
	{
	//alert("wasn");
	if ((callObj.type)) return true; //ist button
	theForm.submit();
	}
}

function trim(sString,side)
{
	if (side!="right")
	{
		while (sString.substring(0,1) == ' ')
		{
			sString = sString.substring(1, sString.length);
		}
	}
	if (side!="left")
	{
		while (sString.substring(sString.length-1, sString.length) == ' ')
		{
			sString = sString.substring(0,sString.length-1);
		}
	}
	return sString;
}
	
function limitField(myfield, e, kind, addChars)
{	
	var dec = 0;
	var key;
	var keychar;
	var teststr;
	var fieldContent=myfield.value.toLowerCase();
	if(!addChars) addChars="";
	if (window.event)
	{
		e = window.event;
	   key = window.event.keyCode;
	   }
	else if (e)
	   key = e.which;
	else
	   return true;
	keychar = String.fromCharCode(key);
	
	switch (kind)
	{
	case "int":
		teststr = "0123456789";
		break;
	case "negint":
		teststr = "-0123456789";
		if ((fieldContent=="" || fieldContent=="-") && keychar=='0') return false;
		//if ((teststr).indexOf(0)==0) return false;
		//if ((teststr).indexOf(-)==0 &&(teststr).indexOf(0)==1) return false;
		break;
	case "posint":
		teststr = "0123456789";
		if (fieldContent=="" && keychar=="0") return false;
		break;
	case "posNullint":
		teststr = "0123456789";
		if (fieldContent=="0") return false;
		break;
	case "negNullint":
		teststr = "-0123456789";
		if (fieldContent=="0" || (fieldContent=="-" && keychar=="0")) return false;
		break;
	case "float":
		teststr = "0123456789";
		dec = 1;
		break;
	case "negfloat":
		teststr = "-0123456789";
		dec = 1;
		break;
	case "tel":
		teststr = "-0123456789+/ ";
		break;
	case "mail":
		teststr = "abcdefghijklmnopqrstuvwxyz_@.0123456789-";
		break;
	case "url":
		teststr = "abcdefghijklmnopqrstuvwxyz_@-.:0123456789/";
		break;
	case "name":
		teststr = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefghijklmnopqrstuvwxyzßäöü -";
		break;
	case "alpha":
		teststr = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefghijklmnopqrstuvwxyzßäöü "+addChars;
		break;
	case "ascii":
		teststr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_1234567890 ";
		break;
	case "database":
		teststr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_1234567890 ";
		if (fieldContent=="lp" && keychar=="_") return false;
		break;
	}
	// control keys
	//alert (key);
	if (e.ctrlKey) 
	{
	//alert (myfield.value);
	return true;
	}
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) )
	   return true;
	// allowed characters
	else if (((teststr).indexOf(keychar) > -1))
	{
	   return true;
	}
	// decimal point jump
	else if (dec && (keychar == "."))
   {
	   if (myfield.value.length) return true;
	   else myfield.value="0.";
	   return false;
	   /*myfield.form.elements[dec].focus();
	   return false;*/
   }
	else
	   return false;
}

function setDateFields(el,index)
{
	//sets non-Selections in DatetimeFlds
	var names = new Array("SEC","MIN","H","D","M","Y");
	var nam = el.name.substr(0,el.name.length-1);
	for (i=0;i<names.length;i++)
	{
		var target = document.getElementById(nam+names[i]);
		if (target && target!=el)
		{
		if(!index) target.selectedIndex=0;
		else if (target.selectedIndex==0 && isNaN(parseInt(target.options[0].value))) 
		{
			target.selectedIndex=1;
		}
		}
	}
}

function getDateArray(el)
{
	var names = new Array("H","MIN","SEC","M","D","Y");
	var nam = el.name.substr(0,el.name.length-1);
	if (el.getAttribute('lp_id')) var callerID = el.getAttribute('lp_id');
	else var callerID = el.getAttribute('Id');
	var dateArray=new Array(callerID);
	for (i=0;i<names.length;i++)
	{
		var target = document.getElementById(nam+names[i]);
		if(target) dateArray.push(target.value);
		else(dateArray.push(0));
	}	
	return dateArray;
}

function changeDays(el)
{
	
	var val = parseInt(el.value);
	var nam = el.name.substr(0,el.name.length-1);
//alert (nam);
	if (isNaN(val))
	{
		var gotcha = 0;
		var theEl = document.getElementsByName(el.name)[0];
		//alert (theEl.text+' '+nam);
		for (var i=0;i<document.forms.length;i++)
		{
		if (gotcha) break;
		for (var j=0;j<document.forms[i].elements.length;j++)
		{
		if (document.forms[i].elements[j].id == el.id)
		{
		val = parseInt(document.forms[i].elements[j].options[document.forms[i].elements[j].selectedIndex].text);
		gotcha=1;
		break;
		}
		}
		}
		//alert (theEl.eval());
		//alert ("Function changeDays val " +el.id + " " + nam);
		if (isNaN(val))
		{
		setDateFields(el,0)
		return true;
		}
	}
	
	setDateFields(el,1)
	var target = document.getElementById(nam+"D");
	//alert (target.options[0].value);
	if (target==el || el.name==nam+"H" || el.name==nam+"MIN" || el.name==nam+"SEC") return true;
	var newlength;
	if (target)
	{
		var selDay = parseInt(target.value);
		if (val>1000)
		{
			///year changed
			el.options.length=null;
			el.options.length=21;
			var j=0;
			for (i=val;i<val+21;i++)
			{
				opt = new Option((i-10),i-10,false,false);
				el.options[j]=opt;
				if (j==10) el.selectedIndex=j;
				j++;
			}
			var monEl = document.getElementById(nam+"M");
			if (monEl)
			{
				//alert (monEl);
				var mon = parseInt(monEl.value);
				if (mon==2)
				{
					// Feb
					newlength=28;
					if (val % 4 ==0)
					{
						newlength = 29;
					}
				}
				else return true;
			}
		}
		else
		{
			//month changed
			var yearEl = document.getElementById(nam+"Y");
			
			if (val==2 && yearEl)
			{
				var yr = parseInt(yearEl.value);
				if (yr % 4 ==0)
				{
					newlength = 29;
				}
				else
				{
					newlength = 28;
				}
			}
			else if (val<8)
			{
				if (val % 2 ==0)
				{
					newlength = 30;
				}
				else
				{
					newlength = 31;
				}
			}
			else
			{
				if (val % 2 ==0)
				{
					newlength = 31;
				}
				else
				{
					newlength = 30;
				}
			}
		}
		
		if (isNaN(parseInt(target.options[0].value)))
		{
			var AddLen=1;
			target.options.length=null;
			target.options.length=newlength+1;
			opt = new Option("---","",false,false);
			target.options[0]=opt;		
		}
		else
		{
			//alert ("dd"+selDay);
			var AddLen=0;
			target.options.length=null;
			target.options.length=newlength;
		}
		if (selDay>newlength) selDay=newlength;
		
		for (i=0;i<newlength;i++)
		{
			opt = new Option(i+1+" ",i+1,false,false);
			target.options[i+AddLen]=opt;
		}
		target.selectedIndex=selDay-1+AddLen;
		//alert (target.selectedIndex);
		target.text=selDay-1+AddLen;
	}
}

function openTAB(OID,TID,callingListID,caller)
{
callerID = "sel"+caller.ID;
TABWIN = window.open("womenu.php?pg=tab&OID="+OID+"&lng=<?=$lng?>&TID="+TID+"&LID="+callingListID+"&caller="+caller, "Tabelle", "width=700,height=800,resizable=yes,scrollbars=yes");
TABWIN.focus();
}

function makePflicht(callerEl)
{
	var callerName = callerEl.name;
	var callerID = callerEl.Id;
	var callerType = callerEl.type;
	var verpflichte = 1;
	switch (callerType)
	{
	case "checkbox":
		if (!callerEl.checked) verpflichte = 0;
		break; 
	default:
		return true;
	}
	for (i=1;i<makePflicht.arguments.length;i++)
	{
		if (verpflichte)
		{
			document.getElementById(makePflicht.arguments[i]).setAttribute("pflicht",1);
			if (document.getElementById("BEZ_"+makePflicht.arguments[i]))
			{
				document.getElementById("BEZ_"+makePflicht.arguments[i]).innerHTML = document.getElementById("BEZ_"+makePflicht.arguments[i]).innerHTML+" *";
			}
		}
		else
		{
			document.getElementById(makePflicht.arguments[i]).removeAttribute("pflicht");
			if (document.getElementById("BEZ_"+makePflicht.arguments[i]))
			{
				document.getElementById("BEZ_"+makePflicht.arguments[i]).innerHTML = document.getElementById("BEZ_"+makePflicht.arguments[i]).innerHTML.replace(" *","");
			}
		}
	}
}

function eliminateZeroSel(el)
{
	if (el.options[0].value=="")
	el.options[0]=null;
}
function createMapLabel (name,str,tel,mail,web)
{
	ret="<div style='font-size:10px;font-family:Verdana,Arial,Helvetica'>";
	if (name!="") ret += name+"<br />";
	if (str!="") ret += str+"<br />";
	if (tel!="") ret += tel+"<br />";
	if (mail!="") ret += "<a href='mailto:"+mail+"'>"+mail+"</a><br />";
	if (web!="") ret += "<a href='"+web+"' target='_blank'>"+web+"</a><br />";
	ret +="</div>";
	return ret;
}

function conglomerate(el,tgt,del)
{
var congl = conglomerate.arguments;
var out="";
var target = document.getElementById(tgt)
var tgt2="span_"+tgt;
for(var i=3;i<congl.length;i++)
{
out += del + document.getElementById(congl[i]).value;
}
out = trim(out);
target.value=out;
if (document.getElementById(tgt2)) 
{
document.getElementById(tgt2).innerHTML=out;
}
}

function deleteEntry(tbl,ID,OID,lng,listid,eid)
{
	hiliteTR("tr_"+tbl+"_"+ID);
	if (!confirm(unescape("Eintrag löschen?"))) {hiliteTR("");return false;}
	hiliteTR("");
	var URI = "simpleDelete.php?ID="+ID+"&tbl="+tbl+"&OID="+OID+"&lng="+lng+"&List_ID="+listid+"&EID="+eid;
	location.href=URI;

}
function createKurstermine(oid,lng,listid,eid,uid)
{
if (!confirm(unescape("Kurstermine generieren?"))) return false;
tag1 = getDateArray(document.getElementById('ersterKursTagY'));
tagX = getDateArray(document.getElementById('letzterKursTagY'));
tag1.shift();
tagX.shift();
tag1 = tag1.join("_");
tagX = tagX.join("_");
beginn = getDateArray(document.getElementById('KursbeginnzeitH'));
dauer = getDateArray(document.getElementById('KursdauerH'));
beginn.shift();
dauer.shift();
beginn = beginn.join("_");
dauer = dauer.join("_");
Trainer = document.getElementById('Trainer_1').value;
if(!Trainer || Trainer=='')
{
	alert ("Trainer 1 muss angegeben sein!")
	return false
}
var URI = "createKurstermine.php?OID="+oid+"&lng="+lng+"&List_ID="+listid+"&EID="+eid+"&tag1="+tag1+"&tagX="+tagX+"&beginn="+beginn+"&dauer="+dauer+"&Trainer="+Trainer+"&uid="+uid;
location.href=URI;
}

function showSelected(el)
{
var URI = window.location.href;
var val = parseInt(el.value);
URI = URI.replace(/a=\d{1,}/,"a=0");
var queryArr = URI.split("&");
var found=0;
for(var i=0;i<queryArr.length;i++)
{
	if (queryArr[i].indexOf(el.name)>-1)
	{
	var oldVal=queryArr[i].split("=")[1];
	if (val)
	URI = URI.replace(el.name+"="+oldVal,el.name+"="+val);
	else
	if(i) URI = URI.replace("&"+el.name+"="+oldVal,"");
	else URI = URI.replace(el.name+"="+oldVal,"");
	found=1;
	break;
	}
}
if (!found && val)
{
if (queryArr.length) URI+="&"+el.name+"="+val;
else if (!found) URI+="?"+el.name+"="+val;
} 
window.location.href=URI;

}
function inArray(val,arr)
{
for (var i=0;i<arr.length;i++) if (arr[i]==val) return i;
return -1;
}
function checkTablename(tablename)
{
if (inArray(tablename,existingTables)==-1) return 1;
return 0;
}
function checkFieldname(fieldname)
{
//alert (fieldname);
if (inArray(fieldname,existingFields)==-1) return 1;
return 0;
}



function webmail()  {

var email = document.atmail.email.value.split('@');

// email[0] contains user
// email[1] contain domain

//document.atmail.username.value = email[0];
//document.atmail.pop3host.value = email[1];
document.atmail.username.value = email[0];
popuph = 650;
popupw = 950;
heightX = (screen.height-popuph) / 2 - 20;
widthX = (screen.width-popupw) / 2;
winprobs = "width="+popupw+",height="+popuph+",scrollbars=yes,scrolling=yes,resizable=yes,left="+widthX+",top="+heightX;

window.open('about:blank','webmail',winprobs);

document.atmail.target = "webmail";
document.atmail.submit();

}

function webftp() {
popuph = 650;
popupw = 900;

heightX = (screen.height-popuph) / 2 - 20;
widthX = (screen.width-popupw) / 2;
winprobs = "width="+popupw+",height="+popuph+",scrollbars=yes,scrolling=yes,resizable=yes,left="+widthX+",top="+heightX;

window.open('about:blank','webftp',winprobs);

document.webftpx.target = "webftp";
document.webftpx.submit();
}


function listDeleteAlert(hasREF)
{
var alertText="Tabelle wirklich löschen?";
if(hasREF) alertText+="\nAuf diese Tabelle gibt es Verweise aus anderen Tabellen, diese werden ebenfalls entfernt!";
return confirm(alertText);
}

function fieldDeleteAlert(hasREF)
{
var alertText="";
if(hasREF && hasREF % 2 ==1) alertText+="\nAuf dieses Feld gibt es Verweise aus anderen Tabellen, diese müssen erst neu gesetzt werden!";
if(hasREF && hasREF >1)alertText+="\nNach diesem Feld wird in der Listenansicht sortiert, bitte die Sortierung erst entsprechend adaptieren!";
if (alertText!="") {alert(alertText); return false;}
alertText="Feld wirklich löschen?";
return confirm(alertText);
}

function kojak(caller,tgtid)
{
if (!caller.checked) document.getElementById(tgtid).disabled='disabled';
else document.getElementById(tgtid).disabled=false;
}

Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};
Array.prototype.removeItem = function(itemsToRemove) {
var j;
for (var i = 0; i < itemsToRemove.length; i++) {
j = 0;
while (j < this.length) {
if (this[j] == itemsToRemove[i]) {
this.splice(j, 1); return;
} else {
j++;
}
}
}
}

function applyFilter(el,LID,lng,withupdate)
{
	//remove filters
	for(var i=0;i<filter.length;i++)
	{
		if (filter[i].field==el.name)
		{
		filter[i].hidden=Array();
		filter[i].shown=Array();
		var pos=i;
		break;
		}
	}
	// end remove
	if(el.getAttribute('targettype')=="checkbox")
	{
		//alert ("CB");
		if (el.value!="0") 
		{
			if (el.value=='2') var check=true; else check=false;
			for (i=0;i<TRS.length;i++)
			{
				if(document.getElementById(el.name+"_"+TRS[i]).checked!=check) filter[pos].hidden.push(TRS[i]);
				else filter[pos].shown.push(TRS[i]);
			}
		}
	}
	else
	{
		var findSTR=el.value.toLowerCase();
		var artFLD=document.getElementById("sel_"+el.name);
		var theArtVal = artFLD.value;
		var addSTR="";
		var addSTR2="";
		if (trim(el.value)!="")
		{
			if (theArtVal!='0') addSTR="XX_";
			if (theArtVal=='3') addSTR2="_XX";
			findSTR= addSTR+findSTR+addSTR2+".";
			//alert(findSTR);
			for (i=0;i<TRS.length;i++)
			{
				if (!document.getElementById(el.name+"_"+TRS[i])){ var Ergebnis=1}
				else
				{
				var theSearchStr=addSTR+document.getElementById(el.name+"_"+TRS[i]).innerHTML.toLowerCase()+addSTR2;
				  //(alert(el.name+" "+findSTR+" "+theSearchStr);
				//alert(el.name+" "+findSTR+" "+findSTR==theSearchStr);
				if(findSTR==(theSearchStr+"."))var Ergebnis=1;
				else var Ergebnis=theSearchStr.search(findSTR);
				}
				//alert (theSearchStr+ Ergebnis);
				if (Ergebnis==-1)filter[pos].hidden.push(TRS[i]);
				else filter[pos].shown.push(TRS[i]);
				
			}
		}
		//else alert("empty");
	}
	if (suchrelation==1)// SEARCH MIT UND VERKNÜPFT
	{
		for(i=0;i<TRS.length;i++){document.getElementById("tr_"+TRS[i]).className=''; }
		for(i=0;i<filter.length;i++)
		{
			var hiddenFLDS = filter[i].hidden;
			for (var j=0;j<hiddenFLDS.length;j++)
			{
			var TR = document.getElementById("tr_"+hiddenFLDS[j]);
			if (TR) TR.className='hiddenTR';
			//else alert ("no such tr: "+j+hiddenFLDS[j]);
			}
			
		}
	}
	else// SEARCH MIT ODER VERKNÜPFT
	{
		for(i=0;i<TRS.length;i++){document.getElementById("tr_"+TRS[i]).className='hiddenTR'; }
		for(i=0;i<filter.length;i++)
		{
			var shownFLDS = filter[i].shown;
			for (var j=0;j<shownFLDS.length;j++)
			document.getElementById("tr_"+shownFLDS[j]).className='';
		}
		
	}
	//if (withupdate) setFilterSession(el.name,LID,lng,'','',filter[pos].hidden,filter[pos].shown,el.value);
}

function setSuchrelation(el,LID,lng){
	suchrelation=Number(el.value);
	activateFilterBTN(1);
	/*var nam=el.name;
	for(var i=0;i<filter.length;i++)
	{
		el = document.getElementById(filter[i].field);
		if (el) applyFilter(el,LID,lng,0);
	}*/
}
function setSuchart(el,LID,lng){
	var art = el.value;
	
}

function activateFilterBTN(val){
if(val) document.getElementById('filterBTN').className='asLink'; 
else document.getElementById('filterBTN').className=''; 
filterchanged=val;
}


