function error_box(item, content)
{
	var root = $(item).getParent();

	ebox = new Element('div', { 'class': 'error_box' });
	ebox.appendText(content);
	ebox.injectInside(root);
	$(item).setProperty('class','error_highlight');
	(function(){ $(item).focus(); }).delay(100);
}

function mail_test(src) {
   	var emailReg = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
   	var regex = new RegExp(emailReg);
   	return regex.test(src);
}

function error_check(form)
{
	$(form).getElements('div[class=error_box]').each(function(el){el.dispose()});
	var focus = 0;
	var error = 0;
	
	$(form).getElements('fieldset]').each(
		function(el){	
			el.getElements('input[title]').each(
				function(el2){	
					if ( 
					 ((el2.getProperty('title').substring(0, 5) == "empty") && !el2.value) || 
					 ((el2.getProperty('title').substring(0, 5) == "isnum") && isNaN(el2.value)) ||
					 ((el2.getProperty('title').substring(0, 5) == "isnty") && (isNaN(el2.value) || !el2.value))
					)
					{
						ebox = new Element('div', { 'class': 'error_box' });
						if (el2.getProperty('title').substring(6, 100))
							ebox.appendText(el2.getProperty('title').substring(6, 100));
						else
						{
							if (el2.getProperty('title').substring(0, 5) == "empty") ebox.appendText('Campo obbligatorio.');
							else if (el2.getProperty('title').substring(0, 5) == "isnum") ebox.appendText('Campo numerico (decimali separati da . ex. 10.53).');
							else if (el2.getProperty('title').substring(0, 5) == "isnty") ebox.appendText('Campo obbligatorio e numerico (decimali separati da . ex. 10.53).');	
						}
						ebox.injectInside(el);
						el2.setProperty('class','error_highlight');
						if (focus == 0) { 
							(function(){ el2.focus(); }).delay(100);
							 focus = 1;
						}
						error = 1;
					}
					else
						el2.setProperty('class','');
				}
			);
			el.getElements('textarea[title]').each(
				function(el2){
					if ((el2.getProperty('title').substring(0, 5) == "empty") && !el2.value)
					{
						ebox = new Element('div', { 'class': 'error_box' });
						if (el2.getProperty('title').substring(6, 100))
							ebox.appendText(el2.getProperty('title').substring(6, 100));
						else
							ebox.appendText('Campo obbligatorio.');
							
						ebox.injectInside(el);
						el2.setProperty('class','error_highlight');
						if (focus == 0) { 
							(function(){ el2.focus(); }).delay(100);
							 focus = 1;
						}
						error = 1;
					}
					else
						el2.setProperty('class','');
				}
			);
		}
	);
	return error;
}