

// smueller * 2006-07-13
function checkFormFields(formname)
{
	needed_fields = new Array();
	needed_fields["form_download"] = new Array(
		"firma", "Firma",
		"nachname", "Nachname",
		"vorname", "Vorname",
		"email", "E-Mail-Adresse",
		"captcha_code", "Bestätigungscode"
	);

	needed_fields["form_jugendstudien"] = new Array(
		"firma", "Firma",
		"nachname", "Nachname",
		"vorname", "Vorname",
		"email", "E-Mail-Adresse",
		"captcha_code", "Bestätigungscode"
	);
	
	var meldung = "Folgende Felder sind noch nicht bzw. falsch ausgefüllt:\n\n";
	state = true;
	logo_checked = false;
	foto_checked = false;
	var count_fotos = 0, count_logos = 0;
	
	
	try
	{
		f = document.forms[formname];
	}
	
	catch(e)
	{
		eval("f = document." + formname);
	}
	
	// checkboxen durchzaehlen
	if(formname == "form_download")
	{
		for(x = 0; x < f.elements.length; x++)
		{
			if(/checkbox/.exec(f.elements[x].type) && formname == "form_download")
			{
				if(f.elements[x].name == "logo[]")
				{
					count_logos++;
				}
				
				if(f.elements[x].name == "foto[]")
				{
					count_fotos++;
				}
			}
		}
	}
	
	// form-check
	for(a = 0; a < f.elements.length; a++)
	{
		//alert("name: " + f.elements[a].name + " / typ: " + f.elements[a].type);
		
		if(/text/.exec(f.elements[a].type))
		{
			if(f.elements[a].name == "email")
			{
				if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/.test(f.elements[a].value))
				{
					meldung += "Email-Adresse (unvollständig/fehlerhaft)\n";
					state = false;
				}
			}
			else
			{
				if(!f.elements[a].value.length > 0)
				{
					for(b = 0; b < needed_fields[formname].length; b += 2)
					{
						if(needed_fields[formname][b] == f.elements[a].name)
						{
							meldung += needed_fields[formname][b + 1] + "\n";
							state = false;
						}
					}
				}
			}
		}
		
		// fallbedingung fuer download-form wg checkboxen. mind eine muss gechecked sein
		if(/checkbox/.exec(f.elements[a].type) && formname == "form_download")
		{
			if(f.elements[a].name == "logo[]")
			{
				for(c = 0; c < count_logos; c++)
				{
					if(f.elements["logo[]"][c].checked)
					{
						logo_checked = true;
						continue;
					}
				}
			}
			
			if(f.elements[a].name == "foto[]")
			{
				for(c = 0; c < count_fotos; c++)
				{
					if(f.elements["foto[]"][c].checked)
					{
						foto_checked = true;
						continue;
					}
				}
			}
		}
		
		if(/checkbox/.exec(f.elements[a].type) && f.elements[a].name == "anfordern" && formname == "form_jugendstudien")
		{
			if(!f.elements["anfordern"].checked)
			{
				meldung += "Anforderungs-Checkbox\n";
				state = false;
			}
		}
	}

	if(!foto_checked && !logo_checked && formname == "form_download")
	{
		meldung += "mind. eine Downloadauswahl\n";
		state = false;
	}
	
	if(!f.elements["datenschutz"].checked)
	{
		meldung += "Datenschutzerklärung\n";
		state = false;
	}
	
	if(!state)
	{
		alert(meldung);
		return false;
	}
	
	window.open(this.href, 'popupfenster', 'width=300, height=100, statusbar=0, menubar=0')
}
