function clean_Error_Msg() {
	jQuery("#emailfield").next().remove();
	jQuery("#emailfield").removeClass('errorField');
	jQuery("#namefield").next().remove();
	jQuery("#namefield").removeClass('errorField');
	jQuery("#messagefield").next().remove();
	jQuery("#messagefield").removeClass('errorField');
}

function add_Error_Msg(msg) {
	if (msg == error_msg_en_email || msg == error_msg_de_email) {
		jQuery("#emailfield").addClass('errorField');
		jQuery("#emailfield").after("<span class='error-after'>"+msg+"</span>")
	}
	else if (msg == error_msg_en_name || msg == error_msg_de_name) {
		jQuery("#namefield").addClass('errorField');
		jQuery("#namefield").after("<span class='error-after'>"+msg+"</span>")	
	}
	else if (msg == error_msg_en_comment || msg == error_msg_de_comment) {
		jQuery("#messagefield").addClass('errorField');
		jQuery("#messagefield").after("<span class='error-after'>"+msg+"</span>")
	}
}


function onFocus_form_Field(field, defaultValue) {	
	if (field.value.toString() == defaultValue.toString()) {
		//jQuery("#" + field.id).html("");
		field.value='';
	}
}

function isValidEmailAddress(emailAddress) {
	var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
	if (pattern.test(emailAddress)) {
		return true;
	}
	else {
		return false;
	}
}

function isValidEmailAddress_error_msg(fieldValue,alerttxt) {
	if (!isValidEmailAddress (fieldValue)) {
		add_Error_Msg(alerttxt);
	}
}

function isFieldAccepted(fieldValue) {
  if (fieldValue.toString() != "true" ) {
 	return false;
  } else {
     return true;
  }
}

function isFieldAccepted_error_msg(fieldValue,alerttxt) {
	if (!isFieldAccepted (fieldValue)) {
		add_Error_Msg(alerttxt);
	}
}

function validate_field_input(fieldValue) {
	
  if (fieldValue==null||fieldValue=="") {
	return false;
  } else {
    return true;
  }

}

function validate_field_input_error_msg(fieldValue,alerttxt) {
	if (!validate_field_input (fieldValue)) {
		add_Error_Msg(alerttxt);
	}
}
//////END Default field value Handling

///// FIELDS MESSAGES
var error_msg_en_name= "Name must be filled out!";
var error_msg_en_surname = "Surname must be filled out!";
var error_msg_en_email="Email must be valid!";
var error_msg_en_position="Position must be filled out!";
var error_msg_en_company="Company must be filled out!";
var error_msg_en_country="Country must be filled out!";
var error_msg_en_privacy = "Privacy must be accepted!";
var error_msg_en_comment = "Message must be filled out!";

var error_msg_de_name= "Name muss ausgef&uuml;llt sein!";
var error_msg_de_surname = "Surname muss ausgef&uuml;llt sein!";
var error_msg_de_email="Email muss ausgef&uuml;llt sein!";
var error_msg_de_position="Position muss ausgef&uuml;llt sein!";
var error_msg_de_company="Company muss ausgef&uuml;llt sein!";
var error_msg_de_country="Country muss ausgef&uuml;llt sein!";
var error_msg_de_privacy = "Privacy muss akzeptiert werden!";
var error_msg_de_comment = "Nachricht muss ausgef&uuml;llt sein!";

var error_msg_name= "";
var error_msg_surname = "";
var error_msg_email="";
var error_msg_position="";
var error_msg_company="";
var error_msg_country="";
var error_msg_privacy = "";
var error_msg_comment = ""

function setLanguage(lang){
	if (lang.toString() == "de") {
		error_msg_name= error_msg_de_name;
		error_msg_surname = error_msg_de_surname;
		error_msg_email=error_msg_de_email;
		error_msg_position=error_msg_de_position;
		error_msg_company=error_msg_de_company;
		error_msg_country=error_msg_de_country;
		error_msg_privacy = error_msg_de_privacy;
		error_msg_comment = error_msg_de_comment;
	} else { // default en
		error_msg_name= error_msg_en_name;
		error_msg_surname = error_msg_en_surname;
		error_msg_email=error_msg_en_email;
		error_msg_position=error_msg_en_position;
		error_msg_company=error_msg_en_company;
		error_msg_country=error_msg_en_country;
		error_msg_privacy = error_msg_en_privacy;
		error_msg_comment = error_msg_en_comment;
	}
}
///// VALIDATION FORM FIELDS
function validate_form_Name(name) {	
	 clean_Error_Msg();
	 return validate_field_input_error_msg(name.value,error_msg_name);
}

function validate_form_Email(email) {
	 clean_Error_Msg();
	 return isValidEmailAddress_error_msg (email.value,error_msg_email);
}

function isFieldPrivatcyAccepted(accept) {	
	 clean_Error_Msg();
	 return isFieldAccepted_error_msg(accept,error_msg_privacy);
}

function validate_form_Comment(comment) {
	 clean_Error_Msg();
	 return validate_field_input_error_msg(comment.value,error_msg_comment);
}

function validate_form_SurName(surname) {	
	 clean_Error_Msg();
	 return validate_field_input_error_msg(surname.value,error_msg_surname);
}

function validate_form_Position(positions) {	
	 clean_Error_Msg();
	 return validate_field_input_error_msg(positions.value,error_msg_position);
}

function validate_form_Company(company) {	
	 clean_Error_Msg();
	 return validate_field_input_error_msg(company.value,error_msg_company);
}

function validate_form_Country(country) {	
	 clean_Error_Msg();
	 return validate_field_input_error_msg(country.value,error_msg_country);
}

/////END VALIDATION FORM FIELDS

///// HANDLING FORM VALIDATION
function validate_cform(name, email, message){
	clean_Error_Msg();
	validate_field_input_error_msg(name,error_msg_name);
	isValidEmailAddress_error_msg(email,error_msg_email);
	validate_field_input_error_msg(message,error_msg_comment);
	
	return validate_field_input(name)  && 
	isValidEmailAddress (email) &&
	validate_field_input(message);
}
function validate_pform(surname, name ,email ,position, company, country){
	
	clean_Error_Msg();
	validate_field_input_error_msg(name,error_msg_name);
	validate_field_input_error_msg(surname,error_msg_surname);
	isValidEmailAddress_error_msg(email,error_msg_email);
	validate_field_input_error_msg(position,error_msg_position);
	validate_field_input_error_msg(company,error_msg_company);
	validate_field_input_error_msg(country,error_msg_country);
	
	return	validate_field_input(name) &&
	validate_field_input(surname) &&
	isValidEmailAddress(email) &&
	validate_field_input(position) &&
	validate_field_input(company) &&
	validate_field_input(country);
}

function validate_nform(name, email, accept){
	clean_Error_Msg();
	validate_field_input_error_msg(name,error_msg_name);
	isValidEmailAddress_error_msg(email,error_msg_email);
	isFieldAccepted_error_msg(accept,error_msg_privacy);
	
	return validate_field_input(name)  && 
	isValidEmailAddress (email)	&&  
	isFieldAccepted (accept);
}

/////END HANDLING FORM VALIDATION

// Ajax Requests for Forms
// Contact Form
function sendContactRequest(requesturl, name ,email ,message, empfaenger, lang){
  setLanguage (lang);
  if (validate_cform(name, email, message)==true) {
  
		$.ajax({
			type: "POST",
			url: requesturl,
			data: "name=" + name + "&email=" + email + "&comment=" + message + "&empfaenger=" + empfaenger,
			success: function(result){
				jQuery('#contact_form').html(result);
			}
		});

  }

}
