var marginLeft = [];
var idDivDescription = 'idContentDescription';
var idDivDiaShow = 'idContentDiaShow';
var sumLengths = [];
var showOperator = false;
var elemDivOperator;
var panoNaviElemLeft = null;
var panoNaviElemLeft = null;
var panoNaviElemStop = null;
var panoNaviElemRight = null;
var flashElem = null;
var pfadHibImages = '';

function showAltDesc(id,otherTourOperatorDescription)
{
	if (otherTourOperatorDescription == true) {
        var elemVeranstalterListe = document.getElementById('veranstalterliste_' + id);
        if (typeof elemVeranstalterListe != 'undefined' && elemVeranstalterListe != null) {
            elemVeranstalterListe.style.display = 'block';
        }
    }
    
    var elemHotelContent = document.getElementById('hotelContent_' + id);
    if (typeof elemHotelContent != 'undefined' && elemHotelContent != null) {
        elemHotelContent.style.display = 'block';
    }
    
    var elemAltDesc = document.getElementById('idAltDesc_' + idContent);
    
    /* damit Strecken ohne diesen Parameter weiterhin funktionieren */
    if (id) {
        var elemInfo = document.getElementById('idInfo_' + id);
    } else {
        var elemInfo = document.getElementById('idInfo');
    }
    
	if (elemAltDesc) {
		elemAltDesc.style.display = 'block';
	}
	
	if (elemInfo) {
		elemInfo.style.display = 'none';
	}	

	if (dynamicHeight)
	{
	    var elemContent = document.getElementById("idContent_" + idContent + idContentPf);
	    var scrollContent = document.getElementById("scrollContent_" + idContent);
	    var elemHiRight = document.getElementById('idHotelInfoOuter_' + idContent);
	    var height = 0;
	    
	    if (elemHiRight)
	    {
            height = elemHiRight.offsetHeight;
            elemContent.style.height = elemHiRight.offsetHeight + 20 + 'px';   
	    }
	    
	    if (scrollContent)
	    {
            scrollContent.style.height = '100%'; 
	    }
	    
        scrollHeights[idContent] = height + 50;  
	}
}

function onSuccessMultipleContent()
{
	var response = xmlReq.responseText;
	var contents = response.split('<!--{SEPSTART_');
	var divId;
	var divIdPt;
	var js = contents[0];
	
	for (var i = 1; i < contents.length; i++) 
	{
		divIdPt = contents[i].indexOf('_SEPEND}-->');
		divId = contents[i].substring(0, divIdPt);
		
		elem = document.getElementById(divId);
		
        if (divId == 'bubbles') {
			contents[i] = contents[i].substring(11 + divIdPt);
			
            var GBW = contents[i].split("||");

            for(t=0;t<GBW.length;t++) {
              parts=GBW[t].split(";");
              window['str_glhotel'+t] = '';

              for(k=0;k<parts.length;k++) {

                tzu = parts[k].split("#");
                var der = tzu[1];
                
                if (der)
                {
	                if (der.substring(2,3)=='')
	                { 
	                	var mno=der.substring(0,1)+'.0';
	                }
                	else 
                	{
                		var mno=der.substring(0,1)+'.'+der.substring(2,3);
                	}
                }
                
                if(mno=='0.0') mno='&nbsp;';
                window['str_glhotel'+t] +='<div class="dleft">'+tzu[0]+'</div><div class="dright"><img src="'+pfadHibImages+'/hotelbewertung/detailansicht/small_scale_'+(tzu[1]*10)+'.gif" border="0"> '+mno+'</div><div class="clearboth"><img src="/images/spacer.gif" height="0" width="0" border="0"></div>';
              }
            }
		}
		else if (elem) 
		{
			if (i == 1) 
			{
				elem.innerHTML = js + contents[i].substring(11 + divIdPt);
			}
			else 
			{
				elem.innerHTML = contents[i].substring(11 + divIdPt);
			}	
		}
	}
	
	sumLengths[idContent] = 0;
	marginLeft[idContent] = 0;		
}

function onSuccessCallback()
{
	if (multipleContent) 
	{
		onSuccessMultipleContent();
	}
}	

function showPanorama()
{
	var elemPanorama = document.getElementById('idUmgebungPanorama_' + idContent);	
	var elemDia = document.getElementById('idUmgebungDia_' + idContent);	
	
	if (elemPanorama) {
		elemPanorama.style.display = 'block';
	}
	
	if (elemDia) {
		elemDia.style.display = 'none';
	}	
}

function showDia()
{
	var elemPanorama = document.getElementById('idUmgebungPanorama_' + idContent);	
	var elemDia = document.getElementById('idUmgebungDia_' + idContent);	
	
	if (elemPanorama) {
		elemPanorama.style.display = 'none';
	}
	
	if (elemDia) {
		elemDia.style.display = 'block';
	}	
}

function showDivVeranstalter(status)
{
	var posTop    = 0;
	var posLeft   = 0;
	var btn       = document.getElementById('idBtnV_' + idContent);
	var posScroll = 0;
	var size      = getWinHeight();
	var heightOp  = 0;
	
	elemDivOperator = document.getElementById('idDivV_' + idContent);
	posScroll = getScrollPos();
	
	if (elemDivOperator) {
		if (status) {
			showOperator = true;
			
			posTop   = getPosition(btn).y;
			posLeft  = getPosition(btn).x;
			heightOp = parseInt(elemDivOperator.style.height);
			
			if ((posTop - posScroll + heightOp) > size) {
				posTop = posTop - (heightOp + 20);
			}
			
			elemDivOperator.style.top     = posTop + 19 + 'px';
			elemDivOperator.style.left    = (posLeft - 237) + 'px';
			elemDivOperator.style.display = 'block';
		}
		else {
			showOperator = false;
			setTimeout('hideDivOp()', 500);
		}
	}
}

function getScrollPos()
{
	var pos = 0;
	
	if (window.pageYOffset) {
		pos = window.pageYOffset;
	}
	else if (document.documentElement) {
		pos = document.documentElement.scrollTop;
	}
	
	return pos;
}

function hideDivOp()
{
	if (!showOperator) {
		elemDivOperator.style.display = 'none';
	}
	
}

function getWinHeight()
{
	var h = 0;
	
	if (typeof window.innerHeight != 'undefined') {
		h = window.innerHeight;
	}
	else if (document.documentElement) {
		h = document.documentElement.clientHeight;
	}
	
	return h;
}

function autoMoveLeft()
{
    flashElem = document.getElementById('idFlashPano_' + idContent);
    
    if (flashElem)
    {
        flashElem.autoMoveLeft();
    } 
}

function autoMoveRight()
{
    flashElem = document.getElementById('idFlashPano_' + idContent);
    
    if (flashElem)
    {
        flashElem.autoMoveRight();
    }  
}

function stopAutoMove()
{
    flashElem = document.getElementById('idFlashPano_' + idContent);
    
    if (flashElem)
    {
        flashElem.stopAutoMove();
    }
}
  
function buildPano(url)
{
    panoNaviElemLeft = document.getElementsByName('b1')[0];
    panoNaviElemStop = document.getElementsByName('b7')[0];
    panoNaviElemRight = document.getElementsByName('b2')[0];	
    
    panoNaviElemRight.src = imagePath + 'Hotelinfos/navbar/rechts.gif';
}

function getElementPosition(elem)
    { return {x: absleft(elem), y: abstop(elem)}; }

function abstop(i)
    { return (i.offsetParent) ? i.offsetTop+abstop(i.offsetParent) : i.offsetTop; }

function absleft(i) 
    { return (i.offsetParent) ? i.offsetLeft+absleft(i.offsetParent) : i.offsetLeft; }
    
function findNextDiv(elem)
{
    var nextElem = elem.nextSibling;
    
    for (var i = 0; i < elem.parentNode.childNodes.length; i++)
    {
        if (nextElem.nodeName == 'DIV')
        {
            return nextElem;
        }
        else
        {
            nextElem = nextElem.nextSibling;
        }
    }
}

function showInfoLayer(elem, type, dx, dy)
{
    var infoDiv;
    
    switch (type)
    {
        case 'nextSibling':
            elemInfo = findNextDiv(elem);
            break;
    }
    
    if (elemInfo)
    {
        pos = getElementPosition(elem);
        elemInfo.style.display = 'block';
        elemInfo.style.left = (pos.x - dx) + 'px';
        elemInfo.style.top = (pos.y + dy) + 'px';
    }     
}

function hideInfoLayer(elem, type)
{
    switch (type)
    {
        case 'nextSibling':
            elemInfo = findNextDiv(elem);
            break;
    }
    
    if (elemInfo)
    {
        elemInfo.style.display = 'none';
    }     
}
    
function getDivChildren(elem, n)
{
    var children = elem.childNodes;
    var j = 0;
    
    for (var i = 0; i < children.length; i++)
    {
        if (children[i].nodeName == 'DIV')
        {
            if (j == n)
            {
                return children[i];
            }
            
            j++;
        }
    }
    
    return null;
}

/**
 * GoogleMap anzeigen
 */

function showGoogleMap(id, x, y, urlImg) {
    var elemGoogleMap = document.getElementById('idGoogleMap_' + id);
    elemGoogleMap.style.display = 'block';
    
    var currentPos = [];
    var pInterval = setInterval(function() {
        if (typeof TTGoogleMap != 'undefined') {
            clearInterval(pInterval);
            var oConfig = {
                id: 'idGoogleMap_' + id,
                size: [670, 300],
                zoom: 1,
                defaultMapType: G_PHYSICAL_MAP,
                mapTypeControl: true,
                overviewMapControl: false
            };
            
            pGoogleMap = new TTGoogleMap(oConfig);
            
            var aMarker = [];
            aMarker.push({
                x: x,
                y: y,
                data: {}
            });
            
            var configMarker = {
                marker: aMarker,
                img: urlImg,
                zoom: true,
                posIconAnchor: [4, 16],
                posIconWindowAnchor: [15, 1]
            };        
            
            pGoogleMap.clearOverlays();
            pGoogleMap.addMarker(configMarker);
            pGoogleMap.show();
        }
    }, 50);
}
