/**
 * Kundenspezifische Funktionen
 *
 * @category   JS-Functions
 * @package    HibContent
 * @author     Daniel Lembicz <lembicz@traveltainment.de>
 * @version    1.0
 */

var elemLogos = null;
var logos = [];
var logosOperators = [];
var timerOperator;
var markedElements = [];
var numLogos = 0;
var currentTipId = 0;
var currentIff = 0;
var giataImages = [];
var cntGiataImg = 0;

function fillOperators()
{
    if (document.getElementById('idHotelVaSlider_' + idContent)) {
        elemLogos = document.getElementById('idHotelVaSlider_' + idContent).childNodes;
    }
    
    if (elemLogos) {
        for (var i = 0; i < elemLogos.length; i++) {
            if (elemLogos[i].nodeName == 'DIV')
                logosOperators[i] = elemLogos[i];                
        }

        numLogos = elemLogos.length;       
    }
}

function in_array(needle, haystack, argStrict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
 
    var found = false, key, strict = !!argStrict;
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
 
    return found;
}

function imgToLeft()
{
    var elemSlider = document.getElementById('idHotelVaSlider_' + idContent);
    var firstNode = elemSlider.firstChild;
    elemSlider.removeChild(firstNode);
    elemSlider.appendChild(firstNode);
}

function imgToRight()
{
    var elemSlider = document.getElementById('idHotelVaSlider_' + idContent);
    var lastNode = elemSlider.lastChild;
    var firstNode = elemSlider.firstChild;
    
    if (elemSlider.childNodes.length > 1) {
        elemSlider.removeChild(lastNode);
        elemSlider.insertBefore(lastNode, firstNode);        
    }
}

function highlightThumb(elem) {
    if (elem) {
        elem.className = 'hotelThumbSingleOver';
    }
}

function resetThumb(elem) {
    if (elem && markedElements[idContent] && elem != markedElements[idContent][idContentPf])
        elem.className = 'hotelThumbSingle';
}

function markThumb(elem, isFirst, tmpIdContent, tmpIdContentPf) {
    if (tmpIdContent != undefined && tmpIdContent != '') {
        idContent = tmpIdContent;
        idContentPf = tmpIdContentPf;
    }
    
    if (markedElements[idContent]) {
        var oldElement = markedElements[idContent][idContentPf];
        highlightThumb(elem);
        markedElements[idContent][idContentPf] = elem;
        resetThumb(oldElement);
        
        var picLarge = document.getElementById('idPicLarge_' + idContent + idContentPf);
        picLarge.src = elem.getAttribute('origSrc');  
        
        if (!isFirst) {
            ctrlImg[idContent] = document.getElementById('idCtrlImg_' + idContent);
            pathControlImage[idContent] = ctrlImg[idContent].getAttribute('defaultPath');
            setControlImage(picLarge);  
            cntGiataImg = elem.getAttribute('cnt');       
        } else {
            cntGiataImg = '0';
        }
    }
}

function afterScaleImage() {
    var elem         = document.getElementById('idIconGiata_' + idContent + idContentPf);
    var elemShadow   = document.getElementById('idPicLargeSchattenLeft_' + idContent + idContentPf);
    var elemLargeImg = document.getElementById('idPicLarge_' + idContent + idContentPf);
    var hasImage     = false;
    
    for (var i = 0; i < giataImages.length; i++) {
        if (cntGiataImg == i && giataImages[i] && giataImages[i].file && giataImages[i].file != '') {
            hasImage = true;
            break;
        }
    }
    
    if (elem && hasImage) {
        /* Icon-Höhe abziehen */
        elem.style.marginTop = parseInt(elemShadow.style.height) - 30 + 'px';
        elem.style.display = 'block';
    } else if (elem) {
        elem.style.display = 'none';
    }
    /* OnClick-Event bei großem Bild ohne Giata-Bild rausnehmen und cursor auf default */
    if (elemLargeImg && !hasImage) {
        elemLargeImg.onclick      = '';
        elemLargeImg.style.cursor = 'default';
    }
}

function markFirstElement(elem) { 
    if (elem && (!markedElements[idContent] || markedElements[idContent][idContentPf].getAttribute('cnt') > elem.getAttribute('cnt'))) {
        if (!markedElements[idContent]) {
            markedElements[idContent] = [];
        }
        markThumb(elem, true);
    }
}
   
function changePanoButton(elemImgId)
{
    var elemImgLeft = document.getElementById('imgPanoLeft');
    var elemImgRight = document.getElementById('imgPanoRight');
    
    switch (elemImgId)
    {
        case 'imgPanoLeft':
            pathLeft = imagePath + 'Hotelinfos/navbar/links_aktiv.gif';
            pathRight = imagePath + 'Hotelinfos/navbar/rechts.gif';
            break;
            
        case 'imgPanoStop':
            pathLeft = imagePath + 'Hotelinfos/navbar/links.gif';
            pathRight = imagePath + 'Hotelinfos/navbar/rechts.gif';
            break;

        case 'imgPanoRight':
            pathLeft = imagePath + 'Hotelinfos/navbar/links.gif';
            pathRight = imagePath + 'Hotelinfos/navbar/rechts_aktiv.gif';
            break;                       
    }
    
    elemImgLeft.src = pathLeft;
    elemImgRight.src = pathRight;
}

function initPanoButton()
    { changePanoButton('imgPanoRight'); }    

function updateBubbles(value) {
    var hbwCats = new Array('Hotel', 'Lage', 'Strand', 'Zimmer', 'Essen & Trinken', 'Pool', 'Service', 'Sport & Freizeit', 'Familienfreundlich');
    var elemBubbles = document.getElementById('idRatingBubbles_' + idContent); 
    var GBW = value.split('||');

    for(t = 0; t < GBW.length; t++) {
        parts=GBW[t].split(";");
        window['str_glhotel'+t] ='<div class="bubbleTop">&nbsp;</div>';

        for(k=0;k<parts.length;k++) {

            tzu = parts[k].split("#");
            var der = tzu[1];
            
            if (der) {
                var mno = der.substring(2,3) == '' ? der.substring(0,1)+'.0' : der.substring(0,1)+'.'+der.substring(2,3);
            }
            
              if (k == 0) {
                hl = '<div class="bubbleHl">' + hbwCats[t] + '</div><div class="clear"></div>';
              } else {
                hl = '';
              }            
            
            if (mno == '0.0') 
                mno='&nbsp;';
                
            window['str_glhotel'+t] +='<div class="bubbleMiddle">' + hl + '<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="clear"><img src="/images/spacer.gif" height="0" width="0" border="0"></div></div>';                
        }
        
        window['str_glhotel'+t] +='<div class="bubbleBottom">&nbsp;</div>';
    }    
}

function setHrTab(elem, link)
{
    var tabs = document.getElementsByName('nameHrTab');
    for (var i = 0; i < tabs.length; i++) {
        tabs[i].src = tabs[i] != elem ? tabs[i].getAttribute('srcInActive') : tabs[i].getAttribute('srcActive');
    }
    
    sendRequest(link);
}

function sortRatings(elem, url)
{
    var val = elem.value;
    TTAjaxRequest(url + '&sort=' + val);
}

function highlightRow(elem, status)
{
    var children = elem.childNodes;
    
    for (var i = 0; i < children.length; i++) {
        if (children[i].nodeName == 'DIV') {
            children[i].style.backgroundColor = status == true ? '#CFE6FF' : '';
        }
    }       
}

function setMaxContentHeight(height) {
/*    var elemContent = document.getElementById('idContent_'  + idContent + idContentPf);
    elemContent.style.height = '';
    
    if (elemContent.offsetHeight >= 550) {
        elemContent.style.height = 550 + 'px';
    }
*/    
}

function $(id){    
    return document.getElementById(id) || null;
}

function showGiataTip(tipId, iff, kid) {
    if($('tt_ortsauswahlOpacBox') == null || typeof($('tt_ortsauswahlOpacBox')) == 'undefined') {
        var opacDiv = document.createElement("div");        
        var opacDiv_id = document.createAttribute("id");
        opacDiv_id.nodeValue = "tt_ortsauswahlOpacBox";        
        opacDiv.setAttributeNode(opacDiv_id);        
        var opacDiv_class = document.createAttribute("class");
        opacDiv_class.nodeValue = "iepngfix2";        
        opacDiv.setAttributeNode(opacDiv_class);        
        document.body.appendChild(opacDiv);    
    }
    
    if($('tt_ortsauswahlOpacBoxContent') == null || typeof($('tt_ortsauswahlOpacBoxContent')) == 'undefined') {
        var opacDiv = document.createElement("div");        
        var opacDiv_id = document.createAttribute("id");
        opacDiv_id.nodeValue = "tt_ortsauswahlOpacBoxContent";        
        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;    
    }
    
    //--- pngfix für IE6 gesondert behandeln
    var styleSwitch = '';
    if (browser == "0" && navigator.userAgent.search(/MSIE 7.0/) == '-1' ? '2' : '') {
        styleSwitch = '2';
    }
    
    var strHTML = '<div class="tt_ortsauswahlBox">';
    strHTML    += '    <div class="tt_ortsauswahlClose" onclick="parent.document.getElementById(\'tt_ortsauswahlOpacBoxContent\').style.display = \'none\';parent.document.getElementById(\'tt_ortsauswahlOpacBox\').style.display = \'none\';parent.document.getElementById(\'tt_ortsauswahlOpacBox\').style.padding = \'0\';"><img src="' + imgPfad + '/layer/x.png" width="30" height="30" alt="" style="padding: 0; margin: 0;" class="iepngfix" /></div>';
    strHTML    += '    <div class="tt_ortsauswahlBorderTop"><img src="' + imgPfad + '/layer/head_grau.png" width="790" height="28" alt="" class="iepngfix" /></div>';
    strHTML    += '    <div class="tt_ortsauswahlContainer' + styleSwitch + ' iepngfix">';
    strHTML    += '        <iframe src="' + (engine == 'erde' || engine == 'fewo' ? '../' : '') + 'teaser/getGiataData.php?gid=' + tipId + '" width="732" height="632" frameborder="0" scrolling="no" allowtransparency style="border: 0; padding: 0; margin: 0;"></iframe>';
    strHTML    += '    </div>';
    strHTML    += '    <div class="tt_ortsauswahlBorderBottom"><img src="' + imgPfad + '/layer/fuss_grau.png" width="790" height="28" alt="" class="iepngfix" /></div>';
    strHTML    += '</div>';
    
    scrollTo(0, 0);
        
    parent.document.getElementById('tt_ortsauswahlOpacBox').style.width   = iW + 'px';
    parent.document.getElementById('tt_ortsauswahlOpacBox').style.height  = iH + 'px';
    
    //--- if body height ist not valid --------------------------
    if (document.body.offsetHeight < 1200) {
        document.getElementById('tt_ortsauswahlOpacBox').style.height = '3000px';
    }
    
    parent.document.getElementById('tt_ortsauswahlOpacBoxContent').innerHTML     = strHTML;
    parent.document.getElementById('tt_ortsauswahlOpacBox').style.padding = '100px 0 0 50px';
    parent.document.getElementById('tt_ortsauswahlOpacBox').style.display = 'block';
    parent.document.getElementById('tt_ortsauswahlOpacBoxContent').style.display = 'block';
} 

function callbackMoreFlights(id, status) {
    var elemDay = document.getElementById('idHinreise_' + id);
    var elemDauer = document.getElementById('idDauer_' + id);
    
    if (elemDay && elemDauer) {
        if (status) {
            elemDay.style.fontWeight = 'bold';
            elemDauer.style.fontWeight = 'bold';
        } else {
            elemDay.style.fontWeight = 'normal';
            elemDauer.style.fontWeight = 'normal';        
        }        
    }
}

function showMoreFlightDefault(bookingId, contentId, prefix) {
    var elem = document.getElementById('idTerRowPrice_' + contentId);
    elem.style.display = 'block';
    elem.setAttribute('doNotHide', '1');
}

function openTipView(kid) {
    if (currentTipId) {
        showGiataTip(currentTipId, currentIff, kid);
    }
}

function disableRatingMenuItems(indexes) {
    var aIndexe = indexes.split('_');
    var aCheckIndexes = new Array('150230', '150240', '150250', '150260');
    var elemNavi = document.getElementById('idNavigation_' + idContent + idContentPf);
    var children;    
    var aHideIndexes = [];
    
    for (var i in aCheckIndexes) {
        if (!in_array(aCheckIndexes[i], aIndexe)) {
            aHideIndexes.push(aCheckIndexes[i]);
        }
    }
    
    if (elemNavi) {
        children = elemNavi.childNodes;
        
        for (var i in children) {
            if (children[i].id) {
                var tmp = children[i].id.split('_');
                if (in_array(tmp[2], aHideIndexes)) {
                    children[i].style.display = 'none';
                }
            }
        }
    }
}

function showGiataImage(elem, hotelName, category) {
    var objLarge = {};
    
    for (var i = 0; i < giataImages.length; i++) {
        if (i == cntGiataImg) {
            objLarge = giataImages[i];
        }
    }
    
    //objLarge.file = objLarge.file.replace(/uid=[^&]*/, 'uid=174689&');
    ttHud.ttGenerateHudBox(giataImages, parseInt(objLarge.width) + 20 , parseInt(objLarge.height) + 20, null, objLarge.file, hotelName, category);
} 
