/**
 * Allgemeine kundenspezifische Klasse
 * 
 * @author Daniel Lembicz
 */

/**
 * Konstruktor
 */

function TTMainCustomer() {
}

/**
 * Funktion wird einmalig nach dem Laden der Seite aufgerufen
 */

TTMainCustomer.windowOnload = function() {
    // booking Url setzen
    if (port == 653) {
        if (typeof(ttCityIbe) != 'undefined' && ttCityIbe) {
            var bookUrl = sec_cluster_url + '/booking/its/city/index.php?KID=' + KID;
        } else {
            var bookUrl = sec_cluster_url + '/booking/its/erde/index.php?KID=' + KID;
        }
    } else if (port == 655) {
        var bookUrl = sec_cluster_url + '/booking/its/fewo/index.php?KID=' + KID;
    } else {
        var bookUrl = sec_cluster_url + '/booking/its/index.php?KID=' + KID; 
    }

    // Konfiguration festlegen    
    pStrecke.setConfig({
        fullAjax: false,
        usingUrlParams: false,
        usingUrlSession: false,
        idForm: 'bengine',              // ID des Such-Formulars
        flightTimes: 0,                 // Flugzeiten bei Vakanz überprüfen                                              
        onVacancyError: {               // Fehler bei der Vakanz
            reloadList: 0,              // Liste neu laden
            insertErrorItem: 1          // Fehler-Termin in Liste einfügen
        },
        collectItems: {                 // Geprüfte Angebote sammeln
            maxItems: 3                 // keine Angebote sammeln
        },
        urlCustomerParams: '/kunden_parameter/' + ordner_name + '/ibe_v2/', // URL zu KundenParameter
        dateList: {                     // Angebotsliste
            firstView: 4                // erste Anzeige     
        },
        //groupByServicesAjaxTermin: true,
        numToRequest: {                 // Anzahl der anzufragenden Listen-Elemente ($anzahl_treffer_seite)
            hotels : 0,                 // für Hotels
            offers : 10                // für Termine
        },
        numToShow: {                    // Anzahl der anzuzeigenden Liste-Elemente                 
            hotels : 0,                // für Hotels
            offers: parseInt(anzahl_treffer_seite)                  // für Termine
        },        
        doOnReady: true,
        bestOfferModule: false,         // Nutzung des BestOfferModuls
        bookingUrl: bookUrl,            // URL zur Buchungs-Seite
        vacancyUseOnlineIPs: '0',       // OnlineIPs bei Vakanzprüfung verwenden
        reloadListHeaders: {            // Header der Liste nach Ladevorgang ebenfalls reloaden
            regions: false,
            hotels: false,
            offers: false
        }            
    });
}

/**
 * bevor der Request an die Engine gestellt wird
 * obj = serialisiertes bengine Formulardaten
 */

TTMainCustomer.beforeAjaxRequest = function (obj) {
    var edit1 = false;
    var edit2 = false;
    var edit3 = false;
    
    for (var i = 0; i < obj.length; i++) {
        if (obj[i].name == 'abflughafen') {
            obj[i].value = (abflughafenForTermine) ? abflughafenForTermine : obj[i].value;
            edit1 = true;
        }
        if (obj[i].name == 'dauer') {
            obj[i].value = (IBE.req['dauer2']) ? IBE.req['dauer2'] : obj[i].value;
            edit2 = true;
        }
        if (obj[i].name == 'anzahl_treffer_seite') {
            obj[i].value = anzahl_treffer_seite;
            edit3 = true;
        }
        if (edit1 && edit2 && edit3) {
            break;
        }
    }
    
    return obj;
}

TTMainCustomer.onAjaxSuccess = function (data) {
    if (typeof data.message == 'undefined' && agent != 'noItsHeader') {
        tb_init('#idListContent a.thickbox');
    }
}

/**
 * Handling, wenn keine Termine aus der Engine kommen
 */
var ttFlagTermineResults = true;

TTMainCustomer.noResults = function () {
    ttFlagTermineResults = false;
    
    if (pStrecke.objects.port == 654 && ttSwitchIbe == 1) {
        var strError = '<div class="tt_errorBox">'
                     +     '<img src="' + imgPfad + '/Fehlermeldung.gif" alt="" border="0" style="vertical-align: middle; margin: 0 10px 4px 0;" />'
                     +     'Zu Ihrem Hotel konnten leider keine Angebote inklusive Flug gefunden werden.<br /><br />'
                     +     '<a href="javascript: void(0);" onclick="ttSwitchToErde();" class="">&laquo; Zur&uuml;ck zu den Nur-Hotel-Angeboten</a><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />'
                     + '</div>';

        $('#idTerminHeaderCloned').find('#ttPosIbeInnerContent3').html('<div style="height: 16px;">&nbsp;</div>');
        $('#idTerminHeaderCloned').find('#ttPosIbeInnerContent .ttHeadline3').css('padding', '0').html('');
        $('#idListFooter').html('');
        $('#idListContent').html(strError);
        if (pStrecke.nameHotel == '') { // Hotel existiert in Lami gar nicht
            $('#idTerminHeaderCloned').find('#ttPosIbeInnerContent').css('display', 'none');
            $('#idTerminHeaderCloned').find('#ttPosIbeInnerContent2').css('margin', '30px 0 0');
        }
    } else {
        if (typeof ttCityTravel != 'undefined' && ttCityTravel == '1') {
            var strError = '<div class="tt_errorBox">'
                         +     '<div style="float: left; width: 34px; height: 30px; padding: 22px 0 20px 20px;">'
                         +         '<img src="' + imgPfad + '/Fehlermeldung.gif" alt="" border="0" style="vertical-align: middle; margin: 0 10px 4px 0;" />'
                         +     '</div>'
                         +     '<div style="float: left; width: 830px; padding: 24px 0 40px 6px;">'
                         +         'Leider sind momentan keine St&auml;dtereisen-Angebote f&uuml;r Ihr gew&uuml;nschtes '
                         +         'Reiseziel verf&uuml;gbar oder die Kriterien wurden zu stark eingeschr&auml;nkt. '
                         +         'W&auml;hlen Sie ein anderes Ziel, &auml;ndern Sie Ihre Suchkriterien oder suchen Sie in der Rubrik '
                         +         '<a href="http://buchen.its.de/booking/its/erde/index.php?KID=430700&formular=4&engine=erde&detail=hotel&showresult=1&topRegion=' + topRegion + '&personen=' + (personen != '' ? personen : '25;25;') + '&AID=hurra&AKID=google_sem">"Eigene Anreise"</a> '
                         +         'nach Ihrem gew&uuml;nschten Reiseziel.'
                         +     '</div>'
                         + '</div>';
        } else {
            var strError = '<div class="tt_errorBox">'
                         +     '<img src="' + imgPfad + '/Fehlermeldung.gif" alt="" border="0" style="vertical-align: middle; margin: 0 10px 4px 0;" />'
                        +     'Bitte &auml;ndern Sie Ihre Suchanfrage und versuchen Sie es erneut.<br /><br />'
                        +     '<a href="javascript: void(0);" onclick="zum_hotel(1, ' + startposition_hotel + ', \'' + pStrecke.terminRegionData.zgk + '\'); return false;" class="">&laquo; Zur&uuml;ck zu den Angeboten</a>'
                        + '</div>';
        }
        
        $('#idListHeader').html('<div style="height: 16px;">&nbsp;</div>');
        $('#idListFooter').html('');
        
        $_('idListContent').style.marginLeft = '-15px';
        $('#idListContent').html(strError);
        
        $('#ttLisaTermine').hide();
    }
}
