window.addEvents({
	'domready': function() {
		
		MooTools.lang.setLanguage("nl-NL")
		
		globals = getGlobalVars();
		initShadowbox('a.shadowbox');
	},
	'load': function() {
		initForms();
		initAjaxForms();		
		// google maps
		if($('map')) { load(); };
		
	},
	'unload': function() {
		
		// google maps
		if($('map')) { GUnload(); };
	}
});

function getGlobalVars() {
	
	var request = new Request.JSON({
		'url': '/jsglobals',
		'method': 'get',
		'onSuccess': function(responseJSON) {
			handleGlobals(responseJSON.vars);
		}
	});
	request.send();
}

function handleGlobals(response) {
	globals = response;
}

function initShadowbox(element) {
	var shadowLinks = $$(element);
	if (shadowLinks.length == 0) return;

	shadowLinks.each(function(link) {
		link.addEvents({
			'click': function(e) {
				e.stop();
				Shadowbox.open({
					'player': 'iframe',
					'content': link.getProperty('href'),
					'options': {
						'overlayColor': '#000000',
						'displayNav': false
					},
					'width': 530,
					'height': 400
				});
			}
		});
	});
}

function initForms() {

	var forms = $$('form');
	forms.each(function(formelement) {
		var formid = formelement.get('id');
		var submitbut = $(formelement).getElement('a#submitbut');

		var validator = new Form.Validator(formelement, {
			onFormValidate: function(passed, form) {
				if (passed) {
					form.submit();
				}
			},
			errorPrefix: '',
		    useTitles: true
		});
		
		validator.add('validate-date', {
		    errorMsg: 'Vul een geldige datum in (dd-mm-yyyy)',
		    test: function(field){
				
				if (field.get('value').length > 0) {
					Date.defineParser('%d-%m-%Y');
					datevalue = new Date().parse(field.get('value'));
					return datevalue.isValid();
				} else {
					return true;
				}
		    }
		});
		
		if(submitbut) {
			submitbut.addEvents({
				'click': function(){
					validator.validate();
				}
			});	
		}
	});
}

function initAjaxForms() {
	
	formelements = [];
	formelements[0] = 'loginbox';
	
	formelements.each(function(form) {
		
		if (!$(form)) return;
		
		$(form).getElement('a#submitbut').addEvents({
			'click': function(event) {
				event.stop();
				new Element('input', {'type': 'hidden', 'name': 'method', 'value': 'ajax'}).inject($(form));
				$('message').empty();
				$(form).set('send', {
					onComplete: function(response) {
						if (response == 'TRUE') {
							window.location.href = globals.redirect_url;
						} else {
							$('message').set('html', response);
						};
					}
				});
				$(form).send();
			}
		});
	})
}

