$(document).ready(function(){
	initRegistration();
	initInputs();
});

function initRegistration(){
	if($("#step1")){
		initStep1();
	}
	if($("#step3")){
		initStep3();
	}
	if($(".help").length){
		$(".help .help-con").hide();
		$(".help").click(function(){
			$(".help .help-con").fadeOut();
			$(".help-con", this).show();
			$(".help-con .help-close", this).click(function(){
				$(this).parent().fadeOut();
			});
		});
	}
}

function initStep1(){
	// initialize
	if(Number($("#doelgroep").val()) == 0){
		$("#discipline").attr("disabled","disabled");
	}
	if(Number($("#discipline").val()) == 0){
		$("#cursusnaam").attr("disabled","disabled");
	}
	if(Number($("#cursusnaam").val()) == 0){
		$("#lesdag_en_tijd").attr("disabled","disabled");
	}
	
	// initialize Alternative
	if(Number($("#doelgroepAlternatief").val()) == 0){
		$("#disciplineAlternatief").attr("disabled","disabled");
	}
	if(Number($("#disciplineAlternatief").val()) == 0){
		$("#cursusnaamAlternatief").attr("disabled","disabled");
	}
	if(Number($("#cursusnaamAlternatief").val()) == 0){
		$("#lesdag_en_tijdAlternatief").attr("disabled","disabled");
	}
	
	$("#cursuscode").focus(function(){
		$("#ikweetdecode").attr('checked', true);
		$("#kieseencursus").attr('checked', false);
	});
	
	$("#doelgroep, #discipline, #cursusnaam, #ikweetdecode").focus(function(){
		$("#ikweetdecode").attr('checked', false);
		$("#kieseencursus").attr('checked', true);
	});
	
	$("#kieseencursus").click(function(){
		$("#doelgroep").attr("disabled","");
		if(Number($("#doelgroep").val()) > 0){
			$("#discipline").attr("disabled","");
		}
		if(Number($("#discipline").val()) > 0){
			$("#cursusnaam").attr("disabled","");
		}
		if(Number($("#cursusnaam").val()) > 0){
			$("#lesdag_en_tijd").attr("disabled","");
		}
		
		$("#cursuscode").attr("disabled","disabled");
		$("#checkCode").attr("disabled","disabled");
	});
	$("#ikweetdecode").click(function(){
		$("#doelgroep").attr("disabled","disabled");
		$("#discipline").attr("disabled","disabled");
		$("#cursusnaam").attr("disabled","disabled");
		$("#lesdag_en_tijd").attr("disabled","disabled");
		
		$("#cursuscode").attr("disabled","");
		$("#checkCode").attr("disabled","");
	});

	$.ajax({
		type: "POST",
		dataType: "json",
		url: "/php/AjaxController.php",
		data: "action=rGetCodes",
		success: function(msg){
			if(msg.length){
				var data = new Array();
				for(var i = 0; i < msg.length; i++){
					data.push(msg[i].code);
				}
				$("#cursuscode").autocomplete(data);
				$("#cursuscodeAlternatief").autocomplete(data);
			}
		}
	});
	
	// functions
	$("#doelgroep").change(function(){
		$("#courseInfo").hide();
		$("#cursusnaam").attr("disabled","disabled").html("<option value='0'>Kies een cursusnaam</option>");
		$("#lesdag_en_tijd").attr("disabled","disabled").html("<option value='0'>Kies een lesdag en tijd</option>");
			
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetDisciplines",
				success: function(msg){
					var output = "<option value='0'>Kies een discipline</option>";
					if(msg.error) {
						$("#discipline").html(output);
						$("#discipline").attr("disabled","disabled");
						alert(msg.error);
					} else {
						if(msg.length){
							$("#discipline").attr("disabled","");
							for(var i = 0; i < msg.length; i++){
								output += "<option value='" + msg[i].id + "'>" + msg[i].title + "</option>";
							}
							$("#discipline").html(output);
						}
					}
				}
			});
			return false;
		} else {
			$("#discipline").attr("disabled","disabled");
		}
	});
	$("#discipline").change(function(){
		$("#courseInfo").hide();
		$("#lesdag_en_tijd").attr("disabled","disabled").html("<option value='0'>Kies een lesdag en tijd</option>");
		
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourses&doelgroep_id="+$("#doelgroep").val()+"&discipline_id="+$("#discipline").val(),
				success: function(msg){
					var output = "<option value='0'>Kies een cursusnaam</option>";
					if(msg.error) {
						$("#cursusnaam").html(output);
						$("#cursusnaam").attr("disabled","disabled");
						alert(msg.error);
					} else {
						if(msg.length){
							$("#cursusnaam").attr("disabled","");
							for(var i = 0; i < msg.length; i++){
								output += "<option value='" + msg[i].id + "'>" + msg[i].title + "</option>";
							}
							$("#cursusnaam").html(output);
						}
					}
				}
			});
			return false;
		} else {
			$("#cursusnaam").attr("disabled","disabled");
		}
	});
	
	$("#cursusnaam").change(function(){
		$("#courseInfo").hide();
		if(Number($(this).val()) > 0){
			$("#lesdag_en_tijd").attr("disabled","");
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetInstances&cursus_id="+$("#cursusnaam").val(),
				success: function(msg){
					var output = "<option value='0'>Kies een lesdag en tijd</option>";
					if(msg.error) {
						$("#lesdag_en_tijd").html(output);
						$("#lesdag_en_tijd").attr("disabled","disabled");
						alert(msg.error);
					} else {
						$("#lesdag_en_tijd").attr("disabled","");
						if(msg.length){
							for(var i = 0; i < msg.length; i++){
								if ( !msg[i].day && msg[i].time_free==1 ) {
									output += "<option value='" + msg[i].id + "'>dag en tijd in overleg (" + msg[i].code + ")" + "</option>";
								}else if( !msg[i].day && msg[i].time_free==0 ){
									output += "<option value='" + msg[i].id + "'>" + msg[i].starttime + ", dag in overleg (" + msg[i].code + ")" + "</option>";
								}else if( msg[i].day && msg[i].time_free==1 ){
									output += "<option value='" + msg[i].id + "'>" + msg[i].day + ", tijd in overleg (" + msg[i].code + ")" + "</option>";
								}else {
									output += "<option value='" + msg[i].id + "'>" + msg[i].day + " " + msg[i].starttime + " (" + msg[i].code + ")" + "</option>";
								}
							}
						}
						$("#lesdag_en_tijd").html(output);
					}
				}
			});
			return false;
		} else {
			$("#lesdag_en_tijd").attr("disabled","disabled");
		}
	});
	$("#lesdag_en_tijd").change(function(){
		$("#courseInfo").hide();
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourseInfo&instance_id="+$("#lesdag_en_tijd").val(),
				success: function(msg){
					var output = "";
					if(msg.error) {
						alert(msg.error);
					} else {
						showCourseInfo(msg);
					}
				}
			});
			return false;
		}
	});
	
	// controleer de cursuscode
	$("#checkCode").click(function(){
			$("#courseInfo").hide();
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourseInfo&instance_id="+$("#cursuscode").val(),
				success: function(msg){
					var output = "";
					if(msg.error) {
						alert(msg.error);
					} else {
						showCourseInfo(msg);
					}
				}
			});
			return false;
	});
	
	
	/*********************************************************************************************************
	 * De code hieronder is voor de tweede keuze (alternatief)
	 ********************************************************************************************************/
	
	//Alternative or not?
	$("#secondCourse-yes").click(function(){
		//Show the form elements for choosing an alternative course
		$(".alternativeYes").show();
	});
	$("#secondCourse-no").click(function(){
		//Hide the form elements for choosing an alternative course
		$(".alternativeYes").hide();
		//Show the button to continue to the next step
		$("#btnholder").show();
	});
	
	// functions
	$("#doelgroepAlternatief").change(function(){
		$("#courseInfoAlternatief").hide();
		$("#cursusnaamAlternatief").attr("disabled","disabled").html("<option value='0'>Kies een cursusnaam</option>");
		$("#lesdag_en_tijdAlternatief").attr("disabled","disabled").html("<option value='0'>Kies een lesdag en tijd</option>");
			
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetDisciplines",
				success: function(msg){
					var output = "<option value='0'>Kies een discipline</option>";
					if(msg.error) {
						$("#disciplineAlternatief").html(output);
						$("#disciplineAlternatief").attr("disabled","disabled");
						alert(msg.error);
					} else {
						if(msg.length){
							$("#disciplineAlternatief").attr("disabled","");
							for(var i = 0; i < msg.length; i++){
								output += "<option value='" + msg[i].id + "'>" + msg[i].title + "</option>";
							}
							$("#disciplineAlternatief").html(output);
						}
					}
				}
			});
			return false;
		} else {
			$("#disciplineAlternatief").attr("disabled","disabled");
		}
	});

	$("#disciplineAlternatief").change(function(){
		$("#courseInfoAlternatief").hide();
		$("#lesdag_en_tijdAlternatief").attr("disabled","disabled").html("<option value='0'>Kies een lesdag en tijd</option>");
		
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourses&doelgroep_id="+$("#doelgroepAlternatief").val()+"&discipline_id="+$("#disciplineAlternatief").val(),
				success: function(msg){
					var output = "<option value='0'>Kies een cursusnaam</option>";
					if(msg.error) {
						$("#cursusnaamAlternatief").html(output);
						$("#cursusnaamAlternatief").attr("disabled","disabled");
						alert(msg.error);
					} else {
						if(msg.length){
							$("#cursusnaamAlternatief").attr("disabled","");
							for(var i = 0; i < msg.length; i++){
								output += "<option value='" + msg[i].id + "'>" + msg[i].title + "</option>";
							}
							$("#cursusnaamAlternatief").html(output);
						}
					}
				}
			});
			return false;
		} else {
			$("#cursusnaamAlternatief").attr("disabled","disabled");
		}
	});

	$("#cursusnaamAlternatief").change(function(){
		$("#courseInfoAlternatief").hide();
		if(Number($(this).val()) > 0){
			$("#lesdag_en_tijdAlternatief").attr("disabled","");
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetInstances&cursus_id="+$("#cursusnaamAlternatief").val(),
				success: function(msg){
					var output = "<option value='0'>Kies een lesdag en tijd</option>";
					if(msg.error) {
						$("#lesdag_en_tijdAlternatief").html(output);
						$("#lesdag_en_tijdAlternatief").attr("disabled","disabled");
						alert(msg.error);
					} else {
						$("#lesdag_en_tijdAlternatief").attr("disabled","");
						if(msg.length){
							for(var i = 0; i < msg.length; i++){
								if ( !msg[i].day && msg[i].time_free==1 ) {
									output += "<option value='" + msg[i].id + "'>dag en tijd in overleg (" + msg[i].code + ")" + "</option>";
								}else if( !msg[i].day && msg[i].time_free==0 ){
									output += "<option value='" + msg[i].id + "'>" + msg[i].starttime + ", dag in overleg (" + msg[i].code + ")" + "</option>";
								}else if( msg[i].day && msg[i].time_free==1 ){
									output += "<option value='" + msg[i].id + "'>" + msg[i].day + ", tijd in overleg (" + msg[i].code + ")" + "</option>";
								}else {
									output += "<option value='" + msg[i].id + "'>" + msg[i].day + " " + msg[i].starttime + " (" + msg[i].code + ")" + "</option>";
								}
							}
						}
						$("#lesdag_en_tijdAlternatief").html(output);
					}
				}
			});
			return false;
		} else {
			$("#lesdag_en_tijdAlternatief").attr("disabled","disabled");
		}
	});

	$("#lesdag_en_tijdAlternatief").change(function(){
		$("#courseInfoAlternatief").hide();
		if(Number($(this).val()) > 0){
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourseInfo&instance_id="+$("#lesdag_en_tijdAlternatief").val(),
				success: function(msg){
					var output = "";
					if(msg.error) {
						alert(msg.error);
					} else {
						showCourseInfoAlternatief(msg);
					}
				}
			});
			return false;
		}
	});
	
	// controleer de cursuscode
	$("#checkCodeAlternatief").click(function(){
			$("#courseInfoAlternatief").hide();
			$.ajax({
				type: "POST",
				dataType: "json",
				url: "/php/AjaxController.php",
				data: "action=rGetCourseInfo&instance_id="+$("#cursuscodeAlternatief").val(),
				success: function(msg){
					var output = "";
					if(msg.error) {
						alert(msg.error);
					} else {
						showCourseInfoAlternatief(msg);
					}
				}
			});
			return false;
	});

	$("#cursuscodeAlternatief").focus(function(){
		$("#ikweetdecodeAlternatief").attr('checked', true);
		$("#kieseencursusAlternatief").attr('checked', false);
	});
	
	$("#doelgroepAlternatief, #disciplineAlternatief, #cursusnaamAlternatief, #ikweetdecodeAlternatief").focus(function(){
		$("#ikweetdecodeAlternatief").attr('checked', false);
		$("#kieseencursusAlternatief").attr('checked', true);
	});
	
	$("#kieseenalternatief").click(function(){
		$("#doelgroepAlternatief").attr("disabled","");
		if(Number($("#doelgroepAlternatief").val()) > 0){
			$("#disciplineAlternatief").attr("disabled","");
		}
		if(Number($("#disciplineAlternatief").val()) > 0){
			$("#cursusnaamAlternatief").attr("disabled","");
		}
		if(Number($("#cursusnaamAlternatief").val()) > 0){
			$("#lesdag_en_tijdAlternatief").attr("disabled","");
		}
		
		$("#cursuscodeAlternatief").attr("disabled","disabled");
		$("#checkCodeAlternatief").attr("disabled","disabled");
	});
	$("#ikweetdecodeAlternatief").click(function(){
		$("#doelgroepAlternatief").attr("disabled","disabled");
		$("#disciplineAlternatief").attr("disabled","disabled");
		$("#cursusnaamAlternatief").attr("disabled","disabled");
		$("#lesdag_en_tijdAlternatief").attr("disabled","disabled");
		
		$("#cursuscodeAlternatief").attr("disabled","");
		$("#checkCodeAlternatief").attr("disabled","");
	});

	
}


function initStep3(){
	// initalize
	if($("input[name='ikbetaalzelf']:checked").val() == 1){
		$("#payer").hide();
	} else if($("input[name='ikbetaalzelf']:checked").val() == 2){
		$("#payment").hide();
	}
	
	if($("input[name='machtiging']:checked").val() == 1){
		$("#rekeningnummer").attr("disabled","");
		$("#payment").show();
	} else if($("input[name='machtiging']:checked").val() == 2){
		$("#rekeningnummer").attr("disabled","disabled");
		$("#payment").hide();
	}
	
	if($("input[name='korting']:checked").val() == 2 || $("input[name='korting']:checked").val() == 3 || $("input[name='korting']:checked").val() == 4 || $("input[name='korting']:checked").val() == 5 || $("input[name='korting']:checked").val() == 6 || $("input[name='korting']:checked").val() == 7){
		$(".attention-discount").show();
	} else {
		$(".attention-discount").hide();
	}
	
	// functions
	$("#ikbetaalzelf").click(function(){
		$("#payer").hide();
	});
	$("#iemandandersbetaald").click(function(){
		$("#payer").show();
	});
	
	$("#afschrijven").click(function(){
		$("#rekeningnummer").attr("disabled","");
		$("#payment").show();
	});
	$("#acceptgiro").click(function(){
		$("#rekeningnummer").attr("disabled","disabled");
		$("#payment").hide();
	});
	
	$("#geenkorting").click(function(){
		$(".attention-discount").html("");
		$(".attention-discount").hide();
	});
	$("#Ooievaarspas").click(function(){
		$(".attention-discount").html("<p>Stuur een kopie van uw Ooievaarspas op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857:<br />2501 CW Den Haag:<br /></strong>NB Als u geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
	$("#CJP").click(function(){
		$(".attention-discount").html("<p>Stuur een kopie van uw CJP pas op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857:<br />2501 CW Den Haag:<br /></strong>NB Als u geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
	$("#65plus").click(function(){
		$(".attention-discount").html("<p>Stuur een kopie van uw identiteitskaart, rijbewijs of paspoort op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857:<br />2501 CW Den Haag:<br /></strong>NB Als u geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
	$("#kinderendoenmee").click(function(){
		$(".attention-discount").html("Voorwaarden: kind t/m 17 jaar in het bezit van een Ooievaarspas mag &eacute;&eacute;n kunst/cultuuractiviteit via deze regeling volgen. De cursus mag maximaal &euro;300 kosten, anders moet het bedrag erboven worden bijbetaald.<br /><br />Stuur een kopie van uw Ooievaarspas op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857:<br />2501 CW Den Haag:<br /></strong>NB Als u geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
	$("#Vrijwilligers").click(function(){
		$(".attention-discount").html("<p>Stuur een kopie van je Haagse vrijwillegerspas (of mantelzorgpas) op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857<br />2501 CW Den Haag</strong><br />NB Als je geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
	$("#Studenten").click(function(){
		$(".attention-discount").html("<p>Stuur een kopie van je Haagse studentenpas op naar:<br /><strong>Koorenhuis t.a.v. de cursusadministratie:<br />Postbus 857<br />2501 CW Den Haag</strong><br />NB Als je geen bewijsstukken kunt overleggen, vervalt het recht op korting. Er worden geen kortingen achteraf verleend.</p>");
		$(".attention-discount").show();
	});
}

function showCourseInfo(Course){
	if(Course.ImageId > 0){
		$("#courseInfo #courseImage").css("background-image", "url(/images/"+Course.ImageId+"_s.jpg)");
	}
	$("#courseInfo #courseUrl").attr("href",Course.Url);
	$("#courseInfo #name").html(Course.Name);
	$("#courseInfo #maturity").html(Course.RunTime);
	$("#courseInfo #dayAndTime").html(Course.DayAndTime);
	$("#courseInfo #location").html(Course.Location);
	$("#courseInfo #teacher").html(Course.Teacher);
	$("#courseInfo #costs").html("&euro; " + Course.Costs + " / OP &euro; " + Course.CostsOP + " / CJP &euro; " + Course.Costs65plus);
	if(Course.Terms != "" && Course.Terms != null){
		$("#courseInfo #terms").html(Course.Terms);
		$("#courseInfo #courseTerms").show();
	} else {
		$("#courseInfo #courseTerms").hide();
	}
	$("#courseInfo").fadeIn();
}

function showCourseInfoAlternatief(Course){
	if(Course.ImageId > 0){
		$("#courseInfoAlternatief #courseImageAlternatief").css("background-image", "url(/images/"+Course.ImageId+"_s.jpg)");
	}
	$("#courseInfoAlternatief #courseUrlAlternatief").attr("href",Course.Url);
	$("#courseInfoAlternatief #nameAlternatief").html(Course.Name);
	$("#courseInfoAlternatief #maturityAlternatief").html(Course.RunTime);
	$("#courseInfoAlternatief #dayAndTimeAlternatief").html(Course.DayAndTime);
	$("#courseInfoAlternatief #locationAlternatief").html(Course.Location);
	$("#courseInfoAlternatief #teacherAlternatief").html(Course.Teacher);
	$("#courseInfoAlternatief #costsAlternatief").html("&euro; " + Course.Costs + " / OP &euro; " + Course.CostsOP + " / CJP &euro; " + Course.Costs65plus);
	if(Course.Terms != "" && Course.Terms != null){
		$("#courseInfoAlternatief #termsAlternatief").html(Course.Terms);
		$("#courseInfoAlternatief #courseTermsAlternatief").show();
	} else {
		$("#courseInfoAlternatief #courseTermsAlternatief").hide();
	}
	$("#courseInfoAlternatief").fadeIn();
}

// Initialse the click and blur actions on inputs
// If an input has a title variable set, remove the initial value when people focus on it
// If an input has nothing in it on blur, reset the value to the title tag
function initInputs() {
    if ($('input:text').length) {
        $('input:text').each(function() {
            t = $(this);
            if (t.attr('title') == t.val()) {
                t.click(function() {
                    t = $(this);
                    if (t.attr('title') == t.val()) {
                        t.val('');
                    }
                });
                t.blur(function() {
                    t = $(this);
                    if (t.val() == '') {
                        t.val(t.attr('title'));
                    }
                });
            }
        });
    }
}

