// JavaScript Documentfunction sendFormAjax ( form, form_container, indicator, success_container ){	form_container.style.visibility = 'hidden'	indicator.removeClass('hidden')	var fields = getInputTextSelectFields(form)	var data = new Array()	for(var i = 0; i < fields.length; i++) data.push(fields[i].name + '=' + fields[i].value)	var myRequest = new Request({		method: 'get', 		url: 'page_parts/newsletter.php',		onSuccess: function (responseText, responseXML) {//			alert(responseText)			form.resetAjax()			success_container.removeClass('hidden')			indicator.addClass('hidden')		}	}).send(data.join('&'));}function validateForm ( form, required_fields, form_validation, error_display_container ){	form.resetAjax = function () {		error_display_container.innerHTML = ''		var fields = getInputTextSelectFields(form)		for(var i = 0; i < fields.length; i++) {			fields[i].removeClass('error')			fields[i].value = fields[i].defaultValue		}	}	var messages = new Array()	var required_missing_msg_added = false	var valid = true	var fields = getInputTextSelectFields(form)	for(var i = 0; i < fields.length; i++) {		var valid_email = (fields[i].name == form_validation.email_fieldname) ?(form_validation.email_pattern.exec(fields[i].value) != null) :null		for(var j = 0; j < required_fields.length; j++) {			var required = $(form[required_fields[j]])			if(fields[i] != required) continue			if(fields[i].value == fields[i].defaultValue ||			fields[i].value == '' || valid_email === false) {				valid = false				fields[i].addClass('error')				if(valid_email == null) {					if(form_validation.message_required_missing && !required_missing_msg_added) {						messages.push(form_validation.message_required_missing)						required_missing_msg_added = true					}					if(form_validation.message_field_empty) {						var fieldname = fields[i].name.substring(0, 1).toUpperCase() + fields[i].name.substr(1)						messages.push(form_validation.message_field_empty.replace(/\%fieldname/, fieldname))					}				}				if(valid_email == false) {					messages.push(form_validation.message_email_pattern_failed)				}			} else fields[i].removeClass('error')		}	}	error_display_container.innerHTML = ''	for(var i = 0; i < messages.length; i++) {		var m_box = document.createElement('div')		m_box.appendChild(document.createTextNode(messages[i]))		error_display_container.appendChild(m_box)	}	return valid}function cleanFormDefaultValues ( form ){	var fields = getInputTextFields(form)	if(!fields) return	for(var i = 0; i < fields.length; i++) {		if(fields[i].value == fields[i].defaultValue) {			fields[i].value = ''		}	}}function setDefaultFormValues ( form, default_values ){	var fields = getInputTextFields(form)	if(!fields) return	for(var i = 0; i < fields.length; i++) {		fields[i].defaultValue = default_values[fields[i].getAttribute('name')]		fields[i].value = fields[i].defaultValue	}}function getInputTextFields ( form ){	var fields = form.getElementsByTagName('input')	var r = new Array()	for(var i = 0; i < fields.length; i++) {		if(fields[i].nodeType != 1) continue		if(fields[i].getAttribute('type') != 'text') continue		r.push(fields[i])	}	return r.length ?r :false}function getInputTextSelectFields ( form ){	var r = new Array()	var fields = form.getElementsByTagName('input')	for(var i = 0; i < fields.length; i++) {		if(fields[i].nodeType != 1) continue		if(fields[i].getAttribute('type') != 'text' && fields[i].getAttribute('type') != 'radio') continue		r.push(fields[i])	}	var fields = form.getElementsByTagName('select')	for(var i = 0; i < fields.length; i++) {		if(fields[i].nodeType != 1) continue		r.push(fields[i])	}	return r.length ?r :false}
