

window.addEvent('domready', function() {

var voorzorg_premie = function initialize() {
	var duration=300;
	var slideInRunning=false;
	var numPersonen=1;
	var huidige_leeftijd=-1;
	
	//premie voor 1000 euro
	var man_65 = new Hash({0 : 0.67 , 1 : 0.68 , 2 : 0.69 , 3 : 0.70 , 4 : 0.72 , 5 : 0.74 , 6 : 0.76 , 7 : 0.78 , 8 : 0.80 , 9 : 0.82 , 10 : 0.84 , 11 : 0.87 , 12 : 0.90 , 13 : 0.93 , 14 : 0.96 , 15 : 0.99 , 16 : 1.02 , 17 : 1.05 , 18 : 1.08 , 19 : 1.11 , 20 : 1.14 , 21 : 1.17 , 22 : 1.20 , 23 : 1.25 , 24 : 1.30 , 25 : 1.35 , 26 : 1.40 , 27 : 1.45 , 28 : 1.50 , 29 : 1.55 , 30 : 1.60 , 31 : 1.70 , 32 : 1.75 , 33 : 1.85 , 34 : 1.95 , 35 : 2.00 , 36 : 2.10 , 37 : 2.20 , 38 : 2.25 , 39 : 2.35 , 40 : 2.50 , 41 : 2.60 , 42 : 2.75 , 43 : 2.90 , 44 : 3.10 , 45 : 3.30 , 46 : 3.50 , 47 : 3.70 , 48 : 3.95 , 49 : 4.25 , 50 : 4.60 , 51 : 4.95 , 52 : 5.30 , 53 : 5.85 , 54 : 6.45 , 55 : 7.05 , 56 : 7.95 , 57 : 8.95 , 58 : 10.25 , 59 : 11.95});
	var man_leven = new Hash({0 : 0.67 , 1 : 0.68 , 2 : 0.69 , 3 : 0.70 , 4 : 0.71 , 5 : 0.72 , 6 : 0.74 , 7 : 0.76 , 8 : 0.78 , 9 : 0.80 , 10 : 0.82 , 11 : 0.84 , 12 : 0.86 , 13 : 0.88 , 14 : 0.90 , 15 : 0.92 , 16 : 0.94 , 17 : 0.96 , 18 : 0.98 , 19 : 1.00 , 20 : 1.03 , 21 : 1.06 , 22 : 1.09 , 23 : 1.12 , 24 : 1.15 , 25 : 1.18 , 26 : 1.22 , 27 : 1.26 , 28 : 1.30 , 29 : 1.35 , 30 : 1.40 , 31 : 1.45 , 32 : 1.50 , 33 : 1.55 , 34 : 1.60 , 35 : 1.65 , 36 : 1.70 , 37 : 1.75 , 38 : 1.85 , 39 : 1.95 , 40 : 2.00 , 41 : 2.10 , 42 : 2.15 , 43 : 2.25 , 44 : 2.35 , 45 : 2.45 , 46 : 2.50 , 47 : 2.60 , 48 : 2.75 , 49 : 2.85 , 50 : 3.00 , 51 : 3.10 , 52 : 3.25 , 53 : 3.40 , 54 : 3.60 , 55 : 3.75 , 56 : 3.95 , 57 : 4.10 , 58 : 4.35 , 59 : 4.60 , 60 : 4.75 , 61 : 5.00 , 62 : 5.35 , 63 : 5.60 , 64 : 5.90 , 65 : 6.25 , 66 : 6.60 , 67 : 7.00 , 68 : 7.40 , 69 : 7.85 , 70 : 8.35 });
	var man_koop = new Hash({10 : 236 , 11 : 240 , 12 : 244 , 13 : 248 , 14 : 252 , 15 : 256 , 16 : 260 , 17 : 264 , 18 : 270 , 19 : 274 , 20 : 278 , 21 : 284 , 22 : 288 , 23 : 294 , 24 : 300 , 25 : 306 , 26 : 312 , 27 : 318 , 28 : 324 , 29 : 332 , 30 : 338 , 31 : 346 , 32 : 354 , 33 : 362 , 34 : 370 , 35 : 378 , 36 : 386 , 37 : 396 , 38 : 406 , 39 : 414 , 40 : 424 , 41 : 434 , 42 : 444 , 43 : 456 , 44 : 466 , 45 : 478 , 46 : 488 , 47 : 500 , 48 : 512 , 49 : 524 , 50 : 538 , 51 : 550 , 52 : 562 , 53 : 576 , 54 : 590 , 55 : 602 , 56 : 616 , 57 : 630 , 58 : 660 , 59 : 674 , 60 : 702 , 61 : 716 , 62 : 732 , 63 : 746 , 64 : 760 , 65 : 774 , 66 : 790 , 67 : 804 , 68 : 818 , 69 : 832 , 70 : 846 , 71 : 860 , 72 : 872 , 73 : 886 , 74 : 900 , 75 : 912 , 76 : 924 , 77 : 936 , 78 : 948 , 79 : 960 , 80 : 972 , 81 : 982 , 82 : 992 , 83 : 1000 , 84 : 1000 });
	var vrouw_leven = new Hash({0 : 0.58 , 1 : 0.59 , 2 : 0.60 , 3 : 0.61 , 4 : 0.62 , 5 : 0.63 , 6 : 0.65 , 7 : 0.67 , 8 : 0.69 , 9 : 0.71 , 10 : 0.73 , 11 : 0.75 , 12 : 0.77 , 13 : 0.79 , 14 : 0.81 , 15 : 0.83 , 16 : 0.85 , 17 : 0.87 , 18 : 0.89 , 19 : 0.91 , 20 : 0.93 , 21 : 0.95 , 22 : 0.97 , 23 : 0.99 , 24 : 1.01 , 25 : 1.03 , 26 : 1.06 , 27 : 1.09 , 28 : 1.12 , 29 : 1.15 , 30 : 1.18 , 31 : 1.22 , 32 : 1.26 , 33 : 1.30 , 34 : 1.35 , 35 : 1.40 , 36 : 1.45 , 37 : 1.50 , 38 : 1.55 , 39 : 1.60 , 40 : 1.70 , 41 : 1.75 , 42 : 1.80 , 43 : 1.85 , 44 : 1.90 , 45 : 1.95 , 46 : 2.05 , 47 : 2.15 , 48 : 2.25 , 49 : 2.35 , 50 : 2.45 , 51 : 2.55 , 52 : 2.65 , 53 : 2.80 , 54 : 2.95 , 55 : 3.10 , 56 : 3.25 , 57 : 3.40 , 58 : 3.55 , 59 : 3.70 , 60 : 3.85 , 61 : 4.05 , 62 : 4.25 , 63 : 4.50 , 64 : 4.80 , 65 : 5.10 , 66 : 5.40 , 67 : 5.70 , 68 : 6.00 , 69 : 6.30 , 70 : 6.60});
	var vrouw_65 = new Hash({0 : 0.58 , 1 : 0.59 , 2 : 0.60 , 3 : 0.62 , 4 : 0.64 , 5 : 0.66 , 6 : 0.68 , 7 : 0.70 , 8 : 0.73 , 9 : 0.75 , 10 : 0.77 , 11 : 0.79 , 12 : 0.82 , 13 : 0.85 , 14 : 0.88 , 15 : 0.91 , 16 : 0.94 , 17 : 0.97 , 18 : 1.00 , 19 : 1.03 , 20 : 1.06 , 21 : 1.09 , 22 : 1.12 , 23 : 1.15 , 24 : 1.18 , 25 : 1.21 , 26 : 1.25 , 27 : 1.29 , 28 : 1.33 , 29 : 1.37 , 30 : 1.44 , 31 : 1.51 , 32 : 1.58 , 33 : 1.65 , 34 : 1.72 , 35 : 1.79 , 36 : 1.86 , 37 : 1.95 , 38 : 2.05 , 39 : 2.15 , 40 : 2.25 , 41 : 2.35 , 42 : 2.45 , 43 : 2.60 , 44 : 2.75 , 45 : 2.90 , 46 : 3.05 , 47 : 3.25 , 48 : 3.50 , 49 : 3.75 , 50 : 4.05 , 51 : 4.35 , 52 : 4.75 , 53 : 5.20 , 54 : 5.65 , 55 : 6.20 , 56 : 7.00 , 57 : 7.90 , 58 : 9.10 , 59 : 10.60 });
	var vrouw_koop = new Hash({10 : 206 , 11 : 210 , 12 : 212 , 13 : 216 , 14 : 220 , 15 : 222 , 16 : 226 , 17 : 230 , 18 : 234 , 19 : 238 , 20 : 242 , 21 : 246 , 22 : 252 , 23 : 256 , 24 : 260 , 25 : 266 , 26 : 272 , 27 : 276 , 28 : 282 , 29 : 288 , 30 : 294 , 31 : 300 , 32 : 308 , 33 : 314 , 34 : 322 , 35 : 328 , 36 : 336 , 37 : 344 , 38 : 352 , 39 : 360 , 40 : 370 , 41 : 378 , 42 : 386 , 43 : 396 , 44 : 406 , 45 : 416 , 46 : 426 , 47 : 436 , 48 : 446 , 49 : 456 , 50 : 468 , 51 : 478 , 52 : 490 , 53 : 500 , 54 : 512 , 55 : 524 , 56 : 536 , 57 : 548 , 58 : 574 , 59 : 586 , 60 : 610 , 61 : 626 , 62 : 642 , 63 : 656 , 64 : 672 , 65 : 688 , 66 : 704 , 67 : 720 , 68 : 738 , 69 : 754 , 70 : 770 , 71 : 786 , 72 : 804 , 73 : 820 , 74 : 836 , 75 : 852 , 76 : 868 , 77 : 884 , 78 : 900 , 79 : 914 , 80 : 930 , 81 : 944 , 82 : 958 , 83 : 972 , 84 : 984 });
	
	var premie_man = [man_koop,man_65,man_leven];
	var premie_vrouw= [vrouw_koop,vrouw_65,vrouw_leven];
	
	
	
	$('aantal_personen').addEvent('change', function(e)
	{
		e.stop();
		var newValue=$('aantal_personen').value;
		if (newValue < numPersonen)
		{//verkleinen
			for (var i = numPersonen - 1;i>= newValue;i--)
			{
				$('row'+i).destroy();
			}
			
			
		}
		else
		{//vergroten
			for (var i=numPersonen ; i < newValue ;i++)
			{
				new_row(i);
				
			}
		}
		
		numPersonen = newValue.toInt();
	});
	
		var webkit=true;
	
	if (Browser.ie)
	{
		
		webkit=false;
	}
	
	ie_hack();
	new_row(0);
	
	$('aantal_personen').selectedIndex=0;
	$('polissoort0').selectedIndex=0;
	$('premie0').value="";
	$('premie0').maxlength=7;
	$('totaal').value="";
	
	

	
	function ie_hack()
	{
		tds=new Array(6);
		
		labels=['Soort polis','Verhoging','Geslacht','Leeftijd','Bedrag','Premie */**'];
		widths_ie=['26','12','13','10','12','27'];
		widths_other=['27','13','15','12','14','19'];
		element=$('top_premie');
		for (i=0;i<6;i++)
		{
			if (i==5 && webkit) tds[i]=new Element ('td', {'class': 'stijl_premie_new','align':'right'});
			else tds[i]=new Element ('td', {'class': 'stijl_premie'});
			
			tds[i].set('html',labels[i]);
			
			if (webkit) tds[i].set('width',widths_other[i]+'%');
			else tds[i].set('width',widths_ie[i]+'%');
			
			tds[i].inject(element,'bottom');
		}
		
		element=$('totaal_tr');
		if (webkit)
		{
			new_td1=new Element('td',{'class' : 'stijl_totaal','align' : 'left','colspan':'5'});
			new_td1.set('html','<br><i>Totaal</i>:');
			new_td1.inject(element,'bottom');
				
			new_td3=new Element('td',{'class' : 'stijl_totaal','align' : 'right'});
			new_td3.set('html','<br>&#8364;&nbsp;<input type="text" class="stijl_premie_new" id="totaal" maxlength="7" size="7" readonly="readonly">');
			new_td3.inject(element,'bottom');
		}
		else
		{//ie
			new_td1=new Element('td',{'class' : 'stijl_totaal','align' : 'left','colspan':'4'});
			new_td1.set('html','<br><i>Totaal</i>:');
			new_td1.inject(element,'bottom');
			
			new_td2=new Element('td',{'class' : 'stijl_totaal','align' : 'right'});
			new_td2.set('html','<br>&#8364;&nbsp;');
			new_td2.inject(element,'bottom');
			
			new_td3=new Element('td',{'class' : 'stijl_totaal','align' : 'left'});
			new_td3.set('html','<br><input type="text" class="stijl_premie_new" id="totaal" maxlength="7" size="7" readonly="readonly">');
			new_td3.inject(element,'bottom');
		
		}
	}
	
	
		function new_row(id)
		{
			var i = id;
			newRow  = new Element('tr', {id: 'row'+i});
					
			polissoort = new Element ('td', {'class': 'stijl_content'});
			polissoort.set('html',"<select id='polissoort"+i+"'><option value='' selected='selected'>Selecteer polissoort </option><option value='0'>koopsom</option><option value='1'>tot 65 jaar</option>				<option value='2'>zonder einddatum</option><br>");
			
			verhoging  = new Element ('td', {'class': 'stijl_content'});
			verhoging.set('html',"<input type='checkbox' id='verhoging"+i+"' value=''>");
			
			geslacht  = new Element ('td', {'class': 'stijl_content'});
			geslacht.set('html',"<select id='geslacht"+i+"'><option value='m' selected='selected'>man</option><option value='v'>vrouw</option></select><br>");
			
			leeftijd  = new Element ('td', {'class': 'stijl_content'});
			leeftijd.set('html',"<select id='leeftijd"+i+"'></select><br>");
			
			bedrag  = new Element ('td', {'class': 'stijl_content'});
			bedrag.set('html',"<select id='bedrag"+i+"'></select></td>");
			
			if (!webkit) premie = new Element ('td', {'align': 'left'});
			else premie = new Element ('td', {'align': 'right'});
			premie.set('html',"<input type='text' class='stijl_premie_new' id='premie"+i+"' maxlength='7' size='7' readonly='readonly'>");
			
			
			polissoort.inject(newRow,'bottom');
			verhoging.inject(newRow,'bottom');
			geslacht.inject(newRow,'bottom');
			leeftijd.inject(newRow,'bottom');
			bedrag.inject(newRow,'bottom');
			premie.inject(newRow,'bottom');
			//newRow.set('html',"");
		
			var n=i-1;
			if (i==0) newRow.inject($('top_premie'),'after');
			else newRow.inject($('row'+n),'after');
			
			var bedrag_sel = $('bedrag'+i);
			var hoogte = 2000;
			for ( I = 0; I <= 11; I++ ) {//till 7500
				  bedrag_sel.options[bedrag_sel.options.length] = new Option(hoogte,hoogte);
				  hoogte+=500;
			}
			
			leeftijd_select = $('leeftijd'+i);
			for ( I = 0; I <= 84; I++ ) 
			{
			  
			  leeftijd_select.options[leeftijd_select.options.length] = new Option(I,I);
			}
			
			$('polissoort'+i).addEvent('change', function(e)
			{	
				e.stop();
				vulLeeftijdEnBedrag(this);
			});
			
			$('verhoging'+i).addEvent('change', function(e)
			{	
				e.stop();
				update_bedrag(this);
			});
			
			$('geslacht'+i).addEvent('change', function(e)
			{	
				e.stop();
				relevante_data(this);
			});
			
			$('leeftijd'+i).addEvent('change', function(e)
			{	
				e.stop();
				relevante_data(this);
			});
			
			$('bedrag'+i).addEvent('change', function(e)
			{	
				e.stop();
				relevante_data(this);
			});
				
		}
		
		function update_bedrag(item)
		{
			
			index = item.id.substr(item.id.length-1,1);
			bedrag=$('bedrag'+index);
			geselecteerde_bedrag=bedrag.value;
			bedrag.options.length = 0;
			
			minBedrag=2000;
			maxBedrag=7500;
			
			if ($('verhoging'+index).checked)
			{
				minBedrag=500;
			}
			
			 temp_bedrag=minBedrag;
			 
			 while (temp_bedrag <= maxBedrag)
			 {
				bedrag.options[bedrag.options.length] = new Option(temp_bedrag,temp_bedrag);
				if (geselecteerde_bedrag !=null) 
				{
					if (temp_bedrag==geselecteerde_bedrag) 
					{
						bedrag.selectedIndex=bedrag.options.length-1;
						
					}
				}
				temp_bedrag+=500;
			 }
			 
			 //bedrag wordt naar andere waarde gezet
			 relevante_data(bedrag);
		}
		
		function vulLeeftijdEnBedrag(item)
		{
			index = item.id.substr(item.id.length-1,1);
			polis = $('polissoort'+index).value;
			man = 1; 
			if ($('geslacht'+index).value=='v') man=0;
			leeftijd = $('leeftijd'+index);
			bedrag = $('bedrag'+index);
			
			geselecteerde_leeftijd=leeftijd.value;
			geselecteerde_bedrag=bedrag.value;
			minLeeftijd=0;//dit is de mimimumleeftijd
			maxLeeftijd=0;
			
			
			leeftijd.options.length = 0;
			leeftijd.value=geselecteerde_leeftijd;
			
			if (polis == "")
			{//standard
				minLeeftijd=0;
				maxLeeftijd=84;
			}
			else if (polis == "0") {
				//koopsom
				minLeeftijd=10;
			   maxLeeftijd=84;//nog steeds leeftijd
			  
			}
			else if (polis == "1") {
			//premie tot 65
			   maxLeeftijd=59;
			   
			}
			else if (polis == "2") 
			{
			//premie levenslang
			   maxLeeftijd=70;
			   
			}
			 found=false;
			for ( I = minLeeftijd; I <= maxLeeftijd; I++ ) {
			  
			  leeftijd.options[leeftijd.options.length] = new Option(I,I);
			  if (geselecteerde_leeftijd !=null) 
			  {
				if (I==geselecteerde_leeftijd) 
				{
					leeftijd.selectedIndex=leeftijd.options.length-1;
					found=true;
				}
			  }
			}
			
			if (!found) 
			{
				if (geselecteerde_leeftijd.toInt() > leeftijd.options[0].value.toInt()) leeftijd.selectedIndex=leeftijd.options.length-1;
			}
			 
			bereken_premie(index,polis,man,leeftijd.value,$('bedrag'+index).value);
		}
		
		function relevante_data(item)
		{
		
			index = item.id.substr(item.id.length-1,1);
			polis = $('polissoort'+index).value;
			geslacht = 1; 
			if ($('geslacht'+index).value=='v') geslacht=0;
			leeftijd = $('leeftijd' +index).value; 
			bedrag=$('bedrag'+index).value;
			bereken_premie(index,polis,geslacht,leeftijd,bedrag);
		}
		
		function bereken_premie(index,polis,geslacht,leeftijd,bedrag)
		{
			if (polis!="")
			{
				//index is welke line wordt uitgevoerd, 0 = bovenste
				//geslacht 1 = man 0 = vrouw
				man_vrouw=0;
				if (geslacht==1) man_vrouw=premie_man;
				else man_vrouw=premie_vrouw;
				verhoging=$('verhoging'+index).checked;
				
				if (polis < man_vrouw.length)
				{
					premie=man_vrouw[polis].get(leeftijd);
					if (premie!=null)
					{//set premie
						if (leeftijd < 16 && bedrag == 2000 && !verhoging)
						{//alleen bij nieuwe polis
							premie = 0;
						}
						else premie*=(bedrag/1000).round(2);
						//premie=Math.round(premie*100)/100;
						
						$('premie'+index).value=premie.toFixed(2);
					}
					
					bereken_totaal();
				}
			}
		}
		
		function bereken_totaal()
		{
			var totaal=0;
			//$$('#^=premie').each(function(item,index)
			$$('[id^=premie]').each(function(item,index)
			//$('table_premie').getElements('^=premie').each(function(item,index)
			{
				//alert(item.id);
				number = item.value.toFloat();
				if (!isNaN(number))
				{
					number=number.toFloat();
					//number=Math.round(number*100)/100;
					totaal+=number;
				}
			});
			
			$('totaal').value=totaal.toFixed(2);
		}
	
}();
	
});
