/*
 * Ext JS Library 2.1
 * Copyright(c) 2006-2008, Ext JS, LLC.
 * licensing@extjs.com
 * 
 * http://extjs.com/license
 */

Ext.apply(Ext.form.VTypes, {
	postcode: function(v){
		return /^\d{4}\w{2}$/.test(v);
	},
	postcodeMask: /[\d\w]/,
	postcodeText: 'De postcode moet in het formaat 0000XX',
	telefoon: function(v){ return /((^06\s{0,1}[0-9]{8}$)|(^[0-9]{3,4}\s{0,1}[0-9]{6,7}$)|(^\+{1}[0-9]{2}\s{0,1}[0-9]{2,3}\s{0,1}[0-9]{6,7}$))/.test(v); },
	telefoonMask: /[\d\s]/,
	telefoonText: '10-cijferig telefoonnummer in het formaat: kerngetal-nummer (012 3456789)'	
});

var fp = null;

Ext.onReady(function(){

    Ext.QuickTips.init();

    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'under';
    
    var bouwjaren = [];
    var jaar = (new Date()).getFullYear();
    for (var i=0;i<20;i++) {
    	bouwjaren.push([jaar - i]);
    }
    
    var y = (new Date()).getFullYear() - 18;
    var maxDate = new Date();
    maxDate.setFullYear(y);

    fp = new Ext.FormPanel({
        labelAlign: 'bottom',
		url: 'http://www.groenewelle.nl/groendagaction.php',
        frame: false,
		border: false,
		labelWidth: 155,
		defaults: { 
			width: 600
		},
        items: [{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 0;',
			html: '<div><strong>Inschrijfformulier Groendag</strong></div><br />'
		},{
			xtype:'textfield',
			fieldLabel: 'Naam deelnemer *',
			name: 'Naam',
			blankText: '- Het veld Naam is niet correct ingevuld',
			msgTarget: 'error-panel1',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'Straat',
			name: 'Straat'
		},{
			xtype:'textfield',
			fieldLabel: 'Huisnummer',
			name: 'Huisnummer'
		},{
			xtype:'textfield',
			fieldLabel: 'Postcode',
			name: 'Postcode'
		},{
			xtype:'textfield',
			fieldLabel: 'Plaats',
			name: 'Plaats'
		},{
			xtype:'textfield',
			fieldLabel: 'Telefoonnummer *',
			name: 'Telefoonnummer',
			blankText: '- Het veld Telefoonnummer is niet correct ingevuld',
			msgTarget: 'error-panel2',
			allowBlank: false
        },{
			xtype:'textfield',
			fieldLabel: 'E-mailadres *',
			name: 'E-mailadres',
			vtype:'email',
			blankText: '- Het veld E-mailadres is niet correct ingevuld',
			msgTarget: 'error-panel3',
			allowBlank: false
		},{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 0;',
			html: '<div>Ik schrijf mij in voor de volgende workshops en presentaties (u kunt maximaal vier workshops kiezen):</div><br />'
		
		// checkboxes
		
		},{
			xtype:'checkbox',
			hideLabel : true,
			boxLabel : '1. Groene speelruimte ontwerpen',
			name: 'cursus[]',
			value: '1. Groene speelruimte ontwerpen',
			inputValue: '1. Groene speelruimte ontwerpen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '2. Milieuvriendelijke onkruidbestrijding op verhardingen',
			name: 'cursus[]',
			value: '2. Milieuvriendelijke onkruidbestrijding op verhardingen',
			inputValue: '2. Milieuvriendelijke onkruidbestrijding op verhardingen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '3. Massaria. Bedreigingen en kansen voor een duurzaam bomenbestand',
			name: 'cursus[]',
			value: '3. Massaria. Bedreigingen en kansen voor een duurzaam bomenbestand',
			inputValue: '3. Massaria. Bedreigingen en kansen voor een duurzaam bomenbestand',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '4. Onderwijsinnovatie',
			name: 'cursus[]',
			value: '4. Onderwijsinnovatie',
			inputValue: '4. Onderwijsinnovatie',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '5. Energie en toepasbaarheid van biomassa',
			name: 'cursus[]',
			value: '5. Energie en toepasbaarheid van biomassa',
			inputValue: '5. Energie en toepasbaarheid van biomassa',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '6. Toekomstbomen',
			name: 'cursus[]',
			value: '6. Toekomstbomen',
			inputValue: '6. Toekomstbomen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '7. Monitoring van insectenplagen met behulp van feromonen',
			name: 'cursus[]',
			value: '7. Monitoring van insectenplagen met behulp van feromonen',
			inputValue: '7. Monitoring van insectenplagen met behulp van feromonen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '8. Boombeleid, nut of noodzaak voor duurzaam boombeheer',
			name: 'cursus[]',
			value: '8. Boombeleid, nut of noodzaak voor duurzaam boombeheer',
			inputValue: '8. Boombeleid, nut of noodzaak voor duurzaam boombeheer',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '9. Integrale aanpak van duurzaam boombeheer',
			name: 'cursus[]',
			value: '9. Integrale aanpak van duurzaam boombeheer',
			inputValue: '9. Integrale aanpak van duurzaam boombeheer',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '10. Direct volwassen hagen kweken met behulp van GPS',
			name: 'cursus[]',
			value: '10. Direct volwassen hagen kweken met behulp van GPS',
			inputValue: '10. Direct volwassen hagen kweken met behulp van GPS',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '11. Discussieworkshop over het nut van kwaliteit',
			name: 'cursus[]',
			value: '11. Discussieworkshop over het nut van kwaliteit',
			inputValue: '11. Discussieworkshop over het nut van kwaliteit',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '12. Continu&iuml;teit van ondernemen door optimaliseren van uw bedrijfsprocessen',
			name: 'cursus[]',
			value: '12. Continuïteit van ondernemen door optimaliseren van uw bedrijfsprocessen',
			inputValue: '12. Continuïteit van ondernemen door optimaliseren van uw bedrijfsprocessen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '13. Vitamine G: de effecten van een groene woonomgeving op gezondheid',
			name: 'cursus[]',
			value: '13. Vitamine G: de effecten van een groene woonomgeving op gezondheid',
			inputValue: '13. Vitamine G: de effecten van een groene woonomgeving op gezondheid',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '14. Hoe kweek ik duurzame (ecologische) bomen',
			name: 'cursus[]',
			value: '14. Hoe kweek ik duurzame (ecologische) bomen',
			inputValue: '14. Hoe kweek ik duurzame (ecologische) bomen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '15. Vaste planten in openbaar groen',
			name: 'cursus[]',
			value: '15. Vaste planten in openbaar groen',
			inputValue: '15. Vaste planten in openbaar groen',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '16. Het fundament in uw tuin',
			name: 'cursus[]',
			value: '16. Het fundament in uw tuin',
			inputValue: '16. Het fundament in uw tuin',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '17. Duurzaamheid door faalkostenbeheersing middels 3D digitaal inmeten en uitzetten',
			name: 'cursus[]',
			value: '17. Duurzaamheid door faalkostenbeheersing middels 3D digitaal inmeten en uitzetten',
			inputValue: '17. Duurzaamheid door faalkostenbeheersing middels 3D digitaal inmeten en uitzetten',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '18. Een duurzame prestatie',
			name: 'cursus[]',
			value: '18. Een duurzame prestatie',
			inputValue: '18. Een duurzame prestatie',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '19. Boomverplanting. Duurzaam door hergebruik',
			name: 'cursus[]',
			value: '19. Boomverplanting. Duurzaam door hergebruik',
			inputValue: '19. Boomverplanting. Duurzaam door hergebruik',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '20. Participatie en duurzaamheid bij inrichten speelplekken',
			name: 'cursus[]',
			value: '20. Participatie en duurzaamheid bij inrichten speelplekken',
			inputValue: '20. Participatie en duurzaamheid bij inrichten speelplekken',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '21. Water en duurzaamheid',
			name: 'cursus[]',
			value: '21. Water en duurzaamheid',
			inputValue: '21. Water en duurzaamheid',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '22. Maatschappelijk verantwoord ondernemen, hype of trend?',
			name: 'cursus[]',
			value: '22. Maatschappelijk verantwoord ondernemen, hype of trend?',
			inputValue: '22. Maatschappelijk verantwoord ondernemen, hype of trend?',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		},{
			xtype:'checkbox',
			hideLabel : true,
			labelSeparator: '',
			boxLabel : '23. SW duurzaam & vraaggestuurd',
			name: 'cursus[]',
			value: '23. SW duurzaam & vraaggestuurd',
			inputValue: '23. SW duurzaam & vraaggestuurd',
			cls: 'chk_cursus',
			handler : checkCursus.createDelegate(this)
		
		// eind checkboxes
		
		},{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 160px;',
			html: '<div>Graag twee reserve workshops aangeven:</div>'
		},{
			xtype:'textfield',
			fieldLabel: 'Reserve workshop 1',
			name: 'reserve_workshop-1'
		},{
			xtype:'textfield',
			fieldLabel: 'Reserve workshop 2',
			name: 'reserve_workshop-2'
		},{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 160px;',
			html: '<div>U kunt de factuur sturen naar:</div>'
		},{
			xtype:'textfield',
			fieldLabel: '(Bedrijfs)naam *',
			name: 'Bedrijfsnaam',
			blankText: '- Het veld (Bedrijfs)naam is niet correct ingevuld',
			msgTarget: 'error-panel5',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'T.a.v. *',
			name: 'Tav',
			blankText: '- Het veld T.a.v. is niet correct ingevuld',
			msgTarget: 'error-panel6',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'Straat *',
			name: 'Straat_factuur',
			blankText: '- Het veld Straat (factuur) is niet correct ingevuld',
			msgTarget: 'error-panel7',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'Huisnummer *',
			name: 'Huisnummer_factuur',
			blankText: '- Het veld Huisnummer (factuur) is niet correct ingevuld',
			msgTarget: 'error-panel8',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'Postcode *',
			name: 'Postcode_factuur',
			blankText: '- Het veld Postcode (factuur) is niet correct ingevuld',
			msgTarget: 'error-panel9',
			allowBlank:false
		},{
			xtype:'textfield',
			fieldLabel: 'Plaats *',
			name: 'Plaats_factuur',
			blankText: '- Het veld Plaats (factuur) is niet correct ingevuld',
			msgTarget: 'error-panel10',
			allowBlank:false
		},{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 160px;',
			html: '<div>Betaling middels eenmalige incasso kan niet als u zich inschrijft via dit formulier. Gebruikt u<br />hiervoor het inschrijfformulier (pdf).<br /><br />U kunt zich inschrijven tot uiterlijk 15 februari 2010. Deelname aan de workshops kost &euro;65,- per persoon (incl. lunch). Na aanmelding ontvangt u een uitnodiging met de routebeschrijving.<br /><br />Afmelden i.v.m ziekte of door andere overmacht kan uitsluitend schriftelijk tot en met 23<br />februari 2010, anders is betaling verschuldigd.<br /><br />Wilt u een kopie ontvangen van uw inschrijving? Vul dan hier uw e-mailadres is:</div>'
		},{
			xtype:'textfield',
			labelSeparator: '',
			name: 'E-mailadres_copy',
			vtype:'email',
			blankText: '- Het veld E-mailadres (kopie) is niet correct ingevuld',
			msgTarget: 'error-panel11'
		},{
			border: false,
			labelSeparator: '',
			style: 'font-size: 12px; color: #656262; margin: 20px 0 0 160px;',
			html: '<div>Velden met een <span style="color: #13aa66;">*</span> gemarkeerd zijn verplicht.</div>'
		}]
    });
	
	fp.render('groendagformulier');
});

function checkCursus(checkbox, checked)
{
	if (Ext.query('input[class*=chk_cursus]:checked').length == 5)
	{
		Ext.Msg.alert('Error','Maximaal 4 cursussen selecteerbaar')
		checkbox.setValue(0);
	}
}

function verstuur() {
	var form = fp.getForm();
	if (form.isValid()) {
		form.submit({
			success:function() {
			    Ext.get('formBox').setVisibilityMode(Ext.Element.DISPLAY).hide(true);
			    Ext.get('bedankt').show();
			},
			failure: function() {
				alert('Er is iets mis gegaan bij het verzenden van het formulier.');
			}
		});
	} else {
		alert('Het formulier is niet correct ingevuld.');
	}
}
