/**
 *	Form.js
 */

/*function getElementByTabIndex(tabIndex, node, tag) {
	var el;
	if(node == null)
		node = document;
	if(tag == null)
		tag = '*';
	var els = node.getElementsByTagName(tag);
	for(i = 0; i < els.length; i++) {
		if(els[i].tabIndex === tabIndex) {
			el = els[i];
		}
	}
	return el;
}*/

WS.Event.addEvent(window, 'load', function() {
	
	var total = new Array();
	total['limited'] = new Array();
	total['limited']['premie'] = 6.50;
	total['limited']['bonus'] = 0;
	total['limited']['breakdown'] = 0;
	total['limited']['insurance-passenger'] = 0;
	total['limited']['legal-aid'] = 0;
	total['limited']['ongoing-insurance'] = 0;
	total['limited']['cancellation-insurance'] = 0;
	total['limited']['wintersport-coverage'] = 0;
	total['limited']['money-insurance'] = 0;
	
	total['all-risk'] = new Array();
	total['all-risk']['premie'] = 14.46;
	total['all-risk']['bonus'] = 0;
	total['all-risk']['breakdown'] = 0;
	total['all-risk']['insurance-passenger'] = 0;
	total['all-risk']['legal-aid'] = 0;
	total['all-risk']['ongoing-insurance'] = 0;
	total['all-risk']['cancellation-insurance'] = 0;
	total['all-risk']['wintersport-coverage'] = 0;
	total['all-risk']['money-insurance'] = 0;
		
	if($('wa-limited-total')) {
		total['limited']['premie'] = $('wa-limited').value;
	}
			
	if($('all-risk-total')) {
		total['all-risk']['premie'] = $('all-risk').value;
	}
	
	if($('bonus-dashboard') && $('bonus-value')) {
		total['limited']['bonus'] = $('bonus-value').value;
		total['all-risk']['bonus'] = $('bonus-value').value;
	}
	
	if($('breakdown-dashboard') && $('breakdown-value')) {
		total['limited']['breakdown'] = 0;
		total['all-risk']['breakdown'] = $('breakdown-value').value;
	}
	
	if($('insurance-passenger-dashboard') && $('insurance-passenger-value')) {
		total['limited']['insurance-passenger'] = $('insurance-passenger-value').value;
		total['all-risk']['insurance-passenger'] = $('insurance-passenger-value').value;
	}
	
	if($('legal-aid-dashboard') && $('legal-aid-value')) {
		total['limited']['legal-aid'] = $('legal-aid-value').value;
		total['all-risk']['legal-aid'] = $('legal-aid-value').value;
	}
	
	if($('ongoing-insurance-dashboard') && $('ongoing-insurance-value')) {
		total['limited']['ongoing-insurance'] = $('ongoing-insurance-value').value;
		total['all-risk']['ongoing-insurance'] = $('ongoing-insurance-value').value;
	}
	
	if($('cancellation-insurance-dashboard') && $('cancellation-insurance-value')) {
		total['limited']['cancellation-insurance'] = $('cancellation-insurance-value').value;
		total['all-risk']['cancellation-insurance'] = $('cancellation-insurance-value').value;
	}
	
	if($('wintersport-coverage-dashboard') && $('wintersport-coverage-value')) {
		total['limited']['wintersport-coverage'] = $('wintersport-coverage-value').value;
		total['all-risk']['wintersport-coverage'] = $('wintersport-coverage-value').value;
	}
	
	if($('money-insurance-dashboard') && $('money-insurance-value')) {
		total['limited']['money-insurance'] = $('money-insurance-value').value;
		total['all-risk']['money-insurance'] = $('money-insurance-value').value;
	}
		
	/*if(typeof Typecast!='undefined') {
		Typecast.Init();
	}*/
	
	/*var tooltips = WS.DOM.getElementsByClass('tooltip-popup');
	console.log(tooltips);
	for(var i=0;i<tooltips.length;i++) {
		WS.Event.addEvent(tooltips[i], 'focus', function() {
			var newIndex = this.tabIndex + 1;
			console.log('newIndex: ' + newIndex);
			getElementByTabIndex(newIndex).focus();
		});
	}*/
	
	if($('weight')) {
		WS.Event.addEvent($('weight'), 'blur', function () {
			if($('weight').value > 3500) {
				if(!$('weight-error')) {
					var el = document.createElement('p');
					el.setAttribute('id', 'weight-error');
					WS.addClass(el, 'warning');
					el.innerHTML = 'Uw camper mag niet zwaarder zijn dan 3500 Kg.';
					WS.DOM.insertAfter(el, $('form-steps'));
				}
				WS.addClass($('weight'), 'wsv-error');
			} else {
				if($('weight-error')) {
					$('weight-error').parentNode.removeChild($('weight-error'));
				}
				WS.removeClass($('weight'), 'wsv-error');
			}
		});
	}
	
	if($('dagwaarde')) {
		WS.Event.addEvent($('dagwaarde'), 'blur', function () {
			if($('dagwaarde').value > 115000) {
				
					var el = document.createElement('p');
					el.setAttribute('id', 'dagwaarde-error');
					WS.addClass(el, 'warning');
					el.innerHTML = 'De maximale dagwaarde voor onze camperverzekering bedraagt &euro; 115.000,-.';
					WS.DOM.insertAfter(el, $('form-steps'));
				
				WS.addClass($('dagwaarde'), 'wsv-error');
			}
		});
		WS.Event.addEvent($('dagwaarde'), 'blur', function () {
			if($('dagwaarde').value < 5000) {
				
					var el = document.createElement('p');
					el.setAttribute('id', 'dagwaarde-error');
					WS.addClass(el, 'warning');
					el.innerHTML = 'De minimale dagwaarde voor onze camperverzekering bedraagt &euro; 5.000,-.';
					WS.DOM.insertAfter(el, $('form-steps'));
				
				WS.addClass($('dagwaarde'), 'wsv-error');
			}
		});
		
	}
	
	if($('meldcode')) {
		WS.Event.addEvent($('meldcode'), 'blur', function() {
			if($('meldcode').value.length != 4) {
				if(!$('meldcode-error')) {
					var el = document.createElement('p');
					el.setAttribute('id', 'meldcode-error');
					WS.addClass(el, 'warning');
					el.innerHTML = 'De meldcode moet 4 cijfers zijn.';
					WS.DOM.insertAfter(el, $('form-steps'));
				}
				WS.addClass($('meldcode'), 'wsv-error');
			} else {
				if($('meldcode-error')) {
					$('meldcode-error').parentNode.removeChild($('meldcode-error'));
				}
				WS.removeClass($('meldcode'), 'wsv-error');
			}
		});
	}
	
	if($('account')) {
		WS.Event.addEvent($('account'), 'blur', function() {
			$('account').value = $('account').value.replace(/([a-zA-Z.])/g, '');
		});
	}
	/**
	 *	Get cardata from entering the license-number
	 */
	
	/* RA : LICENSE PLATE CONTROLE UITSCHAKELEN
	if($('license-plate')) {
		WS.Event.addEvent($('license-plate'), 'blur', function() {
			if($('license-plate')!='' && $('license-plate').value.length>=6) {
				var postBody = 'kenteken='+$('license-plate').value;
				WS.removeClass($('ajax-load'), 'hidden');
				WS.Ajax.request('http://www.camperpolis.nl/cardata', function(response) {
					var result = WS.Util.parseJSON(response);					
					if(result && result.merk) {
						WS.DOM.getElementsByClass('kenteken')[0].innerHTML = $('license-plate').value.toUpperCase();
						if(result.laadvermogen && result.laadvermogen!=0) {
							$('weight').value = parseInt(result.laadvermogen)+parseInt(result.gewicht);
						} else {
							$('weight').value = '';
						}
						$('model').value = '';
						$('meldcode').value = '';
						
						$('chassis-brand').value = result.merk;
						$('model').value = result.model;
						if(result.bouwjaar != $('year').value) {
							$('year-span').style.display = 'block';
							WS.Event.addEvent($('premie-herberekenen'), 'click', function() {
								$('year').value = result.bouwjaar;
								$('dashboard-year').innerHTML = result.bouwjaar;
							
								var newAllRisk = getAllRisk(result.bouwjaar, result.dagwaarde, parseInt(result.schadevrij))/12;
								var newBeperktCasco = getBeperktCasco(result.bouwjaar, result.dagwaarde, parseInt(result.schadevrij))/12;
								if($('wa-limited')) {
									total['limited']['premie'] = newBeperktCasco;
									$('wa-limited').value = newBeperktCasco;
									$('wa-limited-prijs').innerHTML = '&euro; ' + WS.Util.number_format(newBeperktCasco, 2, ',', '.');
								}
								
								if($('all-risk')) {
									total['all-risk']['premie'] = newAllRisk;
									$('all-risk').value = newAllRisk;
									$('all-risk-prijs').innerHTML = '&euro; ' + WS.Util.number_format(newAllRisk, 2, ',', '.');
								}
								showTotal();
								
								$('year-span').style.display = 'none';
								
								WS.Ajax.request('http://www.camperpolis.nl/recalculate', function(response) {
								//	console.log(response);
								}, 'year='+ result.bouwjaar +'&walimited='+ newBeperktCasco +'&allrisk='+ newAllRisk + '&walimitedtotal='+ $('wa-limited-total').innerHTML +'&allrisktotal='+ $('all-risk-total').innerHTML);
							});
						}
						WS.addClass($('ajax-load'), 'hidden');
						
						WS.removeClass($('license-plate'), 'wsv-error');
					} else {
						WS.addClass($('license-plate'), 'wsv-error');
						WS.addClass($('ajax-load'), 'hidden');
					}					
				}, postBody);
				var timeout = setTimeout("WS.addClass($('ajax-load'), 'hidden');", '5000');
			} else {
				WS.addClass($('license-plate'), 'wsv-error');
				WS.addClass($('ajax-load'), 'hidden');
			}			
		});
	}*/
	
	/**
	 *	Get street and city from entering the postcode
	 */
	
	if($('zip')) {
		WS.Event.addEvent($('zip'), 'blur', function() {			
			var postBody = 'postcode='+$('zip').value;
			WS.Ajax.request('http://www.camperpolis.nl/postcode', function(response) {
				var result = WS.Util.parseJSON(response);
				if(result) {
					$('address').value = result.street;
					$('city').value = result.city;
				}				
			}, postBody);
		});
	}
	
	if($('driver-zip')) {
		WS.Event.addEvent($('driver-zip'), 'blur', function() {
			var postBody = 'postcode='+$('driver-zip').value;
			WS.Ajax.request('http://www.camperpolis.nl/postcode', function(response) {
				var result = WS.Util.parseJSON(response);
				if(result) {
					$('driver-address').value = result.street;
					$('driver-city').value = result.city;
				}
				
			}, postBody);
		});
	}

	/*if($('streetnr')) {
		WS.Event.addEvent($('streetnr'), 'blur', function() {
			if($('streetnr').value!=null) {
				$('address').value += ' '+$('streetnr').value;
			}			
		});
	}*/
	
	/*if($('driver-streetnr')) {
		WS.Event.addEvent($('driver-streetnr'), 'blur', function() {
			if($('driver-streetnr').value!=null) {
				$('driver-address').value += ' '+$('driver-streetnr').value;
			}			
		});
	}*/
	
	if($('premie-berekenen')) {
		var wsv = new WS.Validation($('premie-berekenen'));
		wsv.initialize();
	}
	
	if($('actiepagina')) {
		var wsv = new WS.Validation($('premie-berekenen'));
		wsv.initialize();
	}
	
	if($('afsluiten-form')) {
		var wsv = new WS.Validation($('afsluiten-form'));
		wsv.initialize();
	}
	
	if($('contact-form')) {
		var wsv = new WS.Validation($('contact-form'));
		wsv.initialize();
	}
	
	if($('ga-verder-button')) {
		WS.Event.addEvent($('ga-verder-button'), 'click', function(e) {
			WS.Event.stopEvent(e);
			$('premie-form').submit();
		});
	}
	
	if($('wa-limited-submit')) {
		WS.Event.addEvent($('wa-limited-submit'), 'click', function(e) {
			WS.Event.stopEvent(e);
			$('premie-sidebar-form').submit();
		});
	}
	
	if($('all-risk-submit')) {
		WS.Event.addEvent($('all-risk-submit'), 'click', function(e) {
			WS.Event.stopEvent(e);
			$('all-risk-submit').submit();
		});
	}
	
	if($('all-right-submit')) {
		WS.Event.addEvent($('all-right-submit'), 'click', function(e) {
			WS.Event.stopEvent(e);
			$('all-right-submit').submit();
		});
	}
	
	if($('titlemijngegevens')) {
		WS.addClass('titlemijngegevens', 'titlemijngegevens-active');
		/*WS.toggle('mijngegevens-content');
		WS.Event.addEvent($('titlemijngegevens'), 'click', function(e) {
			WS.Event.stopEvent(e);
			WS.toggle('mijngegevens-content');
			WS.toggleClass('titlemijngegevens', 'titlemijngegevens-active');
		});*/
	}
	
/**
 *	Dashboard additions
 */
 
	if($('bonus')) {
		WS.Event.addEvent($('bonus'), 'click', function() {
			if($('bonus').checked) {
				total['limited']['bonus'] = 3.25;
				total['all-risk']['bonus'] = 3.25;
				
				var mijnpolisTable = $('bonus-dashboard');
				
				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Bonus beschermer';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['bonus'], 2, ',', '.');
				
				showTotal();
			} else {
				if($('bonus-dashboard')) {
					var values = $('bonus-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					total['limited']['bonus'] = 0;
					total['all-risk']['bonus'] = 0;
					
					showTotal();
				}
			}
		});
	}
	
	if($('legal-aid')) {
		WS.Event.addEvent($('legal-aid'), 'click', function() {
			if($('legal-aid').checked) {
				total['limited']['legal-aid'] = 2.50;
				total['all-risk']['legal-aid'] = 2.50;
				
				var mijnpolisTable = $('legal-aid-dashboard');
				
				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Verhaalsrechtsbijstand verzekering';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['legal-aid'], 2, ',', '.');
				
				showTotal();
			} else {
				if($('legal-aid-dashboard')) {
					var values = $('legal-aid-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					total['limited']['legal-aid'] = 0;
					total['all-risk']['legal-aid'] = 0;
					
					showTotal();
				}
			}
		});
	}
	
	if($('insurance-passenger')) {
		WS.Event.addEvent($('insurance-passenger'), 'click', function() {
			if($('insurance-passenger').checked) {
				total['limited']['insurance-passenger'] = 3.75;
				total['all-risk']['insurance-passenger'] = 3.75;
				
				var mijnpolisTable = $('insurance-passenger-dashboard');
				
				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Schade inzittendenverzekering';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['insurance-passenger'], 2, ',', '.');
					
				showTotal();
			} else {
				if($('insurance-passenger-dashboard')) {
					var values = $('insurance-passenger-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					total['limited']['insurance-passenger'] = 0;
					total['all-risk']['insurance-passenger'] = 0;
					
					showTotal();
				}
			}
		});
	}
	
	if($('breakdown')) {
		WS.Event.addEvent($('breakdown'), 'click', function() {
			if($('breakdown').checked) {
				if($('breakdown-warning')) {
					$('breakdown-warning').style.display = 'block';
				}
				
				total['all-risk']['breakdown'] = 2.08333333;
				
				var mijnpolisTable = $('breakdown-dashboard');

				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Europa pechhulp';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['breakdown'], 2, ',', '.');
				
				showTotal();
			} else {
				if($('breakdown-warning')) {
					$('breakdown-warning').style.display = 'none';
				}
				
				var values = $('breakdown-dashboard').getElementsByTagName('div');
				for(var i = 0; i <= values.length; i++) {
					if(values[0]) {
						values[0].parentNode.removeChild(values[0]);
					}
				}
				
				total['limited']['breakdown'] = 0;
				total['all-risk']['breakdown'] = 0;
				
				showTotal();
			}
		});
	}
	
	if($('ongoing-insurance')) {
		WS.Event.addEvent($('ongoing-insurance'), 'click', function() {
			if($('ongoing-insurance').checked) {
				total['limited']['ongoing-insurance'] = 4.5833333333333333333333333333333;
				total['all-risk']['ongoing-insurance'] = 4.5833333333333333333333333333333;
				
				var mijnpolisTable = $('ongoing-insurance-dashboard');
				
				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Doorlopende reisverzekering';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['ongoing-insurance'], 2, ',', '.');
				
				showTotal();
			} else {
				if($('ongoing-insurance-dashboard')) {
					var values = $('ongoing-insurance-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					if($('partner')) {
						$('partner').checked = false;
					}
					
					if($('children')) {
						$('children').value = 0;
					}
					
					if($('cancellation-yes').checked || $('cancellation-no').checked) {
						$('cancellation-no').checked = false;
						$('cancellation-yes').checked = false;
					}
					
					if($('wintersport-yes').checked || $('wintersport-no').checked) {
						$('wintersport-no').checked = false;
						$('wintersport-yes').checked = false;
					}
					
					if($('money-yes').checked || $('money-no').checked) {
						$('money-no').checked = false;
						$('money-yes').checked = false;
					}
					
					total['limited']['ongoing-insurance'] = 0;
					total['all-risk']['ongoing-insurance'] = 0;
					
					total['limited']['cancellation-insurance'] = 0;
					total['all-risk']['cancellation-insurance'] = 0;
					
					total['limited']['wintersport-coverage'] = 0;
					total['all-risk']['wintersport-coverage'] = 0;

					total['limited']['money-insurance'] = 0;
					total['all-risk']['money-insurance'] = 0;					
					
					var values = $('cancellation-insurance-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					var values = $('ongoing-insurance-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					var values = $('wintersport-coverage-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					var values = $('money-insurance-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					showTotal();
				}
			}
		});
			
		if($('partner')) {
			WS.Event.addEvent($('partner'), 'click', function() {
				if($('partner-data')) {
					if($('partner').checked) {
						createPartnerData();
					} else if(!$('partner').checked) {
						$('partner-data').innerHTML = '';
					}
				} 
			
				total['limited']['ongoing-insurance'] = 0;
				var prijsCell = $('ongoing-insurance-dashboard').getElementsByTagName('div')[1];
				
				total['limited']['ongoing-insurance'] = 4.5833333333333333333333333333333;
				total['all-risk']['ongoing-insurance'] = 4.5833333333333333333333333333333;
				
				if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
					total['limited']['ongoing-insurance'] = 8.1666666666666666666666666666667;
					total['all-risk']['ongoing-insurance'] = 8.1666666666666666666666666666667;
				} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
					total['limited']['ongoing-insurance'] = 9.8333333333333333333333333333333;
					total['all-risk']['ongoing-insurance'] = 9.8333333333333333333333333333333;
				}
				
				prijsCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['ongoing-insurance'], 2, ',', '.');
				
				if($('cancellation-yes').checked) {
					var prijsCellCancellation = $('cancellation-insurance-dashboard').getElementsByTagName('div')[1];
					
					total['limited']['cancellation-insurance'] = 3.5;
					total['all-risk']['cancellation-insurance'] = 3.5;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['cancellation-insurance'] = 5.9166666666666666666666666666667;
						total['all-risk']['cancellation-insurance'] = 5.9166666666666666666666666666667;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['cancellation-insurance'] = 7;
						total['all-risk']['cancellation-insurance'] = 7;
					}
					
					prijsCellCancellation.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['cancellation-insurance'], 2, ',', '.');
				}
				
				if($('wintersport-yes').checked) {
					var prijsCellWintersport = $('wintersport-coverage-dashboard').getElementsByTagName('div')[1];
					
					total['limited']['wintersport-coverage'] = 1.25;
					total['all-risk']['wintersport-coverage'] = 1.25;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['wintersport-coverage'] = 2.0833333333333333333333333333333;
						total['all-risk']['wintersport-coverage'] = 2.0833333333333333333333333333333;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['wintersport-coverage'] = 2.5;
						total['all-risk']['wintersport-coverage'] = 2.5;
					}
					
					prijsCellWintersport.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['wintersport-coverage'], 2, ',', '.');
				}
				
				if($('money-yes').checked) {
					var prijsCellMoney = $('money-insurance-dashboard').getElementsByTagName('div')[1];

					total['limited']['money-insurance'] = 2.9166666666666666666666666666667;
					total['all-risk']['money-insurance'] = 2.9166666666666666666666666666667;
					
					prijsCellMoney.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['money-insurance'], 2, ',', '.');
				}
				
				showTotal();
			});
		}
		
		if($('children')) {
			WS.Event.addEvent($('children'), 'change', function() {
				if($('more-children')) {
					if($('children').value > 0) {
						$('more-children').innerHTML = '';
						var childrenCount = parseInt($('children').value);
						for(var i = 0; i < childrenCount; i++) {
							var j = i+1;
							createMoreChildren(j);
						}
					} else {
						$('more-children').innerHTML = '';
					}
				}
				
				var prijsCell = $('ongoing-insurance-dashboard').getElementsByTagName('div')[1];
				
				total['limited']['ongoing-insurance'] = 4.5833333333333333333333333333333;
				total['all-risk']['ongoing-insurance'] = 4.5833333333333333333333333333333;
						
				if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
					total['limited']['ongoing-insurance'] = 8.1666666666666666666666666666667;
					total['all-risk']['ongoing-insurance'] = 8.1666666666666666666666666666667;
				} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
					total['limited']['ongoing-insurance'] = 9.8333333333333333333333333333333;
					total['all-risk']['ongoing-insurance'] = 9.8333333333333333333333333333333;
				}
				
				prijsCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['ongoing-insurance'], 2, ',', '.');
				
				if($('cancellation-yes').checked) {
					var prijsCellCancellation = $('cancellation-insurance-dashboard').getElementsByTagName('div')[1];
					
					total['limited']['cancellation-insurance'] = 3.5;
					total['all-risk']['cancellation-insurance'] = 3.5;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['cancellation-insurance'] = 5.9166666666666666666666666666667;
						total['all-risk']['cancellation-insurance'] = 5.9166666666666666666666666666667;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['cancellation-insurance'] = 7;
						total['all-risk']['cancellation-insurance'] = 7;
					}
					
					prijsCellCancellation.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['cancellation-insurance'], 2, ',', '.');
				}
				
				if($('wintersport-yes').checked) {
					var prijsCellWintersport = $('wintersport-coverage-dashboard').getElementsByTagName('div')[1];
					
					total['limited']['wintersport-coverage'] = 1.25;
					total['all-risk']['wintersport-coverage'] = 1.25;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['wintersport-coverage'] = 2.0833333333333333333333333333333;
						total['all-risk']['wintersport-coverage'] = 2.0833333333333333333333333333333;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['wintersport-coverage'] = 2.5;
						total['all-risk']['wintersport-coverage'] = 2.5;
					}
					
					prijsCellWintersport.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['wintersport-coverage'], 2, ',', '.');
				}
				
				if($('money-yes').checked) {
					var prijsCellMoney = $('money-insurance-dashboard').getElementsByTagName('div')[1];

					total['limited']['money-insurance'] = 2.9166666666666666666666666666667;
					total['all-risk']['money-insurance'] = 2.9166666666666666666666666666667;
					
					prijsCellMoney.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['money-insurance'], 2, ',', '.');
				}
					
				showTotal();
			});
		}
		
		if($('cancellation-yes') || $('cancellation-no')) {
			WS.Event.addEvent($('cancellation-yes'), 'click', function() {
				if($('cancellation-yes').checked) {
					total['limited']['cancellation-insurance'] = 3.5;
					total['all-risk']['cancellation-insurance'] = 3.5;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['cancellation-insurance'] = 5.9166666666666666666666666666667;
						total['all-risk']['cancellation-insurance'] = 5.9166666666666666666666666666667;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['cancellation-insurance'] = 7;
						total['all-risk']['cancellation-insurance'] = 7;
					}
					
					var mijnpolisTable = $('cancellation-insurance-dashboard');
					if($('cancellation-insurance-dashboard').getElementsByTagName('div').length < 2) {
						var newCell = document.createElement('div');
						newCell.className = 'inputnaam';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = 'Annuleringsverzekering';
						
						var newCell = document.createElement('div');
						newCell.className = 'inputprijs';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['cancellation-insurance'], 2, ',', '.');
					}
										
					showTotal();
				} else {
					if($('cancellation-insurance-dashboard')) {
						var values = $('cancellation-insurance-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['cancellation-insurance'] = 0;
						total['all-risk']['cancellation-insurance'] = 0;
						
						showTotal();
					}
				}
			});
			
			WS.Event.addEvent($('cancellation-no'), 'click', function() {
				if($('cancellation-no').checked) {
					if($('cancellation-insurance-dashboard')) {
						var values = $('cancellation-insurance-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['cancellation-insurance'] = 0;
						total['all-risk']['cancellation-insurance'] = 0;
						
						showTotal();
					}
				}
			});
		}
		
		if($('wintersport-yes') || $('wintersport-no')) {
			WS.Event.addEvent($('wintersport-yes'), 'click', function() {
				if($('wintersport-yes').checked) {
					total['limited']['wintersport-coverage'] = 1.25;
					total['all-risk']['wintersport-coverage'] = 1.25;
					
					if($('applicant').checked && (($('partner').checked && $('children').value == 0) || (!$('partner').checked && $('children').value > 0))) {
						total['limited']['wintersport-coverage'] = 2.0833333333333333333333333333333;
						total['all-risk']['wintersport-coverage'] = 2.0833333333333333333333333333333;
					} else if($('applicant').checked && $('partner').checked && $('children').value > 0) {
						total['limited']['wintersport-coverage'] = 2.5;
						total['all-risk']['wintersport-coverage'] = 2.5;
					}
					
					var mijnpolisTable = $('wintersport-coverage-dashboard');
					if($('wintersport-coverage-dashboard').getElementsByTagName('div').length < 2) {
						var newCell = document.createElement('div');
						newCell.className = 'inputnaam';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = 'Wintersportdekking';
						
						var newCell = document.createElement('div');
						newCell.className = 'inputprijs';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['wintersport-coverage'], 2, ',', '.');
					}
					showTotal();
				} else {
					if($('wintersport-coverage-dashboard')) {
						var values = $('wintersport-coverage-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['wintersport-coverage'] = 0;
						total['all-risk']['wintersport-coverage'] = 0;
						
						showTotal();
					}
				}
			});
			
			WS.Event.addEvent($('wintersport-no'), 'click', function() {
				if($('wintersport-no').checked) {
					if($('wintersport-coverage-dashboard')) {
						var values = $('wintersport-coverage-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['wintersport-coverage'] = 0;
						total['all-risk']['wintersport-coverage'] = 0;
						
						showTotal();
					}
				}
			});
		}
		
		if($('money-yes') || $('money-no')) {
			WS.Event.addEvent($('money-yes'), 'click', function() {
				if($('money-yes').checked) {
					total['limited']['money-insurance'] = 2.9166666666666666666666666666667;
					total['all-risk']['money-insurance'] = 2.9166666666666666666666666666667;
					
					var mijnpolisTable = $('money-insurance-dashboard');
					
					if($('money-insurance-dashboard').getElementsByTagName('div').length < 2) {
						var newCell = document.createElement('div');
						newCell.className = 'inputnaam';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = 'Geld en reischeques';
						
						var newCell = document.createElement('div');
						newCell.className = 'inputprijs';
						mijnpolisTable.appendChild(newCell);
						newCell.innerHTML = '&euro; ' + WS.Util.number_format(total['all-risk']['money-insurance'], 2, ',', '.');
					}				
					showTotal();
				} else {
					if($('money-insurance-dashboard')) {
						var values = $('money-insurance-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['money-insurance'] = 0;
						total['all-risk']['money-insurance'] = 0;
						
						showTotal();
					}
				}
			});
			
			WS.Event.addEvent($('money-no'), 'click', function() {
				if($('money-no').checked) {
					if($('money-insurance-dashboard')) {
						var values = $('money-insurance-dashboard').getElementsByTagName('div');
						for(var i = 0; i <= values.length; i++) {
							if(values[0]) {
								values[0].parentNode.removeChild(values[0]);
							}
						}
						
						total['limited']['money-insurance'] = 0;
						total['all-risk']['money-insurance'] = 0;
						
						showTotal();
					}
				}
			});
		}
	}
/**
 *	form toggles
 */ 	
	
	if($('insurance-passenger')) {
		if(!$('insurance-passenger').checked) {
			WS.toggle('insurance-toggle');
		}
		WS.Event.addEvent($('insurance-passenger'), 'click', function() {			
			WS.toggle('insurance-toggle');
		});
	}
	
	
	if($('legal-aid')) {
		if(!$('legal-aid').checked) {
			WS.toggle('legal-aid-toggle');
		}
		WS.Event.addEvent($('legal-aid'), 'click', function() {			
			WS.toggle('legal-aid-toggle');
		});
	}
	
	if($('ongoing-insurance')) {
		var group = new Array('partner', 'children', 'cancellation-insurance', 'wintersport-coverage', 'money-insurance');
		if(!$('ongoing-insurance').checked) {
			wsv.disableGroup(group);
			WS.toggle('ongoing-toggle');
			
		}
		WS.Event.addEvent($('ongoing-insurance'), 'click', function() {			
			WS.toggle('ongoing-toggle');
			if($('ongoing-insurance').checked){
				wsv.enableGroup(group);
			} else {
				wsv.disableGroup(group);
			}
		});
	}
	
	/*if($('ongoing-insurance')) {
		var group = new Array('insured', 'applicant', 'partner', 'children', 'cancellation-insurance', 'cancellation-yes', 'cancellation-no', 'wintersport-coverage', 'wintersport-yes', 'wintersport-no', 'money-insurance', 'money-yes', 'money-no');
		if(!$('ongoing-insurance').checked) {
			WS.toggle('ongoing-toggle');
			wsv.disableGroup(group);
		}
		WS.Event.addEvent($('ongoing-insurance'), 'click', function() {
			WS.toggle('ongoing-toggle');
			if($('ongoing-insurance').checked){
				wsv.enableGroup(group);
				
				/*var mijnpolisTable = $('ongoing-insurance-dashboard');
				
				var newCell = document.createElement('div');
				newCell.className = 'inputnaam';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = 'Doorlopende reisverzekering';
				
				var newCell = document.createElement('div');
				newCell.className = 'inputprijs';
				mijnpolisTable.appendChild(newCell);
				newCell.innerHTML = '&euro; '+number_format((55 / 12), 2, ',', '.');
				
				walimitedtotal += (55 / 12);
				allrisktotal += (55 / 12);
				
				$('wa-limited-total').innerHTML = '&euro; ' + WS.Util.number_format(walimitedtotal, 2, ',', '.');
				$('all-risk-total').innerHTML = '&euro; ' + WS.Util.number_format(allrisktotal, 2, ',', '.');
			} else {
				wsv.disableGroup(group);
				
				/*if($('ongoing-insurance-dashboard')) {
					var values = $('ongoing-insurance-dashboard').getElementsByTagName('div');
					for(var i = 0; i <= values.length; i++) {
						if(values[0]) {
							values[0].parentNode.removeChild(values[0]);
						}
					}
					
					walimitedtotal -= (55 / 12);
					allrisktotal -= (55 / 12);
					
					$('wa-limited-total').innerHTML = '&euro; ' + WS.Util.number_format(walimitedtotal, 2, ',', '.');
					$('all-risk-total').innerHTML = '&euro; ' + WS.Util.number_format(allrisktotal, 2, ',', '.');
				}
			}
		});
		/*WS.Event.addEvent($('partner'), 'click', function() {
			if($('partner').checked && $('applicant').checked) {
				walimitedtotal -= (55 / 12);
				allrisktotal -= (55 / 12);
				
				$('wa-limited-total').innerHTML = '&euro; ' + WS.Util.number_format(walimitedtotal, 2, ',', '.');
				$('all-risk-total').innerHTML = '&euro; ' + WS.Util.number_format(allrisktotal, 2, ',', '.');
			
				walimitedtotal += (98 / 12);
				allrisktotal += (98 / 12);
				
				$('wa-limited-total').innerHTML = '&euro; ' + WS.Util.number_format(walimitedtotal, 2, ',', '.');
				$('all-risk-total').innerHTML = '&euro; ' + WS.Util.number_format(allrisktotal, 2, ',', '.');
			}
		});
	}*/
	
	if($('ongoing-travel-insurance')) {
		var group = new Array('startdate', 'applicant', 'partner', 'children', 'insured-group');
		if(!$('ongoing-travel-insurance').checked) {
			WS.toggle('ongoing-toggle');
			wsv.disableGroup(group);
		}		
		WS.Event.addEvent($('ongoing-travel-insurance'), 'click', function() {
			WS.toggle('ongoing-toggle');
			if($('ongoing-travel-insurance').checked){
				wsv.enableGroup(group);
			} else {
				wsv.disableGroup(group);
			}
		});
	}
	
	if($('taxatie-yes')) {
		if(!$('limited-casco').checked) {
			WS.hide('taxatie-wa-limited-toggle');
		}
		if(!$('full-casco').checked) {
			WS.hide('taxatie-all-risk-toggle');
		}
		if(!$('taxatie-yes').checked) {
			WS.hide('taxatie-wa-limited-toggle');
			WS.hide('taxatie-all-risk-toggle');
		}
		
		WS.Event.addEvent($('limited-casco'), 'click', function() {
			if($('limited-casco').checked && $('taxatie-yes').checked) {
				WS.show('taxatie-wa-limited-toggle');
				WS.hide('taxatie-all-risk-toggle');
			} else if($('full-casco').checked && $('taxatie-yes').checked) {
				WS.hide('taxatie-wa-limited-toggle');
				WS.show('taxatie-all-risk-toggle');
			}
		});
		WS.Event.addEvent($('full-casco'), 'click', function() {
			if($('limited-casco').checked && $('taxatie-yes').checked) {
				WS.show('taxatie-wa-limited-toggle');
				WS.hide('taxatie-all-risk-toggle');
			} else if($('full-casco').checked && $('taxatie-yes').checked) {
				WS.hide('taxatie-wa-limited-toggle');
				WS.show('taxatie-all-risk-toggle');
			}
		});
		WS.Event.addEvent($('taxatie-yes'), 'click', function() {
			if($('limited-casco').checked && $('taxatie-yes').checked) {
				WS.show('taxatie-wa-limited-toggle');
				WS.hide('taxatie-all-risk-toggle');
			} else if($('full-casco').checked && $('taxatie-yes').checked) {
				WS.hide('taxatie-wa-limited-toggle');
				WS.show('taxatie-all-risk-toggle');
			}
		});
		WS.Event.addEvent($('taxatie-no'), 'click', function() {
			if($('taxatie-no').checked) {
				WS.hide('taxatie-wa-limited-toggle');
				WS.hide('taxatie-all-risk-toggle');
			}
		});
	}
	
	if($('camper-insurance')) {
		var camperGroup = new Array('camper-insurance-company', 'camper-insurance-polis', 'camper-insurance-bm');
		if(!$('camper-insurance').checked) {
			wsv.disableGroup(camperGroup);
			WS.toggle('camper-insurance-toggle');
		}
		WS.Event.addEvent($('camper-insurance'), 'click', function() {
			wsv.disableGroup(copyGroup);
			wsv.disableGroup(previousGroup);
			wsv.enableGroup(camperGroup);
			WS.hide('previous-insurance-toggle');
			WS.hide('copy-insurance-toggle');
			WS.show('camper-insurance-toggle');
		});
	}
	
	if($('previous-insurance')) {
		var previousGroup = new Array('previous-insurance-company', 'previous-insurance-polis', 'previous-insurance-bm');
		if(!$('previous-insurance').checked) {
			wsv.disableGroup(previousGroup);
			WS.toggle('previous-insurance-toggle');
		}
		WS.Event.addEvent($('previous-insurance'), 'click', function() {
			wsv.disableGroup(camperGroup);
			wsv.disableGroup(copyGroup);
			wsv.enableGroup(previousGroup);
			WS.hide('camper-insurance-toggle');
			WS.hide('copy-insurance-toggle');
			WS.show('previous-insurance-toggle');
		});
	}
	
	if($('copy-insurance')) {
		var copyGroup = new Array('copy-insurance-company', 'copy-insurance-polis', 'copy-insurance-bm');
		if(!$('copy-insurance').checked) {
			wsv.disableGroup(copyGroup);
			WS.toggle('copy-insurance-toggle');
		}
		WS.Event.addEvent($('copy-insurance'), 'click', function() {
			wsv.disableGroup(camperGroup);
			wsv.disableGroup(previousGroup);
			wsv.enableGroup(copyGroup);
			WS.hide('previous-insurance-toggle');
			WS.hide('camper-insurance-toggle');
			WS.show('copy-insurance-toggle');
		});
	}
	
	if($('no-insurance')) {
		if($('no-insurance').checked) {
			wsv.disableGroup(copyGroup);
			wsv.disableGroup(previousGroup);
			wsv.disableGroup(copyGroup);
		}
		WS.Event.addEvent($('no-insurance'), 'click', function() {
			wsv.disableGroup(camperGroup);
			wsv.disableGroup(previousGroup);
			wsv.disableGroup(copyGroup);
			WS.hide('previous-insurance-toggle');
			WS.hide('camper-insurance-toggle');
			WS.hide('copy-insurance-toggle');
		});
	}
	
	
	// radio toggles
	
	if($('amount')) {
		if(!$('raise-amount-yes').checked){
			WS.toggle('amount-toggle');
			wsv.disableElement($('extra-amount'));
		}		
		WS.Event.addEvent($('raise-amount-yes'), 'click', function() {
			if($('raise-amount-yes').checked == true) {
				WS.show('amount-toggle');
				wsv.enableElement($('extra-amount'));
			} else {
				WS.hide('amount-toggle');
				wsv.disableElement($('extra-amount'));
			}
		});
		WS.Event.addEvent($('raise-amount-no'), 'click', function() {
			if($('raise-amount-yes').checked == true) {
				WS.show('amount-toggle');
				wsv.enableElement($('extra-amount'));
			} else {
				WS.hide('amount-toggle');
				wsv.disableElement($('extra-amount'));
			}
		});
	}
	
	if($('other-use-toggle')) {	
		if($('other-use-yes').checked == true) {
			WS.show('other-use-toggle');
		} else {
			WS.hide('other-use-toggle');
		}
		WS.Event.addEvent($('other-use-yes'), 'click', function() {
			if($('other-use-yes').checked == true) {
				WS.show('other-use-toggle');
			} else {
				WS.hide('other-use-toggle');
			}
		});
		WS.Event.addEvent($('other-use-no'), 'click', function() {
			if($('other-use-yes').checked == true) {
				WS.show('other-use-toggle');
			} else {
				WS.hide('other-use-toggle');
			}
		});
	}
	
	if($('camper-rent-toggle')) {	
		if($('camper-rent-yes').checked == true) {
			WS.show('camper-rent-toggle');
		} else {
			WS.hide('camper-rent-toggle');
		}
		WS.Event.addEvent($('camper-rent-yes'), 'click', function() {
			if($('camper-rent-yes').checked == true) {
				WS.show('camper-rent-toggle');
			} else {
				WS.hide('camper-rent-toggle');
			}
		});
		WS.Event.addEvent($('camper-rent-no'), 'click', function() {
			if($('camper-rent-yes').checked == true) {
				WS.show('camper-rent-toggle');
			} else {
				WS.hide('camper-rent-toggle');
			}
		});
	}
	
	if($('prev-insurance-toggle')) {	
		if($('prev-insurance-yes').checked == true) {
			WS.show('prev-insurance-toggle');
		} else {
			WS.hide('prev-insurance-toggle');
		}
		WS.Event.addEvent($('prev-insurance-yes'), 'click', function() {
			if($('prev-insurance-yes').checked == true) {
				WS.show('prev-insurance-toggle');
			} else {
				WS.hide('prev-insurance-toggle');
			}
		});
		WS.Event.addEvent($('prev-insurance-no'), 'click', function() {
			if($('prev-insurance-yes').checked == true) {
				WS.show('prev-insurance-toggle');
			} else {
				WS.hide('prev-insurance-toggle');
			}
		});
	}
	
	if($('drive-entitlement-toggle')) {	
		if($('drive-entitlement-yes').checked == true) {
			WS.show('drive-entitlement-toggle');
		} else {
			WS.hide('drive-entitlement-toggle');
		}
		WS.Event.addEvent($('drive-entitlement-yes'), 'click', function() {
			if($('drive-entitlement-yes').checked == true) {
				WS.show('drive-entitlement-toggle');
			} else {
				WS.hide('drive-entitlement-toggle');
			}
		});
		WS.Event.addEvent($('drive-entitlement-no'), 'click', function() {
			if($('drive-entitlement-yes').checked == true) {
				WS.show('drive-entitlement-toggle');
			} else {
				WS.hide('drive-entitlement-toggle');
			}
		});
	}
	
	if($('driving-skills-toggle')) {	
		if($('driving-skills-yes').checked == true) {
			WS.show('driving-skills-toggle');
		} else {
			WS.hide('driving-skills-toggle');
		}
		WS.Event.addEvent($('driving-skills-yes'), 'click', function() {
			if($('driving-skills-yes').checked == true) {
				WS.show('driving-skills-toggle');
			} else {
				WS.hide('driving-skills-toggle');
			}
		});
		WS.Event.addEvent($('driving-skills-no'), 'click', function() {
			if($('driving-skills-yes').checked == true) {
				WS.show('driving-skills-toggle');
			} else {
				WS.hide('driving-skills-toggle');
			}
		});
	}
	
	if($('injury-history-toggle')) {	
		if($('injury-history-yes').checked == true) {
			WS.show('injury-history-toggle');
		} else {
			WS.hide('injury-history-toggle');
		}
		WS.Event.addEvent($('injury-history-yes'), 'click', function() {
			if($('injury-history-yes').checked == true) {
				WS.show('injury-history-toggle');
			} else {
				WS.hide('injury-history-toggle');
			}
		});
		WS.Event.addEvent($('injury-history-no'), 'click', function() {
			if($('injury-history-yes').checked == true) {
				WS.show('injury-history-toggle');
			} else {
				WS.hide('injury-history-toggle');
			}
		});
	}
	
	if($('closing-question-toggle')) {	
		if($('closing-question-yes').checked == true) {
			WS.show('closing-question-toggle');
		} else {
			WS.hide('closing-question-toggle');
		}
		WS.Event.addEvent($('closing-question-yes'), 'click', function() {
			if($('closing-question-yes').checked == true) {
				WS.show('closing-question-toggle');
			} else {
				WS.hide('closing-question-toggle');
			}
		});
		WS.Event.addEvent($('closing-question-no'), 'click', function() {
			if($('closing-question-yes').checked == true) {
				WS.show('closing-question-toggle');
			} else {
				WS.hide('closing-question-toggle');
			}
		});
	}
	
	if($('driver-no')) {
		var group = new Array('driver-initials', 'driver-prefix-dhr', 'driver-prefix-mevr', 'driver-prefix-fieldset', 'driver-lastname', 'driver-preposition', 'driver-nationality-dutch', 'driver-nationality-other', 'driver-nationality-fieldset', 'driver-nationality-value', 'driver-birthdate', 'driver-zip', 'driver-streetnr', 'driver-address', 'driver-city');
		if(!$('driver-no').checked) {
			WS.hide('driver-toggle');
			wsv.disableGroup(group);
		}
		WS.Event.addEvent($('driver-no'), 'click', function() {

			if($('driver-no').checked == true) {
				WS.show('driver-toggle');
				wsv.enableGroup(group);
			} else {
				WS.hide('driver-toggle');
				wsv.disableGroup(group);
			}
		});
		WS.Event.addEvent($('driver-yes'), 'click', function() {			
			if($('driver-no').checked == true) {
				WS.show('driver-toggle');
				wsv.enableGroup(group);
			} else {
				WS.hide('driver-toggle');
				wsv.disableGroup(group);
			}
		});
	}
	
/**
 *	form calendars
 **/ 

	if($('calendarview')) {
		Calendar.setup({			
			dateFormat: '%d-%m-%Y',
			dateField: 'birthdate',
			triggerElement: 'calendarview'
		})
	}
	
	if($('driver-calendarview')) {
		Calendar.setup({
			dateFormat: '%d-%m-%Y',
			dateField: 'driver-birthdate',
			triggerElement: 'driver-calendarview'
		})
	}
	
	if($('startdate-calendar')) {
		Calendar.setup({
			dateFormat: '%d-%m-%Y',
			dateField: 'startdate',
			triggerElement: 'startdate-calendar'
		})
	}
	
	if($('partner-calendar')) {
		Calendar.setup({
			dateFormat: '%d-%m-%Y',
			dateField: 'partner-birthdate',
			triggerElement: 'partner-calendar'
		})
	}

/**
 *	form calculate extra insurance
 **/

	if($('extra-amount')) {
		WS.Event.addEvent($('extra-amount'), 'blur', function() {
			if($('extra-amount').value) {
				var totalAmount = parseInt($('extra-amount').value) + 2000;
				$('total-amount').innerHTML = '&euro; '+WS.Util.number_format(totalAmount, 0, '', '.')+',-';
			}			
		});
	} 

/**
 *	form addelement for accessoires
 **/

	if($('more-accessoires') && $('add-accessoire')) {
		WS.Event.addEvent($('add-accessoire'), 'click', function(e) {			
			WS.Event.stopEvent(e);
			
			var inline = $('more-accessoires').getElementsByTagName('li')[0].getElementsByTagName('input')[0];
			
			var i = $('more-accessoires').getElementsByTagName('li').length - 1;
			
			var newLi = document.createElement('li');
			newLi.className = 'no-border';
			
			var divAccessoire = document.createElement('div');
			divAccessoire.className = 'column';
			newLi.appendChild(divAccessoire);
			
			var label = '';
			if(inline.value == "1") {
				label += '<label class="indent">&nbsp;</label>';
			}
			
			divAccessoire.innerHTML = label + '<input class="text small-medium" type="text" name="newaccessoires['+ i +'][accessoire]" value="" />';
			
			var divAankoopbedrag = document.createElement('div');
			divAankoopbedrag.className = 'column';
			newLi.appendChild(divAankoopbedrag);
			if(inline.value == "1") {
				divAankoopbedrag.innerHTML = '&nbsp;';
			} else {
				divAankoopbedrag.innerHTML = '<input class="text small-medium" type="text" name="newaccessoires['+ i +'][aankoopbedrag]" value="" />';
			}
			$('more-accessoires').insertBefore(newLi, $('add-accessoire').parentNode);
		});
	}
	
/**
 * if immobilizer-yes is checked then give security-class-one the value checked
 */ 
	if($('immobilizer-yes')) {		
		WS.Event.addEvent($('immobilizer-yes'), 'click', function() {			
			if($('immobilizer-yes').checked == true) {
				$('security-class-one').checked = true;
			}
		});
		WS.Event.addEvent($('immobilizer-no'), 'click', function() {
			if($('immobilizer-no').checked == true) {
				$('security-class-one').checked = false;
			}
		});
	}

/**
 *	form addelement for child data
 **/
	if($('add-child')) {
		WS.Event.addEvent($('add-child'), 'click', function(e) {
			WS.Event.stopEvent(e);
			
			var html = [];
			
			var i = Math.floor($('more-children').getElementsByTagName('li').length/2);
			
			var newLi1 = document.createElement('li');
			newLi1.id = 'child-data-1-'+ i;
			//WS.addClass(newLi1, 'light');
			//WS.addClass(newLi1, 'no-border');
			html.push('<div class="column">\n');
			html.push('<label class="indent" for="child-initials-'+i+'">Voorletters kind '+i+'</label>\n');
			html.push('<input id="child-initials-'+i+'" class="text small wsv-required" type="text" name="child['+i+'][initials]">\n');
			html.push('</div>\n');
			html.push('<div class="column">\n');
			html.push('<label class="fat" for="child-name-'+i+'">Achternaam kind '+i+'</label>\n');
			html.push('<input id="child-name-'+i+'" class="text large wsv-required trail" type="text" name="child['+i+'][name]">\n');
			html.push('</div>\n');			
			html.push('</li>\n');
			newLi1.innerHTML = html.join('');
			$('more-children').insertBefore(newLi1, $('add-child').parentNode.parentNode);
			var html = [];
			var newLi2 = document.createElement('li');
			newLi2.id = 'child-data-2-'+ i;
			//WS.addClass(newLi2, 'light');
			html.push('<div class="column">\n');
			html.push('<label class="indent" for="child-birthdate-'+i+'">Geboortedatum kind '+i+'</label>\n');
			html.push('<input id="child-birthdate-'+i+'" class="text medium wsv-required wsv-date TCMask[##-##-####,]" type="text" name="child['+i+'][birthdate]" value="dd-mm-jjjj">\n');
			//html.push('<img id="child-calendar-'+i+'" class="calendar" src="resources/img/calendar.png" alt="Help" title="Kalender" width="23" height="23">\n');
			html.push('</div>\n');
			html.push('<div class="column">\n');
			html.push('<fieldset class="group wsv-required">\n');
			html.push('<legend>Geslacht</legend>\n');
			html.push('<label class="fat">Geslacht</label>\n');
			html.push('<input id="child-male-'+i+'" class="radio trail" type="radio" name="child['+i+'][gender]" value="male">\n');
			html.push('<label class="radio" for="child-male-'+i+'">Man</label>\n');
			html.push('<input id="child-female-'+i+'" class="radio" type="radio" name="child['+i+'][gender]" value="female">\n');
			html.push('<label class="radio" for="child-female-'+i+'">Vrouw</label>\n');
			html.push('</fieldset>\n');
			html.push('</div>\n');
			newLi2.innerHTML = html.join('');
			$('more-children').insertBefore(newLi2, $('add-child').parentNode.parentNode);
			
			if($('child-calendar-'+i)) {
				Calendar.setup({
					dateFormat: '%d-%m-%Y',
					dateField: 'child-birthdate-'+i,
					triggerElement: 'child-calendar-'+i
				})
			}
			
			var wsv = new WS.Validation($('afsluiten-form'));
			wsv.initialize();
		});
	}
	
	if($('remove-child')) {
		WS.Event.addEvent($('remove-child'), 'click', function(e) {
			WS.Event.stopEvent(e);
			var totalChildren = Math.floor($('more-children').getElementsByTagName('li').length/2) - 1;
			
			if(totalChildren > 1) {
				$('child-data-1-'+ totalChildren).parentNode.removeChild($('child-data-1-'+ totalChildren));
				$('child-data-2-'+ totalChildren).parentNode.removeChild($('child-data-2-'+ totalChildren));
				
				var wsv = new WS.Validation($('afsluiten-form'));
				wsv.initialize();
			}
		});
	}
	
/**
 *	Selecteer alle checkboxen op http://www.camperpolis.nl/direct-afsluiten.html
 **/
	
	
	
	if($('select-all')) {
		WS.Event.addEvent($('select-all'), 'click', function(e) {			
			WS.Event.stopEvent(e);
			
			var checkboxes = [];
			
			var form = $('afsluiten-form');
			checkboxes = form.getInputs('checkbox');
			
			checkboxes.each(function(e) {
				
				if(e.name.substring(0, 11) == 'accessoires') {
					e.checked = true 
				}
			});
		});
	}
	
/**
 *	Deselecteer alle checkboxen op http://www.camperpolis.nl/direct-afsluiten.html
 **/

	if($('select-none')) {
	WS.Event.addEvent($('select-none'), 'click', function(e) {
			WS.Event.stopEvent(e);
			
			var checkboxes = [];
			
			var form = $('afsluiten-form');
			checkboxes = form.getInputs('checkbox');
			
			checkboxes.each(function(e) { 
				if(e.name.substring(0, 11) == 'accessoires') {
					e.checked = false 
				}
			});
		});
	}
	
	
	/*if($('nationality-value')) {
		WS.Event.addEvent($('nationality-value'), 'keydown', function(e) {
			$('nationality-other').checked = true;
		});
		
		WS.Event.addEvent($('driver-nationality-value'), 'keydown', function(e) {
			$('driver-nationality-other').checked = true;
		});
	}*/
	
	function getTotal(key, type) {
		var type = arguments[1] || 'plain';
		
		totalAmount = parseFloat(total[key]['premie']) + parseFloat(total[key]['bonus']) + parseFloat(total[key]['breakdown']) + parseFloat(total[key]['insurance-passenger']) + parseFloat(total[key]['legal-aid']) + parseFloat(total[key]['ongoing-insurance']) + parseFloat(total[key]['cancellation-insurance']) + parseFloat(total[key]['wintersport-coverage']) + parseFloat(total[key]['money-insurance']);
		
		if(type == 'plain') {
			return totalAmount;
		} else if(type == 'format') {
			return WS.Util.number_format(totalAmount, 2, ',', '.');
		}
	}
	
	function showTotal() {
		$('wa-limited-total').innerHTML = getTotal('limited', 'format');
		$('all-risk-total').innerHTML = getTotal('all-risk', 'format');
	}
});

function createMoreChildren(i) {
	var html = [];
	
	/*var newLi1 = document.createElement('li');
	newLi1.id = 'child-data-1-'+ i;*/
	//WS.addClass(newLi1, 'light');
	//WS.addClass(newLi1, 'no-border');
	html.push('<li id="child-data-1-'+i+'"');
	html.push('<div class="column">\n');
	html.push('<label class="indent" for="child-initials-'+i+'">Voorletters kind '+i+'</label>\n');
	html.push('<input id="child-initials-'+i+'" class="text small wsv-required" type="text" name="child['+i+'][initials]">\n');
	html.push('</div>\n');
	html.push('<div class="column">\n');
	html.push('<label class="fat" for="child-name-'+i+'">Achternaam kind '+i+'</label>\n');
	html.push('<input id="child-name-'+i+'" class="text large wsv-required trail" type="text" name="child['+i+'][name]">\n');
	html.push('</div>\n');			
	html.push('</li>\n');
	/*$('more-children').innerHTML = html.join('');
	var html = [];*/
	/*var newLi2 = document.createElement('li');
	newLi2.id = 'child-data-2-'+ i;*/
	//WS.addClass(newLi2, 'light');
	html.push('<li id="child-data-2-'+i+'"');
	html.push('<div class="column">\n');
	html.push('<label class="indent" for="child-birthdate-'+i+'">Geboortedatum kind '+i+'</label>\n');
	html.push('<input id="child-birthdate-'+i+'" class="text medium wsv-required wsv-date TCMask[##-##-####,]" type="text" name="child['+i+'][birthdate]" value="dd-mm-jjjj">\n');
	//html.push('<img id="child-calendar-'+i+'" class="calendar" src="resources/img/calendar.png" alt="Help" title="Kalender" width="23" height="23">\n');
	html.push('</div>\n');
	html.push('<div class="column">\n');
	html.push('<fieldset class="group wsv-required">\n');
	html.push('<legend>Geslacht</legend>\n');
	html.push('<label class="fat">Geslacht</label>\n');
	html.push('<input id="child-male-'+i+'" class="radio trail" type="radio" name="child['+i+'][gender]" value="male">\n');
	html.push('<label class="radio" for="child-male-'+i+'">Man</label>\n');
	html.push('<input id="child-female-'+i+'" class="radio" type="radio" name="child['+i+'][gender]" value="female">\n');
	html.push('<label class="radio" for="child-female-'+i+'">Vrouw</label>\n');
	html.push('</fieldset>\n');
	html.push('</div>\n');
	$('more-children').innerHTML += html.join('');
	var wsv = new WS.Validation($('premie-berekenen'));
	wsv.initialize();
	//$('more-children').insertBefore(newLi2, $('add-child').parentNode.parentNode);
}

function createPartnerData() {
	var html = [];
	
	html.push('<li>');
	html.push('<div class="column">\n');
	html.push('<label class="indent" for="partner-initials">Voorletters partner</label>\n');
	html.push('<input id="partner-initials" class="text small wsv-required" type="text" name="partner-initials">\n');
	html.push('</div>\n');
	html.push('<div class="column">\n');
	html.push('<label class="fat" for="partner-name">Achternaam partner</label>\n');
	html.push('<input id="partner-name" class="text large wsv-required trail" type="text" name="partner-name">\n');
	html.push('</div>\n');			
	html.push('</li>\n');
	html.push('<li>');
	html.push('<div class="column">\n');
	html.push('<label class="indent" for="partner-birthdate">Geboortedatum partner</label>\n');
	html.push('<input id="partner-birthdate" class="text medium wsv-required wsv-date" type="text" name="partner-birthdate" value="dd-mm-jjjj">\n');
	html.push('</div>\n');
	html.push('<div class="column">\n');
	html.push('<fieldset class="group wsv-required">\n');
	html.push('<legend>Geslacht</legend>\n');
	html.push('<label class="fat">Geslacht</label>\n');
	html.push('<input id="partner-male" class="radio trail" type="radio" name="partner-gender" value="male">\n');
	html.push('<label class="radio" for="partner-male">Man</label>\n');
	html.push('<input id="partner-female" class="radio" type="radio" name="partner-gender" value="female">\n');
	html.push('<label class="radio" for="partner-female">Vrouw</label>\n');
	html.push('</fieldset>\n');
	html.push('</div>\n');
	$('partner-data').innerHTML = html.join('');
	var wsv = new WS.Validation($('premie-berekenen'));
	wsv.initialize();
}


