var form_is_valid = true;
function validateText(text){
	return text.length > 1;
}

function validateMail(mail){
	return /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(mail);
}

function validatePlz(plz){
	return /(^[A-Za-z]{1,2}[-]{1}[0-9]{4,5}$)|(^[0-9]{4,5}$)/.test(plz);
}

function showErrorArrow(flag, classname){
	if(flag)
      	$("." + classname).fadeOut();
    else{
		$("." + classname + ", ." + classname + " .formError").fadeIn();
		form_is_valid = false;
	}
}

function validateForm(elem){
	if(elem.hasClass("requiredtext")){
      showErrorArrow(validateText(elem.val()), elem.attr("arrow"));
    }
    if(elem.hasClass("requiredmail")){
      showErrorArrow(validateMail(elem.val()), elem.attr("arrow"));
    }
    if(elem.hasClass("requiredplz")){
      showErrorArrow(validatePlz(elem.val()), elem.attr("arrow"));
    }
    if(elem.hasClass("requiredcheck")){
      showErrorArrow(elem.is(":checked"), elem.attr("arrow"));
    }
}

function initvalidation(formid){
  $("#" + formid + " input").blur(function(){
    validateForm($(this));
  });
  $("#" + formid).submit(function(){
    form_is_valid = true;
    $("#" + formid + " input").each(function(){
      validateForm($(this));
    });
    return form_is_valid;
  });
}
