var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opens = _____WB$wombat$assign$function_____("opens");
/**
 * @Authors: Rau A., MiB 
 * @Version: 1.3.3
 * @Date: 2011-07-13
 * by RAGBIT GmbH
 
 v1.3.3: added check dateSQL
 v1.3.2: added check dateDMY, check dateYMD and silent argument
 v1.3.1: added pwd support
 **/
 
/** 
 * Regular expressions defenieren 
 * Um auf die Regular expression zuzugreifen 
 * wird in dem feld was gecheckt wird ein Atribut 
 * <INPUT name="be....checkfor="key"../> eingefügt (key ist z. B. "*")
 **/
function formClass() {
	this.checkRegs = new Object();
	/** Feldname = Regular expression **/
	// deprecated: this.checkRegs['*'] = '.+';
	// deprecated: this.checkRegs['#'] = '^[0-9]+$';
	// deprecated: this.checkRegs['@'] = '^([^@])+[@]([^@])+[.]([^@])+$';
	this.checkRegs['value'] = new Object();
	this.checkRegs['value']['regs'] = '.+';
	this.checkRegs['value']['msg'] = 'Angabe fehlt.';
	
	this.checkRegs['num'] = new Object();
	this.checkRegs['num']['regs'] = '^[0-9]+$';
	this.checkRegs['num']['msg'] = 'Nur nummerische Werte erlaubt.';
	
	this.checkRegs['float'] = new Object();
	this.checkRegs['float']['regs'] = '^[-]?[0-9]+[.,]?[0-9]*$';
	this.checkRegs['float']['replace'] = {0:{s: ',', r: '.'}};
	this.checkRegs['float']['msg'] = 'Nur nummerische Werte erlaubt.';
	
	this.checkRegs['email'] = new Object();
	this.checkRegs['email']['regs'] = '^([^@])+[@]([^@])+[.]([^@])+$';
	this.checkRegs['email']['msg'] = 'Keine gültige eMail-Adresse.';
	
	this.checkRegs['id'] = new Object();
	this.checkRegs['id']['regs'] = '^([a-z]|[A-Z]|[0-9]|[-]|[_]|[.])+$';
	this.checkRegs['id']['msg'] = 'Es sind nur die Zeichen a-z, A-Z, 0-9, -, _ und . erlaubt.';
	
	this.checkRegs['azAZ'] = new Object();
	this.checkRegs['azAZ']['regs'] = '^([a-z]|[A-Z])+$';
	this.checkRegs['azAZ']['msg'] = 'Es sind nur die Zeichen a-z, A-Z erlaubt.';
	
	this.checkRegs['check'] = new Object();
	this.checkRegs['check']['regs'] = '.+';
	this.checkRegs['check']['msg'] = 'Auswahl muss gesetzt sein.';
	
	this.checkRegs['dateDMY'] = new Object();
	this.checkRegs['dateDMY']['regs'] = '^[0-9][0-9][.][0-9][0-9][.][0-9][0-9][0-9][0-9]$';
	this.checkRegs['dateDMY']['msg'] = 'Datum bitte im Format TT.MM.JJJJ angeben. Beispiel: 24.12.1982';
	
	this.checkRegs['dateYMD'] = new Object();
	this.checkRegs['dateYMD']['regs'] = '^[0-9][0-9][0-9][0-9][-][0-9][0-9][-][0-9][0-9]$';
	this.checkRegs['dateYMD']['msg'] = 'Datum bitte im Format YYYY.MM.DD angeben. Beispiel: 1982-12-24';
	
	this.checkRegs['dateSQL'] = new Object();
	this.checkRegs['dateSQL']['regs'] = '^[0-9][0-9][0-9][0-9][-][0-9][0-9][-][0-9][0-9][ ][0-9][0-9]:[0-9][0-9]:[0-9][0-9]$';
	this.checkRegs['dateSQL']['msg'] = 'Datum bitte im Format YYYY.MM.DD angeben. Beispiel: 1982-12-24 01:59:55';

	/** Hintergrundfarbe von Felder **/
	this.useErrorBgColor = true; // Hintergrundfarbe ändern wenn ein Fehler auftritt
	this.errorBgColor = '#f9e8c0'; // Bei Fehler
	this.defaultColor = '#ffffff'; // Bei Ok
	
	/** CSS Klasse von Felder **/
	this.useErrorClass = false; // Klasse hinzufügen wenn ein Fehler auftritt
	this.errorClass = ' err'; // Klassname

	/** Fehlernachricht **/
	this.errorMessage = 'Bitte fuellen Sie alle mit * gekennzeichneten Felder aus!'; // Ändern mit formObj.errorMessage = 'Bla bla';
	this.errorTitle = 'Fehler!'; // Ändern mit formObj.errorTitle = 'Bla bla';

	var self = this;

	/**
	 * formular beim abschicken testen
	 * example: <FORM na....onSubmit="return formObj.check(this)"...>
	 **/
	this.check  = function (form_obj, silent) {
		var checkfor;
		var err = 0;
		var err_field = null;
		var error_found = false;
		this.errorlist = '';
		
		if (typeof placeholderObj == 'object') placeholderObj.clear(form_obj);
		
		form_obj = this.climbToForm(form_obj);
		e = form_obj.elements;
		
		for (i=0;i<e.length;i++) {
			// Checkfor festlegen
			checkfor = false;
			error_found = false;
			if (e[i].name){
				var tmp = e[i].name.split(".");
				checkfor = tmp[1];
			}
			
			//
			if (checkfor) {
				v = e[i].value;
				switch(e[i].type) {
					/*case 'option':
					case 'OPTION':
						
						// By errors!
						if (this.checkRegs[checkfor] && (!v.match(this.checkRegs[checkfor]['regs']) || !e[i].checked)) {
							error_found = true;
							// Background color by errors
							if (this.useErrorBgColor) {
								e[i].style.border = e[i].style.outline = '3px solid '+this.errorBgColor;
								// Change color
								if (typeof e[i].onmouseup == 'undefined' || typeof e[i].onmouseup == 'object') {
									e[i].onmouseup = (function (element, obj) {
										return function() { element.style.border = element.style.outline = '0px solid #FFF'; };
									})(e[i], this);
								}
							}
						} 
						// No errors found!
						else {
							if (this.useErrorBgColor) e[i].style.border = e[i].style.outline = 'none';							
						}
						break;*/
					case 'radio':
					case 'RADIO':
						if (this.checkRegs[checkfor]) {
							var radioCheck = false;
							for (r = 0; r < form_obj[e[i].name].length; r++) {
								if (form_obj[e[i].name][r].checked == true) {
									radioCheck = true;
									break;
								}
							}
							// on error
							if (!radioCheck) {
								error_found = true;
								// Background color by errors
								if (this.useErrorBgColor) {
									e[i].style.backgroundColor = this.errorBgColor;
									$("label[for='"+e[i].id+"']").css('background-color', this.errorBgColor);
									// Change color
									if (typeof e[i].onchange == 'undefined' || typeof e[i].onchange == 'object') {
										e[i].onchange = (function (element, obj) {
											return function() {obj.check(element, true);};//element.style.backgroundColor = obj.defaultColor; };
										})(e[i], this);
									}
								}
							}
							// No errors found!
							else {
								if (this.useErrorBgColor) {
									e[i].style.backgroundColor = this.defaultColor;
									$("label[for='"+e[i].id+"']").css('background-color', this.defaultColor);
								}
							}
						}
						break;
					case 'checkbox':
					case 'CHECKBOX':
						// By errors!
						if (this.checkRegs[checkfor] && (!v.match(this.checkRegs[checkfor]['regs']) || !e[i].checked)) {
							error_found = true;
							// Background color by errors
							if (this.useErrorBgColor) {
								e[i].style.border = e[i].style.outline = '3px solid '+this.errorBgColor;
								// Change color
								if (typeof e[i].onmouseup == 'undefined' || typeof e[i].onmouseup == 'object') {
									e[i].onclick = (function (element, obj) {
										//return function() { element.style.border = element.style.outline = '0px solid #FFF'; };
										return function() {obj.check(element, true);};
									})(e[i], this);
									e[i].onchange = (function (element, obj) {
										//return function() { element.style.border = element.style.outline = '0px solid #FFF'; };
										return function() {obj.check(element, true);};
									})(e[i], this);
								}
							}
						} 
						// No errors found!
						else {
							if (this.useErrorBgColor) e[i].style.border = e[i].style.outline = 'none';							
						}
						break;
					case 'password':
					case 'PASSWORD':
						if (this.checkRegs[checkfor] && !v.match(this.checkRegs[checkfor]['regs'])) error_found = true;
						if (typeof passwords == 'undefined') var passwords = new Object();
						if (passwords[checkfor]) {
							if (passwords[checkfor] != e[i].value) error_found = true;
						} else passwords[checkfor] = e[i].value;
						if (error_found) {
							// Background color by errors
							if (this.useErrorBgColor) {
								e[i].style.backgroundColor = this.errorBgColor;
								// Change color
								if (typeof e[i].onchange == 'undefined' || typeof e[i].onchange == 'object') {
									e[i].onchange = (function (element, obj) {
										return function() {obj.check(element, true);};//element.style.backgroundColor = obj.defaultColor; };
									})(e[i], this);
								}
							}
						}
						// No errors found!
						else {
							if (this.useErrorBgColor) e[i].style.backgroundColor = this.defaultColor;
						}
													
						break;
					case 'text':
					case 'TEXT':
					default:
						// By errors!
						if (checkfor == 'check' && v != '1' || this.checkRegs[checkfor] && !v.match(this.checkRegs[checkfor]['regs'])) {
							error_found = true;
							
							// Background color by errors
							if (this.useErrorBgColor) {
								e[i].style.backgroundColor = this.errorBgColor;
								// Change color
								if (typeof e[i].onchange == 'undefined' || typeof e[i].onchange == 'object') {
									e[i].onchange = (function (element, obj) {
										return function() {obj.check(element, true);};//element.style.backgroundColor = obj.defaultColor; };
									})(e[i], this);
								}
							}
						}
						// No errors found!
						else {
							if (this.useErrorBgColor) e[i].style.backgroundColor = this.defaultColor;
							if (typeof this.checkRegs[checkfor]['replace'] == 'object') {
								for (rstri in this.checkRegs[checkfor]['replace']) {
									e[i].value = v.replace(this.checkRegs[checkfor]['replace'][rstri]['s'], this.checkRegs[checkfor]['replace'][rstri]['r']);
								}
							}
						}
						break;
				}
				
				// ERROR FOUND (Set class and generatte message)
				if (error_found) {
					err++;
					if (this.checkRegs[checkfor]['msg'] && tmp[0] != 'undefined') 
						this.errorlist += "\n"+(e[i].title ? e[i].title : tmp[0])+': '+this.checkRegs[checkfor]['msg'];					
					
					// Class by errors
					if(this.useErrorClass && !this.useErrorBgColor) {
						e[i].className += this.errorClass;
						if (typeof e[i].onchange == 'undefined') {
							e[i].onchange = (function (element) {
								return function() {
									element.className = element.className.replace(this.errorClass,"");
								};
							})(e[i]);
						}
					}
				} 
				// ERROR not found (Unset class)
				else {
					if(this.useErrorClass && e[i].className.match(this.errorClass))
						e[i].className = e[i].className.replace(this.errorClass,"");					
				}
			}
		}
		
		if (err > 0) {
      var errorMessageTmp = this.errorMessage;
			if (typeof easyPopup == 'object') {
        if (this.errorlist) errorMessageTmp += "\n" + this.errorlist;
				if (!silent) easyPopup.message(errorMessageTmp, this.errorTitle, 'error_message');
      }
			else {
				if (this.errorlist) errorMessageTmp += "\n" + this.errorlist;
				if (!silent) alert(errorMessageTmp);
			}
	
      delete errorMessageTmp;

			if (err_field && !silent) err_field.select();
			
			if (typeof placeholderObj == 'object') placeholderObj.restore(form_obj);
			return false;
		}
		
		if (!silent) this.clean(form_obj);
		
		return true;
	};
	
	this.climbToForm = function (form_obj) {
		while (form_obj.tagName != 'FORM') {
			if (form_obj.parentNode) form_obj = form_obj.parentNode;
			else break;
		}
		return form_obj;
	}
	
	this.clean = function (form_obj) {
		form_obj = this.climbToForm(form_obj);
		e = form_obj.elements;
		// Felder säubern
		for (i=0;i<e.length;i++) {
			if (e[i].name){
				var tmp = e[i].name.split(".");
				if (tmp[0]) e[i].name = tmp[0];
			}
		}
	}
	
	this.submit = function (formElement) {
		while (formElement.tagName != 'FORM') {
			if (formElement.parentNode) formElement = formElement.parentNode;
			else break;
		}
		if (formElement.tagName == 'FORM') if (typeof formElement.onsubmit != 'function' || formElement.onsubmit()) formElement.submit();
		return false;
	}
}

var formObj = new formClass();
}

/*
     FILE ARCHIVED ON 02:27:46 Aug 22, 2019 AND RETRIEVED FROM THE
     INTERNET ARCHIVE ON 12:39:38 Mar 24, 2026.
     JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.

     ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
     SECTION 108(a)(3)).
*/
/*
playback timings (ms):
  captures_list: 0.529
  exclusion.robots: 0.019
  exclusion.robots.policy: 0.008
  esindex: 0.008
  cdx.remote: 6.47
  LoadShardBlock: 105.244 (3)
  PetaboxLoader3.datanode: 100.918 (4)
  load_resource: 16.09
*/