var cf_required = 'Surname, Name, EMail, Message';

function checkForm(frm, required, mark)
{	/*** Version 2.4, Copyright © by J. Schuchardt, jayes webdesign, www.jayes.de ***/
	var obj, isRequired, fld = Array(), chars, words, result = true;

	for (i = 0; i < frm.length; i++)
	{
		obj = frm.elements[i];

		if (!	obj.nodeName.match(/^(input|option|select|textarea)$/i)
			|| obj.type.match(/^(button|file|hidden|image|reset|submit)$/)
			)	continue;

		isRequired = required.indexOf(obj.name.replace(/\[.*\]/g, '')) >= 0;

		if (obj.type.match(/^(checkbox|radio)$/))
			eval("obj.parentNode.className = obj.parentNode.className.replace(/ ?" + mark + "/g, '');");
		else
			eval("obj.className = obj.className.replace(/ ?" + mark + "/g, '');");

		if (!fld[i])	fld[i] = false;

		if (chars = obj.value.match(/(\w|\.|-)+/g))	chars = chars.join("").length; else chars = 0;
		if (words = obj.value.match(/\s+/g))	words = words.length + 1; else if (chars) words = 1; else words = 0;
	//	alert("Field: " + obj.name + "\nContent: " + obj.value + "\nChars: " + chars + "\nWords: " + words);

		if (isRequired) {
			if (obj.type.match(/^(password$|select|text$|textarea$)/) && obj.value)	fld[i] = true;
			else if (obj.type.match(/^(checkbox|radio)$/) && obj.checked)	fld[i] = true;

			if (obj.type.match(/^(hidden$|password$|select|text$)/) && decodeURI(obj.value).match(/\r|\n/))	fld[i] = false;

			if (!chars)	fld[i] = false;
			else if (obj.name.match(/^Surname$/) && (chars < 2))	fld[i] = false;
			else if (obj.name.match(/^Name$/)    && (chars < 2))	fld[i] = false;
			else if (obj.name.match(/^EMail$/)   && !obj.value.match(/^[a-zA-Z0-9\-\_\.]*[a-zA-Z0-9]+@([a-zA-Z0-9\-\.]*[a-zA-Z0-9]+\.[a-zA-Z]{2,}|(\[?)([0-9]{1,3}\.){3}[0-9]{1,3}(\]?))$/))	fld[i] = false;
		}
		else
			fld[i] = true;

		if (obj.name.match(/^Telephone$/) && obj.value && !obj.value.match(/^[0-9 /\+\-\.\(\)]+$/))	fld[i] = false;
	}

	for (i = 0, j = 0; i < frm.length; i++)
	{
		obj = frm.elements[i];

		if (fld[i] == false) {
			if (obj.type.match(/^(checkbox|radio)$/))
				obj.parentNode.className += (obj.parentNode.className ? ' ' : '') + mark;
			else
				obj.className += (obj.className ? ' ' : '') + mark;

			if (j++ == 0)	obj.focus();
			result = false;
		}
	}

	return result;
}

function resetForm(frm, required, mark)
{	/*** Version 2.3, Copyright © by J. Schuchardt, jayes webdesign, www.jayes.de ***/
	for (i = 0, j = 0; i < frm.length; i++)
	{
		obj = frm.elements[i];

		if (!	obj.nodeName.match(/^(input|option|select|textarea)$/i)
			||	obj.type.match(/^(button|file|hidden|image|reset|submit)$/)
			)	continue;

		if (required.indexOf(obj.name.replace(/\[.*\]/g, '')) >= 0) {
			if (obj.type.match(/^(checkbox|radio)$/))
				eval("obj.parentNode.className = obj.parentNode.className.replace(/ ?" + mark + "/g, '');");
			else
				eval("obj.className = obj.className.replace(/ ?" + mark + "/g, '');");
		}
		if (obj.type.match(/^text/))	value = '';
		if (j++ == 0)	obj.focus();
	}
	return false;
}

