var layerOpen = false;
var pageName;
var IE = false; //flag für Internet-Explorer
var labelText = null;
var tatsaechlicheBreite = 0;
var flagTouchScroller = false;
var lastPicture = null;
var aEl = new Array();
var ScrollPerTouch = null;
var timer = null;
var TouchClasses = false;
/* --------------------------------------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------- GLOBALE EVENTS ------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------------------------------------------- */
/*onclick bzw. ontouchstart, wird in checkUserAgent() festgelegt */
function MClE(e) { 
    if (!e) e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    var targ;
    if (e.target) targ = e.target; else if (e.srcElement) targ = e.srcElement; IE = true;
    
    /* Wenn Touch, dann Scroller anhalten */
    if (flagTouchScroller) { stopScroll(); ScrollPerTouch = window.pageYOffset}

/* --------------------------------------------------------------------------------------------- */
    /* iFrame (Label) öffnen */
    
    if (targ.className == 'openLayer') {
        stopLaufschrift();
        openLabel(targ.getAttribute('href'), targ.innerHTML);
        return false;
    }
    if (targ.parentNode.className == 'openLayer') {
        stopLaufschrift();
        openLabel(targ.parentNode.getAttribute('href'), targ.parentNode.innerHTML);
        return false;
    }
    
    /* iFrame (Label) schließen */
    
    if (targ.className == 'box_close' || targ.className == 'box_close_bottom') {
        window.name = '';
        if (flagTouchScroller) {
            tsOnRow(targ);
        }
        else {
            closeLabel();
            laufschrift();
        }
        return false;
    }
    
/* --------------------------------------------------------------------------------------------- */
    /* Bild öffnen */
    if (targ.className == 'linkBild') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ);
        }
        stopLaufschrift();
        openImage(targ.getAttribute('href'));
        return false;email
    }
    if (targ.parentNode.className == 'linkBild') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ.parentNode);
        }
        stopLaufschrift();
        openImage(targ.parentNode.getAttribute('href'));
        return false;
    }
    /* Bild öffnen (Anfahrtsskizze) */
    if (targ.className == 'linkSkizze') {
        stopLaufschrift();
        openImage(targ.firstChild.getAttribute('title'));
        return false;
    }
    if (targ.parentNode.className == 'linkSkizze') {
        stopLaufschrift();
        openImage(targ.getAttribute('title'));
        return false;
    }    
    /* Bild schließen */
    if (targ.className == 'Image_close_bottom' || targ.className == 'Image_close') {
        if (flagTouchScroller) {
            tsOnRow(targ);
        }
        else {
            closeImage();
            laufschrift();
        }
        return false;
    }
/* --------------------------------------------------------------------------------------------- */        
    /*Link öffnen*/
    if (targ.className == 'linkNews') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ);
        }
    }
    if (targ.parentNode.className == 'linkNews') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ.parentNode);
        }
    }    
/* --------------------------------------------------------------------------------------------- */
    /*E-Mail öffnen*/
    if (targ.id == 'email1') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ);
        }
    }
    if (targ.parentNode.id == 'email1') {
        if (flagTouchScroller) {
            if (!TouchClasses) setTouchClasses();
            tsOnRow(targ.parentNode);
        }
    }       
/* --------------------------------------------------------------------------------------------- */    
    /* Impressum öffnen */
    
    if (targ.id == 'impressum') {
    if (flagTouchScroller) {
    if (!TouchClasses) setTouchClasses();
    tsOnRow(targ);
    }
    stopLaufschrift();
    //openImpressum();
    }
    if ( targ.parentNode.id == 'impressum') {
    if (flagTouchScroller) {
    if (!TouchClasses) setTouchClasses();
    tsOnRow(targ.parentNode);
    }
    stopLaufschrift();
    //openImpressum();
    }    
    
    
    /* Impressum schließen */
    
    
    
    if (targ.className == 'imp_close_bottom' || targ.className == 'imp_close') {
        if (flagTouchScroller) {
            tsOnRow(targ);
        }
        else {
            closeImp();
            laufschrift();
        }
    }
    
    
/* --------------------------------------------------------------------------------------------- */    
    /* Alles schließen */
    if (targ.id == 'layer_opacity' || targ.id == 'unvisible') {
        window.name = '';
        if (!flagTouchScroller) { // wenn kein Touch, nur bei Klick
            if (layerOpen) {
                layerOpen = false;
                document.getElementById('layer_opacity').style.display = 'none';
                document.getElementById('ajaxloaderDiv').style.display = 'none';
                document.getElementById('unvisible').style.display = 'none';
                document.getElementById('layer_Image').style.display = 'none';
                document.getElementById('layerImpressum').style.display = 'none';
                laufschrift();
            }
        }
    }
}
/* ontouchend */
document.ontouchend = function(e) {
    if (!e) e = window.event;
    e.cancelBubble = true;
    if (e.stopPropagation) e.stopPropagation();
    var targ;
    if (e.target) targ = e.target; else if (e.srcElement) targ = e.srcElement; IE = true;

    if (flagTouchScroller && !layerOpen) { Scroll(); } // Wenn Touchend und OpacityLayer deaktiviert ist, dann Scroller fortsetzen

    if (targ.className == 'imp_close_bottom' || targ.className == 'imp_close') { //Impressum
        teOnRow(targ);
        targ = setTimeout('closeImp();', 300);
    }
    if (targ.className == 'Image_close_bottom' || targ.className == 'Image_close') { //Bild
        teOnRow(targ);
        targ = setTimeout('closeImage();', 300);
    }
    if (targ.className == 'box_close' || targ.className == 'box_close_bottom') { //Label
        teOnRow(targ);
        targ = setTimeout('closeLabel();', 300);
    }
    if (targ.id == 'layer_opacity' || targ.id == 'unvisible') { // Nur wenn beim Touch NICHT gescrollt wird, schließe alle Layer
        if (ScrollPerTouch == window.pageYOffset) {
            layerOpen = false;
            document.getElementById('layer_opacity').style.display = 'none';
            document.getElementById('ajaxloaderDiv').style.display = 'none';
            document.getElementById('unvisible').style.display = 'none';
            document.getElementById('layer_Image').style.display = 'none';
            document.getElementById('layerImpressum').style.display = 'none';
            Scroll();
        }
    }
    if (targ.parentNode.className == 'linkBild') {
        teOnRow(targ.parentNode);
    }
    if (targ.className == 'linkBild') {
        teOnRow(targ);
    }
    if (targ.parentNode.className == 'impressum') {
        teOnRow(targ.parentNode);
    }
    if (targ.id == 'impressum') {
        teOnRow(targ);
    }
    if (targ.parentNode.id == 'impressum') {
        teOnRow(targ.parentNode);
    }
    if (targ.id == 'email1') {
        teOnRow(targ);
    }
    if (targ.parentNode.id == 'email1') {
        teOnRow(targ.parentNode);
    }
    if (targ.parentNode.className == 'linkNews') {
        teOnRow(targ.parentNode);
    }
    if (targ.className == 'linkNews') {
        teOnRow(targ);
    }    
}
/* --------------------------------------------------------------------------------------------------------------------------------- */
/* ----------------------------------------------------- METHODEN ------------------------------------------------------------------ */
/* --------------------------------------------------------------------------------------------------------------------------------- */

//onload der Seite
function init() {
    labelText = document.getElementById('label_text');
    document.getElementsByTagName('openLayer').onclick = "return false;"
    checkUserAgent();
    //loadFrame();
}

/*Touch-Klassen setzen */
function setTouchClasses() {
    document.getElementById('men_main').setAttribute('class', 'men_mainTouch');
    document.getElementById('women_main').setAttribute('class', 'women_mainTouch');
    document.getElementById('middle_main').setAttribute('class', 'middle_mainTouch');
    document.getElementById('footer_shadow_top').setAttribute('class', 'footer_shadow_topTouch');
    TouchClasses = true;
}
/*Frame laden wenn Frame extern geöffnet wurde*/
function loadFrame() {

    var aPages = new Array();
    aPages[1] = new Array();
    aPages[1][1] = 'hannover/burgdorf/stone_island.htm';
    aPages[1][2] = 'hannover/burgdorf/kejo.htm';
    aPages[1][3] = 'hannover/burgdorf/muks_mukluks_kanada.htm';
    aPages[1][4] = 'hannover/burgdorf/michael_kors.htm';
    aPages[1][5] = 'hannover/burgdorf/chloe.htm';
    aPages[1][6] = 'hannover/burgdorf/bejeweled.htm';
    aPages[1][7] = 'hannover/burgdorf/antik_denim_jeans.htm';
    aPages[1][8] = 'hannover/burgdorf/rock_and_republic_jeans.htm';
    aPages[1][9] = 'hannover/burgdorf/victoria_beckham_jeans.htm';
    aPages[1][10] = 'hannover/burgdorf/seven_jeans.htm';
    aPages[1][11] = 'hannover/burgdorf/true_religion_jeans.htm';
    aPages[1][12] = 'hannover/burgdorf/citizens_of_humanity.htm';
    aPages[1][13] = 'hannover/burgdorf/juicy_couture.htm';
    aPages[1][14] = 'hannover/burgdorf/d_g_dolce_gabana.htm';
    aPages[1][15] = 'hannover/burgdorf/just_cavalli.htm';
    aPages[1][16] = 'hannover/burgdorf/c_c_california.htm';
    aPages[1][17] = 'hannover/burgdorf/flora_smith.htm';
    aPages[1][18] = 'hannover/burgdorf/la_martina.htm';
    aPages[1][19] = 'hannover/burgdorf/donaldson.htm';
    aPages[1][20] = 'hannover/burgdorf/rene_lezard.htm';
    aPages[1][21] = 'hannover/burgdorf/puma_van_slobbe.htm';
    aPages[1][22] = 'hannover/burgdorf/puma_mihara_yasuhiro.htm';
    aPages[1][23] = 'hannover/burgdorf/missoni.htm';
    aPages[1][24] = 'hannover/burgdorf/hugo_boss_women.htm';
    aPages[1][25] = 'hannover/burgdorf/belstaff.htm';
    aPages[1][26] = 'hannover/burgdorf/blugirl_blumarine.htm';
    aPages[1][27] = 'hannover/burgdorf/splendid.htm';
    aPages[1][28] = 'hannover/burgdorf/velvet.htm';
    aPages[1][29] = 'hannover/burgdorf/earnest_sewn_jeans.htm';
    aPages[1][30] = 'hannover/burgdorf/hale_bob.htm';
    aPages[1][31] = 'hannover/burgdorf/gypsy_shirts.htm';
    aPages[1][32] = 'hannover/burgdorf/2_b_free_to_be_free.htm';
    aPages[1][33] = 'hannover/burgdorf/philipp_plein.htm';
    aPages[1][34] = 'hannover/burgdorf/johnny_was.htm';
    aPages[1][35] = 'hannover/burgdorf/maya_design_schmuck.htm';
    aPages[1][36] = 'hannover/burgdorf/girbaud.htm';
    aPages[1][37] = 'hannover/burgdorf/christian_audigier_audegier.htm';
    aPages[1][38] = 'hannover/burgdorf/ed_hardy.htm';
    aPages[1][39] = 'hannover/burgdorf/john_galliano.htm';
    aPages[1][40] = 'hannover/burgdorf/cashflow_pullover.htm';
    aPages[1][41] = 'hannover/burgdorf/dear_cashmere.htm';
    aPages[1][42] = 'hannover/burgdorf/diane_von_furstenberg.htm';
    aPages[1][43] = 'hannover/burgdorf/k_karl_lagerfeld.htm';
    aPages[1][44] = 'hannover/burgdorf/hubermans.htm';
    aPages[1][45] = 'hannover/burgdorf/george_gina_and_lucy.htm';
    aPages[1][46] = 'hannover/burgdorf/smet.htm';
    aPages[1][47] = 'hannover/burgdorf/william_rast_jeans.htm';
    aPages[1][48] = 'hannover/burgdorf/high_use_jeans.htm';
    aPages[1][49] = 'hannover/burgdorf/patrizia_pepe.htm';
    aPages[1][50] = 'hannover/burgdorf/closed.htm';
    aPages[1][51] = 'hannover/burgdorf/australia_luxe.htm';
    aPages[1][52] = 'hannover/burgdorf/robins_jeans.htm';
    aPages[1][53] = 'hannover/burgdorf/etiqueta_negra.htm';
    aPages[1][54] = 'hannover/burgdorf/diane_von_furstenberg.htm';
    aPages[1][55] = 'hannover/burgdorf/george_gina_and_lucy.htm';
    aPages[1][56] = 'hannover/burgdorf/super_dry.htm';
    aPages[1][57] = 'hannover/burgdorf/friendly_hunting.htm';
    aPages[1][58] = 'hannover/burgdorf/reptiles_house.htm';
    aPages[1][59] = 'hannover/burgdorf/faliero_sarti.htm';
    aPages[1][60] = 'hannover/burgdorf/tagliatore.htm';
    aPages[1][61] = 'hannover/burgdorf/woolrich.htm';

    var qs = window.name.split('_');
    var page = 1;
    var subpage = 0;
    if (qs.length == 3 && qs[0] == 'x7dsh39eo02sxc1t' && qs[1] >= 1 && qs[1] < aPages.length && qs[2] >= 0 && qs[2] < aPages[qs[1]].length) { page = qs[1]; subpage = qs[2]; }
    if (window.frames['label'] && qs[2] > 0) {
        stopLaufschrift();
        var later = setTimeout('openLabel(\'' + aPages[qs[1]][qs[2]] + '\',"")', 0);
    }
}
/*User-Agent prüfen */
function checkUserAgent() {
    if (navigator.userAgent.indexOf('iPad') > -1 || navigator.userAgent.indexOf('iPod') > -1 || navigator.userAgent.indexOf('iPhone') > -1) {
        window.setTimeout('startScroll()', 100); //iPad
        flagTouchScroller = true;
        document.ontouchstart = MClE;
    }
    else {
        tatsaechlicheBreite = document.getElementById('label_bar').scrollWidth -999;
        laufschrift(); //Desktop
        document.onclick = MClE;
    }
}

/* Seitenhöhe ermitteln */
function getScrollHeight() {
    var h = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
    return h ? h : 0;
}

/*Opacity-Layer anzeigen */
function displayOpacity() {
    if(flagTouchScroller)stopScroll();
    var layerOpacity = document.getElementById('layer_opacity');
    layerOpacity.style.width = document.body.scrollWidth + 'px';
    layerOpacity.style.height = document.body.scrollHeight + 'px';
    layerOpacity.style.display = 'block';
}

/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------ Methoden für iFrame & Label ------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
function openLabel(page, labelTitle) {
    layerOpen = true;
    displayOpacity();
    window.scrollTo(0, 1);
    
    if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else{// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open("GET", page, true);
    xmlhttp.send();
    
    document.getElementById('labelTitle').innerHTML = labelTitle.replace('<span class="title">', '').replace('</span>', '').replace('<SPAN class=title>', '').replace('</SPAN>', '');
    if (flagTouchScroller) document.getElementById('layer_box').setAttribute('class', 'layer_boxTouch');
    document.getElementById('ajaxloaderDiv').style.display = 'block';

    
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var posSlice = xmlhttp.responseText.search(/div_for_iframe">/);
            var markup = xmlhttp.responseText.slice(posSlice + 16);
            finalMarkup = markup.split('</div><div class="box_background_bottom"></div>');
            document.getElementById('div_for_iframe').innerHTML = finalMarkup[0];
            document.getElementById('ajaxloaderDiv').style.display = 'none';
            document.getElementById('unvisible').style.display = 'block';
            //alert(finalMarkup[0]);
        }
    }
    
    
}
function ifIFrameRdy() { // Wenn IFrame fertig geladen wurde...
    var iFrame = document.getElementById('iframe');
    document.getElementById('ajaxloaderDiv').style.display = 'none';
    document.getElementById('unvisible').style.display = 'block';
    var hoeheIFrame = IE ?  iFrame.contentWindow.document.body.scrollHeight : iFrame.contentWindow.document.body.offsetHeight;
    iFrame.setAttribute('height', hoeheIFrame);
}

function closeLabel() {
    if (layerOpen) {
        layerOpen = false;
        document.getElementById('layer_opacity').style.display = 'none';
        document.getElementById('unvisible').style.display = 'none';
        if (flagTouchScroller) Scroll();
    }
}
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------ Methoden für Bilder --------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
function openImage(img) {
    layerOpen = true;
    displayOpacity();
    document.getElementById('ajaxloaderDiv').style.display = 'block';
    var layerImage = document.getElementById('layer_Image');
    if (flagTouchScroller) layerImage.setAttribute('class', 'layer_ImageTouch');
    var bild = document.getElementById('showImage');
    bild.setAttribute('src', img);
    if (lastPicture != img) {
        bild.onload = function() { // Wenn Bild geladen wurde...
            document.getElementById('ajaxloaderDiv').style.display = 'none';
            layerImage.style.display = 'block';
            layerImage.style.left = ((document.body.offsetWidth - layerImage.offsetWidth) / 2) + 'px';
            layerImage.style.top = (getScrollHeight() + 20) + 'px';
        }
    }
    else {
        document.getElementById('ajaxloaderDiv').style.display = 'none';
        layerImage.style.display = 'block';
        layerImage.style.left = ((document.body.offsetWidth - layerImage.offsetWidth) / 2) + 'px';
        layerImage.style.top = (getScrollHeight() + 20) + 'px';
    }
    lastPicture = img;
}
function closeImage() {
    if (layerOpen) {
        layerOpen = false;
        document.getElementById('layer_opacity').style.display = 'none';
        document.getElementById('layer_Image').style.display = 'none';
        if (flagTouchScroller) Scroll();
    }
}
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------ Methoden für Impressum ------------------------------------------------------------ */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
function openImpressum() {
    layerOpen = true;
    displayOpacity();
    var layerImp = document.getElementById('layerImpressum');
    if (flagTouchScroller) layerImp.setAttribute('class', 'layerImpressumTouch');
    layerImp.style.display = 'block';
    layerImp.style.left = ((document.body.offsetWidth - layerImp.offsetWidth) / 2) + 'px';
    layerImp.style.top = (getScrollHeight() + 20) + 'px';
}
function closeImp() {
    if (layerOpen) {
        layerOpen = false;
        document.getElementById('layer_opacity').style.display = 'none';
        document.getElementById('layerImpressum').style.display = 'none';
    }
}
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* -----------------------------------------------------------------  Label-Bar Desktop ----------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
var vorher;

var flagDoItAlready = false;

function laufschrift() {
    flagDoItAlready = true;
    vorher = labelText.style.left.slice(0, -2);
    if (vorher == -tatsaechlicheBreite) { vorher = 1000; }
    labelText.style.left = (vorher - 1) + 'px'.toString();
    flagDoItAlready = false;
    if (!flagDoItAlready) { timer = setTimeout("laufschrift()", 20); }
}

function stopLaufschrift() {
    if(timer)clearTimeout(timer);
}

/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------ Label-Bar iPad & Co --------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
var lastPosition = 0;
var bannerWidth;
var viewportWidth;

function Scroll() {
    labelText.style.webkitTransitionDuration = ((bannerWidth + viewportWidth + lastPosition) * 7) + 'ms';
    labelText.style.webkitTransform = 'translate3d(-' + (bannerWidth + viewportWidth) + 'px, 0, 0)';
}

function startScroll() {
    bannerWidth = document.getElementById('label_text').scrollWidth;
    viewportWidth=document.body.offsetWidth;
    labelText.addEventListener('webkitTransitionEnd', function(event) { restartScroll(); }, false);
    Scroll();
}

function stopScroll() {
    var theTransform = new WebKitCSSMatrix(window.getComputedStyle(labelText).webkitTransform);
    lastPosition = theTransform.e;
    labelText.style.webkitTransitionDuration = '0';
    labelText.style.webkitTransform = 'translate3d(' + lastPosition + 'px, 0, 0)';
}

function restartScroll() {
    labelText.style.webkitTransitionDuration = '0';
    labelText.style.webkitTransform = 'translate3d(0, 0, 0)';
    lastPosition = 0;
    window.setTimeout('Scroll()', 100);
}

/* ------------------------------------------------------------------------------------------------------------------------------------------ */
/* ------------------------------------------------------------------ Touch-Hover Handler --------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------------------------ */
function tsOnRow(el) {
    var elId = el.id;
    if (aEl[elId]) { clearInterval(aEl[elId]); }
    el.lastPageYOffset = window.pageYOffset;
    el.nextSibling.style.display = 'block';
    aEl[elId] = setInterval('touchedTooLongOnRow("' + elId + '")', 400);
    el.style.display = 'none';
}
function teOnRow(el) {
    var elId = el.id;
    clearInterval(aEl[elId]);
    el.nextSibling.style.display = 'none';
    el.style.display = 'block';
}
function touchedTooLongOnRow(elId) {
    var el = document.getElementById(elId);
    if (window.pageYOffset != el.lastPageYOffset) {
        clearInterval(aEl[elId]);
        el.nextSibling.style.display = 'none';
        el.style.display = 'block';
    }
}
