////////////////////////////////////////////////////////////////////////////////
// Javascript client input validation
////////////////////////////////////////////////////////////////////////////////
// checks all fields, creates error messages and outputs it into:
// - alert-box ( error_output_field_id ='JS_ALERT_WINDOW'
// - in html element with id =error_output_field_id
////////////////////////////////////////////////////////////////////////////////
// returns true if all valid / false if not (form get's not sent)
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//Identification form validation
////////////////////////////////////////////////////////////////////////////////
function validateSubscriptionFormOnSubmit(theForm, error_output_field_id, error_field_bg_color, valid_field_bg_color, do_validate_flag) {

	// if flag is false do not proceed
	if(do_validate_flag==false) return true;

	var error_msg = "";

	current_field_name = 'subscribe[email]'; current_error_message = '- Please provide a valid Email address<br />';
	if (isInvalidEmail(theForm.elements[current_field_name])){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); var email_error=1;} else { if(email_error!=1) setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}

//	current_field_name = 'subscribe[name]'; current_error_message = '- Please provide your name.<br />';
//	if (getLength(theForm.elements[current_field_name])<1){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); } else { setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}

//	current_field_name = 'subscribe[function]'; current_error_message = '- Please provide your function/job title.<br />';
//	if (getLength(theForm.elements[current_field_name])<1){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); } else { setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}

//	current_field_name = 'subscribe[organisation]'; current_error_message = '- Please provide your organisation.<br />';
//	if (getLength(theForm.elements[current_field_name])<1){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); } else { setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}

//	current_field_name = 'subscribe[country]'; current_error_message = '- Please provide your country.<br />';
//	if (getLength(theForm.elements[current_field_name])<1){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); } else { setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}

//	if (getLength(theForm.elements[current_field_name])<1){ error_msg += current_error_message; setBgColor(theForm.elements[current_field_name],error_field_bg_color); var textfield_error=1; } else { if(textfield_error!=1) setBgColor(theForm.elements[current_field_name],valid_field_bg_color);}


	// output
	if (error_msg != "") {
		if(error_output_field_id=='JS_ALERT_WINDOW'){
			error_msg = error_msg.replace(/<br \/>/g,'\n');
			error_msg = 'Input Error! The following errors occured:'+"\n\n"+error_msg;
			alert(error_msg);
		}else{
			ef=document.getElementById(error_output_field_id);
			error_msg = error_msg;
			ef.innerHTML=error_msg;
		}
		return false;
	}
	return true;
}


//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
// below all currently implemented of form field validations
//////////////////////////////////////////////////////////////////////////////////////////

/*		// textfield - length
	if (getLength(theForm.elements['form_mailer[textfield]'])<3){ error_msg += 'Textfield too short<br />'; setBgColor(theForm.elements['form_mailer[textfield]'],error_field_bg_color); var textfield_error=1; } else { if(textfield_error!=1) setBgColor(theForm.elements['form_mailer[textfield]'],valid_field_bg_color);	}

	// textarea - length
	if ( (getLength(theForm.elements['form_mailer[textarea]'])>20) || (isEmpty(theForm.elements['form_mailer[textarea]'])) ){ error_msg += 'Textarea empty or too long (max.20 char)<br />'; setBgColor(theForm.elements['form_mailer[textarea]'],error_field_bg_color); var textfield_error=1; } else { if(textfield_error!=1) setBgColor(theForm.elements['form_mailer[textarea]'],valid_field_bg_color);	}

	// email-field - invalid/empty
	if (isInvalidEmail(theForm.elements['form_mailer[email]'])){ error_msg += 'Invalid Email address<br />'; setBgColor(theForm.elements['form_mailer[email]'],error_field_bg_color); var email_error=1;} else { if(email_error!=1) setBgColor(theForm.elements['form_mailer[email]'],valid_field_bg_color);}

	// radio buttons - one selected
	if (isNotSelectedRadio(theForm.elements['form_mailer[radio_btn]'])){ error_msg += 'No Radio selected<br />'; setBgColor(document.getElementById('radio_container'),error_field_bg_color); var radio_error=1;} else { if(radio_error!=1) setBgColor(document.getElementById('radio_container'),valid_field_bg_color);}
	// radio button - value selected
	if (getValueRadio(theForm.elements['form_mailer[radio_btn]']) == '2'){ error_msg += '2nd radio not allowed<br />'; setBgColor(document.getElementById('radio_container'),error_field_bg_color); var radio_error=1;} else { if(radio_error!=1) setBgColor(document.getElementById('radio_container'),valid_field_bg_color);}

	// drop-down - one selected
	if (isNotSelectedSelect(theForm.elements['form_mailer[dropdown]'])){ error_msg += 'No Drop-Down selected<br />'; setBgColor(theForm.elements['form_mailer[dropdown]'],error_field_bg_color); var dropdown_error=1;} else { if(dropdown_error!=1) setBgColor(theForm.elements['form_mailer[dropdown]'],valid_field_bg_color);}

	// checkbox - is not checked
	if (isNotCheckedCheckbox(theForm.elements['form_mailer[checkbox]'])){ error_msg += '1st checbox not selected<br />'; setBgColor(theForm.elements['form_mailer[checkbox]'],error_field_bg_color); var dropdown_error=1;} else { if(dropdown_error!=1) setBgColor(theForm.elements['checkbox[dropdown]'],valid_field_bg_color);}
	// checkbox - how many checked
	chkbx_array = Array (theForm.elements['form_mailer[checkbox]'], theForm.elements['form_mailer[checkbox1]'], theForm.elements['form_mailer[checkbox2]'], theForm.elements['form_mailer[checkbox3]']);
	if (getNumCheckedCheckbox(chkbx_array)==0){ error_msg += 'None checked<br />'; setBgColor(document.getElementById('checkbox_container'),error_field_bg_color); var checkbox_error=1;} else { if(checkbox_error!=1) setBgColor(document.getElementById('checkbox_container'),valid_field_bg_color);}

	if (getNumCheckedCheckbox(chkbx_array)>2){ error_msg += 'Too many checked<br />'; setBgColor(document.getElementById('checkbox_container'),error_field_bg_color); var checkbox_error=1;} else { if(checkbox_error!=1) setBgColor(document.getElementById('checkbox_container'),valid_field_bg_color);}
*/
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
