window.addEvent('domready', function() {
	if($('hpCarecheck') && $('serienummer') && $('productnummer') && $('checkWarranty')) {
		new OverText($('serienummer'), {});
		new OverText($('productnummer'), {});

		$('hpCarecheck').set('send', {
			noCache: true,
			onRequest: function() {
				if($('warrantyResult')) {
					$('warrantyResult').dispose();
				}
				if($('offerteDiv')) {
					$('offerteDiv').dispose();
				}
			},
			onSuccess: function(responseText) {
				var data = JSON.decode(responseText);
				if(data) {
					var warrantyResult = new Element('div', {
						id: 'warrantyResult',
						html: '<h5>Productgarantie</h5>'
					});
					if(data.status == 1) {

						var myTable = new HtmlTable({
							properties: {
								border: 0,
								cellspacing: 3
							}
						});

						$each(data.garantieData, function(item) {
							myTable.push([
								{content: '<strong>'+item.field+'</strong>', properties: {style: 'width:150px;'}},
								{content: item.value}
							]);
						});

						myTable.inject(warrantyResult);
						
						var formContainer = new Element('div', {id: 'offerteDiv'});
						formContainer.load('/hp-carecheck/formulier.html');
						formContainer.inject($('hpCarecheck'), 'after');
						
						// Met een delay de aanvullende gegevens toevoegen omdat deze
						// anders nog niet beschikbaar zijn in het DOM
						(function() {
							var form = $('offerteAanvraag');
							if(form) {
								$each(data.garantieData, function(item, index) {
									var hidden = new Element('input', {
										type: 'hidden',
										name: index,
										value: item.value
									});
									hidden.inject(form);
								});
							}
						}).delay(500);
					}
					else {
						var p = new Element('p', {
							text: data.msg
						});
						p.inject(warrantyResult);
					}

					warrantyResult.inject($('hpCarecheck'));
					(function(){
						var h5 = warrantyResult.getElement('h5');
						new Fx.Scroll(window, {
							onComplete: function() {
								h5.set('tween', {duration: 'long'});
								h5.highlight('#00AA00', '#0000AA');
							}
						}).toElement(h5);
					}).delay(500);
				}
				else {
					alert('Er is een onbekende fout opgetreden');
				}
			}
		});

		$('checkWarranty').addEvent('click', function(e) {
			e.stop();
			if($('serienummer').get('value').length == 0) {
				alert('U dient een serienummer op te geven');
			}
			else if($('productnummer').get('value').length == 0) {
				alert('U dient een productnummer op te geven');
			}
			else {
				$('hpCarecheck').send();
			}
		});
	}
});

