function display_overlay( titel, msg ) {
	$('buttons').set('html', '');

	$('overlay_titel').set('text', titel );
	$('overlay_tekst').set('text', msg );

	$('overlay').setStyle('display', 'block');
}

function hide_overlay() {
	$('buttons').set('html','');
	$('overlay_titel').set('text','');
	$('overlay_tekst').set('text','');
	$('overlay').setStyle('display', 'none');

}

function reload_page() {
	document.location.reload();
}

function addToBasket( prod, quant ) {
	var req = new Request.JSON({
		method: 'post',
		url: '/ajax/add_basket.php',
		data: {
			'product_id': prod,
			'quantity'	: quant
		},
		onComplete: function(result) {
			// loading screen uit
			if( result.in_basket == true ) {
				display_overlay('Product toegevoegd', 'Het product is toegevoegd aan uw winkelmandje');
                // document.body.scrollTop = 0;
                window.scrollTo(0,0);

				var btnClose	= new Element('input', {
					'type':'button',
					'value':'Verder winkelen',
					'class':'button'
				});

				btnClose.addEvent('click', function() {
					hide_overlay();
				})

				var btnShoppingCart = new Element('input', {
					'type':'button',
					'value':'Ga naar winkelmandje',
					'class':'button',
					'style':'margin-left: 20px;'
				});

				btnShoppingCart.addEvent('click', function() {
					document.location='/winkelwagen.html';
				});

				btnClose.inject( $('buttons'));
				btnShoppingCart.inject( $('buttons'));
			}
			else {
				display_overlay( 'Fout', result.error );
                // document.body.scrollTop=0;
                window.scrollTo(0,0);

                var btnClose2	= new Element('input', {
                    'type':'button',
                    'value':'Sluit venster',
                    'class':'button'
                });

                btnClose2.addEvent('click', function() {
                	hide_overlay();
                });
                btnClose2.inject( $('buttons'));

			}
		}
	});
	req.send();
}

function del_basket( key ) {
	var req = new Request.JSON({
		method: 'post',
		url: '/ajax/del_basket.php',
		data: {
			'key'	: key
		},
		onComplete: function(result) {
			if( result.status == 1 ) {
              window.scrollTo(0,0);
				display_overlay('Product verwijderd', 'Het product is verwijderd van uw winkelmandje');
				var btnClose	= new Element('input', {
					'type':'button',
					'value':'Verder winkelen',
					'class':'button'
				});

				btnClose.addEvent('click', function() {
					reload_page();
				});

				btnClose.inject( $('buttons'));
			}
			else {
				display_overlay('Fout', 'Het product kon niet worden verwijderd.' );
			}
		}
	});
	req.send();
}

function changeQuantity( veld_id ) {
	var waarde = $('inpQuantity' + veld_id ).get('value');

	if( waarde > 0 ) {
		var req = new Request.JSON({
			method: 'post',
			url: '/ajax/set_quantity.php',
			data: {
				'key'		: veld_id,
				'waarde'	: waarde
			},
			onComplete: function(result) {
				if( result.error == '' ) {
					document.location	= '/winkelwagen.html';
				}
			}
		});
		req.send();
	}
	else {
        window.scrollTo(0,0);
		display_overlay( 'Fout', 'Het aantal moet groter dan 0 zijn. Wilt u het item verwijderen?' );
		$('inpQuantity' + veld_id ).set('value', 1);
		var btnConfirm = new Element('input', {
			'type':'button',
			'value':'Ja, verwijder dit item',
			'class':'button'
		});
		btnConfirm.addEvent('click', function() {
			del_basket(veld_id);
		});

		var btnClose	= new Element('input', {
			'type':'button',
			'value':'Sluit venster',
			'class':'button',
			'style':'margin-left: 20px'
		});

		btnClose.addEvent('click', function() {
			hide_overlay();
		});

		btnConfirm.inject( $('buttons'));
		btnClose.inject( $('buttons'));
	}
}


function valideer() {
	var rw = true;
	$('errors').setStyle('display', 'none');

	var isEmpty = new InputValidator('required', {
		errorMsg: 'Dit veld is verplicht.',
		test: function(field){
			return ((field.get('value') == null) || (field.get('value').length == 0));
		}
	});

	var isEmail = new InputValidator('validate', {
		errorMsg: 'Dit is geen geldig e-mail adres.',
		test: function(field){
		var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
			return ( emailfilter.test( ( field.get( 'value' ) ) ) )
		}
	});

	$$('input.required').each( function(el) {
		if( isEmpty.test( el ) && rw == true ) {
		// alert('Fout: ' + isEmpty.getError( $(el.id) ) ); //alerts "This field is required."
			$('fouttekst').set('html', isEmpty.getError( $(el.id) ) + ': ' + el.id );
			$('errors').setStyle('display', 'block');
			el.focus();
			rw = false;
		}
		else if( el.hasClass('email') && !isEmail.test( el ) ) {
			// alert('Fout: ' + isEmail.getError( $(el.id) ) ); //alerts "This field is required."
			$('fouttekst').set('html', isEmail.getError( $(el.id) + ': ' + el.id ) );
			$('errors').setStyle('display', 'block');
			el.focus();
			rw = false;
		}
	});

	$$('input.email').each( function(el) {
		if( !isEmail.test( el ) && rw == true ) {
			// alert('Fout: ' + isEmail.getError( $(el.id) ) ); //alerts "This field is required."
			$('fouttekst').set('html', isEmail.getError( $(el.id) + ': ' + el.id ) );
			$('errors').setStyle('display', 'block');

			el.focus();
			rw = false;
		}
	});

	if(rw == false) {
		window.scrollTo(0,0);
	}

	return rw;
}
