function ValidateInputFields(form)
{
    var count = 0;
    var mailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

    if(form)
    {
        nodes = jQuery("#"+form+" input").get();
    }
    else
    {
        nodes = document.getElementsByTagName('input');
    }
        
    for(var i=0; i<nodes.length; i++)
    {
        if(nodes[i].getAttribute('required') == 'true' && (nodes[i].getAttribute('type') == 'text' || nodes[i].getAttribute('type') == 'file') && nodes[i].value == '')
        {
            nodes[i].style.border = '1px red dotted';
            count++;
        }
        else if(nodes[i].getAttribute('required') == 'true' && (nodes[i].getAttribute('name') == 'mail' || nodes[i].getAttribute('name') == 'email'))
        {
            if(!mailFilter.test(nodes[i].value))
            {
                nodes[i].style.border = '1px red dotted';
                alert('het email adres is niet correct');
                return false;
            }
        }
        else if(nodes[i].getAttribute('required') == 'true' && nodes[i].getAttribute('type') == 'checkbox' && nodes[i].checked == false)
        {
            var els = document.getElementsByName(nodes[i].name);
            var val = '';
            
            for (xcount=0;xcount<els.length;xcount++) 
            { 
                  if (els[xcount].checked) 
                  { 
                    val = els[xcount].value; 
                  } 
            } 
            if(val == '')
            {
                nodes[i].style.border = '1px red dotted';
                count++;
            }
            else
            {
                nodes[i].style.border = '1px #CCCCCC solid';
            }            
        }
        else if(nodes[i].getAttribute('required') == 'true' && nodes[i].getAttribute('type') == 'radio')
        {
            var els = document.getElementsByName(nodes[i].name);
            var val = '';
            
            for (xcount=0;xcount<els.length;xcount++) 
            { 
                  if (els[xcount].checked) 
                  { 
                         val = els[xcount].value; 
                  } 
            } 
            if(val == '')
            {
                nodes[i].style.border = '1px red dotted';
                count++;
            }
            else
            {
                nodes[i].style.border = '1px #CCCCCC solid';
            }
        }        
        else
            nodes[i].style.border = '1px #CCCCCC solid';
    }    
    
    if(form)
    {
        nodes = jQuery("#"+form+" textarea").get();
    }
    else
    {
        nodes = document.getElementsByTagName('textarea');
    }    
    
    for(var i=0; i<nodes.length; i++)
    {
        if(nodes[i].getAttribute('required') == 'true')
        {
            if(jQuery(nodes[i]).hasClass('mce') || jQuery(nodes[i]).hasClass('tinymce'))
            {
                if(tinyMCE.get(nodes[i].id).getContent() == '')
                {
                    nodes[i].style.border = '1px red dotted';
                    count++;
                }
            }
            else
            {
                if(nodes[i].value == '')
                {
                    nodes[i].style.border = '1px red dotted';
                    count++;
                }
            }
        }
        else
            nodes[i].style.border = '1px #CCCCCC solid';
    }
     
    if(form)
    {
        nodes = jQuery("#"+form+" select").get();
    }
    else
    {
        nodes = document.getElementsByTagName('select');
    }
    
    for(var i=0; i<nodes.length; i++)
    {
        if(nodes[i].getAttribute('required') == 'true' && nodes[i][nodes[i].selectedIndex].value == '')
        {
            nodes[i].style.color = 'red';
            count++;
        }
        else
            nodes[i].style.color = '#000';
    }     
        
    if(count > 0)
    {
        window.alert('Vul a.u.b. alle verplichte velden in.');
        count = 0;
        return false;
    }
    return true;
}

function CheckVerplicht(formid)
{
    var action = jQuery('#'+formid).attr('action');

    if(action.length == 0)
        action = window.location.href;
        
    action = action + 'check/';
    jQuery.post(action,jQuery('#'+formid).serialize(),function(data){
        jQuery('input, select, textarea').removeClass('verplicht_niet_ingevuld_border').removeClass("verplicht_niet_ingevuld_color");
        jQuery('input, select, textarea').parent().removeClass('verplicht_niet_ingevuld_border').removeClass("verplicht_niet_ingevuld_color");
        if(data.length > 0)
        {
            for(i=0;i<data.length;i++)
            {
                //Geen INPUT element?
                if(jQuery('input[name='+data[i]+']').size() == 0)
                {                
                    //Ook geen textarea?
                    if(jQuery('textarea[name='+data[i]+']').size() != 0)
                    {                        
                        jQuery('textarea[name='+data[i]+']').addClass('verplicht_niet_ingevuld_border');
                    }
                    //Dan is het een select
                    else
                    {
                        jQuery('select[name='+data[i]+']').addClass('verplicht_niet_ingevuld_color');
                    }
                }
                else
                {
                    if(jQuery('input[name='+data[i]+']').attr('type') == 'text')
                        jQuery('input[name='+data[i]+']').addClass('verplicht_niet_ingevuld_border');
                    if(jQuery('input[name='+data[i]+']').attr('type') == 'file')                    
                        jQuery('input[name='+data[i]+']').addClass('verplicht_niet_ingevuld_border');
                    if(jQuery('input[name='+data[i]+']').attr('type') == 'radio')                        
                        jQuery('input[name='+data[i]+']').parent().addClass('verplicht_niet_ingevuld_color');
                    if(jQuery('input[name='+data[i]+']').attr('type') == 'checkbox')                        
                        jQuery('input[name='+data[i]+']').parent().addClass('verplicht_niet_ingevuld_color');                    
                }
            }
            alert("Vul a.u.b. alle verplichte velden in (rood gemarkeerd)");
        }
        else
        {
            jQuery('#'+formid).submit();
        }
    },"json");
}
