function checkform(of)
{
	if(!document.getElementById || !document.createTextNode){return;}
	if(!document.getElementById('form_required')){return;}

	var errorID='errormsg';
	var errorClass='error'
	//var errorMsg='Merci d\'entrer ou de modifier le contenu des champs contenant ';
	var errorMsg = error_msg;
	var errorImg='/img/alert_small.gif';
	var errorAlt='Erreur';
	var errorTitle='Ce champ est erronée';
	var reqfields=document.getElementById('form_required').value.split(',');

	if(document.getElementById(errorID))
	{
		var em=document.getElementById(errorID);
		em.parentNode.removeChild(em);
	}
	for(var i=0;i<reqfields.length;i++)
	{
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		if(f.previousSibling && /img/i.test(f.previousSibling.nodeName))
		{
			f.parentNode.removeChild(f.previousSibling);
		}
		f.className='';
	}
	for(var i=0;i<reqfields.length;i++)
	{
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		switch(f.type.toLowerCase())
		{
			case 'text':
				if(f.value=='' && f.id!='form_email'){cf_adderr(f)}							
				if(f.id=='form_email' && !cf_isEmailAddr(f.value)){cf_adderr(f)}							
			break;
			case 'textarea':
				if(f.value==''){cf_adderr(f)}							
			break;
			case 'checkbox':
				if(!f.checked){cf_adderr(f)}							
			break;
			case 'select-one':
				if(!f.selectedIndex && f.selectedIndex==0){cf_adderr(f)}							
			break;
		}
	}
	return !document.getElementById(errorID);

	function cf_adderr(o)
	{
		var errorIndicator=document.createElement('img');
		errorIndicator.alt=errorAlt;
		errorIndicator.src=errorImg;
		errorIndicator.title=errorTitle;
		o.className=errorClass;
		//o.parentNode.insertBefore(errorIndicator,o);
		o.parentNode.appendChild(errorIndicator);

		if(!document.getElementById(errorID))
		{
			var em=document.createElement('div');
			em.id=errorID;
			var newp=document.createElement('p');
			newp.appendChild(document.createTextNode(errorMsg))
			newp.appendChild(errorIndicator.cloneNode(true));
			em.appendChild(newp);
			
			var main = document.getElementById('validation_errors');
			if (main)
			{
				main.parentNode.insertBefore(em,main);
			}
			/*
			for(var i=0;i<of.getElementsByTagName('input').length;i++)
			{
				if(/submit/i.test(of.getElementsByTagName('input')[i].type))
				{
					var sb=of.getElementsByTagName('input')[i];
					//break;
				}
			}
			if(sb)
			{
				sb.parentNode.insertBefore(em,sb);
			}
			*/
			
		} 
	}
	function cf_isEmailAddr(str) 
	{
	    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
	}
}

function checkform_newsletter(of)
{
	if(!document.getElementById || !document.createTextNode){return;}
	if(!document.getElementById('form_required')){return;}
	
	var reqfields=document.getElementById('form_required').value.split(',');
	var error = false;
	
	for(var i=0;i<reqfields.length;i++)
	{
		var f=document.getElementById(reqfields[i]);
		if(!f){continue;}
		switch(f.type.toLowerCase())
		{
			case 'text':
				if(f.value=='' && f.id!='form_email'){error = true;}							
				if(f.id=='form_email' && !cf_isEmailAddr(f.value)){error = true;}							
			break;
			case 'textarea':
				if(f.value==''){error = true;}							
			break;
			case 'checkbox':
				if(!f.checked){error = true;}							
			break;
			case 'select-one':
				if(!f.selectedIndex && f.selectedIndex==0){error = true;}							
			break;
		}
	}
	
	if ( error == true )
	{
		var main = document.getElementById('validation_errors');
		if ( main ) main.innerHTML = "<br /><img src=\"/img/alert_small.gif\" /> " + error_msg + "<br />";
	}
	
	return !error;

	function cf_isEmailAddr(str) 
	{
	    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
	}

}
