//window.onload=getModels();
//window.onload=getTypes();


//----------------------------------------------------------------------------------------------------------------------------------------------------------
function getModels(myModel){
	var objForm=document.forms.auto;
	var strBrandID=objForm.brandID.value;
	var strBuiltMonth=objForm.builtMonth.value;
	var strBuiltYear=objForm.builtYear.value;
	
	if (!myModel) {
		var mySelectedModel = 0;
	} else {
		mySelectedModel = myModel;
	};
	
	if((strBrandID=='')||(strBuiltMonth=='')||(strBuiltYear=='')){
		return;
	}
	
	// strBuiltMonth && strBuiltYear in session scope
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.builtMonth", value: strBuiltMonth } );
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.builtYear", value: strBuiltYear } );
	
	objForm.modelID.options.length=0;
	objForm.modelID.options[0]=new Option('Modellen worden opgehaald'+String.fromCharCode(8230),'');
	var strURL='/autoverzekering/remote/modellen.cfm';
	strURL+='?brandID='+strBrandID+'&builtMonth='+strBuiltMonth+'&builtYear='+strBuiltYear;
	$.ajax({
		url: strURL,
		success: function(data){
			var myArray = data.split("\n");
			var options = '<option value=""></option>';

			if (data == '') {
				resetForBrand();
				var strMsg='Voor de door u geselecteerde combinatie van merk en bouwmaand zijn geen modellen beschikbaar.\n';
				strMsg+='Probeer het eventueel nogmaals met een andere bouwmaand.';
				return(alert(strMsg));
			}	
			for (var i = 0; i < myArray.length; i++) {
				myValue = myArray[i].split("|");
				if(myValue != "\r"){
				if (myModel == myValue[0]) {
					options += '<option value="' + myValue[0] + '" selected="selected">' + myValue[1] + '</option>';
					mySelectedModel = i + 1;
				} else {
					options += '<option value="' + myValue[0] + '">' + myValue[1] + '</option>';
				}
				}
			}
			$("#modelID").html(options);
			$('#modelID option:eq(parseInt(mySelectedModel))').attr('selected', 'selected');
		
			//valideer de velden 
			$("#brandID").siblings(".av_field_valid").children("img").attr('src','/img/auto/av-valid.gif');
			$("#brandID").siblings(".av_field_valid").show();
			$("#builtYear_3").siblings(".av_field_valid").children("img").attr('src','/img/auto/av-valid.gif');
			$("#builtYear_3").siblings(".av_field_valid").show();
		}
	});
	//setModels(myArray,0);
	//frames.remote_model.location.href=strURL;
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function setModels(rsModels,intSelectedID){
	if(!rsModels.ID.length){
		resetForBrand();
		var strMsg='Voor de door u geselecteerde combinatie van merk en bouwmaand zijn geen modellen beschikbaar.\n';
		strMsg+='Probeer het eventueel nogmaals met een andere bouwmaand.';
		return(alert(strMsg));
	}

	var objModelID=document.forms.auto.modelID;
	objModelID.options.length=0;
	objModelID.options[0]=new Option('','');
	for(i=0; i<rsModels.ID.length; i++){
		var blnSelected=(rsModels.ID[i]==intSelectedID);
		objModelID.options[i+1]=new Option(rsModels.name[i],rsModels.ID[i],null,blnSelected);
	}
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function resetForBrand(){
	$("input[name=valueAudio]").val('0');
	$("input[name=valueExtra_original]").val('0');
	var objForm=document.forms.auto;
	objForm.builtMonth.selectedIndex=0;
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.builtMonth", value: '' } );
	objForm.builtYear.selectedIndex=0;
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.builtYear", value: '' } );
	objForm.modelID.options.length=0;
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.modelID", value: '' } );
	objForm.modelID.options[0]=new Option('Kies eerst merk en bouwmaand','');
	var strURL='/autoverzekering/remote/types_newdesign.cfm';
	$("#autogegevens").show();
	$("#autoType").load(strURL).show();
	setNameBrand();
	$("#brandID").siblings(".av_field_valid").children("img").attr('src','/img/auto/av-valid.gif');
	$("#brandID").siblings(".av_field_valid").show();
	$("#builtYear_3").siblings(".av_field_valid").hide();
	$("#modelID").siblings(".av_field_valid").hide();
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function setNameBrand(){
	var objForm=document.forms.auto;
	var intIndex=objForm.brandID.selectedIndex;
	objForm.nameBrand.value=objForm.brandID.options[intIndex].text;
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.brandID", value: objForm.brandID.options[intIndex].value } );
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function setNameModel(intID){
	if(intID==-1){return(getModels());}
	var objForm=document.forms.auto;
	var intIndex=objForm.modelID.selectedIndex;
	objForm.nameModel.value=objForm.modelID.options[intIndex].text;
	$.post("remote/sessionStore.cfm", { name: "session.input.auto.modelID", value: objForm.modelID.options[intIndex].value } );
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function getTypes(myModelID){
	var objForm=document.forms.auto;
	var builtMonth=objForm.builtMonth.value;
	var builtYear=objForm.builtYear.value;
	if (myModelID != null) {
		var modelID = myModelID;
	} else {	
		var modelID = $("#modelID").val();
	}
	var fuelID=objForm.fuelID.value;
	var gearID=objForm.gearID[0].value;
	var typeID=objForm.typeID.value;
	var strURL='/autoverzekering/remote/types_newdesign.cfm';

	if(builtMonth.length && builtYear.length && modelID.length && $("#fuelID.av_select").length && gearID.length){

		$("input[name=fuelID]").val('');
		$("input[name=fuelID]").val($("#fuelID.av_select").val());
		$.post("remote/sessionStore.cfm", { name: "session.input.auto.fuelID", value: ( $("input[name=fuelID]").val($("#fuelID.av_select").val()) ) } );
		
		gearID = $("input[name=gearID].av_radio:checked").val();
		
		strURL+='?builtMonth='+builtMonth+'&builtYear='+builtYear+'&modelID='+modelID;
		strURL+='&fuelID='+$("#fuelID.av_select").val()+'&gearID='+gearID+'&typeID='+typeID;

		$("#autoType").html("Auto informatie wordt opgehaald. Een moment geduld aub...").load(strURL);

		$("#modelID").siblings(".av_field_valid").children("img").attr('src','/img/auto/av-valid.gif');
		$("#modelID").siblings(".av_field_valid").show();
	}
	
	//GetCarInfoKon(strURL);
}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
function IsNumeric(sText) {
	   var ValidChars = "0123456789";
	   var IsNumber=true;
	   var Char;	 
	   for (i = 0; i < sText.length && IsNumber == true; i++) 
	      { 
	      Char = sText.charAt(i); 
	      if (ValidChars.indexOf(Char) == -1) 
	         {
	         IsNumber = false;
	         }
	      }
	   return IsNumber;	   
	 }
//----------------------------------------------------------------------------------------------------------------------------------------------------------
	 	 
	function setCharAt(str,index,char) {
		if(index > str.length-1) return str;
		return str.substr(0,index) + char + str.substr(index);
	}	
//----------------------------------------------------------------------------------------------------------------------------------------------------------

function hasKenteken(hasKen){
	var gk=document.getElementById('autogegevensTab');
	if(hasKen){
		// gk.style.display='none';
		$("div.kenteken").removeClass('disabled');
		$("input[name=kenteken]").removeAttr("readonly");
	}else{
		gk.style.display='block';
		$("div.kenteken").removeClass('disabled');
		$("#car-info-wrapper,div#wijzig-kenteken").hide();
		$("input[name=kenteken]").val("");
		$("#brandID").val(0);
		$("select[name=builtMonth]").val(0);
		$("select[name=builtYear]").val("0");
		$("select[name=modelID]").val(0);
		$("select[name=fuelID]").val(1);		
		$("input[label=gearID1]").attr("checked","checked");
		$("input[label=grijsReg1]").attr("checked","checked");
		// frames.remote_type.location.href='/autoverzekering/vergelijken/remote/types_newdesign.cfm';
	}

}
//----------------------------------------------------------------------------------------------------------------------------------------------------------	
function toUpperCase(thisF){
	thisF.value=thisF.value.toUpperCase();
}	
	function kentekenFormat_hold(kenteken) {	
		if( kenteken.length == 6 && kenteken.indexOf('-') == -1)
		{
			if(!IsNumeric(kenteken.substring(5,6)) || IsNumeric(kenteken.substring(4,6)) )
			{
				document.auto.kenteken.value = setCharAt(kenteken,2,'-');
				document.auto.kenteken.value = setCharAt(document.auto.kenteken.value,5,'-');
			}else if ( !IsNumeric(kenteken.substring(3,5)) && IsNumeric(kenteken.substring(5,6)) )
			{
				document.auto.kenteken.value = setCharAt(kenteken,2,'-');
				document.auto.kenteken.value = setCharAt(document.auto.kenteken.value,6,'-');
			}
		}	
			 	
	}
//----------------------------------------------------------------------------------------------------------------------------------------------------------
	function kentekenFormat(kenteken) {	

		if (kenteken != null) {
		
			var strKenteken = kenteken.replace(/[^0-9a-zA-Z]/g, "");
			if (strKenteken.length >= 6 && strKenteken.indexOf('-') == -1 && strKenteken.length != 8) {
				if (!IsNumeric(strKenteken.substring(5, 6)) || IsNumeric(strKenteken.substring(4, 6))) {
					strKenteken = setCharAt(strKenteken, 2, '-');
					strKenteken = setCharAt(strKenteken, 5, '-');
				}
				else 
					if (!IsNumeric(strKenteken.substring(3, 5)) && IsNumeric(strKenteken.substring(5, 6))) {
						strKenteken = setCharAt(strKenteken, 2, '-');
						strKenteken = setCharAt(strKenteken, 6, '-');
					}
				document.auto.kenteken.value = strKenteken;
				// disable  (make readonly) the input field and show "wijzig" button
				$("div#wijzig-kenteken").show();
				$("div.kenteken").addClass('disabled');
				$("input[name=kenteken]").attr({
					readonly: 'true'
				});
			}
		}
	}

	
	function wijzigKenteken(){
		// re-enable the input field, remove 'readonly', clear, hide 'wijzig' and start again
		$("div.kenteken").removeClass('disabled');
		$("input[name=kenteken]").removeAttr("readonly");
		$("input[name=kenteken]").val('');
		$("div#wijzig-kenteken").hide();
		$("#car-info-wrapper").hide(); 		 
	}
	
	function newComparison(myField){
		
		if (myField.value == '') {
			avWijzigKenteken();
			avHasKenteken(1);
			$.post("remote/sessionRestart.cfm");
			myCoverageID = 0;
		}
	}
	
	var GB_ANIMATION = true;			
	$('a.help,a.helplink').live('mouseover', function(){
		$("#myPopup").remove();
		var helpURL = $(this).attr('href');
		var helpTekst = $.ajax({
		  url: helpURL,
		  async: false
		}).responseText;
		$(this).parent().prepend('<span id="myPopup" class="premie_overzicht"><span id="cloudTop"></span><span class="cloudContent">'+helpTekst+'</span><span id="cloudBottom"></span></span>');
		$("#myPopup").attr("style", "margin-top:-"+$("#myPopup").height()+"px; margin-left:"+myPopupMargin+"");
		$("#autoType #myPopup").attr("style", "margin-top:-"+$("#myPopup").height()+"px; margin-left:-185px;");
		$("#myPopup").css('display','block');
		return false
	}).live('mouseout', function(){
		$("#myPopup").remove();
	}).live('click', function(){
		return false;
	})

// index.cfm functies inladen die beschikbaar moeten zijn nadat het document compleet geladen is
$(document).ready(function () {

	$("a.greybox").click(function(){
		$('.myPCerror').hide();
	  var t = this.title || this.innerHTML || this.href;
	  GB_show(t,this.href,(window.innerHeight*0.9), 600);
	  return false;
	});

	//als kenteken al ingevuld is (b.v. wanneer bezoeker komt via banner of partner)
	//dan zonodig kenteken in juiste format plaatsen en andere benodigde functies uitvoeren
	if($('input[name=kenteken]').val() !='') {
		kentekenFormat($('input[name=kenteken]').val());
		$('#kentekenBekend').attr('checked','true');
	}
	// wachtscherm kan weg, dat is geladen
	$("#content-loading").hide();

	$("a.button_bereken_premies").click(function () {
	
		//valideer alle velden;
		validateKmpj_select($("#KM"));
		validateMalus(true);
		checkdate(true);
		checkPostcode(true);
		
		if (myYrsNoClaim != '') {
			validateMalus(true);
		}

		// kijk of er een type is gekozen
				if( $('input[name=typeID]:radio:checked').val() != null && IsNumeric($('input[name=typeID]:radio:checked').val()) == true) {
			// niks fout
			$('input[name=typeID]').removeClass('errorLabel');
		} else {
			if($('input[name=kentekenBekend]:checked').val() == 'false') {
				$('input[name=typeID]').addClass('errorLabel');
				alert('Geen type & uitvoering geselecteerd!');
			}
		}

		if ($('.errorLabel').size() == 0) {
			
			document.forms.auto.submit();
			/*
			if($(this).attr('disabled') != '') {
				document.forms.auto.submit();
			} else {
				$(this).attr('disabled','disabled')
			}
			*/
		} else {
			return false;
		}
	});
});

		function GetCarInfo(kentekenLength,kenteken,myFuelID,myYear,myBodies,mySessionType,myCurrentSkin,myRoleID){

			$("#car-info").empty();
			//$("#submitbtn").attr({disabled: "true"});
			if(kenteken && kentekenLength == 8 && myCheck){
				try {
					// $.post("remote/sessionRestart.cfm");
					myCheck = false;
					$("#autoType").html("Auto informatie wordt opgehaald. Een moment geduld aub...").load("/m_autovergelijker/index.cfm?event=getCarByKenteken&kenteken="+kenteken+"&bodiesList="+myBodies+"&sessionTypeId="+mySessionType+"&current_skin="+myCurrentSkin+"&roleID="+myRoleID+"");
					$.ajax({
						url: "/m_autovergelijker/index.cfm?event=getTypeAndAgeByKentekenXML&kenteken="+kenteken+"&bodiesList="+myBodies+"&sessionTypeId="+mySessionType+"&current_skin="+myCurrentSkin+"&roleID="+myRoleID+"",
						success: function(data) {
							data = jQuery.trim(data);
							data = parseXml(data);
							
							// verwijder eerst eventuele foutmeldingen
							$(".start_vergelijk_margin").removeClass('errorLabel');
							$(".start_vergelijk_margin").parent().removeClass('errorBorder');
							$("#box_kenteken.myPCerror").remove();
							
							
							if ($(data).find("error").text() == 'false') {
								$(".onbekendContainer").hide();
								$(".typeBekendContainer").html("<span id='merkTypeAuto'>"+ $(data).find("merk").text() +" "+ $(data).find("model").text() +"</span>");

								if(myFuelID == 1) {
									$("input[name=fuelID]").val($(data).find("brandstof").text());
								}
								$("input[name=Turbo]").val($(data).find("turbo").text());
								$("input[name=gearID]").val('');
								$("input[name=gearID]").val($(data).find("gear_id").text());
								
								if(myCoverageID == 0) {
									if (parseInt(myYear - $(data).find("bouwjaar").text()) >= 8) {
										$("#coverageID").get(0).selectedIndex = 0;
										myCoverageID = 1;
									} else if (parseInt( myYear - $(data).find("bouwjaar").text()) <= 4) {
										$("#coverageID").get(0).selectedIndex = 2;
										myCoverageID = 3;
									} else {
										$("#coverageID").get(0).selectedIndex = 1;
										myCoverageID = 2;
									}
								} 
								
								<!--- Store kenteken in sessie --->
								$.post("remote/sessionStore.cfm", { name: "session.input.auto.coverageID", value: ( $("#coverageID").get(0).selectedIndex + 1 ) });
								
								$.post("remote/sessionStore.cfm", { name: "session.input.auto.kenteken", value: kenteken } );
								// console.log($("#coverageID").get(0).selectedIndex)
								$("#autocorrect").children("img").attr('src','/img/auto/av-valid.gif');
								$("#autocorrect").children("img").attr('title','valid');
							} else {
								// fout bij het ophalen van een kenteken, toon errors
								$(".start_vergelijk_margin").addClass('errorLabel');
								$(".start_vergelijk_margin").parent().addClass('errorBorder');
								if ($("#box_kenteken.myPCerror").size() == 0) {
									$("#av_kenteken").parent().parent().siblings().eq(0).append('<span id="box_kenteken" class="myPCerror"><span class="myPCerrorTop"></span><span class="myPCerrorContent"><p>Ons systeem herkent het opgegeven kenteken als een onbekend kenteken.</p></span><span class="myPCerrorBottom"></span></span>');
								}
								$("#autocorrect").children("img").attr('src','/img/auto/av-invalid.gif');
								$("#autocorrect").children("img").attr('title','invalid');
							}
						},
						error: function(data) {
							// console.log('error');
							// console.log(data);
						}
					});

					function parseXml(xml) {
					  if (jQuery.browser.msie) {
						var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
						xmlDoc.loadXML(xml);
						xml = xmlDoc;
					  }
					  return xml;
					}
					
					$("#btn-wijzig-kenteken").show();
					$("#autogegevensTab").show();
					$("#autoType").show();
					$(".kenteken_bottom_fields").siblings(".av_field_valid").children("img").attr('src', '/img/auto/av-valid.gif');
					$(".kenteken_bottom_fields").siblings(".av_field_valid").show();
					$().ajaxStop(function(r,s){ 
						$("#submitbtn").removeAttr('disabled'); 
						init();
					});
				} catch(err){
					//DM: alert geplaatst om aan klant te melden dat er een fout is opgetreden en dan pagina verversen
					// console.log(err);
					alert('Er is een fout opgetreden bij het ophalen van de modellen.\nProbeert u het a.u.b. opnieuw');
					location.reload(true);
				};
			}
		}

	function setFuelID(val) {
		$.post("remote/sessionStore.cfm", { name: "session.input.auto.fuelID", value: val } );
	}

	function setFuelID(val) {
		$.post("remote/sessionStore.cfm", { name: "session.input.auto.fuelID", value: val } );
	}
//----------------------------------------------------------------------------------------------------------------------------------------------------------