
function validate(id,container)
 {
	//// eerst checken of het veld verplicht moet worden ingevuld. 

			 if($(id).className.indexOf("required") != -1) //dit veld moet verplicht in gevuld worden.
			 {	
				 
					if($(id).value =='')
					{
					 errorMessage(id, ' verplicht', container);
					}
					else
					{
					 message(id, container);  
					}
			
			 }
			 else
			 {
			 message(id, container);  // herstel van eventuele eerdere error. 
			 } 
			 
	///////////////////////////////////////////////////////////////////////////// 
	 		if($(id).value !='') //veld is ingevuld, nu checken of het voldoet aan geldigheid. 
			{
					
				
					var val_type = Array('url', 'email','pc','tel','adres','file'); // ook deze types checken. 
					for(a=0; a < val_type.length; a++)
					{
						

							if(($(id).className.indexOf(val_type[a]) != -1))
							 {
									str = trim($(id).value);
																	
									if(isValid(val_type[a], str)) //returns true /false true = geldig. 
									{
										message(id, container); 
								
									}
									else
									{
									errorMessage(id, ' ongeldig', container); //veld is ongeldig/
									}
									
							 }
						
			 		}
			}
   }
	  
 
function trim(str)
{
 return str.replace(/^\s+|\s+$/g,'');
}
 

  
 function isValid(type, str)
 {
	//alert(type +'-'+ str);
 
 var format = Array();
 format['url'] = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ ;
 format['email'] = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/  ;
 format['pc'] = /^[1-9][0-9]{3} ?[a-zA-Z]{2}$/ ;  
 format['tel'] = /^[0-9]{2,4}[-]?[0-9]{6,8}$/;
 format['adres'] = /^[A-Za-z]+[0-9]+$/ ;
 format['bedrag'] = /^\$?([0-9]{1,3},([0-9]{3},)*[0-9]{3}|[0-9]+)(.[0-9]{1,2})?$/;
 format['file'] = /\.((jpg)|(gif)|(jpeg)|(pdf)|(doc)|(pgn)|(xls)|(ppt))$/;
 format['barcode'] = /^[0-9]{6}$/  ;
// format['tel'] = /^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$/;

 	

 str=trim(str); 

return (format[type].test(str)); 
 }




function validateForm(f)
{

// alert(f);
var form = document.forms[f];

//start required field for fck editor 
// onBlur onFocus  werkt niet onder FF . 

// we zetten de var isvalid op true; komen we een veld tegen dat fout is dan ISvalid op false. 
	
			var test = 0;
			
	
	if(typeof(FCKeditorAPI) == "object")
        	{

					for ( var name in FCKeditorAPI.__Instances ) 
					{
						var content = FCKeditorAPI.GetInstance(name).GetXHTML();
						
							 if($(name +'___Frame').className == '_required')
								{
										if(content=='') 
										{
										 $(name +'___Frame').style.border = '2px solid red';
										 test = 1;
										}
										else
										{
										$(name +'___Frame').style.border = '0px';
										
										}
									
								}
						
					}
			
			}
			

	
	//end required field for fck editor
//}
			

			
		
			

			// alert(form.id);
			//loop door alle elementen van de desbetreffende form.

			for(i=0; i < form.elements.length; i++)
			{
				
			
					if( (form.elements[i].className.indexOf("required") != -1 ))
						{
							//alert(form.elements[i].id);
							if(form.elements[i].value =='')
							{
								test = 1;
								errorMessage(form.elements[i].id,' verplicht', f);
							}
							else
							{
							  message(form.elements[i].id, f); 
							}
							
						}
					

	
	//alert(form.elements[i].value);
 /////////////////////////////////////////////////////////////////////////////////////
					
					if(form.elements[i].value !='' ) // veld moet natuurlijk wel een waarde hebben om deze te kunnen testen. 
					{
						
						var val_type = Array('url', 'email','pc','tel','adres', 'bedrag', 'file','barcode');
						for(x=0; x < val_type.length; x++)
						{
					
							if((form.elements[i].className.indexOf(val_type[x]) != -1))
							{
								if(val_type[x] == 'barcode')
								{
									//alert('ik test nu op barcode');	
								
									if(validate_barcode(form.elements[i].id,form.elements[i].value,f))
									{
										message(form.elements[i].id, f);
								
										}
										else
										{
										test = 1;
										errorMessage(form.elements[i].id, 'ongeldig', f);
										}
									
								
								}
								else
								{
										if(isValid(val_type[x], form.elements[i].value))
										{
								
										message(form.elements[i].id, f);
								
										}
										else
										{
										test = 1;
										errorMessage(form.elements[i].id, 'ongeldig', f);
										}
								}
							 }
					
						}
						
					}
						
			}
	
	 
	if(test==1) 
	{
	// alert('false');
	return false;
	}
	else
	{
//	 alert('true');
	return true;
	}
	

}


function errorMessage(id,text,f) // veld is niet goed ingevuld.
	{
		
	$(id).style.border = '2px solid #FF0000';

	if($('error_'+ id +'_'+ f)) //<span id=error // alleen gebruiken als die ook bestaat
	{
  	 $('error_'+ id +'_'+ f).innerHTML = text; 
	 $('error_'+ id +'_'+ f).style.color = '#FF0000';
	 
	}
}

function message(id,f) //veld is goed ingevuld.
	{

		$(id).style.border = '1px solid #000000';
		if($('error_'+ id +'_'+ f))
		{
		 $('error_'+ id +'_'+ f).innerHTML = '';
		}
	}
	
	function validate_editor(id) //veld is goed ingevuld.
	{

	 	var content = FCKeditorAPI.GetInstance(id).GetXHTML();
		if(content=='')
		{
		 $(id +'___Frame').style.border = '2px solid #FF0000';
		// $('error_'+ id +'___Frame').innerHTML = ' verplicht';
		// $('error_'+ id +'___Frame').style.color = '#FF0000';
		 return false;
		}
		else
		{
		 $(id +'___Frame').style.border = '0px solid #000000';
		// $('error_'+ id +'___Frame').innerHTML = '';
		 return true;
		}
	
	}

