function getAdr(prefix, postfix, text) {
        document.write('<a href="mailto:' + prefix + '@' + postfix + '">' + (text ? text.replace(/&quot;/g, '"').replace(/%EMAIL%/, prefix + '@' + postfix) : prefix + '@' + postfix) + '</a>');
}

function swapImage(element, newimage) {
	var oldsrc = element.src
	element.src = newimage
	if (!element.onmouseout)
		element.onmouseout = function (event) { swapImage(this, oldsrc); };
}



// deletes leading and trailing spaces in a string - adds the function directly to the String Object, so that all strings inherit this method
String.prototype.trim = function() {
    return this.replace(/(^\s*)|(\s*$)/g, '');
}

//checkEmail - needed for forms
function checkEmail(val) {
	if (val) {
		var usr = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
		var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,5}";
		var regex = "^"+usr+"\@"+domain+"$";
		var myrxp = new RegExp(regex);
		var check = (myrxp.test(val));
		if (check!=true) {
			return false;
		}
		else {
			return true;
		}
	}
}


/*-- validate form --*/
function validateForm(form,specialfields) {
    var errors = new Array();
    var fields = form.getElementsByTagName('span');
    for (i = 0; i < fields.length; i++) {
        var span = fields[i].getElementsByTagName('label')[0];
        if (span && span.firstChild) {
            var label = span.firstChild.data;
            label = label.trim();
            if (label.charAt(label.length - 1) == '*') {
                label = label.substring(0, label.length - 1).trim();
                var obj_input = fields[i].getElementsByTagName('input');
                if (!obj_input[0])
                    obj_input = fields[i].getElementsByTagName('select');
                if (!obj_input[0])
                    obj_input = fields[i].getElementsByTagName('textarea');
                if (obj_input && obj_input[0]) {
                    input = obj_input[0];
                    error = false;
                    if (!input.value || input.value.trim().length==0) {
                        error = true;
                        errors.push(label);
                    }
                    if (!error && specialfields[input.name]){
                        specialfield = specialfields[input.name];
                        for (check in specialfield){
                            check_function = specialfield[check].split(',')[0];
                            check_message = specialfield[check].split(',')[1];
                            if (!eval(check_function)(input.value)){
                                error = true;
                                errors.push(label + ' ' + check_message);
                            }
                        }
                    }
                    if (error) {
                        className = fields[i].className;
                        if (className.length>0){
                            className = className + ' ';
                        }
                        fields[i].className = className + 'error';
                    }
                    else {
                        className = fields[i].className;
                        if (className.indexOf('error')>-1) {
                            className = className.replace(' error', '');
                            className = className.replace('error', '');
                            fields[i].className = className;
                        }
                    }
                }
            }
        }
    }
    return errors;
}
myObjects = new Object();
function showFormErrors (errors, form) {
    error_message = '';
    if (form) {
        $(form);
        error_message = '<strong>Diese Felder müssen ausgefüllt werden:</strong><ul>';
        for (i=0;i<errors.length;i++) {
            error_message += '<li>' + errors[i] + '</li>';
        }
        error_message += '</ul>';
        if (!myObjects.errorDiv) {
            myObjects.errorDiv = new Element('div', {'id':'formErrors'});
            myObjects.errorDiv.injectTop(form);
        }
        myObjects.errorDiv.innerHTML = error_message;
        location.href='#formErrors';
    }
    else {
        for (i=0;i<errors.length;i++) {
            error_message += errors[i] + '\n';
        }
    alert(error_message);
    }
}



function popup(url, typ, para1, width, height) {
	attrib = "";
	Y = (screen.height - width) / 2;
	X = (screen.width - height) / 2;
	X = Math.round(X);
	Y = Math.round(Y);
	if (para1 == 'CENTER') attrib += 'height=' + height + ',width=' + width + ',top=' + Y + ',left=' + X;
	if (typ == 'TYP1') attrib += ",scrollbars=no";
	if (typ == 'TYP2') attrib += ",scrollbars=yes";
	if (typ == 'TYP3') attrib += ",scrollbars=yes,menubar=yes";
	fenster = window.open(url, 'win', attrib);
	return false;
}


function hidesearch() {
    if(document.getElementById('searchbox')) {
        var size = document.getElementById('searchbox').offsetHeight+30;
        var diff = document.getElementById('navback').offsetHeight-document.getElementById('nav').offsetHeight;
        /* alert("navback ("+document.getElementById('navback').offsetHeight+") - nav( "+document.getElementById('nav').offsetHeight+") = diff("+diff+") > ssize = "+size); */
        if(diff<size) {
            document.getElementById('searchbox').style.display = "none";
        }
        if(diff>size) {
            document.getElementById('searchbox').style.display = "block";
        }
    }
}

window.onresize = hidesearch;



