// Form-Elemente input und textarea mit title="<VORBELEGUNGSTEXT>" vorbelegen und 
// class="autoclear" oder class="KLASSENNAME1 KLASSENNAME2 autoclear" versehen.
// Wenn der Inhalt des Feldes nur gelöscht werden soll, Klassenname "clearonly" ergänzen.
// JS-Skript BurgFormAutoclear.js einbinden.

function getElementsByTagNameAndClassName(tag, name) {
	var results = new Array();
	var elems = document.getElementsByTagName(tag);
	for (var i=0; i<elems.length; i++) {
		if (elems[i].className.indexOf(name) != -1) {
			results[results.length] = elems[i];
		}
	}
	return results;
}
function checkVorbelegteFormFelder(pForm) {
	if (!pForm) return true;
	var frmfldinput = getElementsByTagNameAndClassName("input","autoclear");
	for (var i=0 ; i<frmfldinput.length; i++) {
		if (frmfldinput[i].title != "" && frmfldinput[i].title == frmfldinput[i].value) frmfldinput[i].value = "";
	}
	var frmfldtextarea = getElementsByTagNameAndClassName("textarea","autoclear");
	for (var i=0 ; i<frmfldtextarea.length; i++) {
		if (frmfldtextarea[i].title != "" && frmfldtextarea[i].title == frmfldtextarea[i].value) frmfldtextarea[i].value = "";
	}
	return true;
}
function prepareFormFelder() {
	var frmfldinput = getElementsByTagNameAndClassName("input","autoclear");
	for (var i=0 ; i<frmfldinput.length; i++) {
		if (frmfldinput[i].title != "") {
			if (frmfldinput[i].value == "") frmfldinput[i].value = frmfldinput[i].title;
			frmfldinput[i].onfocus = function() {
				if (this.value == this.title) {
					this.value = "";
				}
			}
			if (frmfldinput[i].value != "" && frmfldinput[i].className.indexOf("clearonly") == -1) {
				frmfldinput[i].onblur = function() {
					if (this.value == this.title || this.value == "") {
						this.value = this.title;
					}
				}
			}
			if (frmfldinput[i].form) {
				var oldonsubmit = frmfldinput[i].form.onsubmit;
				if (typeof frmfldinput[i].form.onsubmit != 'function') {
					frmfldinput[i].form.onsubmit = function() {
						return checkVorbelegteFormFelder(frmfldinput[i].form);
					}
				} else if (String(frmfldinput[i].form.onsubmit).indexOf("checkVorbelegteFormFelder") == -1) {
					frmfldinput[i].form.onsubmit = function() {
						oldonsubmit();
						return checkVorbelegteFormFelder(frmfldinput[i].form);
					}
				};
			}
		}
	}
	var frmfldtextarea = getElementsByTagNameAndClassName("textarea","autoclear");
	for (var i=0 ; i<frmfldtextarea.length; i++) {
		if (frmfldtextarea[i].title != "") {
			if (frmfldtextarea[i].value == "") frmfldtextarea[i].value = frmfldtextarea[i].title;
			frmfldtextarea[i].onfocus = function() {
				if (this.value == this.title) {
					this.value = "";
				}
			}
			if (frmfldtextarea[i].value != "" && frmfldtextarea[i].className.indexOf("clearonly") == -1) {
				frmfldtextarea[i].onblur = function() {
					if (this.value == this.title || this.value == "") {
						this.value = this.title;
					}
				}
			}
			if (frmfldtextarea[i].form) {
				var oldonsubmit = frmfldtextarea[i].form.onsubmit;
				if (typeof frmfldtextarea[i].form.onsubmit != 'function') {
					frmfldtextarea[i].form.onsubmit = function() {
						return checkVorbelegteFormFelder(frmfldtextarea[i].form);
					}
				} else if (String(frmfldtextarea[i].form.onsubmit).indexOf("checkVorbelegteFormFelder") == -1) {
					frmfldtextarea[i].form.onsubmit = function() {
						oldonsubmit();
						return checkVorbelegteFormFelder(frmfldtextarea[i].form);
					}
				};
			}
		}
	}
}
function addLoadEventPrepareFormFelder(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}
addLoadEventPrepareFormFelder(prepareFormFelder);
