function validate()
{
	emptyString = /^\s*$/
	err = false;
	msg ='';
	emailCheck = true;
	
	if (emptyString.test(document.contactform.naam.value)) 
	{
		msg = 'Name is a required field\n';
		err = true;
	}
	
	if (emptyString.test(document.contactform.telefoon.value)) 
	{
		msg = msg + 'Telephone is a required field\n';
		err = true;
		emailCheck = false;
	}	
	
	if (emptyString.test(document.contactform.emailadres.value)) 
	{
		msg = msg + 'E-mail address is a required field\n';
		err = true;
		emailCheck = false;
	}
	
	if (emailCheck == true)
	{
		var emailadres = /^[^@]+@[^@.]+\.[^@]*\w\w$/
  		if (!emailadres.test(document.contactform.emailadres.value)) 
		{
		msg = msg + 'E-mail address seems not vaild\n';
		err = true;
  		}
	}
	
	if (emptyString.test(document.contactform.opmerkingen.value)) 
	{
		msg = msg + 'Comments is a required field\n';
		err = true;
		emailCheck = false;
	}
		
	if (err)
	{
		alert(msg);
		err = false;
	}
	else
	{
		document.forms.contactform.submit()
	}
}

/* agenten */

function gotoUrl(sel)
{	
	for (i=1 ; i<sel.length ; i++)
	{
		if (sel[i].selected == true)
		{
			document.location = sel[i].value;
		}
	}
}

function rewrite_initials(sInitials){
    var sInitials = sInitials;
    var iLength = sInitials.length;
    var sInitialsFormatted = "";
    
    var skipnext = false;
    for (i = 0; i < iLength; i++){
    
        //check if character is alpha
        if(
            ((sInitials.charCodeAt(i) > 64) && (sInitials.charCodeAt(i) < 91)) || 
            ((sInitials.charCodeAt(i) > 96) && (sInitials.charCodeAt(i) < 123))
        ){
            if(!skipnext){
                if(sInitials.charAt(i) == 'T'){
                    sInitialsFormatted = sInitialsFormatted + 'T';
                    
                    if(sInitials.charAt(i + 1) == 'h'){
                        sInitialsFormatted = sInitialsFormatted + 'h';
                        skipnext = true;
                    }
                    
                    sInitialsFormatted = sInitialsFormatted + '.';
                }else{
                    sInitialsFormatted = sInitialsFormatted + sInitials.charAt(i).toUpperCase() + '.';
                }
            }else{
                skipnext = false;
            }
        }else{
            if(skipnext){
                skipnext = false;
            }
        }
    }
    
    return sInitialsFormatted;
}

$(function() {

	$("form#newsletterform a.form-button").click(function(){
	    $(this).parents('form:first').submit();
	});
	
	$("form#newsletterform").submit(function(){
	    $form = $("form#newsletterform");
	    $form.removeClass('error');
	    $form.find("input[type=text],textarea").each(function() {
	        var $field = $(this);
	        var $label = $field.prev('label');
	
	        /* required fields */
	        if ($label.html().toString().indexOf('*') > -1) {
	            var error = false;
	
	            switch ($field.attr('name')) {
	                case "subscription[email]":
	                    var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	                    if (!filter.test($field.val())) {
	                        error = true;
	                    }
	                    break;
	
	                default:
	                    if($.trim($field.val()).length == 0)
	                    {
	                        error = true;
	                    }
	            }
	            if (error) {
	                $label.addClass('error');
	                $form.addClass('error');
	            } else {
	                $label.removeClass('error');
	            }
	        }
	    });
	    
	    var iCountCheckedCategories = 0;
	    $form.find("input.categorycheckbox").each(function() {
	        if($(this).attr('checked')){
	            iCountCheckedCategories++;
	        }
	    });
	
	    if(iCountCheckedCategories == 0){
	        $('#mailingcategorylistlabel').addClass('error');
	        $form.addClass('error');
	    }else{
	        $('#mailingcategorylistlabel').removeClass('error');
	    }
	
	   /**
	    * Rewrite initials
	    */
	    var sInitials = $.trim($('#initials').val());
	    $('#initials').val(rewrite_initials(sInitials));
	    
	    
	   /**
	    * Uppercase first lastname
	    */        
	    if($.trim($('#lastname').val()).length > 0){
	        $('#lastname').val($.trim($('#lastname').val()).substr(0, 1).toUpperCase() + $.trim($('#lastname').val()).substr(1));
	    }
	    
	    
	    
	   /**
	    * Rewrite full name
	    */
	    var name = $.trim($('#lastname').val());
	    $("#recipientname").val(name);
	
	    
	   /**
	    * Uppercase first tussenvoegsel
	    */        
	    if($.trim($('#tussenvoegsel').val()).length > 0){
	        $('#tussenvoegselucfirst').val($.trim($('#tussenvoegsel').val()).substr(0, 1).toUpperCase() + $.trim($('#tussenvoegsel').val()).substr(1));
	    }
	    
	    if($('div.captcha').length){
	        $('#captchaerror').hide();
	        
	        var sData = 'captcha_code=' + $('#captchacode').val();
	        
	        var returnValue = false;
	        
	        $.ajax({
	            type: "POST",
	            url: "/ajax/captchacheck.php",
	            data: sData,
	            async: false,
	            success: function(response){
	                if(response != 'ok'){
	                    $form.addClass('error');
	                    document.getElementById('captcha').src = '/phpcaptcha/securimage_show.php?' + Math.random();
	                    $('#captchacode').val('');
	                    $('#captchaerror').show();
	                    returnValue = false;
	                }else{
	                    if ($form.hasClass('error')) {
	                        returnValue = false;
	                    }else{
	                        returnValue = true;
	                        //return true;
	                    }
	                }
	            }
	        });
	        return returnValue;
	    }else{
	        if ($form.hasClass('error')) {
	            return false;
	        }else{
	            return true;
	        }
	    }
	
	    
	});

});
