var widget = {
	currentSubject: '',
	
	showSubSubjects: function(subject)
	{
		if(this.currentSubject != subject)
		{
			if(subject == 'BHKW')
				$('div#widget form div.sub-subjects label.label').html('Art des ' + subject);
			else
				$('div#widget form div.sub-subjects label.label').html('Art der ' + subject + '');
			
			$('div#widget form div.sub-subjects').show();
			$('div#widget form div.sub-subjects select option').remove();
			
			var subjectsFound = false;
			if(typeof subSubjects[subject] != 'undefined' && subSubjects[subject].length > 0)
			{
				$('div#widget form div.sub-subjects select').append(new Option('', ''));
				subjectsFound = true;
				$.each(subSubjects[subject], function(key, subSubject)
				{
					$('div#widget form div.sub-subjects select').append('<option value="' + subSubject + '">' + subSubject + '</option>');
				});
			}
			
			if(subjectsFound == false)
			{
				$('div#widget form div.sub-subjects').hide();
			}
			
			this.currentSubject = subject;
		}
	},
	showMoreFields: function()
	{
		var subject = $('div#widget form select[name="subject"] option:selected').val();
		
		$('div#widget form div.brauchwasseraufbereitung').hide();
		if(subject == 'Wärmepumpe')
		{
			$('div#widget form div.brauchwasseraufbereitung').show();
		}
		
		var service = $('div#widget form div.service input:checked').val();
		if(service == 'Reparatur' || service == 'Wartung')
			$('div#widget form label[for="subject"]').html('Vorhandener Heizungstyp');
		else
			$('div#widget form label[for="subject"]').html('Gewünschter Heizungstyp');
		
		this.showSubSubjects(subject);
	},
	updateStatusbar: function(field)
	{
		var name = field.attr('name');
		
		if(name != 'service_other' && name != 'alter_heizung_other' && name != 'baujahr_other')
		{
			if(defaultWidget.step == 1)
				defaultWidget.increaseStatusbar(12, name);
			else
			{
				var subject = $('div#widget form select[name="subject"] option:selected').val();
				if(subject == 'Wärmepumpe')
				{
					defaultWidget.increaseStatusbar(3, name);
				}
				else if(subject == 'Elektroheizung')
				{
					defaultWidget.increaseStatusbar(5, name);
				}
				else
				{
					defaultWidget.increaseStatusbar(7, name);
				}
			}
		}
	},
	validate: function()
	{
		defaultWidget.resetErrors();
		
		switch(defaultWidget.step)
		{
			case 1:
				if(typeof $('div#widget form input[name="service"]:checked').val() == 'undefined')
				{
					defaultWidget.setError('service');
				}
				else if($('div#widget form input[name="service"]:checked').val() == 'Sonstiges' && $('div#widget form input[name="service_other"]').val() == '')
				{
					defaultWidget.setError('service');
					defaultWidget.setError('service_other');
				}
				
				if($('div#widget form select[name="subject"] option:selected').val() == '')
				{
					defaultWidget.setError('subject');
				}
				
				if($('div#widget form select[name="baujahr"] option:selected').val() == '')
				{
					defaultWidget.setError('baujahr');
				}
				else if($('div#widget form input[name="baujahr"]:checked').val() == 'Baujahr bekannt' && $('div#widget form input[name="baujahr_other"]').val() == '')
				{
					defaultWidget.setError('baujahr');
					defaultWidget.setError('baujahr_other');
				}
				
				if($('div#widget form select[name="alter_heizung"] option:selected').val() == '')
				{
					defaultWidget.setError('alter_heizung');
				}
				else if($('div#widget form input[name="alter_heizung"]:checked').val() == 'Alter bekannt' && $('div#widget form input[name="alter_heizung_other"]').val() == '')
				{
					defaultWidget.setError('alter_heizung');
					defaultWidget.setError('alter_heizung_other');
				}
				
				if($('div#widget form input[name="heizflaeche"]').val() == '')
				{
					defaultWidget.setError('heizflaeche');
				}
				
				if($('div#widget form select[name="zeitpunkt_projektbegin"] option:selected').val() == '')
				{
					defaultWidget.setError('zeitpunkt_projektbegin');
				}
				
				var subject = $('div#widget form select[name="subject"] option:selected').val();
				if((subject == 'Wärmepumpe' || subject == 'Elektroheizung') && $('div#widget form select[name="fachgebiet_unterkategorie"] option:selected').val() == '')
					defaultWidget.setError('fachgebiet_unterkategorie');
				if(subject == 'Wärmepumpe' && typeof $('div#widget form input[name="brauchwasseraufbereitung"]:checked').val() == 'undefined')
					defaultWidget.setError('brauchwasseraufbereitung');
				if(subject == 'Sonstiges' && $('div#widget form textarea#comment').val() == '')
					defaultWidget.setError('comment');
				
				break;
			case 2:
				defaultWidget.validatePersonalData();
				break;
		}
		
		return !defaultWidget.error;
	}
}

$.getScript('/_files/designs/default/js/widget.js');
