if(!Direktfinder) {

	var Direktfinder = Class.create({
		
		initialize: function(form, options) {
			this.form = form;
			this.trefferId = 0;
			
			this.options = Object.extend({
				'urlRoot': '',
				'sprache': 'de',
				'seiteDetail': 'produkt',
				'istAngemeldet': 0
				}, options || {});
			
			this.dropdown1 = $(form).select('#dropdown_direktfinder_1').first();
			this.dropdown1.observe('change', this._changeHandler1.bindAsEventListener(this));
			
			if ($F('dropdown_direktfinder_1') != '')
				$('dropdown_direktfinder_2').observe('change', this._changeHandler2.bindAsEventListener(this));
			
			if ($F('dropdown_direktfinder_2') != '')
				$('dropdown_direktfinder_3').observe('change', this._changeHandler3.bindAsEventListener(this));
			
			if ($F('dropdown_direktfinder_3') != '')
				$('dropdown_direktfinder_4').observe('change', this._changeHandler4.bindAsEventListener(this));
			},
		
		_changeHandler1: function(event){
			var dropdown1 = Event.element(event);
			
			Cycon.Produktdatenbank.PdbArtikel.direktfinderFuellenDropdown2({
				'parameters': {
					'dropdown_direktfinder_1': $F(dropdown1)
					},
				'onSuccess': function(transport){
					if (transport.responseText != ""){
						$('dropdown_direktfinder_2').replace(transport.responseText);
						$('dropdown_direktfinder_2').observe('change', this._changeHandler2.bindAsEventListener(this));
						this.leerenSelect('dropdown_direktfinder_3');
						this.leerenSelect('dropdown_direktfinder_4');
						}
					}.bind(this)
				});
			},
		
		_changeHandler2: function(event){
			var dropdown2 = Event.element(event);
			
			Cycon.Produktdatenbank.PdbArtikel.direktfinderFuellenDropdown3({
				'parameters': {
					'dropdown_direktfinder_1': $F('dropdown_direktfinder_1'),
					'dropdown_direktfinder_2': $F(dropdown2)
					},
				'onSuccess': function(transport){
					if (transport.responseText != ""){
						$('dropdown_direktfinder_3').replace(transport.responseText);
						$('dropdown_direktfinder_3').observe('change', this._changeHandler3.bindAsEventListener(this));
						this.leerenSelect('dropdown_direktfinder_4');
						}
					}.bind(this)
				});
			},
		
		_changeHandler3: function(event){
			var dropdown3 = Event.element(event);
			
			Cycon.Produktdatenbank.PdbArtikel.direktfinderFuellenDropdown4({
				'parameters': {
					'dropdown_direktfinder_1': $F('dropdown_direktfinder_1'),
					'dropdown_direktfinder_2': $F('dropdown_direktfinder_2'),
					'dropdown_direktfinder_3': $F(dropdown3)
					},
				'onSuccess': function(transport){
					$('dropdown_direktfinder_4').replace(transport.responseText);
					$('dropdown_direktfinder_4').observe('change', this._changeHandler4.bindAsEventListener(this));
					}.bind(this)
				});
			},
		
		_changeHandler4: function(event){
			var dropdown4 = Event.element(event);
			
			Cycon.Produktdatenbank.PdbArtikel.direktfinderAuswertenDropdown4({
				'parameters': {
					'dropdown_direktfinder_1': $F('dropdown_direktfinder_1'),
					'dropdown_direktfinder_2': $F('dropdown_direktfinder_2'),
					'dropdown_direktfinder_3': $F('dropdown_direktfinder_3'),
					'dropdown_direktfinder_4': $F(dropdown4)
					},
				'onSuccess': function(transport){
					$('dropdown_direktfinder_4').replace(transport.responseText);
					$('dropdown_direktfinder_4').observe('change', this._changeHandler4.bindAsEventListener(this));
					}.bind(this)
				});
			},
		
		leerenSelect: function(id){
			
				$(id).innerHTML = '';
			},
		
		setTrefferId: function(trefferId){
			
			this.trefferId = trefferId;
			
			if (this.trefferId){
				$('warenkorb-symbol').src = this.options.urlRoot + 'portal/pics/layout/di-soric/warenkorb_aktiv.png';
			}
			else {
				$('warenkorb-symbol').src = this.options.urlRoot + 'portal/pics/layout/di-soric/warenkorb.png';
			}
			},
		
		warenkorbAdd: function(){
			
			if (this.trefferId)
				myBasket.add(this.trefferId, this.options.istAngemeldet);
			},
		
		submitForm: function(){
			
			if (this.trefferId)
				document.location.href = this.options.urlRoot + this.options.seiteDetail + '_' + this.options.sprache + '.html?system_id=' + this.trefferId;
			else
				$(this.form).submit();
			}
	});
}
