////////////////////////////////////////////////////////////////////////////////
//
// Projekt:
//  SurfSitter
////  
// @Copyright:
//  Cybits AG
//  www.cybits.de
// @Autor:
//  Dennis Schmitt (dsc@cybits.de)
// @Protocol:
//  17.08.2008 - Dennis Schmitt | Intial public release
//  
//

var cEinkaufsberater =
{
    m_ContainerObj: null,

    m_bStop: false,

    m_binResults: 0,

    m_resultCont: new Array( null,
        'SURF-SITTER PC (Einzel)',
        'Familien DSL',
        'SURF-SITTER PlugAndPlay',
        'SURF-SITTER DSL Stick',
        'SURF-SITTER PC (Mehrplatz)',
        'Familien DSL Paket' ),

    m_QuestCont: new Array( 'In welcher Umgebung möchten Sie den SURF-SITTER einsetzen?',
        'Wie viele Ihrer Geräte sind Internetfähig?',
        'Welches Betriebssystem benutzen Sie?',
        'Mit welchen Geräten können Sie sich in das Internet verbinden?',
        'Besitzen Sie einen DSL-Router?',
        'Wählen Sie den Hersteller Ihres Routers ?',
        'Welche Fritz!Box haben Sie?',
        'Welchen T-Home Router haben Sie?',
        'Welchen 1&1 Router haben Sie?' ),

    m_AnswerCont: new Array(
        new Array( 'In einem privaten Haushalt',
            'In einem Unternehmen' ),

        new Array( '1-PC Haushalt',
            'Mehr als 1 internetfähiges Gerät' ),

        new Array( 'Windows',
            'Linux, MAC OS,...' ),

        new Array( 'nur PCs, maximal 3',
            'Mehr als 3 PCs oder unterschiedliche Geräte' ),

        new Array( 'benötige einen DSL Router',
            'DSL-Router vorhanden',
            'DSL über Kabelnetzprovider' ),

        new Array( 'D-Link - HorstBox' ),

        new Array( 'Fritz!Box WLAN 3270',
            'Fritz!Box Fon WLAN 7140',
            'Fritz!Box Fon WLAN 7141',
            'Fritz!Box Fon WLAN 7170',
            'Fritz!Box Fon WLAN 7240',
            'Fritz!Box Fon WLAN 7270',
            'Nicht in dieser Liste' ),

        new Array( 'Speedport W900V',
            'Speedport W920V',
            'Nicht in dieser Liste' ),

        new Array( 'Surf&Phone Box WLAN',
            'Homeserver',
            'Nicht in dieser Liste' )   ),

    m_Informations: new Array( null,null,null,null,null,'Oftmals ist die genaue Bezeichnung auf der Unterseite des Routers zu finden!' ),

    initObject: function( p_ContainerObject )
    {
        this.m_ContainerObj = p_ContainerObject;
        this.initQuestionOne();
    },

    initQuestionOne: function()
    {
        this.addQuestion( 0 );
    },

    addQuestion: function( p_nQuestIndex )
    {
        if( this.m_bStop == true ) return;
        var indexer = 0;
        var result = 0;

        // show code for debugging
        //alert(this.m_binResults);

        switch( this.m_binResults )
        {
            case '01':
            {
                indexer = 1;
                break;	
            }
            case '011':
            {
                indexer = 2;
                break;	
            }                        
            case '0111':
            {
                result = 1;
                break;	
            }
            case '0112':
            {
                indexer = 4;
                break;	
            }
            case '01121':
            {
                result = 7;
                break;	
            }
            case '01122':
            {
                result = 3;
                break;	
            }
            case '011221':
            {
                result = 6;
                break;	
            }
            case '012224':
            case '011224':
            {
                indexer = 7;
                break;	
            }
            case '012223':
            case '011223':
            {
                indexer = 8;
                break;	
            }
            case '011222':
            {
                indexer = 6;
                break;	
            }
            case '0122227':
            case '0122233':
            case '0122243':
            case '0112243':
            case '0112233':
            case '0112227':
            case '012225':
            case '011225':
            {
                result = 3;
                break;
            }
            case '0112241':
            case '0112242':
            case '0112231':
            case '0112232':
            case '0112221':
            case '0112222':
            case '0112223':
            case '0112224':
            case '0112225':
            case '0112226':
            case '0122221':
            case '0122222':
            case '0122223':
            case '0122224':
            case '0122225':
            case '0122226':
            case '0122241':
            case '0122242':
            case '0122231':
            case '0122232':
            {
                result = 4;
                break;	
            }
            case '01223':
            case '01123':
            {
                result = 2;
                break;	
            }
            case '02':
            {
                result = 8;
                break;	
            }                        
            case '012':
            {
                indexer = 3;
                break;	
            }
            case '0121':
            {
                result = 5;
                break;	
            }
            case '0122':
            {
                indexer = 4;
                break;	
            }
            case '01221':
            {
                result = 6;
                break;	
            }
            case '01222':
            {
                result = 3;
                break;	
            }
            case '012221':
            {
                result = 3;
                break;	
            }
            case '012222':
            {
                indexer = 6;
                break;	
            }
            case '012223':
            {
                result = 3;
                break;	
            }
            default:
            {
                document.getElementById( 'DivEinkaufsberaterResult' ).innerHTML = '';
                this.m_binResults = 0;
                indexer = 0;
            }
        }

        if( result > 0 )
        {
            this.setResult( result );
        }
        else
        {				
            Question = '<div><br /><strong class="question">'+ this.m_QuestCont[indexer] +'</strong><br />';

            if( this.m_Informations[indexer] != undefined )
            {
                Question += '<small style="font-size:11px;">('+ this.m_Informations[indexer] +')</small><br /></div>';
            }

            Question += '</div>';

            document.getElementById( this.m_ContainerObj ).innerHTML = Question;
            this.addAnswers( indexer );
        }
    },

    addAnswers: function( p_nAnswerIndex )
    {
        var newList	= document.createElement( 'ul' );
        newList.className 	= 'EkBUList';

        for( i in this.m_AnswerCont[p_nAnswerIndex] )
        {
            var newLI           = document.createElement( 'li' );
            newLI.className 	= 'EkBList';

            var newLabel	= document.createElement( 'label' );

            var newRadio	= document.createElement( 'input' );
            newRadio.type	= 'radio';
            newRadio.id		= 'quest' + p_nAnswerIndex + '-' + i;
            newRadio.name	= 'quest' + p_nAnswerIndex;
            var newId 		= ( parseInt(i) );
            newRadio.value	= ( newId + 1 );
            newRadio.nextQuest= ( newId + p_nAnswerIndex + 1 );
            newRadio.onclick	= function(){
                cEinkaufsberater.addResult( this.value, this.nextQuest, this.id );
            };
            newLabel.appendChild( newRadio );

            var newLabelText = document.createTextNode( this.m_AnswerCont[p_nAnswerIndex][i] );
            newLabel.appendChild( newLabelText );

            newLI.appendChild( newLabel );
            newList.appendChild( newLI );
        }

        document.getElementById( this.m_ContainerObj ).appendChild( newList );

        if( p_nAnswerIndex > 0 )
            this.addBackLink();
    },

    addResult: function( p_ResultValue, p_nextQuest, p_focus )
    {
        if( this.m_bStop == true )
        {
            this.m_bStop = false;
            this.m_bStop = false;
            document.getElementById( 'DivEinkaufsberaterResult' ).innerHTML = '';
            this.m_binResults = this.m_binResults.substr( 0, parseInt(this.m_binResults.length)-1 );
        }

        this.m_binResults += '' + p_ResultValue;
        this.addQuestion( p_nextQuest );

        if( document.getElementById( p_focus ) != undefined )
            if( document.getElementById( p_focus ).checked )
                document.getElementById( p_focus ).checked = true;
    },

    setResult: function( p_nResult )
    {
        this.m_bStop = true;

        var mylink = '';
        var myimage = '';
        var myhead = '';
        var mytarget = '';

        switch( p_nResult )
        {
            case 1:
            {
                mylink 	= './Produkte/PC';
                myimage = './images/surfsitter_pc.png';
                myhead 	= 'SURF-SITTER PC (Einzelplatz)';
                break;
            }
            case 6:
            {
                mylink 	= './Produkte/HBX2';
                myimage = './images/susi_hbx.png';
                myhead 	= 'SURF-SITTER Horstbox';
                break;
            }
            case 3:
            {
                mylink 	= './Produkte/PlugAndPlay';
                myimage = './images/surfsitter_plug.png';
                myhead 	= 'SURF-SITTER Plug and Play';
                break;
            }
            case 2:
            {
                mylink 	= './Produkte/PlugAndPlay';
                myimage = './images/surfsitter_plug.png';
                myhead 	= 'SURF-SITTER Plug and Play';
                break;
            }
            case 4:
            {
                mylink 	= './Produkte/DSLv1.0';
                myimage = './images/surfsitter_DSL.png';
                myhead 	= 'SURF-SITTER DSL Stick';
                break;
            }
            case 5:
            {
                mylink 	= './Produkte/PC';
                myimage = './images/surfsitter_pc.png';
                myhead 	= 'SURF-SITTER PC (Mehrplatz)';
                break;
            }
            case 7:
            {
                mylink 	= './Produkte/HBX2';
                myimage = './images/susi_hbx.png';
                myhead 	= 'SURF-SITTER Horstbox';
                break;
            }
            case 8:
            {
                mylink 	= './Produkte/OFFICE';
                myimage = './images/susi_office.png';
                myhead 	= 'SURF-SITTER OFFICE';
                break;
            }                        

            default:
            {
                mylink 	= './Produkte';
                myimage = './images/key_visual.png';
                myhead 	= p_nResult;
                break;
            }
        }

        document.getElementById( 'DivEinkaufsberaterResult' ).innerHTML = '<h2>Unsere Empfehlung für Sie: '+ myhead +'</h2><br /><a href="'+ mylink +'"'+ mytarget +' title="'+ myhead +'"><img src="'+ myimage +'" border="0" alt="'+ myhead +'" title="'+ myhead +'" /></a>';
        window.scrollTo( 0, document.body.scrollHeight );

    },

    addBackLink: function()
    {
        var newBreak = document.createElement( 'br' );
        document.getElementById( this.m_ContainerObj ).appendChild( newBreak );


        var newHref	= document.createElement( 'a' );
        newHref.href = "javascript:cEinkaufsberater.setOneBack();";

        var newLabelText = document.createTextNode( 'zurück' );
        newHref.appendChild( newLabelText );

        document.getElementById( this.m_ContainerObj ).appendChild( newHref );
    },

    setOneBack: function()
    {
        this.m_bStop = false;
        document.getElementById( 'DivEinkaufsberaterResult' ).innerHTML = '';
        this.m_binResults = this.m_binResults.substr( 0, parseInt(this.m_binResults.length)-1 );
        this.addQuestion( 0 );
    }
};













