/*
# javascript voor de vrienden
# ###############
# Onderdeel van sQuarecoW CMS
# © 2006-2008 sQuarecoW new media
# Versie: 2.00
# Module: vrienden
# ###############
*/

// de elfproef
function elfProef(value) {

	// beginnen
	var sum = 0, position = 9;
	// loop door de waarde heen
	for (i = 0; i < value.length; i++) {
		num = value.substr(i,1);
		// numeriek?
		if (!isNaN(num)) {
			// optellen
			sum += (num * position);
			// 1 positie opschuiven
			position--;
		}
	}
	
	// als de waarde tussen de 2 en 8 cijfers zit, is het een postbanknummer (niet te controleren verder)
	if (position < 7 && position > 1)
		return true;
		
	// anders kijken of er wel 9 cijfers zijn en of de 11 proef klopt
	else {
		if (sum % 11 == 0 && position == 0)
			return true;
		
		else
			return false;
	}
}

window.addEvent('domready', function() {
	$('vrienden_form').addEvent('submit', function(e) {
		e.stop();
		// reset
		var error = 0;
		$$('span.error').setStyle('display', 'none');
		// alle verplichte velden controleren
		$$('input.required').each(function(input) {
			if (input.get('value') == '') {
				//
				input.addClass('error');
				// kijk of er wat in wordt gezet
				input.addEvent('keyup', function() {
					if (input.get('value') != '')
						input.removeClass('error');
				});
				// onthouden
				error = 1;
			}
		});
		// email adres
		// klopt het?
		// is er al een vriend geregistreerd?
		new Request({
			'url': 'index.php?action=emailisvriend',
			'data': 'email=' + $$('input[name=email]').get('value'),
			'method': 'post',
			'async': false,
			'onComplete': function(response) {
				if (response == '1') {
					$('error_email').set('text', 'Op dit e-mailadres is al een vriend geregistreerd').setStyle('display', 'block').fade('hide').fade('in');
					error = 1;
				}
			}
		}).send();
		// machtiging
		if ($('authorization').checked == false) {
			$('authorization_li').setStyle('color', 'red');
				error = 1;
		}
		// rekeningnummer
		if ($('vrienden_form').getElement('input[name=account]').get('value') != '') {
			if (!elfProef($('vrienden_form').getElement('input[name=account]').get('value'))) {
				$('account_error_message').setStyle('display', 'block').fade('hide').fade('in');
				error = 1;
			}
		}
		// een fout?
		if (error == 1) {
			$('error_message').setStyle('display', 'block').fade('hide').fade('in');
			return;
		}
		// geen fout?
		else {
			$('submit_button').set('disabled', true);
			$('vrienden_form').submit();
		}
	});
});