var gesuch = new Class ({

    transHash: null,
    controlHash: null,
    jasonCat: null,
    jasonLists: null,
    userData: null,
    choosen: new Array(),
    gesuchAutoCompleter: null,
    autoCompResult: 'none',
    currentStep: null,
    textOben: [0,1164,1185,1187,'getOben',1190,1192,1194,1196],
    textUnten: [0,1163,1184,1186,1188,1189,1191,1193,1995],
    textOben2: [0, 0, 0, 1198, 1200],
    textUnten2: [0, 0, 0, 1197, 1199],
    
     initialize: function() {
        
     },
     
     startRequest: function() {
        if (msaleUI.stats.tabStatus.open) {
            return false;
        }
        msaleUI.stats.tabStatus.open = true;
        if(!$chk($('loadingFrameImage'))) {
            loadingFrame(true);
            if(!$type(msaleUI.stats.browser.ieVer) || msaleUI.stats.browser.ieVer !== 7) {
                showOverlay(true);
            }
        }
        this.requestData();
     },
     
     requestData: function() {
        var contactId = msaleUI.Plugins.Help.cookie.getFromCookie('machineReq', 0);
        new Request.JSON({
            url: 'ajaxcontent/de/machine_request.php',
             data: 'lang='+msaleUI.Plugins.Help.langManager.current_lang+'&contactId='+contactId,
             method: 'post',
             onRequest: function() {
                msaleUI.Plugins.MDetails.machineDetails.showTabOverlay();
             },
             onComplete: function(response) {
                msaleUI.Plugins.MDetails.machineRequest.preProcessing(response);
                msaleUI.Plugins.MDetails.machineRequest.fillItUp();
                msaleUI.Plugins.MDetails.machineRequest.resizeit();
                msaleUI.Plugins.MDetails.machineDetails.showTabOverlayContent(-1);
                msaleUI.Plugins.MDetails.machineRequest.doStep1();
             }
            }).send();
     },
     
     preProcessing: function(jason) {
        this.transHash = new Hash(jason.t);
        this.controlHash = new Hash(jason.c);
        this.jasonCat = jason.cid;
        this.jasonLists = jason.l;
        if($type(jason.userdata)) {
            this.userData = jason.userdata;
        } else {
            this.userData = null;
        }
     },
     
     resizeit: function(){
        if(msaleUI.stats.browser.ie) {
            var height = document.documentElement.clientHeight-405;
        } else {
            var height = window.innerHeight-405;
        }
        $('lowerContent').setStyle('height',height);
     },
     
     fillItUp: function () {
        (new Element('div', { 'id': 'tabOverlayContent',
                'html' : '<div id="closeTab" onClick="msaleUI.Plugins.MDetails.machineDetails.hideTabOverlay()" class="closeTab"></div>'+           
                     '<div id="aloneInTheDark_top">' +
                         '<div style="font-weight:bolder;position:relative;left:50px;top:5px;">'+msaleUI.Plugins.Help.langManager.getTrans(591)+'</div>'+
                     '</div>' +
                      '<div id="aloneInTheDark_topleft">' +
                          '<table style="position:absolute;left:-2px;top:33px;"><tbody>' +
                             '<tr><td id="stepButton1" class="anfrage1a" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(1)"</td></tr>'+
                             '<tr><td id="stepButton2" class="anfrage2" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(2)"</td></tr>'+
                             '<tr><td id="stepButton3" class="anfrage3" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(3)"</td></tr>'+
                             '<tr><td id="stepButton4" class="anfrage4" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(4)"</td></tr>'+
                             '<tr><td id="stepButton5" class="anfrage5" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(5)"</td></tr>'+
                             '<tr><td id="stepButton6" class="anfrage6" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(6)"</td></tr>'+
                             '<tr><td id="stepButton7" class="anfrage7" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(7)"</td></tr>'+
                             '<tr><td id="stepButton8" class="anfrage8" onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(8)"</td></tr>'+
                         '</tbody></table>'+
                      '</div>' +
                      '<div id="mDetailsBox_left"></div>'+
                    '<div id="mDetailsBox_right"></div>' +
                    '<div id="upperContent">' +
                        '<table><tbody>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep1"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep2"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep3"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep4"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep5"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep6"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep7"></div></td></tr>' +
                        '<tr><td style="height:25px;"><div id="anfrageStep8"></div></td></tr>' +
                        '</tbody></table>'+
                    '</div>'+
                    '<div id="gesuchAnweisung" style="height:30px;width:100%;position:absolute;top:225px;left:-5px;background: transparent url(\'images/cattitle_bg.jpg\') repeat-x 0 0;"></div>'+
                    '<div style="height:14px;width:100%;position:absolute;top:255px;left:-5px;background: url(\'images/schatten_o.png\') repeat-x 0 0;"></div>'+
                    '<div id="lowerContent" align="center"></div>'+
                    '<div style="position:absolute;bottom:-14px;left:-16px;width:710px;height:14px;background: url(\'images/mdetails_box_bottom.png\') no-repeat 0 0;z-index:201;"></div>'
        })).injectInside($(msaleUI.Frames.tabOverlayContainer));
        for(var i=1;i<9;i++) {
            $('anfrageStep'+i).set('tween', {duration: 'long'}).fade('hide');
        }
        
     },
     
     makeTable: function(text1, text2) {
        return (new Element('table', {
            'width' : '95%',
            'html' : '<tbody><tr>'+
                        '<td class="gesuchTdButton" rel="1" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep(this)"></td>'+
                         '<td class="gesuchTdEntry">'+text1+'</td>'+
                         '<td class="gesuchTdButton" rel="2" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep(this)"></td>'+
                         '<td class="gesuchTdEntry">'+text2+'</td>'
                    +'</tr></tbody>'
        }));
     },
     
     makeRow: function(count, text1, text2) {
        var einTr = new Element('tr');
        (new Element('td', {
            'class' : 'gesuchTdButton',
            'rel' : count,
            'onclick' : 'msaleUI.Plugins.MDetails.machineRequest.finishStep(this)'
        })).inject(einTr);
        (new Element('td', {
            'class' : 'gesuchTdEntry',
            'html' : text1
        })).inject(einTr);
        if(text2 !== 'n0n3') {
            (new Element('td', {
                'class' : 'gesuchTdButton',
                'rel' : count+1,
                'onclick' : 'msaleUI.Plugins.MDetails.machineRequest.finishStep(this)'
            })).inject(einTr);
            (new Element('td', {
                'class' : 'gesuchTdEntry',
                'html' : text2
            })).inject(einTr);
        }
        return einTr;
     },
     
     makeTable2: function(text1, text2, text3) {
        return (new Element('table', {
            'width' : '95%',
            'html' : '<tbody><tr>'+
                         '<td class="gesuchCheckBox" rel="1"><input type="checkbox"></td>'+
                         '<td class="gesuchTdEntry2">'+text1+'</td>'+
                         '<td class="gesuchCheckBox" rel="2"><input type="checkbox"></td>'+
                         '<td class="gesuchTdEntry2">'+text2+'</td>'+
                          '<td class="gesuchCheckBox" rel="3"><input type="checkbox"></td>'+
                         '<td class="gesuchTdEntry2">'+text3+'</td>'+
                    '</tr></tbody>'
        }));
     },
     
      makeRow2: function(count, text1, text2, text3) {
        var einTr = new Element('tr');
        (new Element('td', {
            'class' : 'gesuchCheckBox',
            'rel' : count,
            'html' : ' <input type="checkbox">'
        })).inject(einTr);
        (new Element('td', {
            'class' : 'gesuchTdEntry2',
            'html' : text1
        })).inject(einTr);
        if(text2 !== 'n0n3') {
            (new Element('td', {
                'class' : 'gesuchCheckBox',
                'rel' : count+1,
                'html' : ' <input type="checkbox">'
            })).inject(einTr);
            (new Element('td', {
                'class' : 'gesuchTdEntry2',
                'html' : text2
            })).inject(einTr);
        }
        if(text3 !== 'n0n3') { 
            (new Element('td', {
                'class' : 'gesuchCheckBox',
                'rel' : count+2,
                'html' : ' <input type="checkbox">'
            })).inject(einTr);
            (new Element('td', {
                'class' : 'gesuchTdEntry2',
                'html' : text3
            })).inject(einTr);
        }
        return einTr;
     },
     
     finishStep: function(that) {
        var stepDiv = that.getParent('table').getParent('div');
        var selected = that.get('rel');
        var step = stepDiv.get('rel');
        var text = that.getNext('td').get('html');
        
        stepDiv.fade('out');
        $('descStep'+step).fade('out');
        this.choosen[step] = selected;
        (function(){
            stepDiv.destroy();
            $('descStep'+step).destroy();
            msaleUI.Plugins.MDetails.machineRequest.initNextStep(step, text);
        }).delay(1111)
     },
     
      finishStep2: function(that) {
        var stepDiv = that.getParent('table').getParent('div');
        var step = stepDiv.get('rel');
        var selected = 'n0n3';
        var text = 'n0n3';
        
        var select1 = that.getPrevious('td').getFirst('select');
        var select2 = select1.getNext('select');
        select1.getElements('option').each(function(item) {
            if(item.selected) {
                selected = item.get('value');
                text = item.get('html');
            }
        });
        select2.getElements('option').each(function(item) {
            if(item.selected) {
                selected = selected + ',' + item.get('value');
                text = text + ' - ' + item.get('html');
            }
        });
        
        stepDiv.fade('out');
        $('descStep'+step).fade('out');
        this.choosen[step] = selected;
        (function(){
            stepDiv.destroy();
            $('descStep'+step).destroy();
            msaleUI.Plugins.MDetails.machineRequest.initNextStep(step, text);
        }).delay(1111)
     },
     
     finishStep3: function(that, selected){
        var stepDiv = that.getParent('table').getParent('div');
        var step = stepDiv.get('rel');
        var text = selected;
        
        stepDiv.fade('out');
        $('descStep'+step).fade('out');
        this.choosen[step] = selected;
        (function(){
            stepDiv.destroy();
            $('descStep'+step).destroy();
            msaleUI.Plugins.MDetails.machineRequest.initNextStep(step, text);
        }).delay(1111);
     },
     
     finishStep4: function(that, what) {
        var stepDiv = that.getParent('table').getParent('div').getParent('div');
        var step = stepDiv.get('rel');
        if(what === 'weiter') {
            var selected = new Array();
            $$('.gesuchCheckBox').each(function(item) {
                if(item.getElement('input').checked) {
                    selected.include(item.getNext('td').get('text'));
                }
            });
            if(selected.length > 2) {
                msaleUI.Plugins.smoothBox.alert(this.getTrans(1201));
                return false;
            }
            if(selected.length === 0) {
                msaleUI.Plugins.smoothBox.alert(this.getTrans(1202));
                return false;
            }
            if(selected.length === 2) {
                var text = selected[0] + ' , ' + selected[1];
            } else if(selected.length === 1) {
                var text = selected[0];
            }
        } else if(what === 'alle') {
            
            var text = 'Alle';
        }
        stepDiv.fade('out');
        $('descStep'+step).fade('out');
        this.choosen[step] = selected;
        (function(){
            stepDiv.destroy();
            $('descStep'+step).destroy();
            msaleUI.Plugins.MDetails.machineRequest.initNextStep(step, text);
        }).delay(1111);
     },
     
     get4oben: function() {
        if($type(this.choosen[2]) && $type(this.choosen[3])) {
            var eineListe = this.getCatContent(this.choosen[2]).fi[(this.getCatContent(this.choosen[2]).mtype[this.choosen[3]].fi)];
            var textOben = msaleUI.Plugins.MDetails.machineRequest.getTrans(eineListe[0].value)+' '+msaleUI.Plugins.MDetails.machineRequest.getTrans(eineListe[0].unit);
            return textOben;
        } else {
            return "error4712";
        }
    },
     
     autoCompContinue: function(that) {
        if(this.autoCompResult !== 'none') {
            var stepDiv = that.getParent('table').getParent('div');
            var step = stepDiv.get('rel');
            var selected = this.autoCompResult; 
            var text = new Hash(this.getCatContent(this.choosen[1]).f).get(selected);
            
            $('descStep'+step).fade('out');
            stepDiv.fade('out');
            this.choosen[step] = selected;
            (function(){
                stepDiv.destroy();
                $('descStep'+step).destroy();
                msaleUI.Plugins.MDetails.machineRequest.initNextStep(step, text);
            }).delay(1111);
        }
     },
     
     initNextStep: function(finishedStep, text) {
        var eleString = 'stepButton'+finishedStep;
        var classString = 'td.anfrage'+finishedStep;
        
        if(this.choosen[1] === '1' && (finishedStep === '3' || finishedStep === '4')) {
            var preText = this.textOben2[finishedStep];
        } else {
            var preText = this.textOben[finishedStep];
        }
        if(preText === 'getOben') {
            preText = this.get4oben(finishedStep);
        } else {
            preText = this.getTrans(preText);
        }
        text = preText + ': ' + text;
        $('anfrageStep'+finishedStep).set('text', text);
        $('anfrageStep'+finishedStep).fade('in');
        
        var morph1 = new Fx.Morph(eleString, {duration: 'long'});
        morph1.start(classString);
        var nextStep = finishedStep.toInt()+1;
        eleString = 'stepButton'+nextStep;
        classString = 'td.anfrage'+nextStep+'a';
        var morph2 = new Fx.Morph(eleString, {duration: 'long'});
        morph2.start(classString);
        this.currentStep = nextStep;
        this.initStep(nextStep);
     },
     
     initStep: function(step) {
        if($type(step) !== 'string') {
            step = step.toString();
        }
        switch(step) {
            case '1':
                this.doStep1();
                break;
            case '2':
                this.doStep2();
                break;
            case '3':
                this.doStep3();
                break;
            case '4':
                this.doStep4();
                break;
            case '5':
                this.doStep5();
                break;
            case '6':
                this.doStep6();
                break;
            case '7':
                this.doStep7();
                break;
            case '8':
                this.doStep8();
                break;  
        }
     },
     
     backStep: function(step) {
        if(step > this.currentStep) {
            return false;
        }
        var eleString = 'stepButton'+this.currentStep;
        var classString = 'td.anfrage'+this.currentStep;
        var morph1 = new Fx.Morph(eleString, {duration: 'long'});
        morph1.start(classString);
        eleString = 'stepButton'+step
        classString = 'td.anfrage'+step+'a';
        var morph2 = new Fx.Morph(eleString, {duration: 'long'});
        morph2.start(classString);
        var stepDiv = 'step'+this.currentStep+'div';
        $(stepDiv).fade('out');
        for(var i=step;i<=this.currentStep;i++) {
            $('anfrageStep'+i).fade('out');
            this.choosen[i] = null;
        }
        var descDiv = $('descStep'+this.currentStep);
        descDiv.fade('out');
        this.currentStep = step;
        (function(){
            for(var i=step;i<=this.currentStep;i++) {
                $('anfrageStep'+i).getElement('span').set('text','');
            }
            $(stepDiv).destroy();
            descDiv.destroy();
            msaleUI.Plugins.MDetails.machineRequest.initStep(step);
        }).delay(1111);
     },
     
     getDesc: function(step) {
     	if(step === 1) {
	     	var answer = new Element('div', {
	            'id': 'descStep'+step,
	            'html': '<br><br><span style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(msaleUI.Plugins.MDetails.machineRequest.textUnten[step])+'</span><br><br>'
	        }).set('tween', {duration: 'long'}).fade('hide');
     	} else {
     		var answer = new Element('div', {
	            'id': 'descStep'+step,
	            'html': '<div onclick="msaleUI.Plugins.MDetails.machineRequest.backStep('+(step-1)+')" style="float:left;height:28px;left:5px;position:relative;">' +
	            			'<img src="images/gesuchButton2.png"><span style="position:relative;top:-8px;left:5px;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1207)+'</span>' +
	            		'</div><br><br>' +
	            		'<div>' +
	            			'<span style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(msaleUI.Plugins.MDetails.machineRequest.textUnten[step])+'</span>' +
	            		'</div><br>'
	        }).set('tween', {duration: 'long'}).fade('hide');
     	}
     	return answer;
     },
     
     doStep1: function() {
        var step1 = new Element('div', {
            'id' : 'step1div',
            'rel': '1',
            'class' : 'gesuchDiv'
        }).set('tween', {duration: 'long'}).fade('hide');
        (this.makeTable(this.getTrans(1165), this.getTrans(1166))).inject(step1);
        var desc1 = this.getDesc(1);
        desc1.inject($('lowerContent'));
        step1.inject($('lowerContent'));
        desc1.fade('in');
        step1.fade('in');
     },
     
     doStep2: function() {
        if($chk($('step1div'))) {
            $('step1div').destroy();
        }
        var step2 = new Element('div', {
            'id' : 'step2div',
            'rel' : '2',
            'class' : 'gesuchDiv'
        }).set('tween', {duration: 'long'}).fade('hide');
        var i = 1;
        (this.makeTable(msaleUI.Plugins.Help.langManager.getTrans(1), msaleUI.Plugins.Help.langManager.getTrans(2))).inject(step2);
        (this.makeRow(3, msaleUI.Plugins.Help.langManager.getTrans(3),msaleUI.Plugins.Help.langManager.getTrans(4))).inject(step2.getElement('tbody'));
        (this.makeRow(5, msaleUI.Plugins.Help.langManager.getTrans(5),msaleUI.Plugins.Help.langManager.getTrans(6))).inject(step2.getElement('tbody'));
        (this.makeRow(7, msaleUI.Plugins.Help.langManager.getTrans(7),msaleUI.Plugins.Help.langManager.getTrans(9))).inject(step2.getElement('tbody'));
        (this.makeRow(10, msaleUI.Plugins.Help.langManager.getTrans(10),'n0n3')).inject(step2.getElement('tbody'));
        var desc2 = this.getDesc(2);
        desc2.inject($('lowerContent'));
        step2.inject($('lowerContent'));
        desc2.fade('in');
        step2.fade('in');
     },
     
     doStep3: function() {
        if($chk($('step2div'))) {
            $('step2div').destroy();
        }
        if(this.choosen[1] === '1') {
            var step3div = new Element('div', {
                'id' : 'step3div',
                'style' : 'font-weight:bolder;font-size:14pt;',
                'rel' : '3',
                'class' : 'gesuchDiv',
                'html' : '<table><tbody><tr>'+
                        '<td>'+
                            '<div class="inputFieldOuter left1"></div>'+
                            '<div class="inputField1"><input type="text" id="searchBox_g"  name="searchValueGesuch"></div>'+
                            '<div class="inputFieldOuter right1"></div>'+
                        '</td>'+
                        '<td id="gesuchSend" class="gesuchTdButton" onclick="msaleUI.Plugins.MDetails.machineRequest.autoCompContinue(this)"></td>'+
                        '</tr></tbody></table>'
            }).set('tween', {duration: 'long'}).fade('hide');
            var desc3 = this.getDesc(3);
            desc3.inject($('lowerContent'));
            step3div.inject($('lowerContent'));
            desc3.fade('in');
            step3div.fade('in');
            $('gesuchSend').set('tween', {duration: 'long'}).fade('hide');
            var init_hash = new Hash(this.getCatContent(this.choosen[1]).f);
            this.gesuchAutoCompleter = new autocompleter('searchBox_g', init_hash, this, false);
        } else {
            var len = this.getCatContent(this.choosen[2]).mtype.length;
            var step3div = new Element('div', {
                'id' : 'step3div',
                'rel' : '3',
                'class' : 'gesuchDiv'
            }).set('tween', {duration: 'long'}).fade('hide');
            if(len > 1) {
                (this.makeTable(this.getMachineKind(0),this.getMachineKind(1))).inject(step3div);
                for(var i=2;i<len;i++) {
                    (this.makeRow(i, this.getMachineKind(i),this.getMachineKind((++i)))).inject(step3div.getElement('tbody'));
                }
            } else if(len === 1) {
                (this.makeTable(this.getMachineKind(0),'n0n3')).inject(step3div);
            } else {
                (new Element('div',{
                    'html' : 'Keine MaschinenArt gefunden'
                })).inject(step3div);
            }
            var desc3 = new Element('div', {
                'id': 'descStep3',
                'html': '<span>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(msaleUI.Plugins.MDetails.machineRequest.textUnten[3])+'</span><br>'+
                    '<div onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(2)"><img src="images/gesuchButton2.png">zurück</div>'
            }).set('tween', {duration: 'long'}).fade('hide');
            desc3.inject($('lowerContent'));
            step3div.inject($('lowerContent'));
            desc3.fade('in');
            step3div.fade('in');
        }
     },
     
     getMachineKind: function(count) {
        if(count<this.getCatContent(this.choosen[2]).mtype.length) {
            return msaleUI.Plugins.MDetails.machineRequest.getTrans(this.getCatContent(this.choosen[2]).mtype[count].pid);
        } else {
            return 'n0n3';
        }
     },
     
     doStep4: function() {
        if($chk($('step3div'))) {
            $('step3div').destroy();
        }
        if(this.choosen[1] === '1') {
            var step4div = new Element('div', {
                'id' : 'step4div',
                'rel' : '4',
                'class' : 'gesuchDiv',
                'html' : '<table><tbody><tr>'+
                        '<td>'+
                            '<div class="inputFieldOuter left1"></div>'+
                            '<div class="inputField1"><input type="text" id="gesuch_input"></div>'+
                            '<div class="inputFieldOuter right1"></div>'+
                        '</td>'+
                        '<td id="gesuchSend" class="gesuchTdButton" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep3(this, $(\'gesuch_input\').get(\'value\'))"></td>'+
                        '</tr></tbody></table>'
            }).set('tween', {duration: 'long'}).fade('hide');
            var desc4 = this.getDesc(4);
        } else {
            var eineListe = this.getCatContent(this.choosen[2]).fi[(this.getCatContent(this.choosen[2]).mtype[this.choosen[3]].fi)];
            var step4div = new Element('div', {
                'id' : 'step4div',
                'rel' : '4',
                'class' : 'gesuchDiv',
                'html' : '<table><tbody><tr><td>'+
                            '<span>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(eineListe[0].value)+'&nbsp;&nbsp;'+msaleUI.Plugins.Help.langManager.getTrans(1127)+'&nbsp;&nbsp;</span>'+
                            '<select id="gesuchVon" name="von" size="1">'+
                            '</select>'+
                            '<span>&nbsp;&nbsp;&nbsp;'+msaleUI.Plugins.Help.langManager.getTrans(1126)+'&nbsp;&nbsp;</span>'+
                            '<select id="gesuchBis" name="bis" size="1">'+
                            '</select>'+
                            '&nbsp;'+msaleUI.Plugins.MDetails.machineRequest.getTrans(eineListe[0].unit)+'&nbsp;'+
                        '</td>' +
                        '<td class="gesuchTdButton" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep2(this)" rel="n0n3"></td>'+
                        '</tr></tbody></table>'
            }).set('tween', {duration: 'long'}).fade('hide');
            var selects = step4div.getElements('select');
            var select1 = selects[0];
            var select2 = selects[1];
            for(var i=1;i<eineListe.length;i++) {
                new Element('option', {
                    'value' : eineListe[i].value_id,
                    'html' : eineListe[i].value.split('_')[0]
                }).inject(select1);
                if(i<(eineListe.length-1)) {
                    new Element('option', {
                        'value' : eineListe[i].value_id,
                        'html' : eineListe[i].value.split('_')[1]
                    }).inject(select2);
                } else {
                     new Element('option', {
                        'value' : eineListe[i].value_id,
                        'html' : '&#8734;'
                     }).inject(select2);
                }
            }
            var desc4 = new Element('div', {
                    'id': 'descStep4',
                    'html': '<span>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(msaleUI.Plugins.MDetails.machineRequest.textUnten[4])+'</span><br>'+
                    '<div onclick="msaleUI.Plugins.MDetails.machineRequest.backStep(3)"><img src="images/gesuchButton2.png">zurück</div>'
            }).set('tween', {duration: 'long'}).fade('hide');
        }
        desc4.inject($('lowerContent'));
        step4div.inject($('lowerContent'));
        desc4.fade('in');
        step4div.fade('in');
     },
     
     doStep5: function() {
        if($chk($('step4div'))) {
            $('step4div').destroy();
        }
        if(this.controlHash.getLength() < 3) {
            new Element('div', {
                'html' : 'ERROR'
            }).inject($('lowerContent'));
        } else {
            var step5div = new Element('div', {
                'id' : 'step5div',
                'rel' : '5',
                'class' : 'gesuchDiv',
                'html' : '<div>'+
                            '<table><tbody><tr>' +
                                '<td class="gesuchTdButton" rel="alle" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep4(this, \'alle\')"></td>'+
                                 '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(963)+'</td>'+
                                 '<td class="gesuchTdButton" rel="weiter" onclick="msaleUI.Plugins.MDetails.machineRequest.finishStep4(this, \'weiter\')"></td>'+
                                 '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1183)+'</td>'+
                            '</tr></tbody></table>'+
                        '</div><br><br>'
            }).set('tween', {duration: 'long'}).fade('hide');
            var eineListe = this.controlHash.getValues();
            this.makeTable2(eineListe[0], eineListe[1], eineListe[2]).inject(step5div);
            for(var i=3;i<eineListe.length;i++) {
                var send1 = eineListe[i];
                i++;
                if($type(eineListe[i])) {
                    var send2 = eineListe[i];
                } else {
                    var send2 = 'n0n3';
                }
                i++;
                if($type(eineListe[i])) {
                    var send3 = eineListe[i];
                } else {
                    var send3 = 'n0n3';
                }
                this.makeRow2(i, send1, send2, send3).inject(step5div.getLast('table').getElement('tbody'));
            }
            var desc5 = this.getDesc(5);
            desc5.inject($('lowerContent'));
            step5div.inject($('lowerContent'));
            desc5.fade('in');
            step5div.fade('in');
        }
     },
     
     doStep6: function() {
        if($chk($('step5div'))) {
            $('step5div').destroy();
        }
        var step6div = new Element('div', {
                'id' : 'step6div',
                'rel' : '6',
                'class' : 'gesuchDiv'
            }).set('tween', {duration: 'long'}).fade('hide');
        (this.makeTable(msaleUI.Plugins.Help.langManager.getTrans(40), msaleUI.Plugins.Help.langManager.getTrans(41))).inject(step6div);    
        (this.makeRow(3, msaleUI.Plugins.Help.langManager.getTrans(42), msaleUI.Plugins.Help.langManager.getTrans(43))).inject(step6div.getElement('tbody'));   
        var desc6 = this.getDesc(6);
        desc6.inject($('lowerContent'));
        step6div.inject($('lowerContent'));
        desc6.fade('in');
        step6div.fade('in');    
     },
     
     doStep7: function() {
        if($chk($('step6div'))) {
            $('step6div').destroy();
        }
        var step7div = new Element('div', {
                'id' : 'step7div',
                'rel' : '7',
                'class' : 'gesuchDiv'
            }).set('tween', {duration: 'long'}).fade('hide');
        (this.makeTable(msaleUI.Plugins.Help.langManager.getTrans(570), msaleUI.Plugins.Help.langManager.getTrans(44))).inject(step7div);   
        (this.makeRow(3, msaleUI.Plugins.Help.langManager.getTrans(45), msaleUI.Plugins.Help.langManager.getTrans(46))).inject(step7div.getElement('tbody'));   
        var desc7 = this.getDesc(7);
        desc7.inject($('lowerContent'));
        step7div.inject($('lowerContent'));
        desc7.fade('in');
        step7div.fade('in');    
     },
     
     doStep8: function() {
        if($chk($('step7div'))) {
            $('step7div').destroy();
        }
        var desc8 = this.getDesc(8);
        desc8.inject($('lowerContent'));
        var step8div = new Element('div', { 
            'id':'step8div',
            'class' : 'gesuchDiv',
            'align' : 'left',
            'html' :'<form action="./include/helper/process_tab_form.php" method="POST" id="form_inq_machine" name="frm_inq_machine">'+
                '<input type="hidden" name="language" value="'+msaleUI.Plugins.Help.langManager.getLanguage()+'">'+
                '<table cellpadding="3" cellspacing="0" border="0">'+
                    '<tbody><tr>'+
                        '<td style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1162)+':*<br /><select size="1" name="sel_anrede" id="frm2_anrede" style="width:75px;">'+
                                '<option value="1" defaultSelected="true">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1160)+'</option>'+
                                '<option value="2">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1161)+'</option>'+
                            '</select>'+
                        '</td>'+    
                        '<td style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(794)+':*'+
                        '<br /><input name="name" type="text" size="18" id="frm2_name" value="" style="background-color:rgb(255,40,47);width:164px;"></td>'+
                        '<td style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(793)+':*'+
                        '<br /><input name="company" type="text" size="18" id="frm2_company" value="" style="background-color:rgb(255,40,47);width:164px;"></td>'+
                        '<td style="font-weight:bolder;">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(795)+':*'+
                        '<br /><input name="email" type="text" size="18" id="frm2_mail" value="" style="background-color:rgb(255,40,47);width:185px;"></td>'+
                    '</tr></tbody>'+
                '</table><table cellpadding="3" cellspacing="0" border="0">'+   
                    '<tbody><tr>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(797)+':<br /><input id="frm2_street" name="street" type="text" size="18" value=""</td>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(798)+':<br /><input id="frm2_plz" name="zip" type="text" size="18" value=""></td>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(799)+':<br /><input id="frm2_city" name="city" type="text" size="18" value=""></td>'+
                        '<td style="font-weight:bolder">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(808)+':*<br />'+
                            '<select class="selectBoxRed" size="1" name="sel_country" id="frm2_country" style="width:190px">'+
                                '<option value="0" defaultSelected="true">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(810)+'</option>'+
                            '</select>'+
                        '</td>'+
                    '</tr>'+
                    '<tr>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(800)+':<br /><input id="frm2_phone" name="phone" type="text" size="18"></td>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(801)+':<br /><input id="frm2_fax" name="fax" type="text" size="18"></td>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(802)+':<br /><input id="frm2_website" name="website" type="text" size="18" value=""></td>'+
                        '<td>'+msaleUI.Plugins.MDetails.machineRequest.getTrans(803)+':<br />'+
                            '<select id="sel_sector" size="1" style="width:190px">'+
                                '<option value="0" defaultSelected="true">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(810)+'</option>'+  
                                '</select>'+
                        '</td>'+
                        '<td><div id="sendMDformRequest" class="mdetailButtonInner" style="cursor:pointer;float:left;top:75px;left:-140px;position:relative;">'+
                                '<div class="mdetailButtonBorder_left"></div>'+
                                '<div class="mdetailButtonBorder_right"></div>'+
                                '<div class="mdetailButtonCaption">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1001)+'</div>'+
                        '</div></td>'+
                    '</tr><tr>' +
                    '<td>Referenz:<br /><input id="frm2_ref" name="ref" type="text" size="18"></td>' +
                    '<td>Zeitraum:<br /><select id="frm2_time" size="1" name="time" type="text" size="18">' +
                        '<option value="0" defaultSelected="true">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(810)+'</option>'+
                        '<option value="1">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(884)+'</option>'+
                        '<option value="2">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(885)+'</option>'+
                        '<option value="3">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(886)+'</option>'+
                        '<option value="4">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(887)+'</option>'+
                        '<option value="5">'+msaleUI.Plugins.MDetails.machineRequest.getTrans(1167)+'</option>'+
                        '</select></td>' +
                    '</tr></tbody>'+
                '</table>'+
            '</form>'
        }).set('tween', {duration: 'long'}).fade('hide');
        step8div.inject($('lowerContent'));
        var countrySelect = $('lowerContent').getElementById('frm2_country');
        this.getJasonList('country').each(function(item) {
            new Element('option', {
                'value' : item.ci,
                'html' : item.cv
            }).inject(countrySelect);
        });
        var sectorSelect = $('lowerContent').getElementById('sel_sector');
        this.getJasonList('sector').each(function(item) {
            new Element('option', {
                'value' : item.si,
                'html' : item.sv
            }).inject(sectorSelect);
        });
        
        msaleUI.Plugins.MDetails.formRequestHandler.init_formRequest('noNeed', this.userData);
        msaleUI.Plugins.MDetails.formRequestHandler.addFormEvents();
        var answer = new Array();
        if(this.choosen[1] === '1') {
            answer.extend([1,msaleUI.Plugins.Filter.filterManager.getFabrikatId(this.choosen[3])]);
        } else {
            answer.extend([0, this.getCatContent(this.choosen[2]).mtype[this.choosen[3]].fi]);
        }
        answer.extend([this.choosen[4], this.getControlId(this.choosen[5]), this.choosen[6], this.choosen[7]]);
        msaleUI.Plugins.MDetails.formRequestHandler.addSendButtonEvent(2, answer);
        desc8.fade('in');
        step8div.fade('in');
     },
     
     sendGesuch: function() {
        
     },
     
     autoCompInter: function(filterIds) {
        var enabled = false;
        if($type(filterIds === 'array')) {
            if (filterIds.length === 1) {
                enabled = true;
            }
        } else {
            var array = $splat(filterIds);
            if (filterIds.length === 1) {
                enabled = true;
            }
        }
        this.disEnAbleButton(enabled, 'gesuchSend', filterIds.getLast());
     },
     
     disEnAbleButton: function(enabled, ele, filterId) {
        if(enabled) {
            $(ele).fade('in');
            this.autoCompResult = filterId;
        } else {
            $(ele).fade('out');
            this.autoCompResult = 'none';
        }
     },
     
     getTrans: function(id) {
        return this.transHash.get(id);
     },
     
     getControl: function(id) {
        return this.controlHash.get(id);
     },
     
     getControlId: function(value) {
        return this.controlHash.keyOf(value);
     },
     
     getCatContent: function(nr) {
        return this.jasonCat[nr];
     },
     
     getJasonList: function(type) {
        if(type === 'country') {
            return this.jasonLists.ct;
        } else if(type === 'sector') {
            return this.jasonLists.st;
        }
     },
     
     getUserData: function(){
        return this.userData;
     }
    
});
