
////////////////////////////////////////////////////////////////////////////////
var IDX_HOME = 0;

var IDX_PROFIL_0 = 1;
var IDX_PROFIL_1 = 2;
var IDX_PROFIL_2 = 3;
var IDX_PROFIL_3 = 4;
var IDX_PROFIL_4 = 5;
var IDX_PROFIL_5 = 6;
var IDX_PROFIL_6 = 7;
var IDX_PROFIL_7 = 8;
var IDX_PROFIL_8 = 9;
var IDX_PROFIL_9 = 10;
var IDX_PROFIL_10 = 11;
var IDX_PROFIL_11 = 12;
var IDX_PROFIL_12 = 13;
var IDX_PROFIL_13 = 14;
var IDX_PROFIL_14 = 15;
var IDX_PROFIL_15 = 16;
var IDX_PROFIL_16 = 17;
var IDX_PROFIL_17 = 18;
var IDX_PROFIL_18 = 19;
var IDX_PROFIL_19 = 20;
var IDX_PROFIL_20 = 21;
var IDX_PROFIL_21 = 22;
var IDX_PROFIL_22 = 23;

var IDX_PROD_0 = 24;
var IDX_PROD_1 = 25;
var IDX_PROD_2 = 26;
var IDX_PROD_3 = 27;
var IDX_PROD_4 = 28;
var IDX_PROD_5 = 29;
var IDX_PROD_6 = 30;
var IDX_PROD_7 = 31;
var IDX_PROD_8 = 32;
var IDX_PROD_9 = 33;
var IDX_PROD_10 = 34;
var IDX_PROD_11 = 35;
var IDX_PROD_12 = 36;
var IDX_PROD_13 = 37;
var IDX_PROD_14 = 38;
var IDX_PROD_15 = 39;
var IDX_PROD_16 = 40;
var IDX_PROD_17 = 41;
var IDX_PROD_18 = 42;
var IDX_PROD_19 = 43;
var IDX_PROD_20 = 44;
var IDX_PROD_21 = 45;
var IDX_PROD_22 = 46;
var IDX_PROD_23 = 47;

var IDX_KNOWHOW_0 = 48;
var IDX_KNOWHOW_1 = 49;

var IDX_NEWS = 50;

var IDX_DOWNLOAD_0 = 51;
var IDX_DOWNLOAD_1 = 52;

var IDX_JOBS_0 = 53;
////////////////////////////////////////////////////////////////////////////////

var oLeft;
var oRight;
var oCurrent;
var oCurrent_Image;
var oCurrent_Text;
var oProdDesc;
var oDragImg;

var iMin;
var iPos;
var iMax;

var iOffset = 0;
var iStart = 0;

var iFade = 0;
var bFade = true;
var sFade = null;
var lFade = null;

var iView = 0;
var iReal = 0;
var oViews;
var iCat = 0;

var incCount = 0;
var totIncrement = 0;
var increment = 858;
var maxRightIncrement;

var bDrag = false;

var TimeToFadeConst = 400.0;
var TimeToFade = TimeToFadeConst;

window.onload = function () { preInit(); }

window.addEvent('domready', function () {

    maxRightIncrement = increment * -1 * (incCount - 1);

    var fx = new Fx.Style('myList', 'margin-left', {
        duration: 1000,
        transition: Fx.Transitions.Back.easeInOut,
        wait: true
    });

    fx.set(totIncrement);

    $('previous').addEvents({
        'click': function (event) {

            if (totIncrement < 0) {
                totIncrement = totIncrement + increment;
                fx.stop();
                fx.start(totIncrement);
                updateView(-1);
            }
            else {
                totIncrement = maxRightIncrement;
                fx.stop();
                fx.start(totIncrement);
                updateView(maxRightIncrement / increment * -1);
            }

            setTimeout('fadeDrop( 50 , 0 , 0, 0 );', 1000);

        }
    });

    $('next').addEvents({
        'click': function (event) {

            if (totIncrement > maxRightIncrement) {
                totIncrement = totIncrement - increment;
                fx.stop()
                fx.start(totIncrement);
                updateView(+1);
            }
            else {
                totIncrement = 0;
                fx.stop();
                fx.start(totIncrement);
                updateView(maxRightIncrement / increment);
            }

            setTimeout('fadeDrop( 50 , 0 , 0, 0 );', 1000);

        }
    })

});

var iWindowWidth, iWindowHeight;
var iWindowWidthNew, iWindowHeightNew;
function checkWindowSize() {

    if (document.body && document.body.offsetWidth) { iWindowWidthNew = document.body.offsetWidth; }
    if (document.body && document.body.offsetHeight) { iWindowHeightNew = document.body.offsetHeight - 4; }

    if (window.innerWidth) { iWindowWidthNew = window.innerWidth; }
    if (window.innerHeight) { iWindowHeightNew = window.innerHeight; }

    if (!iWindowWidth) { iWindowWidth = iWindowWidthNew; }
    if (!iWindowHeight) { iWindowHeight = iWindowHeightNew; }

    if (iWindowWidth != iWindowWidthNew || iWindowHeight != iWindowHeightNew) { refreshMe(); }

    iWindowWidth = iWindowWidthNew;
    iWindowHeight = iWindowHeightNew;

    if (iWindowHeight > 786) { $('bg').style.height = iWindowHeight + 'px'; }

}

function updateView(iCount) {
    var oDesc, sDesc, iDesc;

    iView += iCount;

    if (!oViews[iView]) { return; }

    oDesc = oViews[iView].id.split("_");

    iDesc = parseInt(oDesc[0]);
    iCat = parseInt(oDesc[oDesc.length - 2]);

    oDesc[0] = "";
    oDesc[oDesc.length - 2] = "";
    oDesc[oDesc.length - 1] = "";

    sDesc = oDesc.join(" ");

    iOffset = iDesc;

    refreshMe();

    setTimeout('loadContent( ' + iView + ');', 10);
    setTimeout('oCurrent_Text.innerHTML = \'' + sDesc + '\';', 250);
}

function scrollToTop(sScroll) { if (!$(sScroll)) { return; } $(sScroll).scrollTop = 0; }

function loadContent(iContent) {

    var sTemp = '';

    if (iContent == 2) {
        scrollToTop('profil2scroll');
        setImage('gallery_' + (iContent - 1), '/de/gallerie_' + (iContent - 1) + '.png');
    }
    if (iContent >= 3 && iContent <= 23) {
        setImage('gallery_' + (iContent - 2), '/de/gallerie_' + (iContent - 2) + '.png');

        if (iContent > 3) { setImage('gallery_' + (iContent - 3), '/de/gallerie_' + (iContent - 3) + '.png'); }
        if (iContent < 23) { setImage('gallery_' + (iContent - 1), '/de/gallerie_' + (iContent - 1) + '.png'); }
    }
    else if (iContent >= 25 && iContent <= 47) {
        if (iContent == 27) { scrollToTop('produkte3scroll'); }
        if (iContent == 34) { scrollToTop('produkte10scroll'); }

        setImage('produkte' + (iContent - 24), '/de/produkt_' + (iContent - 24) + '.png');

        if (iContent > 25) { setImage('gallery_' + (iContent - 25), '/de/gallerie_' + (iContent - 25) + '.png'); }
        if (iContent < 47) { setImage('gallery_' + (iContent - 23), '/de/gallerie_' + (iContent - 23) + '.png'); }
    }
    else if (iContent >= 48 && iContent <= 49) {
        if (iContent == 48) { scrollToTop('knowhow1scroll'); }
        if (iContent == 49) { scrollToTop('knowhow2scroll'); }

        setImage('knowhow' + (iContent - 47), '/de/knowhow_' + (iContent - 47) + '.png');

        if (iContent > 48) { setImage('gallery_' + (iContent - 47), '/de/gallerie_' + (iContent - 47) + '.png'); }
        if (iContent < 49) { setImage('gallery_' + (iContent - 46), '/de/gallerie_' + (iContent - 46) + '.png'); }
    }
    else if (iContent == 50) {
        scrollToTop('news0scroll');
        for (var i = 20; i >= 1; i--) {
            if (document.getElementById('news' + i)) { setImage('news' + i, '/de/news' + i + '.png'); }
        }
    }
    else if (iContent == 51) {
        scrollToTop('down0scroll');
    }
    else if (iContent == 53) {
		loadJobOffer( 0 , '' );
    }
}

function setImage(sId, sImage) {
    if (!document.getElementById(sId)) { return; }
    if (document.getElementById(sId).style.backgroundImage.indexOf(sImage) >= 0) { return; }

    sImage = 'url(' + sImage + ')';

    document.getElementById(sId).style.backgroundImage = 'url(/de/loading2.gif)';
    setTimeout('document.getElementById( \'' + sId + '\' ).style.backgroundImage = \'' + sImage + '\'; ', 500);
}

function refreshMe() {
    oLeft = document.getElementById('previous');
    oRight = document.getElementById('next');
    oCurrent = document.getElementById('current');
    oCurrent_Image = document.getElementById('current_img');
    oCurrent_Text = document.getElementById('current_txt');
    oProdDesc = document.getElementById('proddesc');
    oDragImg = document.getElementById('dragImg');

    oLeft.style.left = ((document.body.clientWidth - 900) / 2 - 60) + 'px';
    oLeft.style.visibility = 'visible';

    oRight.style.right = ((document.body.clientWidth - 900) / 2 - 60) + 'px';
    oRight.style.visibility = 'visible';

    iPos = (((document.body.clientWidth - 900 + 210) / 2 - 60) + iOffset);
    setCurrentPosition(oCurrent, iPos, oCurrent_Image, oCurrent_Text);
    oCurrent.style.visibility = 'visible';

    iMin = ((document.body.clientWidth - 900 + 210) / 2 - 60);
	iMax = (iMin + 782); //iMax = (iMin + 692);


    oViews = document.getElementsByTagName('li');
    incCount = oViews.length;
    maxRightIncrement = increment * -1 * (incCount - 1);

    var iTemp;

    iTemp = 0;
    while (document.getElementById('sm' + iTemp)) {
        document.getElementById('sm' + iTemp).className = 'scroll_unselected';
        iTemp++;
    }
    document.getElementById('sm' + iCat).className = 'scroll_selected';

    iTemp = 0;
    while (document.getElementById('qm' + iTemp)) {
        document.getElementById('qm' + iTemp).className = 'quick_unselected';
        iTemp++;
    }
    document.getElementById('qm' + iCat).className = 'quick_selected';

}

function setCurrentPosition(oArrow, iArrow, oImage, oText) {

    if (!oArrow) { oArrow = oCurrent; }
    if (!iArrow) { iArrow = lFade; }
    if (!oImage) { oImage = oCurrent_Image; }
    if (!oText) { oText = oCurrent_Text; }
    if (sFade == null) { sFade = oText.innerHTML; }

    lFade = iArrow;

    if (iFade == 100 && bFade) {
        oText.style.visibility = 'visible';
        bFade = false;
    }
    else if (iFade == 0 && !bFade) {
        oArrow.style.left = iArrow + 'px';
        bFade = true;
        setTimeout('setCurrentPosition( null , null , null );', 20);
    }
    else if (iFade >= 0 && bFade) {
        iFade += 10;
        oImage.style.backgroundImage = 'url( /de/arrow_fade_' + iFade + '.png )';
        oText.style.filter = 'alpha(opacity=' + iFade + ')';
        oText.style.MozOpacity = iFade;
        setTimeout('setCurrentPosition( null , null , null );', 20);
    }
    else if (iFade <= 100 && !bFade) {
        iFade -= 10;
        oImage.style.backgroundImage = 'url( /de/arrow_fade_' + iFade + '.png )';
        oText.style.filter = 'alpha(opacity=' + iFade + ')';
        oText.style.MozOpacity = iFade;
        setTimeout('setCurrentPosition( null , null , null );', 20);
    }

}


var lastJump;
function moveCursor(xPos, yPos, bRelease) {
    if (xPos > iMin && xPos < iMax) {

        iOffset = parseInt(xPos - iMin);

        var iJumpTo = -1;
        var iSoft = 0;

        if (iOffset + iSoft >= 0 && iOffset - iSoft < 110) { iJumpTo = IDX_HOME; }
        //if( iOffset + iSoft >= 110 && iOffset - iSoft < 222 ) { iJumpTo =  IDX_PROFIL_0; }
        //if( iOffset + iSoft >= 222 && iOffset - iSoft < 334 ) { iJumpTo = IDX_PROD_0; }
        if (iOffset + iSoft >= 334 && iOffset - iSoft < 390) { iJumpTo = IDX_KNOWHOW_0; }
        if (iOffset + iSoft >= 390 && iOffset - iSoft < 446) { iJumpTo = IDX_KNOWHOW_1; }
        if (iOffset + iSoft >= 446 && iOffset - iSoft < 558) { iJumpTo = IDX_NEWS; }
        if (iOffset + iSoft >= 558 && iOffset - iSoft < 614) { iJumpTo = IDX_DOWNLOAD_0; }
        if (iOffset + iSoft >= 614 && iOffset - iSoft < 670) { iJumpTo = IDX_DOWNLOAD_1; }
        if( iOffset + iSoft >= 670 && iOffset - iSoft < 782 ) { iJumpTo = IDX_JOBS_0; }

        for (var i = (iOffset - 1); i <= (iOffset + 1); i++) {
            switch (i) {
                case 0: iJumpTo = IDX_HOME; break;
                case 110: iJumpTo = IDX_PROFIL_0; break;
                case 114: iJumpTo = IDX_PROFIL_1; break;
                case 118: iJumpTo = IDX_PROFIL_2; break;
                case 121: iJumpTo = IDX_PROFIL_3; break;
                case 125: iJumpTo = IDX_PROFIL_4; break;
                case 129: iJumpTo = IDX_PROFIL_5; break;
                case 133: iJumpTo = IDX_PROFIL_6; break;
                case 137: iJumpTo = IDX_PROFIL_7; break;
                case 141: iJumpTo = IDX_PROFIL_8; break;
                case 145: iJumpTo = IDX_PROFIL_9; break;
                case 149: iJumpTo = IDX_PROFIL_10; break;
                case 153: iJumpTo = IDX_PROFIL_11; break;
                case 157: iJumpTo = IDX_PROFIL_12; break;
                case 161: iJumpTo = IDX_PROFIL_13; break;
                case 165: iJumpTo = IDX_PROFIL_14; break;
                case 169: iJumpTo = IDX_PROFIL_15; break;
                case 173: iJumpTo = IDX_PROFIL_16; break;
                case 177: iJumpTo = IDX_PROFIL_17; break;
                case 181: iJumpTo = IDX_PROFIL_18; break;
                case 185: iJumpTo = IDX_PROFIL_19; break;
                case 189: iJumpTo = IDX_PROFIL_20; break;
                case 193: iJumpTo = IDX_PROFIL_21; break;
                case 197: iJumpTo = IDX_PROFIL_22; break;
                case 222: iJumpTo = IDX_PROD_0; break;
                case 227: iJumpTo = IDX_PROD_1; break;
                case 232: iJumpTo = IDX_PROD_2; break;
                case 237: iJumpTo = IDX_PROD_3; break;
                case 257: iJumpTo = IDX_PROD_4; break;
                case 262: iJumpTo = IDX_PROD_5; break;
                case 267: iJumpTo = IDX_PROD_6; break;
                case 272: iJumpTo = IDX_PROD_7; break;
                case 277: iJumpTo = IDX_PROD_8; break;
                case 282: iJumpTo = IDX_PROD_9; break;
                case 285: iJumpTo = IDX_PROD_10; break;
                case 288: iJumpTo = IDX_PROD_11; break;
                case 292: iJumpTo = IDX_PROD_12; break;
                case 297: iJumpTo = IDX_PROD_13; break;
                case 302: iJumpTo = IDX_PROD_14; break;
                case 307: iJumpTo = IDX_PROD_15; break;
                case 310: iJumpTo = IDX_PROD_16; break;
                case 313: iJumpTo = IDX_PROD_17; break;
                case 316: iJumpTo = IDX_PROD_18; break;
                case 319: iJumpTo = IDX_PROD_19; break;
                case 322: iJumpTo = IDX_PROD_20; break;
                case 325: iJumpTo = IDX_PROD_21; break;
                case 326: iJumpTo = IDX_PROD_22; break;
                case 327: iJumpTo = IDX_PROD_23; break;
            }
            if (iJumpTo >= 0) { break; }
        }

        if (iJumpTo < 0) { iJumpTo = lastJump; }
        if (bRelease && iReal == iJumpTo) { bRelease = !bRelease; }
        if (iJumpTo >= 0 && (iView != iJumpTo || bRelease)) { lastJump = iJumpTo; jump(lastJump, !bRelease); }

    }

}


function jump(iPosition, bRelease) {
    var fx = new Fx.Style('myList', 'margin-left', {
        duration: 1200,
        transition: Fx.Transitions.Back.easeInOut,
        wait: true
    });

    totIncrement = iPosition * increment * -1;
    //				fx.stop();
    if (!bRelease) { iReal = iPosition - iView; fx.start(totIncrement); }
    updateView(iPosition - iView);
    if (!bDrag) { setTimeout('fadeDrop( 50 , 0 , 0, 0 );', 1000); }
}

function toggleMenu(iMen, bShow) {
    var sShow = 'visible';
    if (!bShow) { sShow = 'hidden'; }
    document.getElementById('men' + iMen).style.left = (((document.body.clientWidth - 900) / 2) + document.getElementById('qm' + iMen).offsetLeft - 4) + 'px';
    document.getElementById('men' + iMen).style.visibility = sShow;
}

function toggleDesc(sFile, bShow) {
    sFile = sFile.replace('prod', 'desc');
    if (!bShow) { sFile = '/de/empty.png'; }
    oProdDesc.src = sFile;
}

function pad(sString, iPad, sPad) { while (sString.length < iPad) { sString = sPad + '' + sString; } return sString; }

function lastUpdate() {
    var oDate = document.lastModified;
    if (!oDate) { var oTemp = new Date(); oDate = (oTemp.getMonth() + 1) + '/' + oTemp.getDate() + '/' + oTemp.getFullYear(); }
    var oUpdate = oDate.split(" ")[0].split("/");

    var sTemp = oUpdate[0];
    oUpdate[0] = oUpdate[1];
    oUpdate[1] = sTemp;

    oUpdate[0] = pad(oUpdate[0], 2, '0');
    oUpdate[1] = pad(oUpdate[1], 2, '0');
    oUpdate[2] = pad(oUpdate[2], 4, ' ');

    return oUpdate.join(".");
}

function fade(eid) {
    var element = document.getElementById(eid);

    if (element == null) return;
    if (element.FadeState == null) { element.FadeState = -2; }

    if (element.FadeState < 0) { scrollToTop('agbbox'); }
    if (element.FadeState < 0) { scrollToTop('impressumbox'); }

    if (element.FadeState == 1 || element.FadeState == -1) {
        element.FadeState = element.FadeState == 1 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
    }
    else {
        element.FadeState = element.FadeState == 2 ? -1 : 1;
        element.FadeTimeLeft = TimeToFade;
        setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
    }
}

function animateFade(lastTick, eid) {
    var curTick = new Date().getTime();
    var elapsedTicks = curTick - lastTick;
    var element = document.getElementById(eid);

    if (element.FadeTimeLeft <= elapsedTicks) {
        element.style.opacity = element.FadeState == 1 ? '1' : '0';
        element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
        element.FadeState = element.FadeState == 1 ? 2 : -2;
        if (element.style.opacity == 0) { element.style.display = 'none'; }
        return;
    }

    element.FadeTimeLeft -= elapsedTicks;
    var newOpVal = element.FadeTimeLeft / TimeToFade;
    if (element.FadeState == 1) newOpVal = 1 - newOpVal;

    element.style.opacity = newOpVal;
    element.style.filter = 'alpha(opacity = ' + (newOpVal * 100) + ')';

    element.style.display = 'block';

    setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}

function preInit() {
    fadeDrop(50, 0, 0, 0);
    refreshMe();

    if (document.location.search.indexOf('pos=') >= 0) {
        var posString = document.location.search.substr(document.location.search.indexOf('pos=') + 4);
        if (posString.indexOf('&') >= 0) { posString = posString.substr(0, posString.indexOf('&')); }
        if (posString.length == 0) { posString = '0'; }
        jump(parseInt(posString));
    }
    else {
        jump(IDX_HOME);
    }

    setTimeout('init( );', 500);
    setInterval('checkWindowSize( );', 200);
}

function init() {
    TimeToFade = 0;
    fade('loading');
    TimeToFade = 600.0;
    fade('loading');
    TimeToFade = TimeToFadeConst;
}

function fadeDrop(iFrom, iTo, iStep, iVal) {

    if (iFrom == iTo) { return; }

    if (iFrom < iTo) { iVal += iStep; }
    if (iFrom > iTo) { iVal -= iStep; }

    dragImg.src = '/de/drag_fade_' + iVal + '.png';

    if (iFrom < iTo && iVal < iTo) { setTimeout('fadeDrop(' + iFrom + ',' + iTo + ',' + iStep + ',' + iVal + ');', 25); }
    if (iFrom > iTo && iVal > iTo) { setTimeout('fadeDrop(' + iFrom + ',' + iTo + ',' + iStep + ',' + iVal + ');', 80); }
    if (iVal == iTo) { dd.elements.drag.moveTo(lFade, 664); }

}

			function ShowList( sURL , sLanguage )
            {		
		if( sLanguage.toUpperCase() == 'EN' ) { sLanguage = '_EN'; } else { sLanguage = ''; }
                window.open('http://www.thannershop.com/Downloads/Prospekte' + sLanguage + '/' + sURL,'','');
            }

function ShowZertifikat(sUrl) {
    window.open('http://www.thannershop.com/Downloads/Zertifikate/' + sUrl, '', '');
}

function setAction(tAction, oAction) {
    document.getElementById(oAction).value = tAction;
}

function checkCursor(oDIV, iMax, iAlign, oEvent) {
    var bRet = false;

    var iOffsetX = oEvent.clientX;
    var iOffsetY = oEvent.clientY;

    if (iAlign == 0 && ((iOffsetX - oDIV.offsetLeft) < iMax)) { bRet = true; }
    if (iAlign == 1 && ((iOffsetY - oDIV.offsetTop) < iMax)) { bRet = true; }

    return bRet;
}

function changeLanguage(sLanguage) {
    document.location.href = 'index.aspx?lan=' + sLanguage + '&pos=' + iView;
}

function loadJobOffer( iJob , sJobCaption )
{

	var oJobBox = document.getElementById( 'jobbox' );
	if( oJobBox )
	{
		oJobBox.style.backgroundImage = 'url(/de/jobs_0_' + ( iJob + 2 ) + '.png)';
	}

	document.getElementById( 'stellen0_arrow_0' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_1' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_2' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_3' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_4' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_5' ).src = '/de/empty.png';
	document.getElementById( 'stellen0_arrow_6' ).src = '/de/empty.png';

	document.getElementById( 'stellen0_arrow_' + iJob ).src = '/de/jobs_0_0.png';

	if( sJobCaption.length > 0 )
	{
		document.getElementById('current_txt').innerHTML = sJobCaption;
		oJobBox.focus();
	}

}
