$(document).ready(function(){
	/* Hover- en click style voor klikbare elementen */
	$('.hover-style').mouseover(function(){
		if (!$(this).hasClass('event-clicked')) {
			$(this).addClass('event-over');
		}
	}).mouseout(function(){
		if (!$(this).hasClass('event-clicked')) {
			$(this).removeClass('event-over');
		}
	});
	$('.over-switch-image.jpg').mouseover(function(){
		$(this).attr('src',$(this).attr('src').replace('.jpg','-over.jpg'));
	}).mouseout(function(){
		$(this).attr('src',$(this).attr('src').replace('-over.jpg','.jpg'));
	});
	$('.over-opacity').mouseover(function(){
		$(this).css('opacity',0.5);
	}).mouseout(function(){
		$(this).css('opacity',1);
	});
	$('.click-style').click(function(){
		$('.event-clicked').removeClass('event-clicked');
		$('.hover-style').removeClass('event-over');
		$(this).addClass('event-clicked');
	});
	/* Transfer effect */
	$('.follow-to-submit').click(function(){
		$.scrollTo($("#wrapper"), 450);
		$(this).effect('transfer',{
			to: '#submit-knop',
			className: 'effect-transfer'
		});
	});
	/* Algemene 1 keuze opties */
	$('.single-choice:not(.kitchen)').click(function(){
		var id = $(this).attr('id').replace('choice-','');
		$('#single-choice-target').val(id);
	});
	/* Keuken selecteren */
	$('.kitchen-container .kitchen').click(function(){
		var keuken_id = $(this).find('.id').text();
		$('#single-choice-target').val(keuken_id);
	});
	/* Tabs */
	$('.maak-tabbladen').tabs();
	/* Tabel stijl */
	$('.fancy-form tr:odd').addClass('odd-row');
	$('.status table tr:odd').addClass('odd-row');
	/* Standaard -al geselecteerde- objecten ook de "gekozen stijl" geven */
	var gekozen_id = $('#single-choice-target').val();
	if (typeof(gekozen_id) != "undefined" && gekozen_id > 0) {
		if ($('#single-choice-target').hasClass('isRadiobutton')) {
			$('#choice-'+gekozen_id).attr('checked','checked');
		} else if ($('#single-choice-target').hasClass('isKeuken')) {
			gekozen_id = $(this).find('.id').text();
			$('.kitchen-container .kitchen-'+gekozen_id).addClass('event-over').addClass('event-clicked');
		} else {
			$('#choice-'+gekozen_id).addClass('event-over').addClass('event-clicked');
		}
	}
	/* Bij het kizeen van een spoelbka de optie: geen spoelbak uitzetten */
	$('.spoelbak').click(function(){
		$('input[name=geen_spoelbak]').attr('checked',false);
	});
	/* Bij het verzenden van formulier op stap 3B de afmetingen controleren */
	$('.formulier-3b').submit(function(){
		return validateMaxAfmetingen() && validateAfmetingen();
	});
	$('.formulier-7b').submit(function(){
		return validateAfmetingen();
	});
	/* Offerteaanvraag valideren */
	$('.formulier-8').submit(function(){
		return validateOfferteAaavraag();
	});
	/* Postcode switch (onderin) */
	$('#gemeenten h6').mouseover(function(){
		$(this).addClass('over');
	}).mouseout(function(){
		$(this).removeClass('over');
	}).click(function(){
		$('#gemeenten h6').removeClass('click');
		$(this).addClass('click');
		var gemeente = $(this).attr('id').replace('heading-','');
		$('.gemeenten').hide();
		$('#gemeenten-'+gemeente).show();
	});
	/* Over effect (tekst tonen) bij kleine keukenopstellingen */
	$('.kitchen.schaal-klein').click(function(){
		$('.light-background').removeClass('darkred').html(keukenteksten[parseInt($(this).find('.id').text())]);
	});
});

/* Functie die een AJAX Call verricht om het sessie ID te verfrissen */
function regenerateSession() {
	$.ajax({
		url: '/update-offerte.php',
		type: 'GET',
		data: {
			'action': 'regenerate-session'
		},
		success: function(msg) {
			// pass
		}
	});
}

/* Functie die controleert of de maximale afmetingen niet worden overschreven */
function validateMaxAfmetingen() {
	var proceed = true;
	var maximale_diepte = $('#maximale_diepte').val();
	$('.afmeting-veld').css('border','solid 1px #999').each(function(){
		if ($(this).attr('name').toString().match(/diepte/i)) {
			if (parseInt($(this).val()) > maximale_diepte) {
				$(this).css('border','solid 1px red');
				alert('De maximale bladdiepte voor dit materiaal is '+maximale_diepte+' cm.\nGeef een andere waarde op. ');
				proceed = false;
			}
		}
	});
	return proceed;
}

/* Functie voor het tonen van hulpteksten */
function toonInformatie(titel,tekst) {
	$('#informatie-box').html('<img class=\"knop-sluiten\" src=\"/static/img/shared/knop-sluiten.jpg\" alt=\"Klik hier om deze informatie te verbergen ...\" onclick=\"verbergInformatie()\" /><br /><br /><strong>'+titel+'</strong><br />'+tekst).show('slide', {
		direction: 'left'
	}, 500);
}

/* Functie voor het verbergen van hulpteksten */
function verbergInformatie(titel,tekst) {
	$('#informatie-box').fadeOut(250, function(){
		$(this).html('');
	});
}

/* Functie voor het valideren van afmetingen */
function validateAfmetingen() {
	var ga_verder = true;
	$('input[type=text], textarea, select').removeClass('vergeten-in-te-vullen').each(function(){
		if (($(this).val() == '' || $(this).val().NaN) && $(this).css('display').toLowerCase() != 'none') {
			if (!$(this).parent().hasClass('afwerking-invoer') || ($(this).parent().hasClass('afwerking-invoer') && $(this).parent().css('display').toLowerCase() != 'none')) {
				$(this).addClass('vergeten-in-te-vullen');
				ga_verder = false;
			}
		}
	});
	if (ga_verder == true) {
		return true;
	}
	return false;
}

/* Functie voor het valideren van de offerteaanvraag */
function validateOfferteAaavraag() {
	var ga_verder = true;
	$('.verplicht').removeClass('vergeten-in-te-vullen').each(function(){
		if (($(this).val() == '' || $(this).val().NaN) && $(this).css('display').toLowerCase() != 'none') {
			$(this).addClass('vergeten-in-te-vullen');
			ga_verder = false;
		}
	});
	$('#emailadres1, #emailadres2').removeClass('vergeten-in-te-vullen');
	if ($('#emailadres1').val() != $('#emailadres2').val()) {
		ga_verder = false;
	}
	if (ga_verder == true) {
		return true;
	}
	return false;
}
