var selectedGridTr="";

	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;
		for (var k = 0; k < theGRP["members"].length; k++)
		{
			if (theGRP["values"][k].length)
			{
				checkGroup = 1;
				break;
			}
		}
		if (checkGroup==0)
		{
			errors[j]= new Object();
			errors[j]["element"]=theGRP["members"][0];
			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;
	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 "float":
		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;
	}
	// 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);

	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)
			{
				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 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 preview()
{
previewwin = window.open('','Preview','width=440,height=480,resizeable=no,scrollbars=no');
previewwin.focus();
}



