var currentNavi = [];
var oldNavi = [];
var imageObjects = [];
var idTimeout = null;
var elemImage = [];
var elemImageSubline = [];
var currentPic = [];
var btnBackAll = [];
var btnBack = [];
var btnForward = [];
var btnForwardAll = [];
var pImage;
var pIntervalFadeOut = null;
var pIntervalFadeIn = null;
var fadeOutValue = 100;
var fadeInValue = 0;
var pImageCurrent = null;
var elemDurchlauf;
var images = [];
var sublines = [];
var tourOperatorImg = [];
var tourOperatorShort = [];
var tourOperatorLong = [];
var accomCode = [];
var contentProvider = [];
var catalogID = [];
var copyright = [];
var maxPicHeight = [];
var maxPicWidth = [];
var picDir;
var imagePath;
var idRegionenInfo = null;
var idReiter = null;
var methLink = null;
var laenderRefId = null;
var page = null;
var customerId = null;
var typeMethode = null;
var callback = false;
var idContent = '';
var soapError = false;
var diaShowHasShadow = false;
var diaShowButtonAutomaticStart = '';
var diaShowButtonAutomaticStop  = '';
                                   
var lastWidth = 0;
var diaShowCenter = false;
/*if (typeof(pfad_images) == 'undefined' || (typeof(pfad_images) != 'undefined' && pfad_images == '')){
    var pfad_images='';
}*/
var fileExt = 'gif';
var multipleContent;
var scrollHeights = [];
var dynamicHeight = false;
var ctrlImg = [];
var pathToDiaImages = [];
var pathControlImage = [];
var nameNavigation = 'idNavigation_';
var currentClass;
var elemsNavi = [];
var elemAngebotContent;
var idContentPf;
var elemNaviCount = [];
var idUpdate = null;

/*
var hbwTt_infotext;
var hbwTt_BGIMG;
var hbwTt_BGIMG2;
var hbwTt_BGCOLOR;
var hbwTt_BORDERWIDTH;
var hbwTt_WIDTH;
var hbwTt_PADDING;
var hbwTt_FONTSIZE;
var hbwTt_FONTFACE;
var hbwTt_FONTCOLOR;
*/

// auf "true" setzen wenn immer erste Kategorie angezeigt werden soll
var alwaysFirstCategory = false;

function fillImageArray() {
    if (images[idContent][idContentPf] && images[idContent][idContentPf].length > 0) {
        imageObjects[idContent][idContentPf] = new Array();
        
        for (var i = 0; i < images[idContent][idContentPf].length; i++) {
            var pObj = {};
            pObj.path = images[idContent][idContentPf][i];
            imageObjects[idContent][idContentPf][i] = pObj;
        }
        
        ctrlImg[idContent] = document.getElementById('idCtrlImg_' + idContent);
        
        if (ctrlImg[idContent]) {
            pathControlImage[idContent] = ctrlImg[idContent].getAttribute('defaultPath');
            setControlImage();
        }
    }
    
    elemNaviCount[idContent] = new Array();
    elemNaviCount[idContent][idContentPf] = document.getElementById('idDiaNaviCount_' + idContent + idContentPf);
    updateDiaNaviCount();
}

function onAjaxSuccess(funcSuccess) {
    if (funcSuccess != null && funcSuccess != undefined && funcSuccess != '') {
        setTimeout(funcSuccess + '(\'' + escape(xmlReq.responseText) + '\')', 10);
        //eval(funcSuccess + '(\'' + escape(xmlReq.responseText) + '\')');
        return;
    }
    
    stopSlideshow();
    clearInterval(pIntervalFadeOut);
    clearInterval(pIntervalFadeIn);
    pIntervalFadeOut = null;
    pIntervalFadeIn = null;
    
    var response = xmlReq.responseText;
    
    //Im response-DOM enthaltenen JS-Code ausführen
    launchJavascript(response);
	
    if (!callback) {
        var elemContent = document.getElementById('idContent_' + idContent + idContentPf);
        
        if (idUpdate != null) {
            elemContent = document.getElementById(idUpdate);
        }
        
        if (elemContent) {
            elemContent.innerHTML = response;
            elemImage[idContentPf] = document.getElementById('idDia_' + idContent + idContentPf);
            elemContent.scrollTop = '0';
        }
    } else {
		onSuccessCallback();
    }
    
    btnBackAll[idContentPf]    = document.getElementById('idButtonSSBackAll_' + idContent + idContentPf);
    btnBack[idContentPf]       = document.getElementById('idButtonSSBack_' + idContent + idContentPf);
    btnForward[idContentPf]    = document.getElementById('idButtonSSForward_' + idContent + idContentPf);
    btnForwardAll[idContentPf] = document.getElementById('idButtonSSForwardAll_' + idContent + idContentPf);
    
    oldNavi[idContent] = currentNavi[idContent];
    
    if (dynamicHeight) {
        var scrollContent = document.getElementById("scrollContent_" + idContent);
        
        if (scrollContent) {
            useDynamicHeight();
        }
    }
    
    if (currentClass == 'TTStreckeTuiLaenderinfos') {
        getAngebotsbox();
        resizeLaenderinfos();
    }
    
    idUpdate = null;
}

function startSlideshow(type, setTourOperatorControlTag) {
    if (typeof type == 'undefined') {
        type = '';
    }
    if (typeof setTourOperatorControlTag == 'undefined') {
        setTourOperatorControlTag = false;
    }
    
    if (idTimeout == null) {
        elemDurchlauf = document.getElementById("idDurchlauf_" + idContent + idContentPf);

        if (elemDurchlauf) {
            if (diaShowButtonAutomaticStop != '') {
                elemDurchlauf.firstChild.nodeValue = diaShowButtonAutomaticStop;
            } else {
                elemDurchlauf.firstChild.nodeValue = 'Durchlauf beenden';
            }
        }

        currentPic[idContent][idContentPf] = 0;
        elemImage[idContentPf] = document.getElementById('idDia_' + idContent + idContentPf);
        if (type == 'withThumbs') {
            changeImageWithThumbs('NEXT_IMAGE', setTourOperatorControlTag);
            //idTimeout = setInterval("changeImageWithThumbs('NEXT_IMAGE', setTourOperatorControlTag)", 2500);
            idTimeout = setInterval(function() {
                changeImageWithThumbs('NEXT_IMAGE', setTourOperatorControlTag);
            }, 2500);
        } else {
            changeImage('NEXT_IMAGE');
            idTimeout = setInterval("changeImage('NEXT_IMAGE')", 2500);
        }
    } else {
        stopSlideshow();
    }
}

function stopSlideshow() {
    clearInterval(idTimeout);
    idTimeout = null;

    elemDurchlauf = document.getElementById("idDurchlauf_" + idContent + idContentPf);
    
    if (elemDurchlauf) {
        if (diaShowButtonAutomaticStart != '') {
            elemDurchlauf.firstChild.nodeValue = diaShowButtonAutomaticStart;
        } else {
            elemDurchlauf.firstChild.nodeValue = 'automatischer Durchlauf';
        }
    }
}

function changeImage(type, setTourOperatorControlTag) {
    if (typeof setTourOperatorControlTag == 'undefined') {
        setTourOperatorControlTag = false;
    }
    
    clearInterval(pIntervalFadeOut);
    clearInterval(pIntervalFadeIn);
    
    pIntervalFadeOut = null;
    pIntervalFadeIn  = null;

    elemImage[idContentPf]     = document.getElementById('idDia_' + idContent + idContentPf);
    btnBackAll[idContentPf]    = document.getElementById('idButtonSSBackAll_' + idContent + idContentPf);
    btnBack[idContentPf]       = document.getElementById('idButtonSSBack_' + idContent + idContentPf);
    btnForward[idContentPf]    = document.getElementById('idButtonSSForward_' + idContent + idContentPf);
    btnForwardAll[idContentPf] = document.getElementById('idButtonSSForwardAll_' + idContent + idContentPf);
        
    if (elemImage[idContentPf]) {
        elemImage[idContentPf].style.display = 'none';
        fadeOutValue = 100;
        fadeInValue  = 0;
        
        switch (type) {
            case 'FIRST_IMAGE':
                if (currentPic[idContent][idContentPf] == 0) {
                    elemImage[idContentPf].style.display = '';
                    return;
                } else {
                    currentPic[idContent][idContentPf] = 0;
                }
                break;
                
            case 'PREVIOUS_IMAGE':
                if (currentPic[idContent][idContentPf] > 0) {
                    currentPic[idContent][idContentPf]--;
                } else {
                    elemImage[idContentPf].style.display = '';
                    return;
                }
                break;
                
            case 'NEXT_IMAGE':
                if (currentPic[idContent][idContentPf] < (imageObjects[idContent][idContentPf].length - 1)) {
                    currentPic[idContent][idContentPf]++;
                } else {
                    elemImage[idContentPf].style.display = '';
                    return;
                }
                break;
                
            case 'LAST_IMAGE':
                if (currentPic[idContent][idContentPf] >= (imageObjects[idContent][idContentPf].length - 1)) {
                    elemImage[idContentPf].style.display = '';
                    return;
                } else {
                    currentPic[idContent][idContentPf] = (imageObjects[idContent][idContentPf].length - 1);                            
                }
                break;
                
            default:
                break;
        }
        
        if (diaShowHasShadow) {
            picPreLoadedCallback();
        }
        
        loadImage(setTourOperatorControlTag);
    }
    
    updateDiaNaviCount();
}

function changeImageWithThumbs(type, setTourOperatorControlTag) {
    if (typeof setTourOperatorControlTag == 'undefined') {
        setTourOperatorControlTag = false;
    }
    
    clearInterval(pIntervalFadeOut);
    clearInterval(pIntervalFadeIn);
    
    pIntervalFadeOut = null;
    pIntervalFadeIn  = null;

    elemImage[idContentPf]     = document.getElementById('idDia_' + idContent + idContentPf);
    btnBackAll[idContentPf]    = document.getElementById('idButtonSSBackAll_' + idContent + idContentPf);
    btnBack[idContentPf]       = document.getElementById('idButtonSSBack_' + idContent + idContentPf);
    btnForward[idContentPf]    = document.getElementById('idButtonSSForward_' + idContent + idContentPf);
    btnForwardAll[idContentPf] = document.getElementById('idButtonSSForwardAll_' + idContent + idContentPf);
    
    if (elemImage[idContentPf]) {
        elemImage[idContentPf].style.display = 'none';
        fadeOutValue = 100;
        fadeInValue  = 0;
        
        switch (type) {
            case 'FIRST_IMAGE':
                if (currentPic[idContent][idContentPf] == 0) {
                    elemImage[idContentPf].style.display = '';
                    return;
                } else {
                    currentPic[idContent][idContentPf] = 0;
                }
                break;
                
            case 'PREVIOUS_IMAGE':
                if (currentPic[idContent][idContentPf] > 0) {
                    currentPic[idContent][idContentPf]--;
                } else {
                    elemImage[idContentPf].style.display = '';
                    return;
                }
                break;
                
            case 'NEXT_IMAGE':
                if (currentPic[idContent][idContentPf] < (imageObjects[idContent][idContentPf].length - 1)) {
                    currentPic[idContent][idContentPf]++;
                } else {
                    elemImage[idContentPf].style.display = '';
                    return;
                }
                break;
                
            case 'LAST_IMAGE':
                if (currentPic[idContent][idContentPf] >= (imageObjects[idContent][idContentPf].length - 1)) {
                    elemImage[idContentPf].style.display = '';
                    return;
                } else {
                    currentPic[idContent][idContentPf] = (imageObjects[idContent][idContentPf].length - 1);                            
                }
                break;
                
            default:
                currentPic[idContent][idContentPf] = type;
                break;
        }
        
        if (diaShowHasShadow) {
            picPreLoadedCallback();
        }
        
        loadImage(setTourOperatorControlTag);
        if (typeof markAllPicturesThumb == 'function') {
            markAllPicturesThumb(currentPic[idContent][idContentPf], false, idContent, idContentPf);
        }
        updateCopyright();
    }
    
    updateDiaNaviCount();
}

function updateCopyright() {
    var copyElem = document.getElementById('allPicturesCopyright');
    
    if (copyElem) {
        var cp = currentPic[idContent][idContentPf];
        var copyrightContent = '';
        
        if (typeof tourOperatorImg[idContent][idContentPf][cp] != 'undefined' && tourOperatorImg[idContent][idContentPf][cp] == 1) {
            if (typeof tourOperatorLong[idContent][idContentPf][cp] != 'undefined' && tourOperatorLong[idContent][idContentPf][cp] != '') {
                copyrightContent += tourOperatorLong[idContent][idContentPf][cp];
            }
            if (typeof copyright[idContent][idContentPf][cp] != 'undefined' && copyright[idContent][idContentPf][cp] != '') {
                if (copyrightContent != '') {
                    copyrightContent += ', ';
                }
                copyrightContent += copyright[idContent][idContentPf][cp];
            }
        }
        copyElem.innerHTML = copyrightContent;
    }
}

function showPic()
{
    if (elemImage[idContentPf]) 
    {
        elemImage[idContentPf].style.display = '';
        elemImage[idContentPf].style.visibility = 'visible';
        
        if (typeof(window.imageLoaded) == "function")
        {
            imageLoaded();
        }  
        
        if (diaShowHasShadow)
        {
            picLoadedCallback();
        }
    }
}

function loadImage(setTourOperatorControlTag) {
    if (typeof setTourOperatorControlTag == 'undefined') {
        setTourOperatorControlTag = false;
    }
    
    var cp = currentPic[idContent][idContentPf];
    var pImg = new Image;
    
    pImg.onload = function()
    {
        fadeOut(pImg, setTourOperatorControlTag);
        changeNaviButton();
        elemImage[idContentPf].width = pImg.width;
        setTimeout('showPic()', 300);
    };
    
    if (imageObjects[idContent][idContentPf][cp].path.substring(0, 4) == 'http')
    {
        pathToDiaImages[idContentPf] = '';
    }

    pImg.src = pathToDiaImages[idContentPf] + imageObjects[idContent][idContentPf][cp].path;
}

function setControlImage(pImg)
{
    var cp = currentPic[idContent][idContentPf];
    
    if (ctrlImg[idContent] && pImg && ((typeof tourOperatorImg[idContent] != 'undefined' && tourOperatorImg[idContent][idContentPf][cp] == '1') || typeof tourOperatorImg[idContent] == 'undefined')) {
        var fileName = pImg.src.replace(/.*\//, '');
        
        // controlTagAufCpCluster ist ein hiddenfield, dass in der index.php gesetzt wird
        var controlTagAufCpCluster = document.getElementById('controlTagAufCpCluster').value;
        
        if (controlTagAufCpCluster == 'true') {
            // HIB_URL ist ein hiddenfield, dass in der index.php gesetzt wird
            var HIB_URL = document.getElementById('HIB_URL').value;
            if (pathControlImage[idContent].indexOf(HIB_URL) == -1) {
                ctrlImg[idContent].src = HIB_URL + pathControlImage[idContent] + fileName;
            } else {
                ctrlImg[idContent].src = pathControlImage[idContent] + fileName;
            }
        } else {
            ctrlImg[idContent].src = pathControlImage[idContent] + fileName;
        }
    }
}

function setPathTourOperatorControlImage() {
    var cp = currentPic[idContent][idContentPf];
    ctrlImg[idContent] = document.getElementById('idCtrlImg_' + idContent);
    
    var imgSrc   = ctrlImg[idContent].src;
    var imgSplit = imgSrc.split('/');
    var tag      = imgSplit[imgSplit.length - 4];
    var uhrzeit  = imgSplit[imgSplit.length - 3];
    
    var tmpImage = images[idContent][idContentPf][cp].split('/');
    
    var path = '/cgi-bin/control/CP/'
             + contentProvider[idContent][idContentPf][cp]
             + '/' + KID
             + '/' + catalogID[idContent][idContentPf][cp]
             + '/' + tourOperatorShort[idContent][idContentPf][cp]
             + '/' + accomCode[idContent][idContentPf][cp]
             + '/' + tag
             + '/' + uhrzeit
             + '/' + tmpImage[tmpImage.length - 2]
             + '/';
    
    pathControlImage[idContent] = path;
}

function fadeOut(pImg, setTourOperatorControlTag) {
    if (typeof setTourOperatorControlTag == 'undefined') {
        setTourOperatorControlTag = false;
    }

    var cp = currentPic[idContent][idContentPf];
    var tmpHeight = pImg.height;
    var tmpWidth = pImg.width;
    
    if (setTourOperatorControlTag != false) {
        setPathTourOperatorControlImage();
        setControlImage(pImg);
    }
    
    fadeOutValue = fadeOutValue - 10;
    
    clearInterval(pIntervalFadeOut);
    pIntervalFadeOut = null;
    
    if (tmpHeight > maxPicHeight[idContent][idContentPf]) 
    {
        pImg.height = maxPicHeight[idContent][idContentPf];
        pImg.width =
            tmpWidth * (maxPicHeight[idContent][idContentPf] / tmpHeight);

        tmpWidth = pImg.width;
        tmpHeight = pImg.height;
    }

    if (tmpWidth > maxPicWidth[idContent][idContentPf]) 
    {
        pImg.width = maxPicWidth[idContent][idContentPf];
        pImg.height =
            tmpHeight * (maxPicWidth[idContent][idContentPf] / tmpWidth)
    }
    
    if (elemImage[idContentPf]) 
    {
        elemImage[idContentPf].src = pImg.src;
        
        elemImage[idContentPf].style.height =
            pImg.height + 'px';

        elemImage[idContentPf].style.width =
            pImg.width + 'px';
    }
    
    elemImageSubline[idContentPf] =
        document.getElementById('idDiaSubline_' + idContent + idContentPf);
        
    if (elemImageSubline[idContentPf] && sublines[idContent][idContentPf][cp] != undefined) 
    {
        if (elemImageSubline[idContentPf].firstChild)
        {
            elemImageSubline[idContentPf].firstChild.nodeValue =
                sublines[idContent][idContentPf][cp];
        }
    }
}

function fadeIn()
{
    fadeInValue = fadeInValue + 10;

    clearInterval(pIntervalFadeIn);
    pIntervalFadeIn = null;
    elemImage[idContentPf].style.MozOpacity = '';
    elemImage[idContentPf].style.filter = '';
}

function changeNaviButton()
{
    if (currentPic[idContent][idContentPf] == 0) 
    {
        if (btnBackAll[idContentPf]) {
            btnBackAll[idContentPf].src = imagePath + picDir + '/zurueck_2_off.' + fileExt;
            btnBackAll[idContentPf].style.cursor = '';
        }

        if (btnBack[idContentPf]) {
            btnBack[idContentPf].src = imagePath + picDir + '/zurueck_1_off.' + fileExt;
            btnBack[idContentPf].style.cursor = '';
        }
    }
    else {
        if (btnBackAll[idContentPf]) {
            btnBackAll[idContentPf].src = imagePath + picDir + '/zurueck_2.' + fileExt;
            btnBackAll[idContentPf].style.cursor = 'pointer';
        }

        if (btnBack[idContentPf])  {
            btnBack[idContentPf].src = imagePath + picDir + '/zurueck_1.' + fileExt;
            btnBack[idContentPf].style.cursor = 'pointer';
        }
    }

    if (currentPic[idContent][idContentPf] > (imageObjects[idContent][idContentPf].length - 2)) 
    {
        if (btnForward[idContentPf]) 
        {
            btnForward[idContentPf].src = imagePath + picDir + '/vor_1_off.' + fileExt;
            btnForward[idContentPf].style.cursor = '';
        }

        if (btnForwardAll[idContentPf]) 
        {
            btnForwardAll[idContentPf].src = imagePath + picDir + '/vor_2_off.' + fileExt;
            btnForwardAll[idContentPf].style.cursor = '';
        }
        
        stopSlideshow();
    }
    else 
    {
        if (btnForward[idContentPf]) 
        {
            btnForward[idContentPf].src = imagePath + picDir + '/vor_1.' + fileExt;
            btnForward[idContentPf].style.cursor = 'pointer';
        }

        if (btnForwardAll[idContentPf]) 
        {
            btnForwardAll[idContentPf].src = imagePath + picDir + '/vor_2.' + fileExt;
            btnForwardAll[idContentPf].style.cursor = 'pointer';
        }
    }
}

function scaleFirstImage()
{
    elemImage[idContentPf] = document.getElementById('idDia_' + idContent + idContentPf);
    elemImageDiv = document.getElementById('idImageDiv_' + idContent + idContentPf);
    
    if (elemImage[idContentPf])
    {
        elemImage[idContentPf].onload = '';

        tmpHeight = elemImage[idContentPf].height;
        tmpWidth = elemImage[idContentPf].width;
        
        if (tmpHeight > maxPicHeight[idContent][idContentPf])
        {
            elemImage[idContentPf].height = maxPicHeight[idContent][idContentPf];
            elemImage[idContentPf].width =
                    tmpWidth * (maxPicHeight[idContent][idContentPf] / tmpHeight);

            tmpWidth = elemImage[idContentPf].width;
            tmpHeight = elemImage[idContentPf].height;
        }

        if (tmpWidth > maxPicWidth[idContent][idContentPf])
        {
            elemImage[idContentPf].width = maxPicWidth[idContent][idContentPf];
            elemImage[idContentPf].height =
                    tmpHeight * (maxPicWidth[idContent][idContentPf] / tmpWidth)
        }
        
        if (elemImageDiv)
        {
            elemImageDiv.style.visibility = 'visible';
            elemImageDiv.style.textAlign = 'center';
        }
    }
    
    currentPic[idContent][idContentPf] = 0;
    
    getAngebotsbox();
    resizeLaenderinfos();
}

function refreshContent(id, type)
{    
    idRegionenInfo = 'idRegionenInfo_' + id;
    idContent = id;
    
    if (alwaysFirstCategory)
    {
        var link =
                methLink + '?ajax=1&reiter=0&Laender_Ref_ID=' +
                laenderRefId + '&page=' + page +
                '&KID=' + customerId +
                '&type_methode' + typeMethode;

        oldNavi[idContent] = 0;
        currentNavi[idContent] = 0;

        TTAjaxRequest(link);
    }
    
	if (dynamicHeight) 
	{
        useDynamicHeight(true);
	} 
    
	switch (type)
	{
	    case 'hi':
	       nameNavigation = 'idNavigation_';
	       callback = false;
	       idContentPf = '_0';
	       break;
	       
	    case 'hbw':
	       nameNavigation = 'idNavigation_';
	       callback = true;
	       idContentPf = '_1';
	       break;
           
	    case 'afh':
	       nameNavigation = 'idNavigation_';
	       callback = false;
	       idContentPf = '_2';
	       break;	
           
        case 'reg':
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_0';
           break;    
           
        case 'fz':
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_3';
           break;     

        case 'mf':
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_4';
           break;   
           
        case 'ski':
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_5';
           break;    
           
        case 'kli':
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_6';
           break;    
           
        default:
           nameNavigation = 'idNavigation_';
           callback = false;
           idContentPf = '_' + type;
           break;                                                                      
	}
    
	fillImageArray();
    updateCopyright();
}

function reloadImages(paths, strSublines, sepImages, strIsTourOperatorImg, strTourOperatorShort, strAccomCode, strContentProvider, strCatalogID, strTourOperatorLong, strCopyright) {
    if (typeof tourOperatorImg[idContent] == 'undefined') {
        tourOperatorImg[idContent] = [];
    }
    if (typeof tourOperatorShort[idContent] == 'undefined') {
        tourOperatorShort[idContent] = [];
    }
    if (typeof tourOperatorLong[idContent] == 'undefined') {
        tourOperatorLong[idContent] = [];
    }
    if (typeof accomCode[idContent] == 'undefined') {
        accomCode[idContent] = [];
    }
    if (typeof contentProvider[idContent] == 'undefined') {
        contentProvider[idContent] = [];
    }
    if (typeof catalogID[idContent] == 'undefined') {
        catalogID[idContent] = [];
    }
    if (typeof copyright[idContent] == 'undefined') {
        copyright[idContent] = [];
    }
    
    images[idContent][idContentPf]   = paths.split('|');
    sublines[idContent][idContentPf] = strSublines.split('|');
    if (typeof strIsTourOperatorImg != 'undefined') {
        tourOperatorImg[idContent][idContentPf] = strIsTourOperatorImg.split('|');
    }
    if (typeof strTourOperatorShort != 'undefined') {
        tourOperatorShort[idContent][idContentPf] = strTourOperatorShort.split('|');
    }
    if (typeof strTourOperatorLong != 'undefined') {
        tourOperatorLong[idContent][idContentPf] = strTourOperatorLong.split('|');
    }
    if (typeof strAccomCode != 'undefined') {
        accomCode[idContent][idContentPf] = strAccomCode.split('|');
    }
    if (typeof strContentProvider != 'undefined') {
        contentProvider[idContent][idContentPf] = strContentProvider.split('|');
    }
    if (typeof strCatalogID != 'undefined') {
        catalogID[idContent][idContentPf] = strCatalogID.split('|');
    }
    if (typeof strCopyright != 'undefined') {
        copyright[idContent][idContentPf] = strCopyright.split('|');
    }
    
	fillImageArray();
    updateCopyright();
}

function updateNaviBtn(navi)
{
	var elemCur = document.getElementById('idBtn_' + idContent + '_' + navi);
	var elemOld = document.getElementById('idBtn_' + idContent + '_' + oldNavi[idContent]);
	
	if (elemCur && elemOld)
	{
	    elemOld.src = elemOld.attributes.srcInact.nodeValue;
		elemCur.src = elemCur.attributes.srcAct.nodeValue;
	}
}

function sendRequestWithLoading(link)
{
	var elemMain = document.getElementById('idContent_' + idContent + idContentPf);
	
	if (elemMain)
	{
		try
		{
			elemMain.innerHTML = 
				'<div style=\'width:100%; text-align:center; padding-top:50px;\'>' +
					'<img src=\'' + imgPfad + '/ajax_loader.gif\'>' +
				'</div>';
		}
		catch(err)
			{ }
	}
	
    var strDynamicHeight = '';

    if (dynamicHeight)
    {
        strDynamicHeight = '&dynH=' + scrollHeights[idContent];
    }
	
	TTAjaxRequest(link + strDynamicHeight);
}

function sendRequest(link, evalCode)
{
    var strDynamicHeight = '';
    
    eval(evalCode);

    if (dynamicHeight)
    {
        strDynamicHeight = '&dynH=' + scrollHeights[idContent];
    }
    
	TTAjaxRequest(link + strDynamicHeight);
}

function useDynamicHeight(noLoading)
{
    var scrollContent = document.getElementById("scrollContent_" + idContent);
    var scrollContentHbw = document.getElementById("scrollContentHbw_" + idContent);
    var desc = document.getElementById("idDesc_" + idContent);
    var elemContent = document.getElementById("idContent_" + idContent + idContentPf);   
    var elemRegionenStandard = document.getElementById("idRegionenStandard_" + idContent);   
    var elemRegionenFacts = document.getElementById("idRegionenFacts_" + idContent);   
    var elemRegionenFactsOuter = document.getElementById("idRegionenFactsOuter_" + idContent);   
    var elemPois = document.getElementById("idPois_" + idContent);   
    var elemDiaShow = document.getElementById("idDiashowExists_" + idContent + idContentPf);   
    var elemRating = document.getElementById("idHRating_" + idContent);   
    var elemDiaPoi = document.getElementById("idUmgebungDia_" + idContent + idContentPf);   
    var height = 0; 
    
    if (noLoading)
    {
        if (scrollContent)
        {
            scrollContent.style.height = '0px';
            Box.BoxDefaultHeight = scrollHeights[idContent];
        }
        else if (scrollContentHbw)
        {
            if (elemRating)
            {
                scrollContentHbw.style.height = '350px';
            }
        }        
    }
    else if (scrollContent && elemContent)
    {
        if (desc)
        {
            height = elemContent.offsetHeight;
	       
            if (height < 320)
            {
                height = 320;
            }
            
            scrollContent.style.height = '100%';
            elemContent.style.height = height + 10 + 'px';
            scrollHeights[idContent] = height + 40;
        }
        else if (elemRegionenStandard)
        {
            height = elemRegionenStandard.offsetHeight;
            elemRegionenStandard.style.overflow = '';
            
            elemContent.style.height = height + 90 + 'px';           
            scrollContent.style.height = '100%';
            scrollHeights[idContent] = height + 120;  
        }
        else if (elemRegionenFacts && elemRegionenFactsOuter)
        {
            height = elemRegionenFacts.offsetHeight;
            elemRegionenFacts.style.overflow = '';
            
            elemContent.style.height = height + 50 + 'px';           
            scrollContent.style.height = '100%';   
            scrollHeights[idContent] = height + 80;         
        }
        else if (elemPois)
        {
            height = elemPois.offsetHeight;
            
            if (height < 550)
            {
                height = 550;
            }
            
            elemContent.style.height = height + 30 + 'px';     
            scrollContent.style.height = '100%';    
            scrollHeights[idContent] = height + 60;            
        }         
        else if (elemDiaPoi)
        {
            height = elemDiaPoi.offsetHeight;
            elemContent.style.height = height + 50 + 'px';           
            scrollContent.style.height = '100%';   
            scrollHeights[idContent] = height + 80;              
        } 
        else if (elemDiaShow)
        {
            elemContent.style.height = '360px';     
            scrollContent.style.height = '100%';  
            scrollHeights[idContent] = 390;              
        }   
        else
        {
            elemContent.style.height = '350px';     
            scrollContent.style.height = '100%';  
            scrollHeights[idContent] = 380;                 
        }
    }    
}

function expandNavigation(curNavi, curId)
{
    var childElems = [];
    var naviIndex = 0;
    var subNavi;
    var ns;
    var visible;
    var elemNavi;
    var classActive;
    var subCurNavi;
    
    if (curId != null && curId != undefined) {
        idContent = curId;
    }
    
//    if (!elemsNavi[nameNavigation + idContent + idContentPf]) {
//        elemNavi = document.getElementById(nameNavigation + idContent + idContentPf);
//        elemsNavi[nameNavigation + idContent + idContentPf] = elemNavi;
//    } else {
//        elemNavi = elemsNavi[nameNavigation + idContent + idContentPf];
//    }
    
    elemNavi = document.getElementById(nameNavigation + idContent + idContentPf);
    
    if (elemNavi && elemNavi.hasChildNodes()) 
    {
        childElems = elemNavi.childNodes;
        
        for (var i = 0; i < childElems.length; i++)
        {
            naviIndex = childElems[i].getAttribute('naviIndex');
            subNavi = naviIndex.substring(0, 3);
            subCurNavi = curNavi.substring(0, 3);
            childElems[i].className = childElems[i].getAttribute('classInact');
            visible = childElems[i].getAttribute('visible');
            classActive = childElems[i].getAttribute('classAct');
            
            if (curNavi == naviIndex) {
                childElems[i].className = classActive;
            } else if (subNavi == curNavi) {
                childElems[i].style.display = 'block';
            }
            else if (naviIndex.length > 3 && subNavi != subCurNavi && visible != '1')
            {
                childElems[i].style.display = 'none';
            }
            
            /* Oberkategorie markieren */
            if (naviIndex == subCurNavi)
            {
                childElems[i].className = classActive;
            }
            
            /* Erste Subkategorie markieren */
            if (naviIndex.length > 3 && i > 0 &&
                childElems[i-1].getAttribute('naviIndex').length == 3 && 
                curNavi.length == 3)
            {
                childElems[i].className = classActive;
            }
        }
    }
}

function getAngebotsbox()
{
    if (!elemAngebotContent)
    {
        elemAngebotContent = document.getElementById('idAngebotsboxContent_' + idContent);  
        
        if (!elemAngebotContent)
        {
            setTimeout("getAngebotsbox()", 200);
        }
    }
    
    if (elemAngebotContent)
    {
        var elemAngebot = document.getElementById('idAngebote_' + idContent);
        
        if (elemAngebot)
        {
            elemAngebot.innerHTML = elemAngebotContent.innerHTML;
        }
    }
}

function callUrl(url)
{
    
    top.location.href = url;
}

function resizeLaenderinfos()
{
    var elemContentLeft = document.getElementById('idContentLeft_' + idContent);
    var elemContentInner = document.getElementById('idContentInner_' + idContent);
    
    if (elemContentInner && elemContentLeft)
    {
        if (elemContentLeft.offsetHeight > 580)
        {
            elemContentInner.style.height = (20 + elemContentLeft.offsetHeight) + 'px';
        }
    }
}

function updateDiaNaviCount()
{
    if (elemNaviCount[idContent][idContentPf] && imageObjects[idContent][idContentPf])
    {
        elemNaviCount[idContent][idContentPf].innerHTML = 'Bild ' + (currentPic[idContent][idContentPf] + 1) + ' von ' + imageObjects[idContent][idContentPf].length;
    }
}

function setTrackingImg(dirs)
{
    var IVW = 'http://tuicom.ivwbox.de/cgi-bin/ivw/CP/hotelbox/';
    var node = document.createElement('img');
    var att;
    var pt;
    
    switch (detail)
    {
        case 'termine':
            if (typeof vak_offer == 'object' && typeof vak_data == 'object')
            {
                pt = 'PT5';
            }
            else
            {
                pt = 'PT4';
            }
            break;
            
        case 'hotel':
            pt = 'PT3';
            break;      
                     
        case 'zielgebiet':
            pt = 'PT2';
            break;     
            
        default:
            pt = 'PT0';       
    }
    
    att = document.createAttribute('height');
    att.nodeValue = '1';
    node.setAttributeNode(att); 
    att = document.createAttribute('width');
    att.nodeValue = '1';  
    node.setAttributeNode(att); 
    node.src = IVW + pt + '/' + dirs + '?r=' + escape(document.referrer) + '&d=' + (Math.random()*100000);
    node.style.display = 'none';
}

function buildHorizontalNavi(elem)
{
    var images = document.getElementsByName('nameTabNav');
    var subElements = document.getElementsByName('nameTabSubNav');
    var firstItem = true;
    
    if (elem.getAttribute('navIndex').length == 3)
    {
        for (var i = 0; i < images.length; i++)
        {
            images[i].src = images[i].src.replace('_aktiv', '');
            if (images[i] == elem)
                images[i].src = images[i].src.replace('.gif', '_aktiv.gif');
        }    
    }
    
    for (var i = 0; i < subElements.length; i++)
    {
        var elemNode = subElements[i].parentNode;
        
        if (elem.getAttribute('navIndex').length == 3)
        {
            cssFont = 'normal';
            css = 'none';
            
            if (elemNode.getAttribute('navIndex').substring(0, 3) == elem.getAttribute('navIndex'))
            {
                css = 'block';
                if (firstItem)
                {
                    firstItem = false;
                    cssFont = 'bold'; 
                }
            }
            
            elemNode.style.display = css;
            elemNode.style.fontWeight = cssFont;
        }
        else
        {
            var css = elemNode.getAttribute('navIndex') == elem.getAttribute('navIndex') ? 
                'bold' : 'normal';
            elemNode.style.fontWeight = css;            
        }
    }     
}

function setCurrentNavi(naviId)
{
    if (naviId.length == 6)
    {
        var subElements = document.getElementsByName('nameTabSubNav');
        for (var i = 0; i < subElements.length; i++)
        {
            if (subElements[i].getAttribute('navIndex') == naviId)
                return buildHorizontalNavi(subElements[i]);
        }
    }
}


function onAjaxError()
{
}

function picLoadedCallback()
{
    var elem = document.getElementById('idDia_' + idContent + idContentPf);
    var elemSchattenRight = document.getElementById('idPicLargeSchattenRight_' + idContent + idContentPf);
    elemSchattenRight.style.marginLeft = '';
    scaleImg(elem, maxPicWidth[idContent][idContentPf], maxPicHeight[idContent][idContentPf]);
}

function picPreLoadedCallback() {
    var elem = document.getElementById('idDia_' + idContent + idContentPf);
    elem.width = lastWidth;
    var elemSchattenRight = document.getElementById('idPicLargeSchattenRight_' + idContent + idContentPf);
    elemSchattenRight.style.marginLeft = lastWidth + 'px';
}

function scaleImg(elem, width, height, tmpIdContent, tmpIdContentPf) {
    var elemHeight = elem.height;
    var elemWidth = elem.width;
    var elemImageOuter = document.getElementById('idImageDiv_' + idContent + idContentPf);
    var elemSchattenTop = document.getElementById('idPicLargeSchattenTop_' + idContent + idContentPf);
    var elemSchattenBottom = document.getElementById('idPicLargeSchattenBottom_' + idContent + idContentPf);
    var elemSchattenRight = document.getElementById('idPicLargeSchattenRight_' + idContent + idContentPf);
    var elemSchattenLeft = document.getElementById('idPicLargeSchattenLeft_' + idContent + idContentPf);    
    
    if (elemSchattenTop) {
        elemSchattenTop.style.width = '0px'; 
        elemSchattenTop.style.height = '0px';    
    }
    
    if (elemSchattenLeft) {
        elemSchattenLeft.style.height = '0px'; 
        elemSchattenLeft.style.width = '0px';
    }
    if (elemSchattenRight) {
        elemSchattenRight.style.height = '0px'; 
        elemSchattenRight.style.width = '0px';   
    }
    if (elemSchattenBottom) {
        elemSchattenBottom.style.width = '0px'; 
        elemSchattenBottom.style.height = '0px';  
    }    
    
    if (tmpIdContent != undefined && tmpIdContent != '') {
        idContent = tmpIdContent;
        idContentPf = tmpIdContentPf;
    }
    
    if (elemWidth > width) {
        elem.width = width;
    }
    else if (elemHeight > height) {
        elem.height = height;
    }    
    
    if (elemSchattenTop) {
        elemSchattenTop.style.width = elem.width + 'px'; 
        elemSchattenTop.style.height = '9px';    
    }
    
    if (elemSchattenLeft) {
        elemSchattenLeft.style.height = elem.height + 'px'; 
        elemSchattenLeft.style.width = '9px';
    }
    if (elemSchattenRight) {
        elemSchattenRight.style.height = elem.height + 'px'; 
        elemSchattenRight.style.width = '9px';   
    }
    if (elemSchattenBottom) {
        elemSchattenBottom.style.width = elem.width + 'px'; 
        elemSchattenBottom.style.height = '9px';  
    }
    
    if (diaShowCenter) {
        elem.parentNode.parentNode.parentNode.style.width = elem.width + 10 + 10 + 'px';
        elem.parentNode.parentNode.parentNode.style.marginLeft = 'auto';
        elem.parentNode.parentNode.parentNode.style.marginRight = 'auto'; 
    }
    
    if (typeof afterScaleImage == 'function') {
        afterScaleImage();
    }
    
    lastWidth = elem.width;
}

function showFlashPano(id, cnt) {
    var elem = document.getElementById(id);
    
    if (!elem && cnt < 20) {
        return setTimeout("showFlashPano(\"" + id + "\", " + (cnt + 1) + ")", 100);
    } else {
        ret = flash_detection(9, 13);
        
        if (ret[0] >= 9) {
            elem.style.display = 'block';
            
        } else {
            elem.innerHTML = 
                'Zum Anzeigen des Inhaltes benötigen Sie das aktuelle Flash-Plugin. Zum Download klicken Sie bitte auf den folgenden Link<br /><br /><a href=\'http://get.adobe.com/de/flashplayer/\' target=\'_blank\'>Download</a>';
            elem.style.display = 'block';
        }
    }
}

function flash_detection(required, max) {
    var required_version = required;
    var max_version = max;
    var available_version = 0;

    /* dieser Abschnitt ist für NS, Mozilla, Firefox und ähnliche Browser */
    if(typeof(navigator.plugins["Shockwave Flash"]) == "object") {
        /***
         * Wenn wir hier landen, dann ist Flash installiert, und wir können die Version
         * aus der Beschreibung auslesen.
         */
        var description = navigator.plugins["Shockwave Flash"].description;
        available_version = description.substr(16, (description.indexOf(".", 16) - 16));
    }
    /***
     * dieser Abschnitt ist für den IE und ähnliche Browser die ActiveX benutzen um Flash
     * anzuzeigen.
     */
     else if(typeof(ActiveXObject) == "function") {
        /* durchlaufen der Flash Versionen von 2 bis zur maximal zu prüfenden Version */
        for(var i = 2; i < (max_version + 1); i ++) {
            /***
             * wir beugen mittels try und catch (JS 1.5+ / IE5+) einem Fehler vor (welcher einen
             * Abbruch des Scripts zur Folge hätte), so können wir auch auf ein extra VBScript
             * verzichten.
             */
            try {
                /***
                 * läßt sich das ActiveX Flash Objekt Version i erstellen, so ist diese Version
                 * auch installiert
                 */
                if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object") {
                    available_version = i;
                }
           } catch(error) {
           }
        }
    }

    /* die Werte werden in Form eines Arrays zurückgegeben */
    return [available_version, required_version];
}

