
function wsh_openPopup(url, width, height) {
	var popupWnd = getTopWindow().createNewPopup();
	popupWnd.setTitle("<span class='closebtn' onclick='getTopWindow().getPopup().close(); return false;'>&nbsp;</span>");
	popupWnd.load(url, width, height);
}

function doWebsiteAction(param, width, height) {
    var url = new URL(document.location.href);
    var action = url.getParameter("websiteAction");
    if (action == "openCallback") {
        wsh_openPopup(param, width, height);
    } else if (action == "openTestVersion") {
        showTestVersion(param);
    }
}

/*
 * checks for required input in forms and highlights the missing fields
 * in the BRANCH/[partner|contact].html pages
 */
function checkForm( name ) {
	var keys;
	if ( name == "contact" )
		keys = ["anrede", "vorname", "nachname", "email", "thema", "nachricht"];
	else if ( name == "partner") 
		keys = ["anrede", "vorname", "nachname", "email", "telefon", "firma" ];
	else
		return;
	
	var canSubmit = true;
	
	var neededkeys = {};
	var setkeys = {};
	for ( var i = 0; i < keys.length; i++ ) {
		neededkeys[ keys[i] ] = true;
	}
	
	var form = $(name+"Form");
	for (var i = 0; i < form.elements.length; i++) {
		var elem = form.elements[i];
		if ( neededkeys[elem.name] != true )
			continue;
		if ( elem.type == "radio" || elem.type == "checkbox") {
			if ( elem.checked )
				setkeys[ elem.name ] = true;
		} else if ( elem.value != null && elem.value != "" )
			setkeys[ elem.name ] = true;
			
		// hack, check if email is really needed 
		if ( elem.name == "email" && neededkeys["email"] == true ) {
			var reg = new RegExp('^([a-zA-Z0-9\-\.\_]+)' + '(\@)([a-zA-Z0-9\-\.]+)' + '(\.)([a-zA-Z]{2,4})$');
			if ( !reg.test( elem.value ) ) {
				alert("Bitte geben Sie ein gültige Email-Adresse an.");
				canSubmit = false;
			}
		}
	}
	
	for ( var i = 0; i < keys.length; i++ ) {
		var x = $(name + "Form_" + keys[i]);
		if ( setkeys[ keys[i] ] != true ) {
			canSubmit = false;
			if ( x ) $( name + "Form_" + keys[i]).addClassName("formInputError");
		} else {
			if ( x ) $( name + "Form_" + keys[i]).removeClassName("formInputError");
		}
	}
	
	var errorMsg = $(name+"ErrorMsg");
	if ( errorMsg ) {
		if ( canSubmit ) {
			errorMsg.style.visibility = "hidden";
		} else {
			errorMsg.style.visibility = "visible";
		}
	}
	
	return canSubmit;
}

