/* JavaScript-Datei fuer Teamprevent */

/* Formulareeingaben pruefen */
function checkForm(formname, werte) {
	var fields = new Array();
	var check = 0;
	var email_regex = /^.+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})$/;
	var check_email = -1;
	
	for (var i=0; i<werte.length; i++) {
		fields[i] = document[formname][werte[i]].value;
	}
	
	for (var i=0; i<fields.length; i++) {
		if (fields[i] == "") {
			alert('Sie muessen alle mit * gekennzeichneten Felder ausfuellen!');
			return false;
		} else {
			check++;
		}
		if (werte[i] == 're_email') {
			check_email = fields[i].search(email_regex);
			if (check_email == -1) {
				alert('Bitte tragen Sie eine korrekte E-Mail-Adresse ein.');
				return false;
			}
		}
	}

	if (check == werte.length) {
		return true;
	} else {
		return false;
	}
}

// Funktion zum Unterbinden von Mehrfachausfuehrungen
var only_once_list = new Array();
function only_once(obj) {
	if(only_once_list[obj.name] == 1) {
		return true;
	}
	if(obj.href) {
		obj.disabled;
		if(obj.style) {
			obj.style.color = "#999999";
			obj.style.textDecoration = "none";
			obj.style.cursor = 'wait';
		}
		return true;
	}
	for(var i = 0; ; i++) {
		if(!obj[i]) { break; }
		if(obj[i].type != 'button' && obj[i].type != 'submit') { continue; }
		if(obj[i].name == 'execonce') {
			obj[i].disabled;
			if(obj[i].style) {
				obj[i].style.backgroundColor = "#CCCCCC";
				obj[i].style.color = "#999999";
				obj[i].style.border = "solid #999999 1px";
			}
		}
	}
	only_once_list[obj.name] = 1;
	return true;
}

// E-Mail-Schutzfunktion
function openmailurl(prefix, postfix) {
	if(!postfix) {
		postfix = 'mpu.de';
	}
	location.href= 'mailto:' + prefix + '@' + postfix;
}

var requestcounter = 0;
/**
 * @param: Array
 * @param: Url
 * @parma: Funcref
 */
function loadXMLDoc(req, url, func) {
	requestcounter++;
	// Soll der Loading Hinweis angezeigt werden?
	if (document.getElementById("loading")) {
		document.getElementById("loading").style.visibility = "visible";
		document.getElementById("loading").innerHTML = "Bearbeite "+requestcounter+" Anfragen";
	}
	var loadfunc = function() {
		if (req[0].readyState == 4) {
			if (document.getElementById("loading")) {
				document.getElementById("loading").innerHTML = "Bearbeite "+requestcounter+" Anfragen";
				if (requestcounter == 0) document.getElementById("loading").style.visibility = "hidden";
			}
			func();
		}
	};

	if (window.XMLHttpRequest) {
		req[0] = new XMLHttpRequest();
		req[0].onreadystatechange = loadfunc;
		req[0].open("GET", url, true);
		req[0].send(null);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		req[0] = new ActiveXObject("Microsoft.XMLHTTP");
		if (req[0]) {
			req[0].onreadystatechange = loadfunc;
			req[0].open("GET", url, true);
			req[0].send();
		}
	}
}

var refresh_captcha = 1;

function viewCaptcha() {
	// Nur ausfuehren, wenn das refresh_captcha Flag auf 1 steht
	if (refresh_captcha) {
		var request = new Array();
		loadXMLDoc(request, '/cgi-bad-portal/captcha.cgi?action=view&test='+requestcounter, function() {
				if (request[0].status == 200) {
					document.getElementById("captcha_container").innerHTML = request[0].responseText;
				}
			}
		);
		// Flag zuruecksetzen
		refresh_captcha = 0;
	}
	// Rekursion einleiten
	window.setTimeout("viewCaptcha()", 1000);
}
