/* ===================================================================== */
/* JavaScript-Routinen zur Dokumentbehandlung V. 1.1                     */
/* (c) Frank U. Kugelmeier, Attendorn 2004 - 2010                        */
/* Erstellungsdatum: 9.7.2005                                            */
/* unter Verwendung der Routine "Text Link Fader"                        */
/* (c) Roy Whittle (Roy@Whittle.com) www.Roy.Whittle.com bzw.            */
/* (c) www.javascript-fx.com                                             */
/* ===================================================================== */

var Kennung = "kf";
var IstMSIE = ((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion.indexOf("MSIE") > -1) &&
  (document.all?1:0));
var IstMSIEx = document.all?1:0;
var IstNS6 = (document.getElementById && !document.all?1:0);

if (!document.getElementById)  // Warnmeldung
{
  alert("Diese Dokumentation erfordert einen neueren Textbrowser. Falls Ihnen ein solcher nicht zur Verfügung " +
    "steht, deaktivieren Sie in Ihrem Browser bitte JavaScript, um Fehlermeldungen zu vermeiden. Rufen Sie dann " +
    "die Dokumentation erneut auf!");
  self.history.back();
}

// ====================================================================================================================

// Startfunktion (Hinweisfähnchen zu Bildern auch unter Netscape; Vorbereitung von Tastenabfragen)

function Starte()
{
with (self.document)
  for (var k = 0; k < images.length; k++) images[k].title = images[k].alt;
tastendruck();
}

// ===================================================================================================================

// Browserabhängige Kurzvideo-Anzeige

function ZeigeVideo(vidname)
{
with (self.document)
  {
  if (IstMSIE)
    {
    writeln("<table width='100%' align='center' valign='middle' border='0'><tr><td align='center' valign='middle'>" +
      "<img dynsrc='m/" + vidname + ".wmv' width='480' height='360' class='rahmen' loop='infinite'></td></tr></table>");
    }
  else
    {
    writeln("<table class='rahmen'><tr><td><object data='m/" + vidname + ".wmv' width='360' height='300'>" +
      "Ihr Browser kann das Objekt leider nicht anzeigen!</object></td></tr></table>");
    }
  }
}

// ====================================================================================================================

// Weiter-/Zurückblättern per Tasten <w> und <z> bzw. <+> und <->

var dokumentliste = new Array(
  "dummy",
  "kf_start",
  "kf1dok01",
  "kf1dok11",
  "kf1dok12",
  "kf1dok13",
  "kf1dok21",
  "kf1dok31",
  "kf1tgb01",
  "kf1tgb02",
  "kf1tgb03",
  "kf1tgb04",
  "kf1tgb05",
  "kf1tgb06",
  "kf1fazit",
  "kf1gef01",
  "kf1gef02",
  "kf1gef03",
  "kf1gef04",
  "kf1gef05",
  "kf1gef06",
  "kf1ivw01",
  "kf1ivw02",
  "kf2dok01",
  "kf2tgb01",
  "kf2tgb02",
  "kf2tgb03",
  "kf2fazit",
  "kf2gef01",
  "kf2gef02",
  "kf2gef03",
  "kf2gef04",
  "kf2ivw01",
  "kf3dok01",
  "kf3tgb01",
  "kf3tgb02",
  "kf3tgb03",
  "kf3fazit",
  "kf3gef01",
  "kf3gef02",
  "kf3gef03",
  "kf3ivw01",
  "kf3ivw02",
  "kfmedien",
  "kfmedi01",
  "kfmedi02",
  "kfmedi03",
  "kf_copyr",
  "dummy");

var aktuelleseite = -1;
var impfad = -1;
var key = new Array();

function getKey(keyStroke)                                                    // Taste ermitteln
{
if (navigator.appName.indexOf("Netscape") != -1)
  {
  which = String.fromCharCode(keyStroke.which).toLowerCase();
  }
else
  if (navigator.appName.indexOf("Explorer") != -1)
    {
    which = String.fromCharCode(event.keyCode).toLowerCase();
    }
  else
    {
    which = String.fromCharCode(keyStroke.which).toLowerCase();
    }
for (var m in key) if (which == m) window.location = key[m];
}

function tastendruck()                                                        // Tastatureingaben prüfen
{
if (parent.frames[1]) parent.frames[1].focus();
for (var zaehl = 1; zaehl < dokumentliste.length - 1; zaehl++)
  {
  impfad = window.location.pathname.indexOf(dokumentliste[zaehl] + ".htm");   // aktuelle Seite ermitteln
  if (impfad > -1) aktuelleseite = zaehl;
  }
if (aktuelleseite == 1) key['ü'] = "#index";                                  // Zurück zur Übersicht
else key['ü'] = Kennung + "_start.htm#index";
if (aktuelleseite > 0)
  {
  if (aktuelleseite > 1)                                                      // Weiter-/Zurückblättern
    {
    key['z'] = dokumentliste[aktuelleseite - 1] + ".htm";
    key['-'] = dokumentliste[aktuelleseite - 1] + ".htm";
    }
  if (aktuelleseite < dokumentliste.length - 2)
    {
    key['w'] = dokumentliste[aktuelleseite + 1] + ".htm";
    key['+'] = dokumentliste[aktuelleseite + 1] + ".htm";
    }
  }
document.onkeypress = getKey;
}

// ===================================================================================================================

/*******************************************************************
* File    : JSFX_LinkFader.js  © JavaScript-FX.com
* Created : 2002/09/05
* Author  : Roy Whittle  (Roy@Whittle.com) www.Roy.Whittle.com
* Purpose : To create a more dynamic a:hover using fading
* History
* Date         Version        Description
* 2002-09-05        1.0                First version
***********************************************************************/

/*** Create some global variables ***/
if(!window.JSFX)JSFX=new Object();

var LinkFadeInStep=15;
var LinkFadeOutStep=5;
var LinkEndColor="FF9F00";

var LinkStartColor="DFDFDF";                /* "000000"; */
var LinkFadeRunning=false;

document.onmouseover = theOnOver;
document.onmouseout  = theOnOut;
if(document.captureEvents)
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);

/*****************************************************************
******************************************************************
* You may use this code for free on any web page provided that
* these comment lines and the following credit remain in the code.
* "Text Link Fader" © from www.javascript-fx.com
******************************************************************
*
* Function    : getColor
*
* Parameters  :        start - the start color (in the form "RRGGBB" e.g. "FF00AC")
*                        end - the end color (in the form "RRGGBB" e.g. "FF00AC")
*                        percent - the percent (0-100) of the fade between start & end
*
* returns          : color in the form "#RRGGBB" e.g. "#FA13CE"
*
* Description : This is a utility function. Given a start and end color and
*                    a percentage fade it returns a color in between the 2 colors
*
* Author          : www.JavaScript-FX.com
*
*****************************************************************/
function hex2dec(hex){return(parseInt(hex,16));}
function dec2hex(dec){return (dec < 16 ? "0" : "") + dec.toString(16);}
function getColor(start, end, percent)
{

        var r1=hex2dec(start.slice(0,2));
        var g1=hex2dec(start.slice(2,4));
        var b1=hex2dec(start.slice(4,6));

        var r2=hex2dec(end.slice(0,2));
        var g2=hex2dec(end.slice(2,4));
        var b2=hex2dec(end.slice(4,6));

        var pc=percent/100;

        var r=Math.floor(r1+(pc*(r2-r1)) + .5);
        var g=Math.floor(g1+(pc*(g2-g1)) + .5);
        var b=Math.floor(b1+(pc*(b2-b1)) + .5);

        return("#" + dec2hex(r) + dec2hex(g) + dec2hex(b));
}
/************************************************/
JSFX.getCurrentElementColor = function(el)
{
        var result = LinkStartColor;

        if (el.currentStyle)
                result = (el.currentStyle.color);
        else if (document.defaultView)
                result = (document.defaultView.getComputedStyle(el,'').getPropertyValue('color'));
        else if(el.style.color) //Opera
                result = el.style.color;

        if(result.charAt(0) == "#")      //color is of type #rrggbb
                result = result.slice(1, 8);
        else if(result.charAt(0) == "r") //color is of type rgb(r, g, b)
        {
                var v1 = result.slice(result.indexOf("(")+1, result.indexOf(")") );
                var v2 = v1.split(",");
                result = (dec2hex(parseInt(v2[0])) + dec2hex(parseInt(v2[1])) + dec2hex(parseInt(v2[2])));
        }

        return result;
}
JSFX.findTagIE = function(el)
{
      while (el && el.tagName != 'A')
            el = el.parentElement;
        return(el);
}
JSFX.findTagNS= function(el)
{
      while (el && el.nodeName != 'A')
            el = el.parentNode;
        return(el);
}

function theOnOver(e)
{
// var lnk;                            // F. K.
var lnk = "";
if(window.event) lnk=JSFX.findTagIE(event.srcElement);
// else lnk=JSFX.findTagNS(e.target);  // F. K.
if(lnk) JSFX.linkFadeUp(lnk);
}

JSFX.linkFadeUp = function(lnk)
{
        if(lnk.state == null)
        {
                lnk.state = "OFF";
                lnk.index = 0;
                lnk.startColor = JSFX.getCurrentElementColor(lnk);
                lnk.endColor = LinkEndColor;
        }

        if(lnk.state == "OFF")
        {
                lnk.state = "FADE_UP";
                JSFX.startLinkFader();
        }
        else if( lnk.state == "FADE_UP_DOWN"
                || lnk.state == "FADE_DOWN")
        {
                lnk.state = "FADE_UP";
        }
}
function theOnOut(e)
{
        var lnk;
        if(window.event)
                lnk=JSFX.findTagIE(event.srcElement);
        else
                lnk=JSFX.findTagNS(e.target);

        if(lnk)
                JSFX.linkFadeDown(lnk);
}
JSFX.linkFadeDown = function(lnk)
{
        if(lnk.state=="ON")
        {
                lnk.state="FADE_DOWN";
                JSFX.startLinkFader();
        }
        else if(lnk.state == "FADE_UP")
        {
                lnk.state="FADE_UP_DOWN";
        }
}
JSFX.startLinkFader = function()
{
        if(!LinkFadeRunning)
                JSFX.LinkFadeAnimation();
}
/*******************************************************************
*
* Function    : LinkFadeAnimation
*
* Description : This function is based on the Animate function
*                        of animate.js (animated rollovers).
*                        Each fade object has a state. This function
*                        modifies each object and changes its state.
*****************************************************************/
JSFX.LinkFadeAnimation = function()
{
        LinkFadeRunning = false;
        for(i=0 ; i<document.links.length ; i++)
        {
                var lnk = document.links[i];
                if(lnk.state)
                {
                        if(lnk.state == "FADE_UP")
                        {
                                lnk.index+=LinkFadeInStep;
                                if(lnk.index > 100)
                                        lnk.index = 100;
                                lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);

                                if(lnk.index == 100)
                                        lnk.state="ON";
                                else
                                        LinkFadeRunning = true;
                        }
                        else if(lnk.state == "FADE_UP_DOWN")
                        {
                                lnk.index+=LinkFadeOutStep;
                                if(lnk.index>100)
                                        lnk.index = 100;
                                lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);

                                if(lnk.index == 100)
                                        lnk.state="FADE_DOWN";
                                LinkFadeRunning = true;
                        }
                        else if(lnk.state == "FADE_DOWN")
                        {
                                lnk.index-=LinkFadeOutStep;
                                if(lnk.index<0)
                                        lnk.index = 0;
                                lnk.style.color=getColor(lnk.startColor, lnk.endColor, lnk.index);

                                if(lnk.index == 0)
                                        lnk.state="OFF";
                                else
                                        LinkFadeRunning = true;
                        }
                }
        }
        /*** Check to see if we need to animate any more frames. ***/
        if(LinkFadeRunning)
                setTimeout("JSFX.LinkFadeAnimation()", 40);
}

// ===================================================================================================================
