/**
 * @author Peter Berghausen
 */

function onChangeCheckbox(objCkeckbox, id) {
	objField = document.getElementById(id) ;
	if(objCkeckbox.checked) {
		objField.value = 'nein' ;
		objField.readOnly = true;
	} else {
		objField.value = '' ;
		objField.readOnly = false;
	}
}

function checkField(formName, objField, fieldName) {
	objFieldToChange = eval('document.forms.'+formName+'.'+fieldName );
	objFieldToChange.value = objField.checked ? 1 : 0 ;
	//alert(objFieldToChange.value);
}

function showFormError(id, error) {
	objErrorText = document.getElementById('text_'+id) ;
	//alert(error);
	if (error != null && error != '' && objErrorText.innerHTML.indexOf(error) < 0) {
		objErrorText.innerHTML = objErrorText.innerHTML + '<br/>' + error;
	}
	objErrorText.style.color = '#F08404' ;
	
	document.getElementById('formerror').style.display = 'block' ;
}

function removeError(id, text) {
	objErrorText = document.getElementById('text_'+id) ;
	if (objErrorText != null) {
		if (text != null && text != '') {
			objErrorText.innerHTML = text;
		}
		objErrorText.style.color = '#737373' ;
	}
}

function sendForm(objForm) {
	var varReturn = true;
	try  {
		for(i=0; i<objForm.elements.length; i++) {
			if(objForm.elements[i].id != '') {
				if (objForm.elements[i].type == 'radio') { //Radiobuttons
					objRadio = eval('objForm.' + objForm.elements[i].name);
					varReturn = false;
					for (j = 0; j < objRadio.length; j++) {
						//alert(objRadio[j]);
						if (objRadio[j].checked) {
							varReturn = true;
						}
					}
					if (!varReturn) {
						showFormError(objForm.elements[i].name, '');
					}
					i = i + j;
				} else if(objForm.elements[i].type == 'checkbox' && objForm.elements[i].name == 'newsletter') { //Checkbox Newsletter
					for (j = 0; j < objForm.elements.length; j++) {
						if (objForm.elements[j].name.indexOf('email') > -1) {
							if (objForm.elements[i].checked && objForm.elements[j].value == '') {
								showFormError(objForm.elements[j].name, '');
							} else  if (objForm.elements[i].checked && !checkEmail(objForm.elements[j].value)) {
								showFormError(objForm.elements[j].name, 'Das ist keine gültige E-Mail-Adresse!');
								varReturn = false;
							} else {
								removeError(objForm.elements[j].name, '');
							}
						}
					}
				} else if(objForm.elements[i].type == 'checkbox' && objForm.elements[i].name == 'callback') { //Checkbox Rückruf
					for (j = 0; j < objForm.elements.length; j++) {
						if (objForm.elements[j].name.indexOf('telephone') > -1) {
							if (objForm.elements[i].checked && objForm.elements[j].value == '') {
								showFormError(objForm.elements[j].name, '');
							} else {
								removeError(objForm.elements[j].name, '');
							}
						}
					}
				} else if(objForm.elements[i].type == 'checkbox' && objForm.elements[i].name == 'prospekte') { //Checkbox Prospekt
					for (j = 0; j < objForm.elements.length; j++) {
						if (objForm.elements[j].name.indexOf('strasse') > -1 || objForm.elements[j].name.indexOf('plz') > -1 || objForm.elements[j].name.indexOf('ort') > -1) {
							if (objForm.elements[i].checked && objForm.elements[j].value == '') {
								showFormError(objForm.elements[j].name, '');
							} else {
								removeError(objForm.elements[j].name, '');
							}
						}
					}
				} else if(objForm.elements[i].value=='') { 
					showFormError(objForm.elements[i].name, '');
					varReturn = false;
				} else if(objForm.elements[i].name.indexOf('email') > -1 ) {
					if(!checkEmail(objForm.elements[i].value)) {
						showFormError(objForm.elements[i].name, 'Das ist keine gültige E-Mail-Adresse!');
						varReturn = false;
					} else {
						removeError(objForm.elements[i].name, 'Email-Adresse') ;
					}
				} else if(objForm.elements[i].name.indexOf('date') > -1 ) {
					if(!checkDate(objForm.elements[i].value)) {
						showFormError(objForm.elements[i].name, 'Das ist kein gültiges Datum!');
						varReturn = false;
					} else {
						removeError(objForm.elements[i].name, 'Geburtsdatum') ;
					}
				} else if(objForm.elements[i].name == 'password' ) {
					if(objForm.password2 != null && objForm.elements[i].value!=objForm.password2.value) {
						showFormError(objForm.elements[i].name, 'Die Passwörter stimmen nicht überein!');
						varReturn = false;
					} else {
						removeError(objForm.elements[i].name, 'Passwort') ;
					}
				} else {
					removeError(objForm.elements[i].name, '') ;
				}
			}
		}
	} catch(e) {
		alert(e);
		varReturn = false;
	}

	return varReturn ;
}

function checkEmail(email) {
	var filter  = /.*@.*\..*/ ;
	if ( !filter.test(email) ) {
		return false;
	} else {
		return true;
	}
}

function checkDate(date) {
	var filter  = /([0-3]{1})([0-9]{1})\.([0-1]{1})([0-9]{1})\.([1-2]{1})([0-9]{3})/ ;
	if ( !filter.test(date) ) {
		return false;
	} else {
		return true;
	}
}

