var l_id_old = "";																// Variable zum Zwischenspeichern der aktuellen Layer ID
function show_layer(l_id) {														// Funktion fuer Layer an/aus
	 if(document.getElementById) {
		if(l_id_old!="") {														// wenn alte Layer ID vorhanden ist
		 	//document.getElementById(l_id_old).style.visibility = "hidden";		// alten layer ausblenden
		 	document.getElementById(l_id_old).style.display = "none";		// alten layer ausblenden
		}
		l_id_old = l_id;														// Layer ID zwischenspeichern
 		//document.getElementById(l_id).style.visibility = "visible";				// neuen Layer anzeigen
		document.getElementById(l_id).style.display = "";				// neuen Layer anzeigen
	}
}

function checkall(start,end) {
	if(document.f.checkall.checked==false)
	{
		value=false;
	} else {
		value=true;
	} 
	for(i=start;i<=end;i++) {
		document.forms[0].elements[i].checked=value;
	}
}

function explode( delim, arr ) {
	var str ="";
	for ( var i = 0; i < arr.length; i++ ) {
		str += arr[i] + delim;
	}
	return str;
} 


// popup
function openF(datei,breite,hoehe,fname)
{
	var fname2;
	if (fname=="") { fname2='verw'; } else { fname2=fname; }
	var datei;
	var posX=(screen.width/2)-(breite/2);
	var posY=(screen.height/2)-(hoehe/2);
	F = window.open(''+datei+'',''+fname2+'','toolbar=no,directories=no,status=yes,scrollbars=yes,resize=no,resizable=yes,menubar=no,width=' + breite + ',height=' + hoehe + ',screenX=' + posX + ',screenY=' + posY + ',left=' + posX + ',top=' + posY + '');
	F.focus();
}

function reset_image_radio(group_name,question_typ) {
	group = eval("document.f."+group_name);
	for(var i=0; i<group.length+10; i++) {								// alle Radiobuttons der Gruppe durchlaufen
		if(document.getElementsByName('img_'+group_name+'_'+i)[0]) {	// gibt es ein Element mit dem Namen
			change_image('img_'+group_name+'_'+i,'radio',group_name+'_'+i,question_typ,'out');	// Grafik durch Aufruf mit out zuruecksetzen
		}
	}//# for(i)
}

function fadeBlock1(id, amount) {

	var h = document.getElementById(id).offsetHeight;

	document.getElementById(id).style.overflow = "hidden";

	if(h>0){

		var newH = h - amount;
		
		if(newH <= 0){
			document.getElementById(id).style.display = "none";
			return;
		}

		document.getElementById(id).style.height = newH + "px";

		var func = "fadeBlock1('"+id+"', "+amount+")";
		window.setTimeout(func, 20);

	}

}

function fadeBlock(id, initTime, amount){

	window.setTimeout("fadeBlock1('"+id+"', "+amount+")", initTime);

}


/**
 * Version 1.0
 *
 * Nutzung: ermittelt offset-Werte zu einem Element, Funktion darf erst nach Definition des Elmentes aufgerufen werden
 *
 **/
function offset_element(id) {
	var offsetX = document.getElementById(id).offsetLeft;		// Offsetwert zum Elternobjekt
	var offsetY = document.getElementById(id).offsetTop;

	var p = document.getElementById(id).offsetParent;			// Elternobjekt zum Klicktestobjekt durchlaufen
	while(p) {													// solange es ein Elternobjekt gibt
		offsetX += p.offsetLeft;								// Offsetwert des Elternobjektes
		offsetY += p.offsetTop;
		p = p.offsetParent;										// neues Elternobjekt zuweisen
	}

	var r = Array();
	r['x'] = parseInt(offsetX);
	r['y'] = parseInt(offsetY);
	return r;
}
/**
 * 2007-09-13 CD Funktion erstellt
 **/

function get_date_microtime() {
	var D = new Date();
	var Y = D.getFullYear();
	var m = D.getMonth()+1;
		m = m < 10 ? "0"+m : m;
	var d = D.getDate();
		d = d < 10 ? "0"+d : d;
	var h = D.getHours();
		h = h < 10 ? "0"+h : h;
	var i = D.getMinutes();
		i = i < 10 ? "0"+i : i;
	var s = D.getSeconds();
		s = s < 10 ? "0"+s : s;
	var ms = D.getMilliseconds();
		ms = ms <10 ? "00"+ms : (ms>9 && ms<100 ? "0"+ms : ms);
	return Y.toString()+m.toString()+d.toString()+h.toString()+i.toString()+s.toString()+"."+ms.toString();
}

// zeigt Elemente an oder blendet diese aus
// e kann ein Array oder ein String sein
// d = block|inline|none
function display_element(e,d) {
	if(typeof(e)=="string") {
		var e = new Array(e);
	} else if(!(typeof(e)=="object" && (e instanceof Array))) {
		return;
	}
	if(d==undefined) {
		d = "";
	}
	for(var i=0; i< e.length;i++) {
		if(document.getElementById(e[i])) {
			document.getElementById(e[i]).style.display=d;
		}
	}
}

//mr 27.11.2008 Funktionen zur Verwaltung des Archivs

//Aendern des Archivstatus
function changeArchiveStatus(status,id,type,m,archive_object_name)
{
	var myAjax = new Ajax('5069','change_archive_status');
	myAjax.params += "&status="+status;
	myAjax.params += "&ID="+id;
	myAjax.params += "&type="+type;
	myAjax.params += "&archive_object_name="+archive_object_name;

	//Verarbeitung der Response / PHP-Skript lieferte Ergebnis
	myAjax.onSuccess = function(txt) {
		if (txt) {
  			if(txt == 'ok')	{
  				if(document.getElementById("archive_category")) {
  	  				window.location.href = "./i.php?m="+m+"&archive_category="+document.getElementById('archive_category').options[document.getElementById('archive_category').selectedIndex].value;
  				} else {
  	  				window.location.href = "./i.php?m="+m;
  				}
  			} else {
				alert(txt);
			}
		}
	}
	myAjax.doRequest();
}


function disabled_ranking_submit(submit_name) {
	for (var i = 0; i < document.forms[0].length; ++i) {
		if(document.forms[0].elements[i].type == "submit" && document.forms[0].elements[i].name!=submit_name) {
			document.forms[0].elements[i].disabled=true;
		}
	}
}

// Title: Tigra Calendar
// URL: http://www.softcomplex.com/products/tigra_calendar/
// Version: 3.2 (European date format)
// Date: 10/14/2002 (mm/dd/yyyy)
// Note: Permission given to use this script in ANY kind of applications if
//    header lines are left unchanged.
// Note: Script consists of two files: calendar?.js and calendar.html

// if two digit year input dates after this year considered 20 century.
var NUM_CENTYEAR = 30;
// is time input control required by default
var BUL_TIMECOMPONENT = false;
// are year scrolling buttons required by default
var BUL_YEARSCROLL = true;

var calendars = [];
var RE_NUM = /^\-?\d+$/;

var TC_DATE_SEPARATOR = ".";
var TC_TIME_SEPARATOR = ":";

function calendar1(obj_target) {

	// assigning methods
	this.gen_date = cal_gen_date1;
	this.gen_time = cal_gen_time1;
	this.gen_tsmp = cal_gen_tsmp1;
	this.prs_date = cal_prs_date1;
	this.prs_time = cal_prs_time1;
	this.prs_tsmp = cal_prs_tsmp1;
	this.popup    = cal_popup1;

	// validate input parameters
	if (!obj_target)
		return cal_error("Error calling the calendar: no target control specified");
	if (obj_target.value == null)
		return cal_error("Error calling the calendar: parameter specified is not valid target control");
	this.target = obj_target;
	this.time_comp = BUL_TIMECOMPONENT;
	this.year_scroll = BUL_YEARSCROLL;
	
	// register in global collections
	this.id = calendars.length;
	calendars[this.id] = this;
}

function cal_popup1 (str_datetime) {
	var tmp = str_datetime ? str_datetime : this.target.value;
	
	if(tmp.length == 10)
	{
		if(tmp.substring(0,2) == '00'){
			this.target.value = '';
			tmp = '';
		}
	}
	
	this.dt_current = this.prs_tsmp(tmp);
	if (!this.dt_current) return;

	var q1 = screen.width>=2048 ? 4 : 2;
	var q2 = screen.height>=2048 ? 4 : 2;
	
	var posX=(screen.width/q1)-(200/2);
	var posY=(screen.height/q2)-(200/2);
	var obj_calwindow = window.open(
		'calendar.html?datetime=' + this.dt_current.valueOf()+ '&id=' + this.id,
		'Calendar', 'width=250,height='+(this.time_comp ? 215 : 190)+
		',status=no,resizable=no,dependent=yes,alwaysRaised=yes,screenX='+posX+',screenY='+posY+',left='+posX+',top='+posY+''
	);
	obj_calwindow.opener = window;
	obj_calwindow.focus();
}

// timestamp generating function
function cal_gen_tsmp1 (dt_datetime) {
	return(this.gen_date(dt_datetime) + ' ' + this.gen_time(dt_datetime));
}

// date generating function
function cal_gen_date1 (dt_datetime) {
	return (
		(dt_datetime.getDate() < 10 ? '0' : '') + dt_datetime.getDate() + TC_DATE_SEPARATOR
		+ (dt_datetime.getMonth() < 9 ? '0' : '') + (dt_datetime.getMonth() + 1) + TC_DATE_SEPARATOR
		+ dt_datetime.getFullYear()
	);
}
// time generating function
function cal_gen_time1 (dt_datetime) {
	return (
		(dt_datetime.getHours() < 10 ? '0' : '') + dt_datetime.getHours() + TC_TIME_SEPARATOR
		+ (dt_datetime.getMinutes() < 10 ? '0' : '') + (dt_datetime.getMinutes()) 
//		+ TC_TIME_SEPARATOR + (dt_datetime.getSeconds() < 10 ? '0' : '') + (dt_datetime.getSeconds())
	);
}

// timestamp parsing function
function cal_prs_tsmp1 (str_datetime) {
	// if no parameter specified return current timestamp
	if (!str_datetime)
		return (new Date());

	// if positive integer treat as milliseconds from epoch
	if (RE_NUM.exec(str_datetime))
		return new Date(str_datetime);
		
	// else treat as date in string format
	var arr_datetime = str_datetime.split(' ');
	return this.prs_time(arr_datetime[1], this.prs_date(arr_datetime[0]));
}

// date parsing function
function cal_prs_date1 (str_date) {

	var arr_date = str_date.split(TC_DATE_SEPARATOR);

	if (arr_date.length != 3) return cal_error ("Invalid date format: '" + str_date + "'.\nFormat accepted is dd"+TC_DATE_SEPARATOR+"mm"+TC_DATE_SEPARATOR+"yyyy.");
	if (!arr_date[0]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo day of month value can be found.");
	if (!RE_NUM.exec(arr_date[0])) return cal_error ("Invalid day of month value: '" + arr_date[0] + "'.\nAllowed values are unsigned integers.");
	if (!arr_date[1]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo month value can be found.");
	if (!RE_NUM.exec(arr_date[1])) return cal_error ("Invalid month value: '" + arr_date[1] + "'.\nAllowed values are unsigned integers.");
	if (!arr_date[2]) return cal_error ("Invalid date format: '" + str_date + "'.\nNo year value can be found.");
	if (!RE_NUM.exec(arr_date[2])) return cal_error ("Invalid year value: '" + arr_date[2] + "'.\nAllowed values are unsigned integers.");

	var dt_date = new Date();
	dt_date.setDate(1);

	if (arr_date[1] < 1 || arr_date[1] > 12) return cal_error ("Invalid month value: '" + arr_date[1] + "'.\nAllowed range is 01-12.");
	dt_date.setMonth(arr_date[1]-1);
	 
	if (arr_date[2] < 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
	dt_date.setFullYear(arr_date[2]);

	var dt_numdays = new Date(arr_date[2], arr_date[1], 0);
	dt_date.setDate(arr_date[0]);
	if (dt_date.getMonth() != (arr_date[1]-1)) return cal_error ("Invalid day of month value: '" + arr_date[0] + "'.\nAllowed range is 01-"+dt_numdays.getDate()+".");

	return (dt_date)
}

// time parsing function
function cal_prs_time1 (str_time, dt_date) {

	if (!dt_date) return null;
	var arr_time = String(str_time ? str_time : '').split(TC_TIME_SEPARATOR);

	if (!arr_time[0]) dt_date.setHours(0);
	else if (RE_NUM.exec(arr_time[0]))
		if (arr_time[0] < 24) dt_date.setHours(arr_time[0]);
		else return cal_error ("Invalid hours value: '" + arr_time[0] + "'.\nAllowed range is 00-23.");
	else return cal_error ("Invalid hours value: '" + arr_time[0] + "'.\nAllowed values are unsigned integers.");
	
	if (!arr_time[1]) dt_date.setMinutes(0);
	else if (RE_NUM.exec(arr_time[1]))
		if (arr_time[1] < 60) dt_date.setMinutes(arr_time[1]);
		else return cal_error ("Invalid minutes value: '" + arr_time[1] + "'.\nAllowed range is 00-59.");
	else return cal_error ("Invalid minutes value: '" + arr_time[1] + "'.\nAllowed values are unsigned integers.");

	if (!arr_time[2]) dt_date.setSeconds(0);
	else if (RE_NUM.exec(arr_time[2]))
		if (arr_time[2] < 60) dt_date.setSeconds(arr_time[2]);
		else return cal_error ("Invalid seconds value: '" + arr_time[2] + "'.\nAllowed range is 00-59.");
	else return cal_error ("Invalid seconds value: '" + arr_time[2] + "'.\nAllowed values are unsigned integers.");

	dt_date.setMilliseconds(0);
	return dt_date;
}

function cal_error (str_message) {
	alert (str_message);
	return null;
}


// CD



function oc(cwidth,cheight,oC_name,oC_url) {
	if(oC_name=="" || oC_name==undefined) {
		oC_name = "i";
	}
	
	if(oC_url == "" || oC_url==undefined) {
		oC_url = 'about:blank';
	}
	
	var q1 = screen.width>=2048 ? 4 : 2;
	var q2 = screen.height>=2048 ? 4 : 2;

	var posX=(screen.width/q1)-(cwidth/2);
	var posY=(screen.height/q2)-(cheight/2);
	F = window.open(oC_url, oC_name, 'toolbar=no,directories=no,status=yes,scrollbars=yes,resize=no,resizable=yes,menubar=no,width=' + cwidth + ',height=' + cheight + ',screenX=' + posX + ',screenY=' + posY + ',left=' + posX + ',top=' + posY + '');
	F.focus();
	return F;
}



function CreateControl(DivID, CLSID, ObjectID,WIDTH, HEIGHT, URL, AUTOSTART) {
  var d = document.getElementById(DivID);
  d.innerHTML = '<object classid=' + CLSID + ' id=' + ObjectID + ' width=' + WIDTH + ' height=' + HEIGHT +'><param name="URL" value=' + URL + '><param name="autoStart" value=' + AUTOSTART + '/>';
}

fenster = null;
function show(Bild0,Breite0,Hoehe0)
{
	Bild	= Bild0;
	Breite	= Breite0;
	Hoehe	= Hoehe0;
	weg();
	setTimeout("top(Bild,Breite,Hoehe)",500);
}
function top(Bild,Breite,Hoehe)
{
	fBreite	= Breite>800 ? 800 : Breite+4;
	fHoehe	= Hoehe >600 ? 600 : Hoehe+4;
	posX	= (screen.width/2)-(fBreite/2);
	posY	= (screen.height/2)-(fHoehe/2);
	Optionen= 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,height='+fHoehe+',width='+fBreite+',screenX='+posX+',screenY='+posY+',left='+posX+',top='+posY+' ';
	fenster = window.open(Bild,'Foto',Optionen);
	with (fenster)
	{
		Breite>Hoehe ? hintergrund='background="images/hintergrund_show_horizontal.gif"' : hintergrund='background="images/hintergrund_show_vertikal.gif"';
		hintergrund = ""; // fuer Hintergrund diese Zeile auskommentieren
		document.writeln('<html><'+'HE'+'AD><title>Gro&szlig;es Foto<\/T'+'ITLE><m'+'eta http-equiv="imagetoolbar" content="no"><\/'+'HE'+'AD>');
		document.writeln('<'+'bo'+'dy bgcolor="#FFFFFF" '+hintergrund+' style=\"margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:100%;height:100%;overflow:auto;\">');
		document.writeln('<div align="center">');
		document.writeln('<a href="javaScript:window.close()"><img src="'+Bild+'" width='+Breite+' height='+Hoehe+' border="0" alt="Fenster schliessen"><\/a>');
		document.writeln('<\/d'+'iv><\/b'+'ody><\/h'+'tml>');
	}
}
function weg()
{
	if (fenster != null)
	{
		if (!fenster.closed)
		{
			fenster.close();
		}
	}
}


function radiovalue(rObj) {
	for (var i=0; i<rObj.length; i++) {
		if (rObj[i].checked) {
			return rObj[i].value;
		}
	}
	return false;
}

/**
 * Version 1.0
 *
 * Nutzung: ueberprueft, ob ein Datum in einem Feld in der Vergangenheit liegt
 * greift vorher auf die Funktion checktdate zu!
 */
function checkdate_followup(field) {

	var res = checkdate(field);

	if(res==false){
		return false;
	}

	//Wenn man das Feld verlassen konnte, steht da entweder ein Datum oder eine Zeichenkette, die nicht mit einer Zahl beginnt

	if(!field.value.match(/^\d/)){	//wenn das also kein Datum ist
		return false;
	}

	var t_0 = field.value.split(" ");	// Uhrzeit abtrennen

	var t_1		= t_0[0].split(".");	// Datum
	var day		= t_1[0];
	var month	= t_1[1] - 1;	//!Achtung, die Monate beginnen mit 0 (Null)!
	var year	= t_1[2];

	if(t_0[1]!=undefined) {
		var t_2		= t_0[1].split(":");				// Uhrzeit
		var hour	= t_2[0];
		var minute	= t_2[1];
	} else {
		var hour	= 0;
		var minute	= 0;
	}

	followup_time = new Date(year, month, day, hour, minute, 0);
	jetzt = new Date();

	if(jetzt.getTime() > followup_time.getTime()){
		alert('Bitte geben Sie ein Datum ein, das nicht in der Vergangenheit liegt!');
		return false;
	} else {
		if(document.getElementById('followup_enddate')) {
			var followup_enddate = document.getElementById('followup_enddate');
			var t_0 = followup_enddate.value.split(" ");	// Uhrzeit abtrennen

			var t_1		= t_0[0].split("-");	// Datum
			var day		= t_1[2];
			var month	= t_1[1] - 1;	//!Achtung, die Monate beginnen mit 0 (Null)!
			var year	= t_1[0];
			if(t_0[1]!=undefined) {
				var t_2		= t_0[1].split(":");				// Uhrzeit
				var hour	= t_2[0];
				var minute	= t_2[1];
			} else {
				var hour	= 0;
				var minute	= 0;
			}
			followup_enddate = new Date(year, month, day, hour, minute, 0);

			if(followup_time.getTime() > followup_enddate.getTime()) {
				alert("Bitte geben Sie ein Datum ein, das vor dem "+day+"."+t_1[1]+"."+year+" "+hour+":"+minute+" Uhr liegt!");
				return false;
			}
		}
	}

}
/**
 * 2007-09-11 TH Funktion erstellt
 */


/**
 * Version 1.0
 *
 * Nutzung: prueft und korrigiert Datumseingaben
 *			<input type="text" name="time" value="23.07.2007 14:15" onblur="checkdate(this)">
 *			<input type="submit" onClick="return checkdate(this.form.time,'de')">
 * @return true
 **/
function checkdate(field,language) {
	val = field.value;
	val = val.replace(/[-\/,]/g, "."); 						// Trennzeichen normalisieren
    val = val.replace(/[^0-9.: ]/g, "");					// ungueltige Zeichen entfernen
	val = val.replace(/ +/g, " ");							// doppelte Leerzeichen entfernen
	if(val!="") {
		var t_0 = val.split(" ");							// Uhrzeit abtrennen

		var t_1		= t_0[0].split(".");					// Datum
		var day		= t_1[0];
		var month	= t_1[1];
		var year	= t_1[2];

		if(t_0[1]!=undefined) {
			var t_2		= t_0[1].split(":");				// Uhrzeit
			var hour	= 0;
			var minute	= 0;
			var second	= 0;

			if(t_2[0].length == 1 || t_2[0].length == 2) {	// wenn fuer die Stunde nur 1 oder 2 Ziffern eingegeben wurden
				hour	= t_2[0];
				minute	= t_2[1];
				second	= t_2[2];
				if(minute == undefined || minute <= 0) {
					minute = "00";
				}
			}
			if(t_0[1].length == 3) {						// Zeit wurde ohne Punkte angeben 915 > 09:15
				hour	= t_0[1].substring(0,1);
				minute	= t_0[1].substring(1,3);
			}
			if(t_0[1].length == 4) {						// Zeit wurde ohne Punkte angegeben 1015 > 10:15
				hour	= t_0[1].substring(0,2);
				minute	= t_0[1].substring(2,4);
			}
		} else {											// es wurde keine Zeit angegeben
			hour	= 0;
			minute	= 0;
			second	= 0;
		}

		var now = new Date();								// aktuelles Datum

		if(day.length == 4) {								// Datum wurde als 2703 uebergeben
			tmp		= day;
			day		= tmp.substring(0,2);
			month	= tmp.substring(2,4);
		}
		if(day.length == 6) {								// Datum wurde als 270307 uebergeben
			tmp		= day;
			day		= tmp.substring(0,2);
			month	= tmp.substring(2,4);
			year	= tmp.substring(4,6)*1 + 2000;			// Jahr 4-stellig machen
		}
		if(day.length == 8) {								// Datum wurde als 27032007 uebergeben
			tmp		= day;
			day		= tmp.substring(0,2);
			month	= tmp.substring(2,4);
			year	= tmp.substring(4,8);
		}

		if(month==undefined || month<=0) {					// wenn kein Monat angegeben ist
			if(day >= now.getDate()) {						// wenn der angegebene Tag groesser gleich heute ist
				month = now.getMonth() + 1;					// dann aktuellen Monat nehmen
			} else {
				month = now.getMonth() + 2;					// sonst naechsten Monat
			}
			if(month == 13) {								// falls im Dezember ein Datum fuer Januar erzeugt wurde
				month = 1;									// Monat zuruecksetzen
			}
		}

		if(year==undefined || year<=0) {					// wenn kein Jahr angegeben wurde
			if(month < now.getMonth() 						// wenn angegebener Monat kleiner als aktueller ist
				|| (month == now.getMonth() && day < now.getDate())  // oder Monat gleich und Tag kleiner als aktueller
				) {
				year = now.getFullYear() + 1;				// dann naechstes Jahr auswaehlen
			} else {
				year = now.getFullYear();					// sonst aktuelles Jahr
			}
		}

		if(day >= 1 && day <= 31 && month >= 1 && month <= 12
			&& year >0
			&& hour >= 0 && hour <= 23
			&& minute >= 0 && minute <= 59 ) {
			if(String(day).length == 1) {					// Tag zweistellig
				day = "0"+day;
			}
			if(String(month).length == 1) {					// Monat zweistellig
				month = "0"+month+"";
			}
			val = day+"."+month+"."+year;					// Datum erzeugen
			if(hour > 0 || minute > 0) {					// wenn Zeit angegeben ist
				if(String(hour).length == 1) {				// Stunde zweistellig
					hour = "0"+hour;
				}
				if(String(minute).length == 1) {			// Minute zweistellig
					minute = "0"+minute;
				}
				val = val+" "+hour+":"+minute;				// Zeit anhaengen
			}

			field.value = val;								// ermittelten Wert dem Feld zuweisen
			return true;
		} else {
			var alert_txt = "Geben Sie bitte ein korrektes Datum an!"+"\n";
			if(hour == 0 && minute == 0 && second == 0) {
				alert(alert_txt+"          (dd.mm.yyyy)           ");
			} else {
				alert(alert_txt+"          (dd.mm.yyyy HH:mm)           ");
			}
			field.focus();
			return false;
		}
	} else {
		//alert("Geben Sie bitte ein Datum an!");
		//field.focus();
		return true;
	}
}
/**
 * 2007-08-01 CD return true bei value=''
 * 2007-07-24 CD Funktion erstellt
 **/

function td_bgcolor(a,color) {														// Funktion fuer Layer an/aus
	var ar = a.split(" ");
	 if(document.getElementById) {
		for (var i=0; i < ar.length; i++) {
	 		document.getElementById(ar[i]).bgColor=color;
	 		document.getElementById(ar[i]).style.backgroundColor=color;
		}//# for(i)
	}
}

String.prototype.trim = function () {
	return this.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function change_image(img_name,form_typ,form_id,question_typ,action) {
	// form_typ: radio | checkbox
	// question_typ: single | multiple | rating
	// action: over | down

	switch(form_typ) {
		case "radio" :
		case "checkbox" :
			if(document.getElementById(form_id)) {											// wenn Element exisitiert
				if(document.getElementById(form_id).checked) {								// wenn Radiobutton aktiviert ist (1)
					if(form_typ == "checkbox") {											// bei aktiviertem Radiobutton ist eigentlich keine Aenderung der Grafik notwendig
						if(action == "click") {												// wenn angeklickt
							eval("document."+img_name+".src=img_"+question_typ+"_0.src");	// aktive Grafik in inaktive tauschen
						} else if(action == "out") {
							eval("document."+img_name+".src=img_"+question_typ+"_1.src");
						} else {
							eval("document."+img_name+".src=img_"+question_typ+"_1_"+action+".src");
						}
					}
				} else {																	// wenn Radiobutton nicht aktiviert ist (0)
					if(action == "click") {													// wenn angeklickt
						eval("document."+img_name+".src=img_"+question_typ+"_1.src");		// inaktive Grafik in aktive tauschen
					} else if(action == "out") {
						eval("document."+img_name+".src=img_"+question_typ+"_0.src");
					} else {
						eval("document."+img_name+".src=img_"+question_typ+"_0_"+action+".src");
					}
				}
			}
		break;
	}//# switch()
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function Ajax(m, loadfunction) {
  //Eigenschaften deklarieren und initialisieren
  this.url="./index.php";
  this.m=m;
  this.loadfunction=loadfunction;
  this.return_type="txt";
  this.params="";
  this.method="POST";
  this.onSuccess=null;
  this.onError=function (msg) {
    alert(msg)
  }
}

Ajax.prototype.doRequest=function() {
  //ueberpruefen der Angaben
  if (!this.url) {
    this.onError("Es wurde kein URL angegeben. Der Request wird abgebrochen.");
    return false;
  }

  if (!this.method) {
    this.method="GET";
  } else {
    this.method=this.method.toUpperCase();
  }

  if(this.m != "") {
	this.params +="&m="+this.m;
  }

  if(this.loadfunction != "") {
	this.params +="&loadfunction="+this.loadfunction;
  }

  //Zugriff auf Klasse fuer readyStateHandler ermoeglichen
  var _this = this;

  //XMLHttpRequest-Objekt erstellen
  var xmlHttpRequest=getXMLHttpRequest();
  if (!xmlHttpRequest) {
    this.onError("Es konnte kein XMLHttpRequest-Objekt erstellt werden.");
    return false;
  }

  //Fallunterscheidung nach Uebertragungsmethode
  switch (this.method) {
  	case "GET": xmlHttpRequest.open(this.method, this.url+"?"+encodeURI(this.params), true);
                xmlHttpRequest.onreadystatechange = readyStateHandler;
                xmlHttpRequest.setRequestHeader('charset', 'utf-8');
                xmlHttpRequest.send(null);
                break;
    case "POST": xmlHttpRequest.open(this.method, this.url, true);
                 xmlHttpRequest.onreadystatechange = readyStateHandler;
                 xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                 xmlHttpRequest.setRequestHeader('charset', 'utf-8');
                 xmlHttpRequest.send(encodeURI(this.params));
                 break;
  }

  //Private Methode zur Verarbeitung der erhaltenen Daten
  function readyStateHandler() {
    if (xmlHttpRequest.readyState < 4) {
      return false;
    }
    if (xmlHttpRequest.status == 200 || xmlHttpRequest.status==304) {
      if (_this.onSuccess) {
      	if(_this.return_type == 'txt') {
      		_this.onSuccess(xmlHttpRequest.responseText);
      	} else if (_this.return_type == 'xml') {
      		_this.onSuccess(xmlHttpRequest.responseXML);
      	} else {
       		_this.onSuccess(xmlHttpRequest.responseText, xmlHttpRequest.responseXML);
      	}
      }
    } else {
      if (_this.onError) {
          _this.onError("["+xmlHttpRequest.status+" "+xmlHttpRequest.statusText+"] Es trat ein Fehler bei der Datenuebertragung auf.");
      }
    }
  }
}

function getXMLHttpRequest()
{
  if (window.XMLHttpRequest) {
    //XMLHttpRequest fuer Firefox, Opera, Safari, ...
    return new XMLHttpRequest();
  } else
  if (window.ActiveXObject) {
    try {
      //XMLHTTP (neu) fuer Internet Explorer
      return new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        //XMLHTTP (alt) fuer Internet Explorer
        return new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        return null;
      }
    }
  }
  return false;
}

//Funktion erstellt string mit Paramtern fuer Nutzung mit Ajax
//Namen muessen mit Komma getrennt werden
//function addgetElementById (ids) {
Ajax.prototype.addgetElementById=function(ids) {
	//Array mit IDs der Elemente, die ausgelesen werden sollen
	var a_ids = ids.split(",");
	//Rueckgabewert
	var retun_string = "";
	//String mit IDs der Elemente, die nicht ausgelesen werden konnten
	var str_error_ids = ""

	for(var i=0;i<a_ids.length;i++) {
		if(document.getElementById(a_ids[i])) {
			if(document.getElementById(a_ids[i]).type == 'checkbox') {
				if(document.getElementById(a_ids[i]).checked) {
					retun_string += "&" + a_ids[i] + "=" + document.getElementById(a_ids[i]).value;
				}
			} else {
				//Wert kodieren, um Sonderzeichen, wie + zu speichern
				retun_string += "&" + a_ids[i] + "=" + document.getElementById(a_ids[i]).value;
			}
		} else {
			str_error_ids += a_ids[i]+"\n";
		}
	}

	if(str_error_ids.length > 0) {
		alert("Folgende Elemente haben keine Werte:\n\n"+str_error_ids);
	}

	this.params += retun_string;
	return retun_string;
}

//Funktion erstellt string mit Paramtern fuer Nutzung mit Ajax
//Namen muessen mit Komma getrennt werden
Ajax.prototype.addgetElementByIdselectedIndex=function(ids) {
	//Array mit IDs der Elemente, die ausgelesen werden sollen
	var a_ids = ids.split(",");
	//Rueckgabewert
	var return_string = "";
	//String mit IDs der Elemente, die nicht ausgelesen werden konnten
	var str_error_ids = ""

	for(var i=0;i<a_ids.length;i++) {
		if(document.getElementById(a_ids[i])) {
			return_string += "&" + a_ids[i] + "=" + document.getElementById(a_ids[i]).options[document.getElementById(a_ids[i]).selectedIndex].value;
		} else {
			str_error_ids += a_ids[i]+"\n";
		}
	}

	if(str_error_ids.length > 0) {
		alert("Folgende Elemente haben keine Werte:\n\n"+str_error_ids);
	}
	this.params += return_string;
	return return_string;
}

//Funktion zeigt Ladeicon oder Text im uebergebenen DIV an
Ajax.prototype.showLoadInfo=function(mode,txt,div_id) {
	var loadtext = '';
	if(mode == 'icon') {
		loadtext = txt+"&nbsp;<img src='images/loading_bar.gif' width='20px' height='20px'>";
	} else if(mode == 'txt') {
		loadtext = txt;
	}

	if(document.getElementById(div_id)) {
		document.getElementById(div_id).innerHTML = loadtext;
	} else {
		alert("Folgendes Element existiert nicht:\n\n"+div_id);
	}

}


