// Event to handle form submission
    window.addEvent('domready', function(){            
	    
            // Contains the potential error
            var error = "";
            
            // Form validator
            MooTools.lang.setLanguage("nl-NL");
            
            Form.Validator.add('validate-postcode', {
                    errorMsg: 'De postcode dient uit 4 cijfers en 2 letters te bestaan.',
                    test: function(field){
                              str=field.get('value').replace(/(^\s*)|(\s*$)/g, "");
                              if(!str.match(/^[1-9][0-9]{3}[\s]?[A-Z]{2}$/i)) {
                                return false;
                              } else {
                                return true;
                              }
                          }
                });

            // Validator on e-mail form
            var validator = new Form.Validator("emailform", {
                stopOnFailure:true,
                evaluateFieldsOnBlur:false,
                onElementFail: function(element, failed_on){
                        if (error == "") error = "Het formulier kan niet verzonden worden, omdat\n"    
                    
                        if ((element.get("name") == "email") && (failed_on == "validate-email"))
                            error += "\n- Het opgegeven e-mail adres is niet geldig.";
                        else if (element.get("name") == "form_postcode")
                            error += "\n- De opgegeven postcode is niet geldig.";
                        else 
                            error += "\n- Er is geen " + element.get("name") + " ingevuld.";
                },
                onFormValidate: function(passed, form, event) {
                    if (passed) {
                        var formRequest1 = new Form.Request($("emailform"),"messagedialog_message",{
                                resetForm: true
                        });
                        formRequest1.addEvent('success', function () {
                                hideDialog($("form_email"));
                                setTimeout("message('Resultaat')",50);                                    
                        });
                        formRequest1.send();
                    } else {
                        alert(error);
                        error = "";
                    }
                }
                
            });
            
            // Validator on folder form
            var validator = new Form.Validator("folderform", {
                stopOnFailure:true,
                evaluateFieldsOnBlur:false,
                onElementFail: function(element, failed_on){
                        if (error == "") error = "Het formulier kan niet verzonden worden, omdat\n"    
                    
                        if (element.get("name") == "folder_kastenwanden") 
                            error += "\n- Kies ten minste 1 folder";
                        else if ((element.get("name") == "email") && (failed_on == "validate-email"))
                            error += "\n- Het opgegeven e-mail adres is niet geldig.";
                        else if (element.get("name") == "form_postcode")
                            error += "\n- De opgegeven postcode is niet geldig.";
                        else 
                            error += "\n- Er is geen " + element.get("name") + " ingevuld.";
                },
                onFormValidate: function(passed, form, event) {
                    if (passed) {
                        var formRequest1 = new Form.Request($("folderform"),"messagedialog_message",{
                                resetForm: true
                        });
                        formRequest1.addEvent('success', function () {
                                hideDialog($("form_folder"));
                                setTimeout("message('Resultaat')",50);                                    
                        });
                        formRequest1.send();
                    } else {
                        alert(error);
                        error = "";
                    }
                }
                
            });

            // Catch submite event, cause we want to validate first
            $('emailform').addEvent('submit', function(e){
                error = "";
                e.stop();
            });
            $('folderform').addEvent('submit', function(e){
                error = "";
                e.stop();
            });

    });
    
           


    
function form_routebeschrijving_click()
{
    var straat = $('form_routebeschrijving_straat').value;
    var huisnummer = $('form_routebeschrijving_huisnummer').value;
    var plaats = $('form_routebeschrijving_plaats').value;
    showExternal("Routebeschrijving ("+straat+" "+huisnummer+", "+plaats+")", 'http://maps.google.com/maps?f=d&hl=nl&geocode=&saddr='+encodeURI(straat)+' '+huisnummer+' '+ plaats+'+Nederland&daddr=de+keukenhaven');

}



window.addEvent('domready', function() {

	var form_items = $$('div.fieldbox');
		
	//loop through each 'fieldbox' div
	form_items.each(function(element, index) {
	
		var theDesc = element.getElement('.field_desc');
		var theLabel = element.getElement('label');
		var theInput = element.getElement('input');
		
		//handle the textarea
		if(theInput == null){
			theInput = element.getElement('textarea');	
		}
		
		//set up animation for description box
		var desc_fx = new Fx.Morph(theDesc, {
			     duration:250, 
			     transition: Fx.Transitions.Quad.easeOut, 
			     wait:false
		});
		
		//set up animation for input/textarea
		var field_fx = new Fx.Morph(theInput, {
			     duration:250, 
			     transition: Fx.Transitions.Quad.easeOut, 
			     wait:false
		});
		
		//hide description box (immediately)
		//theDesc.setStyle('opacity',0);	 
		
		theInput.addEvents({
			'focus': function(){
				//desc_fx.start({
				//'opacity': 1
				//});
				
				field_fx.start({
				'background-color': '#eeeeee',
				'color': '#18244c'
				});
			},
			
			'blur': function(){
				//desc_fx.start({
				//'opacity': 0
				//});
				
				field_fx.start({
				'background-color': '#ffffff',
				'color': '#18244c'
				});
			}
			
		});
		
	
	});

});
