function validate(the_page)
	{
	var color1 = "#F5F5F5"; // Farbwert bei fehlerhafter Eingabe bei Textfeldern
	var color2 = "#FFFFFF"; // Normaler Farbwert der Textfelder
	var color3 = "#5B85AD"; // Farbwert bei fehlerhafter Eingabe bei Checkboxes
	var color4 = "#FFFFFF"; // Normaler Farbwert bei Checkboxes
	var msg_date = "Bitte geben Sie das Datum im Format TT.MM.JJ ein.";
	var msg_mandatory = "Bitte füllen Sie alle mit * markierten Pflichtfelder aus.";
	var msg_length = "Bitte geben Sie mindestens fünf Zeichen ein.";
	var msg_dd = "Bitte wählen Sie alle mit * markierten Pflichtfelder aus.";
	var msg_phone = "Bitte geben Sie eine gültige Telefonnummer ein und benutzen Sie dabei nur Ziffern und folgende Trennzeichen: /.-()[]";
	var msg_email = "Bitte geben Sie eine gültige E-Mail-Adresse ein.";
	var msg_numeric = "Bitte geben Sie einen gültigen Betrag ein.";
	var msg_checkbox = "Wenn Sie einen Betrag eingeben, muss diese Checkbox angeklickt sein.";
	var mandatory_dat = new Array (0);
	var mandatory_txt = new Array (0);
	var mandatory_len = new Array (0);
	var mandatory_dd = new Array (0);
	var mandatory_tel = new Array (0);
	var mandatory_em = new Array (0);
	var mandatory_cur = new Array (0);
	var mandatory_chk = new Array (0);


	// Immer nur die Arrays neu definieren, die wirklich geprüft werden sollen

	if (the_page == "outlet")
		{
		var mandatory_txt = new Array ("db_outlet_name", "db_outlet_vorname", "db_outlet_strasse", "db_outlet_plz", "db_outlet_ort", "db_outlet_email");
		var mandatory_tel = new Array ("db_outlet_telefon", "db_outlet_fax");
		}

	if (the_page == "kosten")
		{
		var mandatory_dat = new Array ("db_kosten_datum", "db_kosten_leistungs_datum");
		var mandatory_txt = new Array ("db_kosten_belegnummer", "db_kosten_lieferantname", "db_kosten_datum", "db_kosten_leistungs_datum", "db_kosten_betrag", "db_kosten_projekt");
		var mandatory_dd = new Array ("db_kosten_zielgruppe");
		var mandatory_cur = new Array ("db_kosten_betrag");
		}

	if (the_page == "user")
		{
		var mandatory_txt = new Array ("db_user_name", "db_user_vorname");
		var login = document.getElementsByName("db_user_login")[0].value;
		login = login.toUpperCase ();
		var my_pw = document.getElementsByName("pw")[0].value;
		var my_date = document.getElementsByName("pw_change")[0].value;
		if (my_pw != document.getElementsByName("db_user_pw")[0].value)
			{
			document.getElementsByName("db_user_pw_change")[0].value = my_date;
			}
		}

	if (the_page == "password")
		{
		var mandatory_txt = new Array ("oldpassword", "password", "password2");
		var mandatory_len = new Array ("oldpassword", "password", "password2");
		var msg_mandatory = "Bitte füllen Sie alle drei Passwortfelder aus.";
		}

	if (the_page == "news")
		{
		var mandatory_dat = new Array ("db_news_datum");
		var mandatory_txt = new Array ("db_news_titel");
		}

	if (the_page == "downloads")
		{
		var mandatory_dat = new Array ("db_downloads_datum");
		var mandatory_txt = new Array ("db_downloads_titel");
		}

	if (the_page == "login")
		{
		var mandatory_txt = new Array ("user", "Password");
		var msg_mandatory = "Bitte geben Sie Benutzernamen und Passwort ein.";
		}


	// Definierte Felder prüfen


	// Alle Datums-Pflichtfelder in Array mandatory_dat prüfen

	for (i=0; i<mandatory_dat.length; i++)
		{
		var field = document.getElementsByName(mandatory_dat[i])[0];

		if(((field.value).length != 8) || ((field.value).charAt(2) != ".") || ((field.value).charAt(5) != "."))
			{
			alert(msg_date);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}

 
	// Alle Text-Pflichtfelder in Array mandatory prüfen

	for (i=0; i<mandatory_txt.length; i++)
		{
		var field = document.getElementsByName(mandatory_txt[i])[0];

		if(field.value == "")
			{
			alert(msg_mandatory);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}

 
	// Alle Text-Pflichtfelder in Array mandatory_len auf Mindestlänge 5 prüfen

	for (i=0; i<mandatory_len.length; i++)
		{
		var field = document.getElementsByName(mandatory_len[i])[0];

		if((field.value).length < 5)
			{
			alert(msg_length);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}


	// Alle Dropdown-Pflichtfelder in Array mandatory_dd prüfen

	for (i=0; i<mandatory_dd.length; i++)
		{
		var field = document.getElementsByName(mandatory_dd[i])[0];
		if(dropdown_value(mandatory_dd[i]) == "0")
			{
			alert(msg_dd);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}


	// Alle Telefonnummern-Felder in Array mandatory_tel prüfen
	
	for (i=0; i<mandatory_tel.length; i++)
		{
		var fieldname = mandatory_tel[i];
		var field = document.getElementsByName(fieldname)[0];
		if(is_phone(field.value) == false)
			{
			alert(msg_phone);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}


	// Alle E-Mail-Felder in Array mandatory_em prüfen
	
	for (i=0; i<mandatory_em.length; i++)
		{
		var fieldname = mandatory_em[i];
		var field = document.getElementsByName(fieldname)[0];
		if(is_email(field.value) == false)
			{
			alert(msg_email);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}


	// Alle Währungsfelder in Array mandatory_cur prüfen
	
	for (i=0; i<mandatory_cur.length; i++)
		{
		var fieldname = mandatory_cur[i];
		var field = document.getElementsByName(fieldname)[0];
		var my_value = field.value;
		// Negatives Vorzeichen entfernen
		if(my_value.charAt(0) == "-")
			{
			my_value = my_value.slice(1,(my_value.length));
			}
		if(is_numeric(my_value) == false)
			{
			alert(msg_numeric);
			field.style.backgroundColor = color1;
			field.focus();
			return false;
			}
		else
			{
			field.style.backgroundColor = color2;
			}
		}


	// Alle Checkboxes in Array mandatory_chk prüfen
	
	for (i=0; i<mandatory_chk.length; i++)
		{
		var fieldname = mandatory_chk[i];
		var field = document.getElementsByName(fieldname)[0];
		if((field.checked) == false)
			{
			alert(msg_mandatory);
			field.style.backgroundColor = color3;
			return false;
			}
		else
			{
			field.style.backgroundColor = color4;
			}
		}

	return true;
	}


function check_radios(id_to_check,group_to_disable)
	{
	// Radioboxes bei bestimmten Werten deaktivieren
	// IDs müssen in der HTML-Seite für die Prüffelder definiert sein
	
	var field1 = document.getElementById(id_to_check);

		for (j=0; j<window.document.data.length; j++)
			{
			var field2 = window.document.data.elements[j];
			if (field2.name == group_to_disable)
				{
				if (field1.checked == true)
					{				
					field2.disabled = true;
					}
				else
					{				
					field2.disabled = false;
					}
				}
			}

	}


function is_email(string)
{
if ((string.length > 0) && (string.length < 7)) return false;

if (string.length > 0) 
	{
	var iChars = "*|,\":<>[]{}`\';()&$#%";

	for (var i = 0; i < string.length; i++)
		{
		if (iChars.indexOf(string.charAt(i)) != -1)
			{
			return false;
			}
		}
	if ((string.indexOf("@") == -1) || (string.indexOf(".") == -1))
		{
		return false;
		}
	return true;
	}
}

function is_numeric(string)
{
if (string.length > 0) 
	{
	var iChars = "0123456789.,";

	for (var i = 0; i < string.length; i++)
		{
		if (iChars.indexOf(string.charAt(i)) == -1)
			{
			return false;
			}
		}
	return true;
	}
}

function is_phone(string)
{
if ((string.length > 0) && (string.length < 8)) return false;

if (string.length > 0) 
	{
	var iChars = "0123456789/.-()[]";

	for (var i = 0; i < string.length; i++)
		{
		if (iChars.indexOf(string.charAt(i)) == -1)
			{
			return false;
			}
		}
	return true;
	}
}

function popup(link)
{
	var win = null;
	var w = 630;
	var h = 480;
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars=yes,toolbar=1,resizable=0,'
        win = window.open(link+"&popup=1",'small_popup',settings);
	if(win.window.focus){win.window.focus();}
}

function big_popup(link)
{
	var win = null;
	var w = 905;
	var h = 600;
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars=yes,toolbar=1,resizable=0,'
        win = window.open(link+"&popup=1",'big_popup',settings);
	if(win.window.focus){win.window.focus();}
}

function print_popup(link)
{
	var win = null;
	var w = 680;
	var h = 600;
	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars=yes,menubar=1,toolbar=1,resizable=0,'
        win = window.open(link+"&popup=1&print=1",'print_popup',settings);
	if(win.window.focus){win.window.focus();}
}

function open_calendar(feld)
	{
//	var wert = document.getElementsByName(feld)[0].value;

	var wert = "02.02.2007";

	if ((wert.charAt(2) == ".") && (wert.charAt(5) == "."))
		{
		var my_wert = wert;
		}
	else
		{
		var my_wert = wert.substr(0,2) + "." + wert.substr(2,2) + "." + wert.substr(4,2);
		}
//	NewWindow('../../webcal.exe?PAGE=calendar.htm&VARNAME='+feld+'&DATE='+my_wert+'&MONTHNAME=1&SHOWHEADER=0&DFORMAT=DD.MM.YYYY', 'calendar', 240, 240, 'no', 'no');

	NewWindow('http://data.axess.de/hdz_demo/webcal.exe?PAGE=calendar.htm&VARNAME='+feld+'&DATE='+my_wert+'&MONTHNAME=1&SHOWHEADER=0&DFORMAT=DD.MM.YYYY', 'calendar', 240, 240, 'no', 'no');
	}




	
function NewWindow(mypage,myname,w,h,scroll){
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable';
var mylink = mypage+'&popup=1';
win = window.open(mylink,myname,settings)
if(win.window.focus){win.window.focus();}
}

function dropdown_value(feldname)
{
var feld=document.getElementsByName(feldname)[0];
return(feld.value);
}

function dropdown_text(feldname)
{
var feld=document.getElementsByName(feldname)[0];
var x = feld.selectedIndex;
return(feld[x].text);
}

function copy_value(my_value,my_field)
{
document.getElementsByName(my_field)[0].value = my_value;
}

function double_copy_value(my_value,my_field1,my_field2,my_separator)
{
if (my_value.search (my_separator) > -1)
	{
	var the_value = my_value.split(my_separator);
	document.getElementsByName(my_field1)[0].value = the_value[0];
	document.getElementsByName(my_field2)[0].value = the_value[1];
	}
else
	{
	document.getElementsByName(my_field1)[0].value = my_value;
	}
}

function close_load()
{
//window.opener.location.reload();
x = parent.window.opener.document.getElementsByName("data")[0];
x.submit();
this.close();
}

function holehoehe (abstand)
	{
	var winH = 0;
	if (parseInt(navigator.appVersion)>3)
		{
		$empty=146;
		if (navigator.appName=="Netscape")
			{
			winH = window.innerHeight;
			$empty=146;
			}
		if (navigator.appName.indexOf("Microsoft")!=-1)
			{
			winH = document.body.offsetHeight;
			$empty=154;
			}
		}
	if (winH>0)
		{
		$sizer=winH-$empty-abstand;
		document.write('<br><img src="/images/spacer.gif" width="1" height="'+$sizer+'">');
		}
	}
	
function show_pic(my_dir,my_pic,my_header)
{
window.document.getElementById("gal_pic").innerHTML = '<img src="' + my_dir + my_pic + '">';
window.document.getElementById("gal_header").innerHTML = 'Gallery | ' + my_header;
}