var ttAfhDlcD  = 'AGB,FDH,MUC,NUE,STR';
var ttAfhDlcAT = 'GRZ,INN,KLU,LNZ,SLZ,VIE';
var ttAfhDlcCH = 'BRN,BSL,ZRH';
//--- !! ACHTUNG: Aenderungen (mehr oder weniger DLCs) an o.a.
//--- !! Variablen-Werten verschiebt abflughafen.options-Index 
//--- !! in der Funktion ttSendAfh() !!!!!!!!!!!!!!!!!!!!!!!!!

/*
ä => \xE4
ö => \xF6
ü => \xFC
Ä => \xC4
Ö => \xD6
Ü => \xDC
ß => \xDF
*/
var TTAFH=new Array(
    'Mehrfachauswahl;-2',
    '---\xD6sterreich;GRZ,INN,KLU,LNZ,SLZ,VIE;headline',
    'Graz;GRZ',
    'Innsbruck;INN',
    'Klagenfurt;KLU',
    'Linz;LNZ',
    'Salzburg;SLZ',
    'Wien;VIE',
    '---Deutschland;AGB,FDH,MUC,NUE,STR;headline',
    'Augsburg;AGB',
    'Friedrichshafen;FDH',
    'M\xFCnchen;MUC',
    'Nürnberg;NUE',
    'Stuttgart;STR',
    '---Schweiz;BRN,BSL,ZRH;headline',
    'Basel-Mulhouse;BSL',
    'Bern-Belp;BRN',
    'Z\xFCrich;ZRH'
);

/* 
Layer - Mehrfachausfahl Abflughäfen 
Quelle der Abflughäfen: s.o.
*/
var TTAFHDLC = new Array (
    'Augsburg (D);AGB',
    'Basel-Mulhouse (CH);BSL',
    'Bern-Belp (CH);BRN',
    'Friedrichshafen (D);FDH',
    'Graz;GRZ',
    'Innsbruck;INN',
    'Klagenfurt;KLU',
    'Linz;LNZ',
    'München (D);MUC',
    'Nürnberg (D);NUE',
    'Salzburg;SLZ',
    'Stuttgart (D);STR',
    'Wien;VIE',
    'Zürich (CH);ZRH'
);

var ttStrAusgabeAfh = '';

//_____________________________________________________________

function ttGetDlc(str) {
    var tmpArr = new Array()
    
    for (i = 0; i < TTAFHDLC.length; i ++) {
        tmpArr = TTAFHDLC[i].split(';');
        
        if (str == tmpArr[0]) {
            return tmpArr[1];
            break;
        }  
    }
}

//_____________________________________________________________

function ttFillAfh() {
    var c,cc;
    
    var tmp_afhArr = new Array();
    tmp_afhArr     = abflughafen.split(",");
      
    if (document.bengine.mafh) {
        for (c = 0; c < document.bengine.mafh.length; c ++) {
            for (cc = 0; cc < tmp_afhArr.length; cc ++) {
                var tmp = document.bengine.mafh[c].value.split(';')[0] || '';
                
                if (tmp_afhArr[cc] == tmp) {
                    document.bengine.mafh[c].checked = true;
                    break;
                }
            }
        }
    }
}

//_____________________________________________________________

function ttKillAfh() {
    if (document.bengine.mafh) {
        for (c = 0; c < document.bengine.mafh.length; c ++) {
            document.bengine.mafh[c].checked = false;
        }
    }
}

//_____________________________________________________________

var ttAfhDlcArray = new Array();

function ttSendAfh() {
    if (flagAbflughafenCheck && ttAfhDlcArray && 
        abflughafenCheck.toString() != ttAfhDlcArray.toString() &&
        document.forms.bengine.refresh) {
            document.forms.bengine.refresh.value = 1;
    }
    
    if (abflughafen == '-1' || abflughafen == '-1,' || abflughafen == '') {
        ttAfhDlcArray = new Array();
    } else {
        ttAfhDlcArray = abflughafen.split(',');
        abflughafen   = ttAfhDlcArray.sort().toString();
    }
    
    if (abflughafen == '') {
        abflughafen = '-1';
    }
    
    if (abflughafen == '-1') {
        //--- beliebig ----------------------------------------------
        document.forms.bengine.abflughafen.options[0].selected = true;
    } else if (ttAfhDlcArray.length == 1) {
        //--- EIN ausgewaehlter Abflughafen -------------------------
        for (var i = 0; i < document.forms.bengine.abflughafen.length; i ++) {
            if (document.forms.bengine.abflughafen.options[i].value == ttAfhDlcArray[0]) {
                document.forms.bengine.abflughafen.options[i].selected = true;
            }
        }
    } else if (abflughafen == ttAfhDlcAT) {
        //--- Oesterreich -------------------------------------------
        document.forms.bengine.abflughafen.options[2].selected = true;
    } else if (abflughafen == ttAfhDlcD) {
        //--- Deutschland -------------------------------------------
        document.forms.bengine.abflughafen.options[9].selected = true;
    } else if (abflughafen == ttAfhDlcCH) {
        //--- Schweiz -----------------------------------------------
        document.forms.bengine.abflughafen.options[15].selected = true;
    } else {
        //--- Mehrfachauswahl ---------------------------------------
        document.forms.bengine.abflughafen.options[1].selected = true;
    }
    
    document.forms.bengine.abflughafen2.value = abflughafen;
}

//_____________________________________________________________

var abflughafenCheck     = '';
var flagAbflughafenCheck = false;

function ttSetAfh(dlc, checked) {
    if (abflughafen == '-1' || abflughafen == '-1,' || abflughafen == '') {
        abflughafen = '';
    }
    
    abflughafenCheck = abflughafen;
    
    var dlcTmp = dlc.split(';');
    
    if (checked) {
        if (ttAfhDlcArray.length < 30) {
            if (abflughafen == '' || abflughafen == '-1' || abflughafen == '-1,' || abflughafen == '') {
                abflughafen = dlcTmp[1];
            } else {
                abflughafen += ',' + dlcTmp[1];
            }
            
            ttAfhDlcArray.push(dlcTmp[1]);
        } else {
            ttPrintAfh();
    
            document.getElementById('ttHudContentDivIframe').innerHTML = ttStrAusgabeAfh;
            
            alert('Sie können maximal 30 Abflughäfen auswählen.');
        }
    } else {
        abflughafen = abflughafen.replace(dlcTmp[1], '');
        abflughafen = abflughafen.replace(/,,/g,',');
        
        if (abflughafen[0] == ',') {
            abflughafen = abflughafen.substring(1, abflughafen.length);
        }
        if (abflughafen[abflughafen.length - 1] == ',') {
            abflughafen = abflughafen.substring(0, abflughafen.length - 1);
        }
        
        for (var i = 0; i < ttAfhDlcArray.length; i ++) {
            if (dlcTmp[1] == ttAfhDlcArray[i]) {
                ttAfhDlcArray.splice(i, 1);
            }
        }
    }
    
    ttAfhDlcArray.sort();
    
    flagAbflughafenCheck = true;
}

//_____________________________________________________________

function ttSetAfhFromSelect(afh) {
    ttAfhDlcArray = new Array();
        
    if (afh != '-1' && afh != '-2') {
        abflughafen                               = afh;
        document.forms.bengine.abflughafen2.value = afh;
        document.forms.bengine.abflughafen.value  = afh;
        
        ttAfhDlcArray = afh.split(',');
    } else if (afh == '-1') {
        abflughafen                               = '-1';
        document.forms.bengine.abflughafen2.value = '-1';
        document.forms.bengine.abflughafen.value  = '-1';
        
    } else if (afh == '-2') {
        ttShowAfh();
    }
}

//_____________________________________________________________

function ttClearAfh() {
    ttAfhDlcArray = new Array();
    
    abflughafen                               = '-1';
    document.forms.bengine.abflughafen2.value = '-1';
    document.forms.bengine.abflughafen.value  = '-1';
    
    if (document.forms.bengine.refresh) {
        document.forms.bengine.refresh.value = 1;
    }
    
    ttPrintAfh();
    
    document.getElementById('ttHudContentDivIframe').innerHTML = ttStrAusgabeAfh;
}

//_____________________________________________________________

function ttPrintAfh() {
    var i;
    
    var a  = 0;
    var eu = 0;
    
    var tmpArr         = new Array();
    var afhNameArrA    = new Array();
    var afhKennerArrA  = new Array();
    var afhDLCArrA     = new Array();
    var afhNameArrEU   = new Array();
    var afhKennerArrEU = new Array();
    var afhDLCArrEU    = new Array();
    
    if (TTAFHDLC[0] != '') {
        for (i = 0; i < TTAFHDLC.length; i ++) {
            tmpArr = TTAFHDLC[i].split(';');
            
            if (tmpArr[0].search(/\(D\)/) != -1 || tmpArr[0].search(/\(CH\)/) != -1) {
                    afhNameArrEU[eu]   = tmpArr[0].replace(/ - /g, '-');
                    afhKennerArrEU[eu] = tmpArr[1];
                    afhDLCArrEU[eu]    = ttGetDlc(tmpArr[0]) + ';' + tmpArr[1];
                    
                    eu ++;
            } else {
                afhNameArrA[a]   = tmpArr[0].replace(/ - /g, '-');
                afhKennerArrA[a] = tmpArr[1];
                afhDLCArrA[a]    = ttGetDlc(tmpArr[0]) + ';' + tmpArr[1];
                
                a ++;
            }
        }
        
        ttStrAusgabeAfh  = '<div>';
        ttStrAusgabeAfh += '    <iframe src="dummy.html" width="640" height="252" frameborder="0" scrolling="no" style="position: absolute; top: 0; left: 0; background: #fff; padding: 0; margin: -22px 0 0 -30px; border: 0; overflow: hidden; z-index: 1999;"></iframe>';
        ttStrAusgabeAfh += '    <div class="tt_afhBody">';
        ttStrAusgabeAfh += '    <form name="bengine2">';
        ttStrAusgabeAfh += '        <div class="tt_tt_afhHeadRa">';
        ttStrAusgabeAfh += '            <div class="tt_afhHead">W&auml;hlen Sie Ihre bevorzugten Abflugh&auml;fen aus!</div>';
        ttStrAusgabeAfh += '            <div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        ttStrAusgabeAfh += '        </div>';
        ttStrAusgabeAfh += '        <div class="tt_afhContent">';
        ttStrAusgabeAfh += '            <div class="tt_afhSubHead">&Ouml;sterreichische Abflugh&auml;fen</div>';
        
        var z,s;
        
        var countD   = afhNameArrA.length;
        var countEU  = afhNameArrEU.length;
        var maxA     = Math.ceil(countD / 4); 
        var maxEU    = Math.ceil(countEU / 4);
        var akt      = 0;
        var countAfh = 0;
        
        for (z = 0; z < maxA; z ++) {
            for (s = 0; s < 4; s ++) {
                akt = z + (s * maxA);
                
                if (afhDLCArrA[akt] != '' && afhDLCArrA[akt] != undefined) {
                    var afhDLCArrANum      = afhDLCArrA[akt].split(';')[1] || '';
                    var abflughafenChecked = '';
                    
                    for (var j = 0; j < ttAfhDlcArray.length; j ++) {
                        if (afhDLCArrANum == ttAfhDlcArray[j]) {
                            abflughafenChecked = ' checked="checked"';
                        }
                    }
                    
                    ttStrAusgabeAfh += '<div class="tt_afhCB"><input type="checkbox" class="tt_afhCheckbox" name="mafh" id="mafh_' + countAfh + '" value="' + afhDLCArrA[akt] + '" onclick="ttSetAfh(\'' + afhDLCArrA[akt] + '\', this.checked);"' + abflughafenChecked + '></div><div class="tt_afhTxt"><label for="mafh_' + countAfh + '" style="cursor: pointer;" onmouseover="this.style.background = \'#eee\';" onmouseout="this.style.background = \'#fff\';">'+afhNameArrA[akt]+'</label></div>';
                    
                    countAfh += 1;
                }
            }
            
            ttStrAusgabeAfh += '<div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        }
        
        ttStrAusgabeAfh += '  <div class="tt_afhSubHead">Europ&auml;ische Abflugh&auml;fen</div>';
        
        for (z = 0; z < maxEU; z ++) {
            for (s = 0; s < 4; s ++) {
                akt = z + (s * maxEU);
                
                if (afhDLCArrEU[akt] != '' && afhDLCArrEU[akt] != undefined) {
                    var afhDLCArrEUNum     = afhDLCArrEU[akt].split(';')[1] || '';
                    var abflughafenChecked = '';
                    
                    for (var j = 0; j < ttAfhDlcArray.length; j ++) {
                        if (afhDLCArrEUNum == ttAfhDlcArray[j]) {
                            abflughafenChecked = ' checked="checked"';
                        }
                    }
                    
                    ttStrAusgabeAfh += '<div class="tt_afhCB"><input type="checkbox" class="tt_afhCheckbox" name="mafh" id="mafh_' + countAfh + '" value="' + afhDLCArrEU[akt] + '" onclick="ttSetAfh(\'' + afhDLCArrEU[akt] + '\', this.checked);"' + abflughafenChecked + '></div><div class="tt_afhTxt"><label for="mafh_' + countAfh + '" style="cursor: pointer;" onmouseover="this.style.background = \'#eee\';" onmouseout="this.style.background = \'#fff\';">'+afhNameArrEU[akt]+'</label></div>';
                    
                    countAfh += 1;
                }
            }
            
            ttStrAusgabeAfh += '<div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        }
        
        ttStrAusgabeAfh += '            <div class="tt_afhSpacer"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        ttStrAusgabeAfh += '            <div class="tt_afhLegende">'
        ttStrAusgabeAfh += '                <img src="' + imgPfad + '/info.gif" align="left" style="float: left; vertical-align: middle; margin: 6px 6px 4px 4px;" />';
        ttStrAusgabeAfh += '                <div style="float: left;">Hinweis: Wenn Sie keinen Abflughafen ausw&auml;hlen,<br />werden alle verf&uuml;gbaren Abflugh&auml;fen angezeigt.</div>';
        ttStrAusgabeAfh += '                <div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        ttStrAusgabeAfh += '            </div>';
        ttStrAusgabeAfh += '            <div class="tt_afhLoeschen" onclick="ttClearAfh();">Vorauswahl l&ouml;schen</div>';
        ttStrAusgabeAfh += '            <div class="tt_afhSenden" onclick="ttSendAfh(); closeLayer();"><img src="' + imgPfad + '/auswahl_uebernehmen.gif" alt="" border="0" /></div>';
        ttStrAusgabeAfh += '            <div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        ttStrAusgabeAfh += '        </div>';
        ttStrAusgabeAfh += '    </div>';
        ttStrAusgabeAfh += '    </form>';
        ttStrAusgabeAfh += '    <div class="clearboth"><img src="/images/spacer.gif" alt="0" width="0" height="0"></div>';
        ttStrAusgabeAfh += '</div>';
        
        ttFillAfh();  
    }
    
    return false;
}

//_____________________________________________________________

function ttShowAfh() {
    ttPrintAfh();
    
    //HUD div bauen
    if(document.getElementById('ttAfhBox') == null || typeof(document.getElementById('ttAfhBox')) == 'undefined') {
        var opacDiv          = document.createElement('div');        
        var opacDiv_id       = document.createAttribute('id');
        opacDiv_id.nodeValue = 'ttAfhBox';        
        
        opacDiv.setAttributeNode(opacDiv_id);        
        
        var opacDiv_class       = document.createAttribute('class');
        opacDiv_class.nodeValue = 'iepngfix2';        
        
        opacDiv.setAttributeNode(opacDiv_class);
        
        document.body.appendChild(opacDiv);
    }
    
    if ($('ttAfhBoxContent') == null || typeof($('ttAfhBoxContent')) == 'undefined') {
        var opacDiv          = document.createElement('div');        
        var opacDiv_id       = document.createAttribute('id');
        opacDiv_id.nodeValue = 'ttAfhBoxContent';        
        
        opacDiv.setAttributeNode(opacDiv_id);        
        
        var opacDiv_class       = document.createAttribute('class');
        opacDiv_class.nodeValue = 'iepngfix2';
        
        opacDiv.setAttributeNode(opacDiv_class);        
        
        document.body.appendChild(opacDiv);    
    }
    
    
    if (document.body && document.body.offsetHeight && document.body.offsetHeight > 0) {
        var iW = document.body.offsetWidth;
        var iH = document.body.offsetHeight;    
    } else if (document.body && document.body.clientHeight && document.body.clientHeight > 0) {
        var iW = document.body.clientWidth;
        var iH = document.body.clientHeight;    
    } else if (window.innerHeight && window.innerHeight > 0) {
        var iW = window.innerWidth;
        var iH = window.innerHeight;    
    }
    
    var scrollPos = 0;
    
    if (typeof( window.pageYOffset ) == 'number') {
        //--- Netscape compliant ----------------
        scrollPos = window.pageYOffset;
    } else if (document.body && document.body.scrollTop) {
        //--- DOM compliant ---------------------
        scrollPos = document.body.scrollTop;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        //--- IE6 standards compliant mode ------
        scrollPos = document.documentElement.scrollTop;
    }
    
    var strHibContent = '<div id="ttAfhContainer" style="position: relative; width: 690px; height: 230px; z-index: 10003;">';
    strHibContent    += '            <div style="position: relative; width: 690px; height; 1px;">';
    strHibContent    += '                <div class="ttAfhClose iepngfix" onclick="ttSendAfh(); closeLayer(); return false;" title="Close"><img src="/images/spacer.gif" width="30" height="30" alt="" border="0" /></div>';
    strHibContent    += '            </div>';
    strHibContent    += '   <div class="ttHudContainerTopLeft iepngfix"><img src="/images/spacer.gif" width="0" height="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerTopCenter iepngfix" style="width: 630px;"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerTopRight iepngfix"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="clearboth"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerLeftCenter iepngfix" style="height: 230px;"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div id="ttHudContentDiv" style="position: relative; width: 630px; height: 230px; padding: 0;">';
    strHibContent    += '       <div id="ttHudContentWait" style="top: ' + (500 / 2 - 16) + 'px; left: ' + (630 / 2 - 16) + 'px;"></div>';
    strHibContent    += '       <div id="ttHudContentDivIframe" style="width: 630px; height: 500px; background: #fff; margin: 0;">';
    strHibContent    +=             ttStrAusgabeAfh;
    strHibContent    += '       </div>';
    strHibContent    += '   </div>';
    strHibContent    += '   <div class="ttHudContainerRightCenter iepngfix" style="height: 230px;"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="clearboth"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerBottomLeft iepngfix"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerBottomCenter iepngfix" style="width: 630px;"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="ttHudContainerBottomRight iepngfix"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '   <div class="clearboth"><img src="images/spacer.gif" width="0" heigtht="0" alt="" border="0" /></div>';
    strHibContent    += '</div>';
    
    //--- body-Hoehe-fix bei nicht valider body-Hoehe -------
    if (iH < 1000) {
        iH = 3000;
    }
    
    document.getElementById('ttAfhBox').style.width   = iW + 'px';
    document.getElementById('ttAfhBox').style.height  = iH + 'px';
    document.getElementById('ttAfhBox').style.display = 'block';
    
    document.getElementById('ttAfhBoxContent').innerHTML     = strHibContent;
    document.getElementById('ttAfhBoxContent').style.display = 'block';
    
    document.getElementById('ttAfhContainer').style.marginTop  = (scrollPos + 100) + 'px';
    document.getElementById('ttAfhContainer').style.marginLeft = '140px';
    
    document.getElementById('ttHudContentDivIframe').style.display = 'block';
}

//_____________________________________________________________

function ttHandleAfhTitle(afh) {
    if (afh == '-2') {
        document.forms.bengine.abflughafen.title = 'MA';
    }
}

//_____________________________________________________________

function closeLayer () {
    document.getElementById('ttAfhBox').style.display        = 'none';
    document.getElementById('ttAfhBoxContent').style.display = 'none';
}
