var browserWin="";
var closeAtBlur = false;
var lastFocus = false;
var closeAfterPrint = false;
var doAutoPrint = true;

var formName = "data";
var prefixId;
var page;
var tabindex=0;
var prevCmd='LIST';
var prevView='LIST';
var module; 

var meetingId='';
var openEntries=0;
var requiredFields = Array();

	//function (processXAjaxFormData(){
		//processFormData(xajax.getFormValues(\'xajax_form\'))"' +
	//}			'


	function typoSetup	()	{	//
		this.passwordDummy = "********";
		this.decimalSign = ".";
	}
	var TS = new typoSetup();

var mEvalFunc; 

    /***************************************************************
*
*  Evaluation of Typo3 form field content
*
* $Id: jsfunc.evalfield.js,v 1.3 2004/04/14 09:12:40 typo3 Exp $
*
*
*
*  Copyright notice
*
*  (c) 1998-2003 Kasper Skaarhoj
*  All rights reserved
*
*  This script is part of the TYPO3 t3lib/ library provided by
*  Kasper Skaarhoj <kasper@typo3.com> together with TYPO3
*
*  Released under GNU/GPL (see license file in tslib/)
*
*  This script is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
*  This copyright notice MUST APPEAR in all copies of this script
***************************************************************/


function evalFunc()	{
	this.input = evalFunc_input;
	this.output = evalFunc_output;
	this.parseInt = evalFunc_parseInt;
	this.getNumChars = evalFunc_getNumChars;
	this.parseDouble = evalFunc_parseDouble;
	this.noSpace = evalFunc_noSpace;
	this.getSecs = evalFunc_getSecs;
	this.getYear = evalFunc_getYear;
	this.getTimeSecs = evalFunc_getTimeSecs;
	this.caseSwitch = evalFunc_caseSwitch;
	this.evalObjValue = evalFunc_evalObjValue;
	this.outputObjValue = evalFunc_outputObjValue;
	this.split = evalFunc_splitStr;
	this.pol = evalFunc_pol;

	this.ltrim = evalFunc_ltrim;
	this.btrim = evalFunc_btrim;
	var today = new Date();
 	this.lastYear = this.getYear(today);
 	this.lastDate = this.getSecs(today);
 	this.lastTime = this.getTimeSecs(today);
	this.isInString = '';
}
function evalFunc_pol(fortegn, value)	{
	return eval (((fortegn=="-")?'-':'')+value);
}
function evalFunc_evalObjValue(FObj,value)	{
	var evallist = FObj.evallist;
	this.isInString = (FObj.is_in) ? ''+FObj.is_in : '';
	var index=1;
	var theEvalType = (FObj.evallist) ? this.split(evallist, ",", index) : false;
	var newValue=value;
	while (theEvalType) {
		newValue = this.input(theEvalType, newValue);
		index++;
		theEvalType = this.split(evallist, ",", index);
	}
	return newValue;
}
function evalFunc_outputObjValue(FObj,value)	{
	var evallist = FObj.evallist;
	var index=1;
	var theEvalType = this.split(evallist, ",", index);
	var newValue=value;
	while (theEvalType) {
		newValue = this.output(theEvalType, value, FObj);
		index++;
		theEvalType = this.split(evallist, ",", index);
	}
	return newValue;
}
function evalFunc_caseSwitch(type,inVal)	{
	var theVal = ''+inVal;
	var newString = '';
	switch (type)	{
		case "alpha":
		case "num":
		case "alphanum":
		case "alphanum_x":
			for (var a=0;a<theVal.length;a++)	{
				var theChar = theVal.substr(a,1);
				var special = (theChar=='_'||theChar=='-');
				var alpha = (theChar>='a'&&theChar<='z') || (theChar>='A'&&theChar<='Z');
				var num = (theChar>='0' && theChar<='9');
				switch(type)	{
					case "alphanum":	special=0;		break;
					case "alpha":	num=0; special=0;		break;
					case "num":	alpha=0; special=0;		break;
				}
				if (alpha || num || theChar==' ' || special)	{
					newString+=theChar;
				}
			}
		break;
		case "is_in":
			if (this.isInString)	{
				for (var a=0;a<theVal.length;a++)	{
					var theChar = theVal.substr(a,1);
					if (this.isInString.indexOf(theChar)!=-1)	{
						newString+=theChar;
					}
				}
			} else {newString = theVal;}
		break;
		case "nospace":
			newString = this.noSpace(theVal);
		break;
		case "upper":
			newString = theVal.toUpperCase();
		break;
		case "lower":
			newString = theVal.toLowerCase();
		break;
		default:
			return inVal;
	}
	return newString;
}
function evalFunc_parseInt(value)	{
	var theVal = ''+value;
	if (!value)	return 0;
	for (var a=0;a<theVal.length;a++)	{
		if (theVal.substr(a,1)!='0')	{
			return parseInt(theVal.substr(a,theVal.length)) || 0;
		}
	}
	return 0;
}
function evalFunc_getNumChars(value)	{
	var theVal = ''+value;
	if (!value)	return 0;
	var outVal="";
	for (var a=0;a<theVal.length;a++)	{
		if (theVal.substr(a,1)==parseInt(theVal.substr(a,1)))	{
			outVal+=theVal.substr(a,1);
		}
	}
	return outVal;
}
function evalFunc_parseDouble(value)	{
	var theVal = ''+value;
	var dec=0;
	if (!value)	return 0;
	for (var a=theVal.length; a>0; a--)	{
		if (theVal.substr(a-1,1)=='.' || theVal.substr(a-1,1)==',')	{
			dec = theVal.substr(a);
			theVal = theVal.substr(0,a-1);
			break;
		}
	}
	dec = this.getNumChars(dec)+'00';
	theVal=this.parseInt(this.noSpace(theVal))+TS.decimalSign+dec.substr(0,2);

	return theVal;
}
function evalFunc_noSpace(value)	{
	var theVal = ''+value;
	var newString="";
	for (var a=0;a<theVal.length;a++)	{
		var theChar = theVal.substr(a,1);
		if (theChar!=' ')	{
			newString+=theChar;
		}
	}
	return newString;
}
function evalFunc_ltrim(value)	{
	var theVal = ''+value;
	if (!value)	return '';
	for (var a=0;a<theVal.length;a++)	{
		if (theVal.substr(a,1)!=' ')	{
			return theVal.substr(a,theVal.length);
		}
	}
	return '';
}
function evalFunc_btrim(value)	{
	var theVal = ''+value;
	if (!value)	return '';
	for (var a=theVal.length;a>0;a--)	{
		if (theVal.substr(a-1,1)!=' ')	{
			return theVal.substr(0,a);
		}
	}
	return '';
}
function evalFunc_splitSingle(value)	{
	var theVal = ''+value;
	this.values = new Array();
	this.pointer = 3;
	this.values[1]=theVal.substr(0,2);
	this.values[2]=theVal.substr(2,2);
	this.values[3]=theVal.substr(4,10);
}
function evalFunc_split(value)	{
	this.values = new Array();
	this.valPol = new Array();
	this.pointer = 0;
	var numberMode = 0;
	var theVal = "";
	value+=" ";
	for (var a=0;a<value.length;a++)	{
		var theChar = value.substr(a,1);
		if (theChar<"0" || theChar>"9")	{
			if (numberMode)	{
				this.pointer++;
				this.values[this.pointer]=theVal;
				theVal = "";
				numberMode=0;
			}
			if (theChar=="+" || theChar=="-")	{
				this.valPol[this.pointer+1] = theChar;
			}
		} else {
			theVal+=theChar;
			numberMode=1;
		}
	}
}
function evalFunc_input(type,inVal)	{
	//alert(inval+'-->'+type);	
	if (type=="md5") {
		return MD5(inVal);
	}
	if (type=="trim") {
		return this.ltrim(this.btrim(inVal));
	}
	if (type=="int") {
		return this.parseInt(inVal);
	}
	if (type=="double2") {
		return this.parseDouble(inVal);
	}

	var today = new Date()
	var add=0;
	var value = this.ltrim(inVal);
	var values = new evalFunc_split(value);
	var theCmd = value.substr(0,1);
	value = this.caseSwitch(type,value);
	if (value=="") {
		return "";
		return 0;	// Why would I ever return a zero??? (20/12/01)
	}
	switch (type)	{
		case "datetime":
			switch (theCmd)	{
				case "d":
				case "t":
				case "n":
					var theTime = new Date(this.getYear(today), today.getMonth(), today.getDate(), today.getHours(), today.getMinutes());
					this.lastDate = this.getSecs(theTime)
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				case "+":
				case "-":
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				default:
					var index = value.indexOf(' ');
					if (index!=-1)	{
						var theSecs = this.input("date",value.substr(index,value.length)) + this.input("time",value.substr(0,index));
						this.lastDate = theSecs;
					}
			}
			this.lastDate+=add*24*60*60;
			return this.lastDate;
		break;
		case "year":
			switch (theCmd)	{
				case "d":
				case "t":
				case "n":
					var theTime = today;
					this.lastYear = this.getYear(theTime);
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				case "+":
				case "-":
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				default:
					if (values.valPol[2])	{
						add = this.pol(values.valPol[2],this.parseInt(values.values[2]));
					}
					var year = (values.values[1])?this.parseInt(values.values[1]):this.getYear(today);
						if (  (year>=0&&year<38) || (year>=70&&year<100) || (year>=1970&&year<2038)	)	{
							if (year<100)	{
								year = (year<38) ? year+=2000 : year+=1900;
							}
						} else {year = this.getYear(today);}
					this.lastYear = year
			}
			this.lastYear+=add;
			return this.lastYear;
		break;
		case "date":
			switch (theCmd)	{
				case "d":
				case "t":
				case "n":
					var theTime = new Date(this.getYear(today), today.getMonth(), today.getDate());
					this.lastDate = this.getSecs(theTime);
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				case "+":
				case "-":
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				default:
					var index = 4;
					if (values.valPol[index])	{
						add = this.pol(values.valPol[index],this.parseInt(values.values[index]));
					}
					if (values.values[1] && values.values[1].length>2)	{
						if (values.valPol[2])	{
							add = this.pol(values.valPol[2],this.parseInt(values.values[2]));
						}
						var temp = values.values[1];
						values = new evalFunc_splitSingle(temp);
					}

					var year = (values.values[3])?this.parseInt(values.values[3]):this.getYear(today);
						if (  (year>=0&&year<38) || (year>=70&&year<100) || (year>=1970&&year<2038)	)	{
							if (year<100)	{
								year = (year<38) ? year+=2000 : year+=1900;
							}
						} else {year = this.getYear(today);}
					var month = (values.values[2])?this.parseInt(values.values[2]):today.getMonth()+1;
						if (month > 12)	{month=12;}
						if (month < 1)	{month=1;}
					var day = (values.values[1])?this.parseInt(values.values[1]):today.getDate();
						if (day > 31)	{day=31;}
						if (day < 1)	{day=1;}
					if (''+day+'-'+month+'-'+year == "1-1-1970")	{
						var theTime = new Date();  theTime.setTime(0);
					} else {
						var theTime = new Date(parseInt(year), parseInt(month)-1, parseInt(day));
					}
					this.lastDate = this.getSecs(theTime)
			}
			this.lastDate+=add*24*60*60;
			if (this.lastDate<0) {this.lastDate=0;}
			return this.lastDate;
		break;
		case "time":
		case "timesec":
			switch (theCmd)	{
				case "d":
				case "t":
				case "n":
					var theTime = new Date(this.getYear(today), today.getMonth(), today.getDate(), today.getHours(), today.getMinutes(), ((type=="timesec")?today.getSeconds():0));
					this.lastTime = this.getTimeSecs(theTime);
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				case "+":
				case "-":
					if (values.valPol[1])	{
						add = this.pol(values.valPol[1],this.parseInt(values.values[1]));
					}
				break;
				default:
					var index = (type=="timesec")?4:3;
					if (values.valPol[index])	{
						add = this.pol(values.valPol[index],this.parseInt(values.values[index]));
					}
					if (values.values[1] && values.values[1].length>2)	{
						if (values.valPol[2])	{
							add = this.pol(values.valPol[2],this.parseInt(values.values[2]));
						}
						var temp = values.values[1];
						values = new evalFunc_splitSingle(temp);
					}
					var sec = (values.values[3])?this.parseInt(values.values[3]):today.getSeconds();
						if (sec > 59)	{sec=59;}
					var min = (values.values[2])?this.parseInt(values.values[2]):today.getMinutes();
						if (min > 59)	{min=59;}
					var hour = (values.values[1])?this.parseInt(values.values[1]):today.getHours();
						if (hour > 23)	{hour=23;}
					var theTime = new Date(this.getYear(today), today.getMonth(), today.getDate(), hour, min, ((type=="timesec")?sec:0));
					this.lastTime = this.getTimeSecs(theTime)
			}
			this.lastTime+=add*60;
			if (this.lastTime<0) {this.lastTime+=24*60*60;}
			return this.lastTime;
		break;
		default:
			return value;
	}
}
function evalFunc_output(type,value,FObj)	{
	var theString = "";
	switch (type)	{
		case "date":
			if (!parseInt(value))	{return '';}
			var theTime = new Date();
			theTime.setTime(value*1000);
			theString = theTime.getDate()+'-'+(theTime.getMonth()+1)+'-'+this.getYear(theTime);
		break;
		case "datetime":
			if (!parseInt(value))	{return '';}
			var theTime = new Date();
			theTime.setTime(value*1000);
			theString = this.output("time",this.getTimeSecs(theTime))+' '+this.output("date",value);
		break;
		case "time":
		case "timesec":
			if (!parseInt(value))	{return '';}
			var theTime = new Date();
			theTime.setTime(value*1000);
			var h = Math.floor(value/3600);
			var m = Math.floor((value-h*3600)/60);
			var s = Math.floor(value-h*3600-m*60);
			theString = h+':'+((m<10)?'0':'')+m + ((type=="timesec")?':'+((s<10)?'0':'')+s:'');
		break;
		case "password":
			theString = (value)	? TS.passwordDummy : "";
		break;
		case "int":
			theString = (FObj.checkbox && value==FObj.checkboxValue)?'':value;
		break;
		default:
			theString = value;
	}
	return theString;
}
function evalFunc_getSecs(timeObj)	{
	return Math.round(timeObj.getTime()/1000);
}
function evalFunc_getYear(timeObj)	{
	return (timeObj.getYear()>200) ? timeObj.getYear() : (timeObj.getYear()+1900);
}
function evalFunc_getTimeSecs(timeObj)	{
	return timeObj.getHours()*60*60+timeObj.getMinutes()*60+timeObj.getSeconds();
}
function evalFunc_dummy (evallist,is_in,checkbox,checkboxValue) {
	this.evallist = evallist;
	this.is_in = is_in;
	this.checkboxValue = checkboxValue;
	this.checkbox = checkbox;
}
function evalFunc_splitStr(theStr1, delim, index) {
	var theStr = ''+theStr1;
	var lengthOfDelim = delim.length;
	sPos = -lengthOfDelim;
	if (index<1) {index=1;}
	for (a=1; a<index; a++)	{
		sPos = theStr.indexOf(delim, sPos+lengthOfDelim);
		if (sPos==-1)	{return null;}
	}
	ePos = theStr.indexOf(delim, sPos+lengthOfDelim);
	if(ePos == -1)	{ePos = theStr.length;}
	return (theStr.substring(sPos+lengthOfDelim,ePos));
}

mEvalFunc = new evalFunc();    



//var evalFunc=0;

function stopError() {
 return true;
}
window.onerror = stopError;


	function doButtonAction(cmd,page,uid,table,val,text,check){
		if(cmd=='SET'){
			 field = document.forms[formName].elements[prefixId+"[openerField]"].value; 
			 opener.document.forms[formName].elements[field].value = uid;
			
			 if(val && opener.document.forms[formName].elements[field].type=='hidden'){
			 	opener.document.forms[formName].elements[field+'_hr'].value = val;
				//if(opener.document.forms[formName].elements[field+'_hr'].onchange){
				// 	opener.document.forms[formName].elements[field+'_hr'].onchange(opener.document.forms[formName].elements[field+'_hr'].onchange);
				 //}
			 }	
			 if(opener.document.forms[formName].elements[field].onchange){
			 	opener.document.forms[formName].elements[field].onchange(opener.document.forms[formName].elements[field].onchange);
			 }
			 setTimeout("window.close()",3000);
			 return; 
		}
		else if(cmd=='CANCEL' ||cmd=='CLOSE' ){
			 window.close();
			 return; 
		} 	 	 
		if(cmd == "LASTCMD")
			cmd = prevCmd;
		if(check>0)
			check = confirm(text+' (ID='+uid+') ?');
		else 
			check = true;	
		if(check == true) {
			prevCmd = "&"+prefixId+"[prevCmd]="+prevCmd;
			prevView = "&"+prefixId+"[prevView]="+prevView;
			if(val)val = "&"+prefixId+"[val]="+val;
			if(table)table = "&"+prefixId+"[table]="+table;
			if(uid)
				uid = "&"+prefixId+"[uid]="+uid;
			if(cmd)
				cmd = "&"+prefixId+"[cmd]="+cmd;
			if(module)
				module = "&"+prefixId+"[module]="+module;
			else
				module = '';
			//alert(table+val+prevCmd+prevView+module);
			document.location = page+cmd+uid+table+val+prevCmd+prevView+module;
		}
	}

	function showWindow(page,title,jsOpen){
			browserWin = window.open(page,title,jsOpen);
			browserWin.focus();
	}

	function showBrowserWin(cmd,page,title,ext,field,uid,additionalParams,jsOpen){
			if(document.forms[formName].elements[field])
				val = document.forms[formName].elements[field].value;
			if(cmd=="DETAIL" && (val.length==0 || val=='0')){
				return false;			
			}	
			if(cmd)
				cmd = "&"+ext+"[cmd]="+cmd;
			if(val)
				val = "&"+ext+"[val]="+val;
			if(field)
				field = "&"+ext+"[openerField]="+field; 		
			if(uid)	
				uid = "&"+ext+"[uid]="+uid;
			module = "&"+ext+"[module]="+module; 		
			if(additionalParams)	
				additionalParams = "&"+additionalParams;
			popup = "&"+ext+"[popup]=1"; 		
		    var url = page+"?no_cache=0"+cmd+uid+val+popup+field+module+additionalParams;
			browserWin = window.open(url,title,jsOpen);
			browserWin.focus();
			return false;
	}

	function evalRequiredFields()
	{
			var requiredFields = Array();	
			requiredFields = getRequiredFields();	
			var result = "";				
			var error = 0;
			for(var i=0;i<requiredFields.length;++i){
				if(requiredFields[i]){
					var errorElem = document.getElementById("errCol"+i);
					if(errorElem){
						errorElem.removeChild(errorElem.firstChild); 
						errorElem.parentNode.removeChild(errorElem); 
					}
					result = document.forms[formName][requiredFields[i][0]].value;
					if(!result || result==0){
						var elem = document.getElementById(requiredFields[i][2]);
						var name;
						while(elem){					
							name = elem.nodeName;
							if(name=="TD"){
								if(!errorElem){
									errorElem = document.createElement("p");
									errorElem.setAttribute("id","errCol"+i);
									errorElem.setAttribute("className","fe_error");
									errorElem.setAttribute("class","fe_error");
									errorElem.style.color="red";
								}//else	
								errorElem.appendChild(document.createTextNode(requiredFields[i][1]));
								elem.insertBefore(errorElem,elem.firstChild);
								break;
							}	
							elem = elem.previousSibling;
						}	
						error = true;
					}
						//document.forms[formName][requiredFields[i][0]+"_hr"].value = requiredFields[i][1];
				}
			}	
			if(error){
				alert('Ben�tigte, aber nicht ausgef�llte Felder sind mit einem roten Hinweis markiert!');	
			}	
			return error; 
		
	}


	function feSubmitCmd(cmd)
	{
		if(cmd == 'CLEAR'){
			for(cnt = 0; cnt < document.forms[formName].elements.length ; cnt++)	{
				if(document.forms[formName][cnt].type=='text'){
					document.forms[formName][cnt].value='';
					if(document.forms[formName][cnt].type=='text'){
						var str = document.forms[formName][cnt].name;
						document.forms[formName].elements[str.substring(0,str.length-3)].value='';
					}	
				}	
				else if(document.forms[formName][cnt].type=='select-one'){
					//alert(document.forms[formName][cnt].value+ "--->" +document.forms[formName][cnt].options[0].value);
				    document.forms[formName][cnt].value=document.forms[formName][cnt].options[0].value;
					if(document.forms[formName].elements[document.forms[formName][cnt].name + "_selIconVal"]){
					   document.forms[formName].elements[document.forms[formName][cnt].name + "_selIconVal"].value='0';
					   document.forms[formName][cnt].value=document.forms[formName][cnt].options[0].value;
					}   
				}	
				
			}	
			return true;
		}
		//	document.forms[formName].action = decodeURI(document.forms[formName].elements[prefixId+"[retp]"].value);
		//}	
		if(cmd == 'SAVE' || cmd == 'SAVE_CLOSE'){
			error = evalRequiredFields();
			if(error){
				return false;
			}	
		}	//
					//if(requiredFields && cmd != 'BACK'){
			//alert('Bitte f�llen sie folgende Felder aus: '+'\n\n'+requiredFields+'\n\n ohne diese Angaben kann ihre Anfrage\n nicht bearbeitet werden'  );
			//document.forms[formName].elements[prefixId+"[cmd]"].focus();
		//}			
		document.forms[formName].elements[prefixId+"[cmd]"].value=cmd;
		if(document.forms[formName].elements[prefixId+"[tab]"] && tabindex!=0)
			document.forms[formName].elements[prefixId+"[tab]"].value=tabindex;
		if(document.forms[formName].elements[prefixId+"[val]"])
			document.forms[formName].elements[prefixId+"[val]"].value='-1';
		if(document.forms[formName].elements[prefixId+"[prevCmd]"])
			document.forms[formName].elements[prefixId+"[prevCmd]"].value=prevCmd;
		if(document.forms[formName].elements[prefixId+"[prevView]"])
			document.forms[formName].elements[prefixId+"[prevView]"].value=prevView;
		if(document.forms[formName].elements[prefixId+"[module]"] && module)
			document.forms[formName].elements[prefixId+"[module]"].value=module;
		return true;	
		//document.forms[formName].submit();
	}



	function feUpdateForm(cmd,table,uid,field,val)
	{
		//document.forms[formName].elements[prefixId+"[field]"].value= field;
		document.forms[formName].elements[prefixId+"[table]"].value=table;
		if(document.forms[formName][val].value)
			document.forms[formName].elements[prefixId+"[val]"].value=document.forms[formName][val].value;
		document.forms[formName].elements[prefixId+"[field]"].value=val;
		document.forms[formName].elements[prefixId+"[cmd]"].value=cmd;
		document.forms[formName].elements[prefixId+"[uid]"].value=uid;
		document.forms[formName].elements[prefixId+"[tab]"].value=tabindex;
		document.forms[formName].elements[prefixId+"[prevCmd]"].value=prevCmd;
		document.forms[formName].elements[prefixId+"[prevView]"].value=prevView;
		if(document.forms[formName].elements[prefixId+"[module]"])
			document.forms[formName].elements[prefixId+"[module]"].value=module;
		document.forms[formName].submit();
	}

	function feSetOrderBy(order_by,sorder)
	{
		document.forms[formName].elements[prefixId+"[order_by]"].value=order_by;
		document.forms[formName].elements[prefixId+"[sorder]"].value=sorder;
	}
	
	function feSubmitForm(cmd,uid,val)
	{
		/*var	DTM_index;
		if(cmd=='delete'){
			if(confirm('".$this->pi_getLL('confirmDeletion')."') == false)
				return false;
		}*/
		document.forms[formName].elements[prefixId+"[tab]"].value=tab;
		document.forms[formName].elements[prefixId+"[val]"].value=val;
		document.forms[formName].elements[+prefixId+"[cmd]"].value=cmd;
		document.forms[formName].elements[prefixId+"[uid]"].value=uid;
		document.forms[formName].elements[prefixId+"[prevView]"].value=prevView;
		//document.forms[formName].submit();
	}



	var checkAll = true;
	function deActivateAll (theField) {
	  //alert('Bitte w�hlen Sie mindestens eine E-Mail zum L�schen aus.');
	  var i;
	  if ( document.forms[formName][theField].length )
	    for (i = 0; i < document.forms[formName][theField].length; i++)
	      document.forms[formName][theField][i].checked = checkAll
	  else
	    document.forms[formName][theField].checked = checkAll
	  checkAll = (checkAll) ? false : true
	}

	function feFormFieldGet(theField, evallist, is_in, checkbox, checkboxValue, checkbox_off, checkSetValue)	{	//
		if (document.forms[formName][theField])	{
			var theFObj = new evalFunc_dummy (evallist,is_in, checkbox, checkboxValue);
			if (checkbox_off)	{
				if (document.forms[formName][theField+"_cb"].checked)	{
					document.forms[formName][theField].value=checkSetValue;
				} else {
					document.forms[formName][theField].value=checkboxValue;
				}
			}else{
				var evalFuncs = new evalFunc();    
				document.forms[formName][theField].value = evalFuncs.evalObjValue(theFObj, document.forms[formName][theField+"_hr"].value);
			}
			feFormFieldSet(theField, evallist, is_in, checkbox, checkboxValue);
		}
		
	}

	function feFormFieldSet(theField, evallist, is_in, checkbox, checkboxValue)	{	//
		if(document.forms[formName][theField]){
			var theFObj = new evalFunc_dummy (evallist,is_in, checkbox, checkboxValue);
			var theValue = document.forms[formName][theField].value;
			if (checkbox && (theValue==checkboxValue)){
				document.forms[formName][theField+"_hr"].value="";
				if (document.forms[formName][theField+"_cb"])	document.forms[formName][theField+"_cb"].checked = "";
			} else {
				//if()
				var evalFuncs = new evalFunc();    
 				document.forms[formName][theField+"_hr"].value = evalFuncs.outputObjValue(theFObj, theValue);
				if (document.forms[formName][theField+"_cb"])	document.forms[formName][theField+"_cb"].checked = "on";
			}
		}	

	}


	function TBE_EDITOR_fieldChanged(table,uid,field,el)	{	//
		var theField = "'.$this->prependFormFieldNames.'["+table+"]["+uid+"]["+field+"]";
		//TBE_EDITOR_isChanged = 1;

		//TBE_EDITOR_setOriginalFormFieldValue(theField);
	}

	function TBE_EDITOR_curSelected(theField)	{	//
		var fObjSel = document.forms[formName][theField];
		var retVal="";
		if (fObjSel)	{
			if (fObjSel.type=="select-multiple" || fObjSel.type=="select-one")	{
				var l=fObjSel.length;
				for (a=0;a<l;a++)	{
					if (fObjSel.options[a].selected==1)	{
						retVal+=fObjSel.options[a].value+",";
					}
				}
			}
		}
		return retVal;
	}

	function TBE_EDITOR_rawurlencode(str,maxlen)	{	
		var output = str;
		if (maxlen)	output = output.substr(0,200);
		output = escape(output);
		output = TBE_EDITOR_str_replace("*","%2A", output);
		output = TBE_EDITOR_str_replace("+","%2B", output);
		output = TBE_EDITOR_str_replace("/","%2F", output);
		output = TBE_EDITOR_str_replace("@","%40", output);
		return output;
	}

	function TBE_EDITOR_str_replace(match,replace,string)	{	//
		var input = ""+string;
		var matchStr = ""+match;
		if (!matchStr)	{return string;}
		var output = "";
		var pointer=0;
		var pos = input.indexOf(matchStr);
		while (pos!=-1)	{
			output+=""+input.substr(pointer, pos-pointer)+replace;
			pointer=pos+matchStr.length;
			pos = input.indexOf(match,pos+1);
		}
		output+=""+input.substr(pointer);
		return output;
	}	

	var browserWin="";

	function setFormValueOpenBrowser(mode,params) {	//
		var url = "typo3conf/ext/jw_library/browser/browser.php?mode="+mode+"&bparams="+params;
		//var url = "typo3conf/ext/sg_zfelib/browser/browser.php?mode="+mode+"&bparams="+params;

		browserWin = window.open(url,"Typo3WinBrowser","height=350,width="+(mode=="db"?650:600)+",status=0,menubar=0,resizable=1,scrollbars=1");
		browserWin.focus();
	}

	function setFormValueFromBrowseWin(fName,value,label)	{	//
		var formObj = setFormValue_getFObj(fName);
		if (formObj && value!="--div--")	{
			fObj = formObj[fName+"_list"];
				// Inserting element
			var l=fObj.length;
			var setOK=1;
			if (!formObj[fName+"_mul"] || formObj[fName+"_mul"].value==0)	{
				for (a=0;a<l;a++)	{
					if (fObj.options[a].value==value)	{
						setOK=0;
					}
				}
			}
			if (setOK)	{
				fObj.length++;
				fObj.options[l].value=value;
				fObj.options[l].text=unescape(label);

					// Traversing list and set the hidden-field
				setHiddenFromList(fObj,formObj[fName]);
				//'.$this->TBE_EDITOR_fieldChanged_func.'
			}
		}
	}
			
	function setHiddenFromList(fObjSel,fObjHid)	{	//
		l=fObjSel.length;
		fObjHid.value="";
		for (a=0;a<l;a++)	{
			fObjHid.value+=fObjSel.options[a].value+",";
		}
	}

	function setFormValueManipulate(fName,type)	{	//
		var formObj = setFormValue_getFObj(fName)
		if (formObj)	{
			var localArray_V = new Array();
			var localArray_L = new Array();
			var fObjSel = formObj[fName+"_list"];
			var l=fObjSel.length;
			var c=0;
			var cS=0;
			if (type=="Remove" || type=="Up")	{
				if (type=="Up")	{
					for (a=0;a<l;a++)	{
						if (fObjSel.options[a].selected==1)	{
							localArray_V[c]=fObjSel.options[a].value;
							localArray_L[c]=fObjSel.options[a].text;
							c++;
							cS++;
						}
					}
				}
				for (a=0;a<l;a++)	{
					if (fObjSel.options[a].selected!=1)	{
						localArray_V[c]=fObjSel.options[a].value;
						localArray_L[c]=fObjSel.options[a].text;
						c++;
					}
				}
			}
			fObjSel.length = c;
			for (a=0;a<c;a++)	{
				fObjSel.options[a].value = localArray_V[a];
				fObjSel.options[a].text = localArray_L[a];
				fObjSel.options[a].selected=(a<cS)?1:0;
			}
			setHiddenFromList(fObjSel,formObj[fName]);
			//'.$this->TBE_EDITOR_fieldChanged_func.'
		}
	}
	function setFormValue_getFObj(fName)	{	//
		var formObj = document.forms[formName];
		if (formObj)	{
			if (formObj[fName] && formObj[fName+"_list"] && formObj[fName+"_list"].type=="select-multiple")	{
				return formObj;
			} else {
				alert("Formfields missing:\n fName: "+formObj[fName]+"\n fName_list:"+formObj[fName+"_list"]+"\n type:"+formObj[fName+"_list"].type+"\n fName:"+fName);
			}
		}
		return "";
	}




	

	var DTM_array = new Array();
	var DTM_origClass = new String();
	var top = new Array();

	function DTM_activate(idBase,index,doToogle)	{	//
			// Hiding all:
		tabindex = index;
		//alert(idBase+"-"+index+"-MENU-START");
		if (DTM_array[idBase]){
			for(cnt = 0; cnt < DTM_array[idBase].length ; cnt++)	{
				if (DTM_array[idBase][cnt] != idBase+"-"+index)	{
					document.getElementById(DTM_array[idBase][cnt]+"-DIV").style.display = "none";
					document.getElementById(DTM_array[idBase][cnt]+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabstart";
					document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
					document.getElementById(DTM_array[idBase][cnt]+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabend";
				}else{
					document.getElementById(DTM_array[idBase][cnt]+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabactstart";
					document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
					document.getElementById(DTM_array[idBase][cnt]+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabactend";
				}	
			}
		}
		
			// Showing one:
		if (document.getElementById(idBase+"-"+index+"-DIV"))	{
			if (doToogle && document.getElementById(idBase+"-"+index+"-DIV").style.display == "block")	{
				document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
				if(DTM_origClass=="") {
					document.getElementById(idBase+"-"+index+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabstart";
					document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
					document.getElementById(idBase+"-"+index+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabend";
				} else {
					DTM_origClass = "tab";
				}
				//top.DTM_currentTabs[idBase] = -1;
			} else {
				document.getElementById(idBase+"-"+index+"-DIV").style.display = "block";
				if(DTM_origClass=="") {
					document.getElementById(idBase+"-"+index+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabactstart";
					document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
					document.getElementById(idBase+"-"+index+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabactend";
				} else {
					DTM_origClass = "tabact";
				}
				//top.DTM_currentTabs[idBase] = index;
			}
		}
	}
	
	function DTM_toggle(idBase,index,isInit)	{	//
			// Showing one:
		if (document.getElementById(idBase+"-"+index+"-DIV"))	{
			if (document.getElementById(idBase+"-"+index+"-DIV").style.display == "block")	{
				document.getElementById(idBase+"-"+index+"-DIV").style.display = "none";
				if(isInit) {
					document.getElementById(idBase+"-"+index+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabstart";
					document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab";
					document.getElementById(idBase+"-"+index+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabend";
				} else {
					DTM_origClass = "tab";
				}
				//top.DTM_currentTabs[idBase+"-"+index] = 0;
			} else {
				document.getElementById(idBase+"-"+index+"-DIV").style.display = "block";
				if(isInit) {
					document.getElementById(idBase+"-"+index+"-MENU-START").attributes.getNamedItem("class").nodeValue = "tabactstart";
					document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact";
					document.getElementById(idBase+"-"+index+"-MENU-END").attributes.getNamedItem("class").nodeValue = "tabactend";
				} else {
					DTM_origClass = "tabact";
				}
				//top.DTM_currentTabs[idBase+"-"+index] = 1;
			}
		}
	}

	function DTM_mouseOver(obj) {	//
			return;
			DTM_origClass = obj.attributes.getNamedItem("class").nodeValue;
			obj.attributes.getNamedItem("class").nodeValue += "_over";
	}

	function DTM_mouseOut(obj) {	//
			return;
			obj.attributes.getNamedItem("class").nodeValue = DTM_origClass;
			DTM_origClass = "";
	}

    
    function toggleDisplay(id,form_id,uniquid,unixtime,timestring){
    	//alert(this.document.getElementById(id).style.display);
        if(this.document.getElementById(id).style.display=='none'){
	    	var actElem =  this.document.getElementById(id);
    		if(meetingId != id){
		    	if(meetingId.length!=0){ 
		    		form_id = meetingId;
		    	}
		    	var formElem = this.document.getElementById(form_id);
		    	var form = formElem.firstChild.cloneNode(true);
		    	form.style.display = 'block';
		    	form.style.position = 'absolute';
		        actElem.appendChild(form);
		        actElem.style.position='relative';
	        	actElem.style.display='block';
		        formElem.style.display='none';
	    		form = formElem.firstChild;
    			formElem.removeChild(form);
			}
	        actElem.style.display='block';
			meetingId = id;
			this.document.getElementById('tx_jwcalendar_pi1[data][tx_jwmeetings_meeting]['+uniquid+'][begin]').value=unixtime;
			this.document.getElementById('tx_jwcalendar_pi1[data][tx_jwmeetings_meeting]['+uniquid+'][begin]_id').value=timestring;
    		//feFormFieldGet('tx_jwcalendar_pi1[data][tx_jwmeetings_meeting]['+uniquid+'][begin]','datetime','',1,'0',1,unixtime);
   	        var meetings = this.document.getElementsByName('meetings');
   	        for (i=0;i<meetings.length;i++)
   	        	meetings[i].style.display = 'none';
            if(this.document.getElementById(id+"link") != undefined){
                this.document.getElementById(id+"link").style.display='none';
            }
        }else{
            this.document.getElementById(id).style.display='none';
   	        var meetings = this.document.getElementsByName('meetings');
   	        for (i=0;i<meetings.length;i++)
   	        	meetings[i].style.display = 'block';
            if(this.document.getElementById(id+"link") != undefined){
                this.document.getElementById(id+"link").style.display='inline';
            }
        }
        
    }
    
    
    
    
    
    
    
    
