var selectedGridTr="";
var selectedUploadField=0;
var hilitedElement=0;

function hiliteCBTD(id)
{
if (hilitedElement!=0) document.getElementById(hilitedElement).style.background='#fff';
hilitedElement=id;
document.getElementById(hilitedElement).style.background='#A4F8CA';
}
function SetUrl(file)
{
	if (selectedUploadField && document.getElementById(selectedUploadField.id))
	{
	//alert ("setURL: "+selectedUploadField.id + " " + selectedUploadField.type);
	var dispFileName=unescape(file);
	document.getElementById(selectedUploadField.id).value=dispFileName;
	if (document.getElementById("store_"+selectedUploadField.id))
	{document.getElementById("store_"+selectedUploadField.id).value=dispFileName;}
	document.getElementById("display_"+selectedUploadField.id).innerHTML=dispFileName;
	var iconsAvailable = Array('ai','avi','bmp','cs','dll','doc','exe','fla','gif','htm','html','jpg','js','mdb','mp3','pdf','png','ppt','rdp','swf','swt','txt','vsd','xls','xml','zip');
var sExtension = file.substr( file.lastIndexOf('.') + 1 ).toLowerCase() ;
	switch (sExtension)// Get the file thumbnail in case of picture.
	{
	case ("gif"):
	case ("png"):
	case ("jpg"):
	case ("jpeg"):
	var pathParts = file.split("/");
	pathParts[pathParts.length-1] = "70x70/" + pathParts[pathParts.length-1];
	var thumbUrl = nakedRelativeRoot+pathParts.join("/");
	//alert (thumbUrl);
	document.getElementById("thumb_"+selectedUploadField.id).src=thumbUrl;
	break;
	default:
	if (inArray(sExtension,iconsAvailable)){ var thumbUrl = "img/icons/32/"+sExtension+".gif";}
	else { var thumbUrl = "img/icons/32/default.icon.gif";}
	document.getElementById("thumb_"+selectedUploadField.id).src=thumbUrl;
	}
	}
	if (selectedUploadField.type=="ajaxupdate")
	{
	updateTBL(document.getElementById(selectedUploadField.id),selectedUploadField.ctable,selectedUploadField.cid,selectedUploadField.coid);
	}
}
function tempDelete(caller,target)
{
if (caller.checked) {
document.getElementById(target).value="";
document.getElementById("thumb_"+target).className="transparent_class";
document.getElementById("display_"+target).style.color="#666";
}
else {
document.getElementById(target).value=document.getElementById("store_"+target).value;
document.getElementById("thumb_"+target).className="";
document.getElementById("display_"+target).style.color="#000";
}
}

function open_FCKfileBrowser(id,type,URI)
{
//alert (id);
selectedUploadField=new Object();
selectedUploadField.id=id;
if (document.getElementById(id) && document.getElementById(id).getAttribute("ctable"))
{
	selectedUploadField.ctable=document.getElementById(id).getAttribute("ctable");
	selectedUploadField.cid=document.getElementById(id).getAttribute("cid");
	selectedUploadField.coid=document.getElementById(id).getAttribute("coid");
}
selectedUploadField.type=type;
oWindow = window.open(URI, 'newwin', 'toolbar=no,resizable=yes,dependent=yes');
oWindow.focus();
}



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");
	//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="";
	if (lng && lng=="en") {var field="field"; var Field="Field"; var fields="fields"; var Fields="Fields";}
	else{var field="Feld"; var Field="Feld"; var fields="Felder"; var Fields="Felder";}
	for (var i = 0; i < theForm.length; i++)
	{
		var el=theForm.elements[i];
		if (el.name=="getScrollTop" || el.name=="scrollTop")
		{
		
		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=="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:
						if (lng && lng=="en") message="Field must be filled in!";
						else 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;
				if (lng && lng=="en")errors[j]["message"]="No valid email address!";
				else errors[j]["message"]="Keine gültige Mailadresse!";
				j++;
			}
			else if (el.getAttribute('lp_type')=="url" && (el.getAttribute('pflicht') || theVal!=""))
			{
				var URI_modified=0;
				if (theVal.indexOf("http")==-1)
				{
					theVal="http://"+theVal;
					URI_modified=1;
				}
				if (!checkURL(theVal))
				{
					errors[j]= new Object();
					errors[j]["element"]=el;
					errors[j]["message"]="Kein gültiger URL!";
					j++;
				}
				else if (URI_modified) el.value=theVal;
			}
			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" && el.getAttribute('lp_comparewith'))
			{
				if (document.getElementById(el.getAttribute('lp_comparewith')))
				{
				var compEl= document.getElementById(el.getAttribute('lp_comparewith'));
				var compareVal=compEl.value;
				if (compEl.getAttribute('lp_name')) {var compName=compEl.getAttribute('lp_name');}
				else {var compName=compEl.getAttribute('name');}
				}
				if (theVal!=compareVal)
				{
				errors[j]= new Object();
				errors[j]["element"]=el;
				if (el.getAttribute('message'))
					var message = el.getAttribute('message');
				else 
				{
				if (lng && lng=="en") var message = "value doesn't match "+ field + " '" + compName+"'!";
				else var message =  "Wert stimmt nicht mit " + field + " '" + compName + "' überein!";
				}
				errors[j]["message"]=message;
				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 +Field +" '"+ errors[i]["element"].getAttribute('lp_name') + "': " + errors[i]["message"]+"\n";
	else
		alertText = alertText +Field +" '"+ 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
	//alert (el.getAttribute('targettype'));
	if(el.getAttribute('targettype')=="checkbox")
	{
		
		if (el.value!="0") 
		{
			alert ("CB");
			if (el.value=='2') var check=true; else check=false;
			allEmpty=0;
			for (i=0;i<TRS.length;i++)
			{
				if (document.getElementById('inauswahl').checked==true && document.getElementById("tr_"+TRS[i]).className=='hiddenTR') filter[pos].hidden.push(TRS[i]);
				else if(document.getElementById(el.name+"_"+TRS[i]).checked==check || document.getElementById("tr_"+TRS[i]).getAttribute('sticky')=='1') filter[pos].shown.push(TRS[i]);
				else filter[pos].hidden.push(TRS[i]);
			}
		}
	}
	else if (el.getAttribute('targettype')=="multipleCB")
	{
		var cList=el.getAttribute('list');
		//alert ("LIST: "+cList);
		var ID_compound=el.id;
		//getValues
		for (var i=0;i<FilterCB_present.length;i++)
		{
			if (FilterCB_present[i]['key']=='LP_'+cList)
			{
				var CBs=FilterCB_present[i]['cbs'];break;
				
			}
		}
		var considerCBs = 0;
		for (var j=0;j<CBs.length;j++)
		{
			var CB_el = document.getElementById(CBs[j]);
			if (CB_el && CB_el.checked){considerCBs=1; break;}
		}
		if (considerCBs)
		{
			for (i=0;i<TRS.length;i++)
			{
				//if (filter[pos].hidden.length) alert ("length: "+filter[pos].hidden.length);
				
				if (document.getElementById('inauswahl').checked==true && document.getElementById("tr_"+TRS[i]).className=='hiddenTR') 
				{
				// SUCHE IN AUSWAHL, WAS UNSICHTBAR WAR, BLEIBT ES AUCH
				filter[pos].hidden.push(TRS[i]);
				}
				else if (document.getElementById("tr_"+TRS[i]).getAttribute('sticky')=='1')
				{
				// WAS BLEIBEN SOLL,BLEIBT
				filter[pos].shown.push(TRS[i]);
				}
				
				else
				{
					var cID=ID_compound+"_"+TRS[i];
					if (!document.getElementById(cID)) // kein eintrag der Gesamtliste hat diese CB markiert
					{
					filter[pos].hidden.push(TRS[i]);
					}
					else 
					{
					var presentVal = document.getElementById(cID).value;
					presentVal=presentVal.split("_");
					var hits= new Array();
					//alert ("searching");
					for (var j=0;j<CBs.length;j++)
					{
						var CB_el = document.getElementById(CBs[j]);
						//alert (CBs[j]);
						if (CB_el && CB_el.checked)
						{
							//alert ("isjaehda:TR"+TRS[i]);
							if (inArray(CB_el.value,presentVal)>=0)
							{
								hits.push(CB_el.value);
								allEmpty=0;
							}
						}
					}
					
					var rewriteVal=hits.join("_");
					//alert ("apply: "+el.id+":: "+rewriteVal+" "+hits);
					el.value=rewriteVal;
					if (hits.length==0) filter[pos].hidden.push(TRS[i]);
					else if (suchrelation==0)filter[pos].shown.push(TRS[i]);// SEARCH MIT ODER VERKNÜPFT
					else if (suchrelation==1 ) // SEARCH MIT UND VERKNÜPFT
					{
					//alert ("pushing: "+TRS[i]);
					filter[pos].shown.push(TRS[i]);
					}
					else {filter[pos].shown.push(TRS[i]); }
					//if (hits.length) alert (hits);
					}
				}
			}
		}
		// inArray
	}
	else
	{
		var findSTR=el.value.toLowerCase();
		//alert (el.value+" "+findSTR+" "+el.id);
		var artFLD=document.getElementById("sel_"+el.name);
		var theArtVal = artFLD.value; // 0=enthält | 1=beginnt mit | 2=ist gleich | 4=enthält nicht
		var addSTR="";
		var addSTR2="";
		if (trim(el.value)!="")
		{
			//alert ("FIELD");
			alerted=0;
			if (theArtVal!='0') addSTR="XX_";
			if (theArtVal=='3') addSTR2="_XX";
			findSTR= addSTR+findSTR+addSTR2+".";
			allEmpty=0;
			for (i=0;i<TRS.length;i++)
			{
				if (document.getElementById('inauswahl').checked==true && document.getElementById("tr_"+TRS[i]).className=='hiddenTR') filter[pos].hidden.push(TRS[i]);
				else if (document.getElementById("tr_"+TRS[i]).getAttribute('sticky')=='1') filter[pos].shown.push(TRS[i]);
				else
				{
				if (!document.getElementById(el.name+"_"+TRS[i])){ var Ergebnis=1}
				else
				{
				var theSearchStr=addSTR+document.getElementById(el.name+"_"+TRS[i]).innerHTML.toLowerCase()+addSTR2;
				if(findSTR==(theSearchStr+"."))var Ergebnis=1;
				else var Ergebnis=theSearchStr.search(findSTR);
				}
				
				if ((Ergebnis==-1 && theArtVal!='4')  || (Ergebnis!=-1 && theArtVal=='4')){
				//if (!alerted) {alert("AV: "+i + " "+TRS[i]);alerted=1;}
				filter[pos].hidden.push(TRS[i]); 
				}
				else filter[pos].shown.push(TRS[i]);
				}
			}
		}
		else 
		{
		//for (i=0;i<TRS.length;i++) filter[pos].shown.push(TRS[i]);
		}
	}
	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;
			//alert (hiddenFLDS);
			for (var j=0;j<hiddenFLDS.length;j++)
			{
			var TR = document.getElementById("tr_"+hiddenFLDS[j]);
			if (TR) TR.className='hiddenTR';
			}
			
		}
	}
	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++)
			{
			var TR = document.getElementById("tr_"+shownFLDS[j]);
			if (TR) TR.className='';
			//else alert("NOT EXISTING: tr_"+shownFLDS[j]);
			}
		}
		
	}
	if (document.getElementById('filtersaveBTN')){document.getElementById('filtersaveBTN').disabled=false;document.getElementById("filtersaveBTN").style.color='#000';}
}

function setSuchrelation(el,LID,lng){
	suchrelation=Number(el.value);
	activateFilterBTN(1);
}
function setSuchart(el,LID,lng){
	var art = el.value;
	
}

function activateFilterBTN(val){
	if (document.getElementById('filterBTN'))
	{
		if(val) document.getElementById('filterBTN').className='asLink'; 
		else document.getElementById('filterBTN').className=''; 
		filterchanged=val;
	}
	if (document.getElementById('removeFilterBTN'))
	{
		if(val) document.getElementById('removeFilterBTN').className=''; 
		else document.getElementById('removeFilterBTN').className='asLink'; 
		//else document.getElementById('filterBTN').className=''; 
		//filterchanged=val;
	}
}

function activateShownBTN(val){
	if (document.getElementById('shownBTN'))
	{
		if(val) document.getElementById('shownBTN').className='asLink'; 
		else document.getElementById('shownBTN').className='';
		shownchanged=val;
	}
	
}


function makeSticky(el,id,lng,lid)
{
	if(el.className=='klammer')
	{
	el.className='klammeractive';
	document.getElementById("tr_"+id).setAttribute('sticky',1);
	setStickySession(lng,lid,id,1);
	}
	else
	{
	el.className='klammer';
	document.getElementById("tr_"+id).removeAttribute('sticky');
	setStickySession(lng,lid,id,0);
	}
}

function toggleCBvisibility(el,id)
{
	if (document.getElementById(id))
	{
		if (document.getElementById(id).style.position=="relative")
		{
		//div verbergen
		document.getElementById(id).style.position="absolute";
		document.getElementById(id).style.left="-20000px";
		el.src='./img/plus.gif';
		}
		else
		{
		document.getElementById(id).style.position="relative";
		document.getElementById(id).style.left="0";
		el.src='./img/minus.gif';
		}
	}
}

function setsiblingCB(el,parentID)
{
	if (el.checked)
	{
		//alert ("check");
		if (parentID && document.getElementById(parentID)) 
		{
			document.getElementById(parentID).checked=true;
			if (document.getElementById(parentID).getAttribute('parent')) 
			{
				setsiblingCB(document.getElementById(parentID),document.getElementById(parentID).getAttribute('parent'))
			}
		}
		if (el.type=='radio') uncheckRadioSiblings(el.name);
	}
	else
	{
		if (el.getAttribute('children'))
		{
			var children=el.getAttribute('children');
			children=children.split(",");
			for (var i=0;i<children.length;i++)
			{
				if (document.getElementById(children[i])) 
				{
					document.getElementById(children[i]).checked=false;
					if (document.getElementById(children[i]).getAttribute('children'))
					{
						setsiblingCB(document.getElementById(children[i]),0);
					}
				}
			}
		}
	}
}

function uncheckRadioSiblings(elName)
{
	var btns=document.getElementsByName(elName);
	for(var i=0;i<btns.length;i++)
	{
	if(!btns[i].checked)
	{
	btns[i].checked=false;
	setsiblingCB(btns[i],0);
	}
	}
}
function getFriendlyFilename(string,LZ,EXT)
{
    var anArray = new Array(2);
	var index=0;
    anArray[0] = new Array(" ","Ö", "ö", "Ä", "ä", "Ü", "ü", "ß");
    anArray[1] = new Array(LZ, "Oe", "oe", "Ae", "ae", "Ue", "ue", "sz");
    for (var i=0; i<anArray[0].length; i++){
		myRegExp = new RegExp(anArray[0][i],"g");
		string = string.replace(myRegExp, anArray[(index==0?1:0)][i]);
	}
    return string.toLowerCase()+EXT;
}
	
function updateFilenameDisp(caller,id,LZ,EXT)
{
if (caller.value && caller.value!="")
{
var txt=getFriendlyFilename(caller.value,LZ,EXT);
}
else var txt=document.getElementById("store_"+id).value;
document.getElementById("shownpgname_"+id).innerHTML=txt;
}

function toggleListRightsDisplay(caller,id)
{
	toggleElDisplay(caller,"LISTS_"+id);
}

function toggleFieldRightsDisplay(caller,id)
{
	toggleElDisplay(caller,"FIELDS_"+id);
}

function toggleElDisplay(caller,id)
{
	if (caller.src.indexOf("/nono.gif")>0) return;
	if (document.getElementById(id).style.display=="none")
	{
	caller.src="./img/minus.gif";
	document.getElementById(id).style.display="block";
	}
	else
	{
	caller.src="./img/plus.gif";
	document.getElementById(id).style.display="none";
	}
}

function toggleTD(caller,id,lid,lng)
{
shownchanged=1;
setshownsession(lid,lng,0);
var theTDs = document.getElementsByName("td_"+id);
//alert (caller.checked);
if (caller.checked) var disp="";
else var disp="none";
for (var i=0;i<theTDs.length;i++)theTDs[i].style.display=disp;
}