String.prototype.ltrim = function(){
	return this.replace(/^\s+/,'');
}
String.prototype.rtrim = function(){
	return this.replace(/\s+$/,'');
}
String.prototype.trim = function(){
	return this.ltrim().rtrim();
}
pruefen = {
	chName: [_name, 'Bitte geben Sie Ihren Namen an'],
	chEmail: [_email, 'Bitte geben Sie eine korrekte email-Adresse an.'],
	chStrasse: [_name, 'Bitte geben Sie Ihre Strasse und Hausnummer an.'],
	chHnr: [_numAlpha, 'Bitte geben Sie Ihre Strasse und Hausnummer an.'],
	chNumber: [_number, 'Bitte geben Sie einen korrekten Zahlwert ein.'],
	chOrt:[_name, 'Bitte geben Sie Ort und Postleitzahl an.'],
	chPLZ: [_number, 'Bitte geben Sie Ort und Postleitzahl an.']
};
function checks(errors){
	var check = true,
		atest = false,
		failure = '';
		if(errors){
			document.getElementById(errors).innerHTML = '';
		}
	for(var i = 1, len = arguments.length; i < len; i++){
		failure = '';
		if(arguments[i].constructor === Array){
			for(var j = 0; j < arguments[i].length; j++){
				failure = checkArgument(arguments[i][j]) || failure;
			}
			if(failure){
				check = false;
				if(errors){
					document.getElementById(errors).innerHTML = document.getElementById(errors).innerHTML + failure + '<br/>';
				}
			}
		}else	if(arguments[i].typ && arguments[i].field){
			atest = true;
			if(failure = checkArgument(arguments[i])){
				check = false;
				if(errors){
					document.getElementById(errors).innerHTML = document.getElementById(errors).innerHTML + failure + '<br/>';
				}
			}
		}
	}
	//alert('returns: ' + (check && atest));
	return check && test;
}

function checkArgument(argument){
	var failure = '';
	if(argument.typ && argument.field){
		var lab = argument.field.id.replace(/field/,'label');
		if(pruefen[argument.typ][0](argument.field)){
			if(document.getElementById(lab)){
				document.getElementById(lab).style.color = 'red';
			}
			failure =  pruefen[argument.typ][1];
		}else{
			if(document.getElementById(lab)){
				document.getElementById(lab).style.color = '';
			}
		}
	}
	//alert(argument.typ +'::'+ argument.field + '::' + failure);
	return failure;
}
function _number(feld){
	if(feld.value){
		if(!isNaN(feld.value)){
			return false;
		}
	}
	return 'Bitte geben Sie einen korrekten Wert ein!';
}
function _numAlpha(feld){
	if(feld.value && feld.value.trim()){
		var redEx = /^[0-9]+[a-z0-9]*$/i
		if(redEx.test(feld.value)){
			return false;
		}
	}
	return 'Bitte geben Sie korrekte Werte ein!';
}
function _email(feld){
	if(feld.value && feld.value.trim()){
		var redEx = /^[üöäÜÖÄßa-z0-9]+[-_\.üöäÜÄÖßa-z0-9]{2,}@[a-z0-9]+[-_a-z0-9\.]{2,}\.[a-z]{2,4}$/i
		if(redEx.test(feld.value)){
			return false;
		}
	}
	return 'Bitte geben Sie eine korrekte email-adresse an!';
}

function _name(feld){
	if(feld.value && feld.value.trim()){
		var redEx = /^[a-zäAöÖüÜ]+[-\.\s,a-züöäÜÖÄß]{2,}$/i
		if(redEx.test(feld.value)){
			return false;
		}
	}
	return 'Bitte geben Sie Ihren Namen an!';
}
function searchings(){
	if(document.getElementsByTagName('body')[0]){
		if(window.location.search){
			params = window.location.search.split('?').join('').split('&');
			for(var i = 0; i < params.length; i++){
				vals = params[i].split('=');
				if(vals[0] == 'alert'){
					alert(unescape(vals[1]));
				}else	if(document.getElementById(vals[0])){
					document.getElementById(vals[0]).innerHTML = unescape(vals[1]);
				}
			}
		}
	}else{
		setTimeout(searchings, 100);
	}
}
searchings();
