// #########################
// # FitGuide.js           #
// # Author: AH            #
// # Create Date: 03.06.09 #
// # Last Change: 14.12.09 #
// #########################

// Globale Variablen Deklaration
var strLng=top.Lng;
var brandPath='http://www.esprit.eu/globalFitLayer/Img/brands';
var cssPath='http://www.esprit.eu/globalFitLayer/style.css';
var transgif='http://www.esprit.eu/globalFitLayer/Img/transparent.gif';

// Online

var jsonPath='http://www.esprit.eu/globalFitLayer/json/'+strLng;
var scriptPath='http://www.esprit.eu/globalFitLayer/scripts';
var ImgPath='http://www.esprit.eu/globalFitLayer/Img/'+strLng;

// zum Testen
/*
var jsonPath='../../../globalFitLayer/json/'+strLng;
var scriptPath='../../../globalFitLayer/scripts';
var ImgPath='../../../globalFitLayer/Img/'+strLng;
*/
document.write('<link rel="stylesheet" type="text/css" href="'+cssPath+'">');

var actpos;
var FitObj=new Object();

// Überprüfen ob Master Layer in der Suche geöffnet wird
var sLayer = 'dfitlayer';
if(!top.FrameStart.FrameMainMain && top.FrameStart.document.getElementById('iiFrame') == null && top.FrameStart.document.getElementById('iSPVL') == null)
    sLayer = 'dfitlayer_search';
		
		
		
var layer=new Array();

// Main Object Deklaration
var MainObject = {	

    // erstellt Master Layer & Fader
    createLayer:function()
    {
        // Layer zerstören falls vorhanden
        if($(sLayer) != null){
            MainObject.closeLayer();
        }
		
        // Blendet den Schließen Button in Iframes aus
        try{
            parent.document.getElementById('closeLayer').style.display='none';
            parent.document.getElementById('backtoBanner').style.display='none';
        }catch(E){}
			
        // Überprüfen ob FrameMainMain vorhande ist
        var frameset=parent.FrameMainMain;
        if(!parent.FrameMainMain)
            frameset=parent.FrameStart;
		
        // Höhe und Breite des Faders
        var shadow_width='1112px';
        var shadow_height=top.getPageSize(frameset)[1]
		
        // ScrollTop auslesen
        actpos = (document.all) ? document.body.scrollTop + 5 : document.body.scrollTop;
		
        //Fader Element erstellen
        var SchattenLayer  = document.createElement('div');
        SchattenLayer.setAttribute('id', 'Schatten');
	
        //Master Layer Element erstellen
        var fit_layer  = document.createElement('div');
        fit_layer.setAttribute('id', sLayer);
		
		
        // Master Layer und Fader an den Body anhängen
        if(document.all) {
            document.body.insertAdjacentHTML("AfterBegin",SchattenLayer.outerHTML);
            document.body.insertAdjacentHTML("AfterBegin",fit_layer.outerHTML);
        } else {
            document.body.appendChild(SchattenLayer);
            document.body.appendChild(fit_layer);
        }
		
        // Master Layer und Fader stylen
        $(sLayer).style.top = document.body.scrollTop + 10 + 'px';
        $(sLayer).style.marginTop = '10px';
        $(sLayer).style.zIndex = '1000';
        $('Schatten').style.position = 'absolute';
        $('Schatten').style.left = '0px';
        $('Schatten').style.top = '0px';
        $('Schatten').style.width = shadow_width;
        $('Schatten').style.height = shadow_height;
        $('Schatten').style.backgroundColor = '#000000';
        $('Schatten').style.cursor = 'pointer';
        $('Schatten').style.zIndex = '20';
        $('Schatten').style.filter="Alpha(opacity='25')";
        $('Schatten').style.opacity = '0.25';
        $('Schatten').observe('click', MainObject.closeLayer);
			
    // Scrollbar ausblenden
    //document.body.style.overflow = "hidden";
		
    },
	
    // zerstört Master Layer & Fader
    closeLayer:function()
    {
        // Blendet den Schließen Button in Iframes ein
        try{
            parent.document.getElementById('closeLayer').style.display='block';
            parent.document.getElementById('backtoBanner').style.display='block';
        }catch(E){}
		
        // Master Layer & Fader werden ausgeblendet
        try{
            $(sLayer).style.display='none';
            $('Schatten').style.display='none';
        }catch(E){}
        // Master Layer & Fader werden aus dem Body entfernt
		
        try{
            $(sLayer).parentNode.removeChild($(sLayer));
            $('Schatten').parentNode.removeChild($('Schatten'));
        }catch(E){}
		
    // Y-Scrollbar einblenden
    //document.body.style.overflowY = 'auto';
    },
	
    // Wird gebraucht damit der Master Layer im Sichtbaren Bereich angezeigt wird
    ScroolToActPos:function()
    {
        if (!document.all) {
            if(top.FrameStart.FrameMainMain)
                top.FrameStart.FrameMainMain.scrollTo(0, actpos);
            else
                top.FrameStart.scrollTo(0, actpos);
        }else "";
			
        $(sLayer).style.display = "block";
    },
  
    // Master Layer an die die Größe anpassen die in WinOutFitLayer angegeben wurde
    ResizeLayer:function()
    {
        $(sLayer).style.height = layer['height'];
        $(sLayer).style.width = layer['width'];
        $(sLayer).style.padding = '0px 0px 0px 0px';
        $(sLayer).style.margin = '0px 0px 0px 0px';
        $(sLayer).style.display = "block";
    },
	
    // Roter Rahmen anzeigen um den geählten Fit zu makieren (Hemden & T-Shirt/Polos)
    MakeRedBox:function(btop,bleft,bwidth,bheight,layer)
    {
        if(typeof(layer)!='undefined')
            $('fit_markierung_'+layer+'').innerHTML = '<div style="position:absolute;top:'+btop+'px;left:'+bleft+'px;width:'+bwidth+'px;height:'+bheight+'px;border:1px solid #FF0000;z-index:170"></div>';
        else
            $('fit_markierung').innerHTML = '<div style="position:absolute;top:'+btop+'px;left:'+bleft+'px;width:'+bwidth+'px;height:'+bheight+'px;border:1px solid #FF0000;z-index:170"></div>';
    },
	
    CreateCloseButton:function(atop,aleft)
    {
        var closeButton  = document.createElement('div');
        closeButton.setAttribute('id', 'closeButton');
		
        // Close Button an den Body anhängen
        if(document.all) {
            $(sLayer).insertAdjacentHTML("AfterBegin",closeButton.outerHTML);
        } else {
            $(sLayer).appendChild(closeButton);
        }
		
        // Close Button stylen
        $('closeButton').style.position='absolute';
        $('closeButton').style.top=atop;
        $('closeButton').style.left=aleft;
        $('closeButton').style.width='88px';
        $('closeButton').style.height='19px';
        $('closeButton').style.zIndex='1010';
        $('closeButton').style.cursor='pointer';
				
        // Bild einfügen
        $('closeButton').innerHTML='<img src="'+ImgPath+'/schliessen.gif">';
		
        // Bei Klick schließen
        $('closeButton').observe('click', function(){
            MainObject.closeLayer();
        });
    }
}

var valarr;
var bothLoaded=0;

function loaded(scrLoad)
{				
    if(bothLoaded < 2)
        bothLoaded++;
		
    if(bothLoaded==2 || scrLoad==true)
    {
        bothLoaded = 0;
			
        var sid=valarr[0];
        var brand=valarr[1];
        var DescStyleFitTip3=valarr[2];
        var OverStyleName=valarr[3];
						
        try{
            FitObj=JSobj.passform.fits;
        }catch(E){}
						
        var Welt='';
			
        // Welt feststellen
        var sidWorld=sid.substr(0,2);
  		
        if(sidWorld=='01') Welt='women';
        if(sidWorld=='02') Welt='men';
        if(sidWorld=='03') Welt='kids';
        if(sidWorld=='04') Welt='kids';
        if(sidWorld=='05') Welt='kids';
        if(sidWorld=='06') Welt='kids';
        if(sidWorld=='07') Welt='kids';
        if(sidWorld=='08') Welt='kids';
        if(sidWorld=='09') Welt='kids';
        if(sidWorld=='10') Welt='kids';
        if(sid=='01018')   Welt='kids';
        if(sid=='01021')   Welt='kids';
        if(sid=='01023')   Welt='kids';
        if(sid=='01024')   Welt='kids';
					
        showLayer(FitObj,sid,brand,Welt,DescStyleFitTip3,OverStyleName);
    }
}

function WinOutFitLayer(sid,brand,DescStyleFitTip3,OverStyleName)
{
    if(brand.indexOf('brand_')>=0)
    {
        brand=brand.slice(brand.indexOf('brand_')+6,brand.indexOf('.gif'));
    }

    JSobj=null;
										
    if(DescStyleFitTip3 >= ''){
        // "Fit" und Leerzeichen aus DescStyleFitTip3 entfernen
        DescStyleFitTip3 = DescStyleFitTip3.replace(/FIT/gi,"");
        DescStyleFitTip3 = DescStyleFitTip3.replace(/^\s+|\s+$/g,"");
    }
					
    if(DescStyleFitTip3 == "BERN STRAIGHT") sid="01009";
	
    valarr=new Array(sid,brand,DescStyleFitTip3,OverStyleName);
					
    switch(sid)
    {
						
        // WOMEN
        case '01008': // hosen Alt
        case '0100800': // hosen
        case '01009': // jeans Alt
        case '0100900': // jeans
            loadLayerScript('PopUpDenimTrousers');
            break;
        case '01024': // edc 16 Alt
        case '0102400':
            includeScript('kids16');
            loadLayerScript('LayerHosenFitKidsEdc16');
            break;
        case '01013': // bodywear Alt
        case '0101310': // bodywear Oberteile
        case '0101320': // bodywear Unterteile
            includeScript('women_bodywear');
            loadLayerScript('PopUpBodywear');
            break;
        case '0101000': // swimwear	Cover ups
        case '0101010': // swimwear Oberteile
        case '0101020': // swimwear Unterteile
        case '0101030': // swimwear Sets
            includeScript('women_swimwear');
            loadLayerScript('PopUpSwimwear');
            break;
						
        // MEN
        case '02007': // bermudas
        case '0200710': // bermudas jeans
        case '0200720': // bermudas hosen
        case '02008': // hosen Alt
        case '0200800': // hosen
        case '02009': // jeans
        case '0200900': // jeans Alt
            if(DescStyleFitTip3=='FASHION' || DescStyleFitTip3=='BUSINESS' || DescStyleFitTip3=='COMFORT' || DescStyleFitTip3=='REGULAR' || DescStyleFitTip3=='SLIM'){
                loadLayerScript('LayerMenSuitings_ALL');
            }else{
                loadLayerScript('PopUpDenimTrousers');
            }
            break;
        case '02010': // suitings Alt
        case '0202700': // suitings
            loadLayerScript('LayerMenSuitings_ALL');
            break;
        case '02002': // pullover Alt
        case '0200200': // pullover
        case '02003': // sweatshirts Alt
        case '0200300': // sweatshirts
            includeScript('pullover');
            loadLayerScript('LayerMenPullover');
            break;
        case '02004': // t-shirts/polos Alt
        case '0200400': // t-shirts/polos
            if(strLng=='de'){ // in DE ist eine andere Version online
                includeScript('t_shirts_polo');
                loadLayerScript('LayerMenPoloFit_de');
            }else{
                loadLayerScript('LayerMenPoloFit_eu');
            }
            break;
        case '02005': // hemden Alt
        case '0200500': // hemden
            includeScript('hemden');
            loadLayerScript('LayerHemdenFit');
            break;
						
        // KIDS
        case '07008': // mini girls hosen Alt
        case '0700800': // mini girls hosen
        case '07009': // mini girls jeans	Alt
        case '0700900': // mini girls jeans
        case '08008': // mini boys hosen Alt
        case '0800800': // mini boys hosen
        case '08009': // mini boys jeans Alt
        case '0800900': // mini boys jeans
            includeScript('minikids');
            loadLayerScript('LayerHosenFitKids');
            break;
        case '09008': // edc youth girls hosen Alt
        case '0900800': // edc youth girls hosen
        case '09009': // edc youth girls jeans Alt
        case '0900900': // edc youth girls jeans
        case '10008': // edc youth boys hosen Alt
        case '1000800': // edc youth boys hosen
        case '10009': // edc youth boys jeans	Alt
        case '1000900': // edc youth boys jeans
            includeScript('edcyouth');
            loadLayerScript('LayerHosenFitKidsYouth');
            break;
    }
}

function CheckStyleName(sname,narr)
{
    var i;
    var ok=false;
    for(i=0;i<narr.length;i++){
        if(sname.toLowerCase().indexOf(narr[i].toLowerCase()) >= 0)
            ok=true;
    }
    return ok;
}
		
function fit_auswahl(fit_nr, fit_auswahl) {
    if(fit_sel!=false){
        //Auswahl markieren und demarkieren
        $('fits_'+fit_sel).style.border = '1px solid white';
        $('linetop_'+fit_sel).style.visibility = 'visible';
        $('lineleft_'+fit_sel).style.visibility = 'visible';
        $('fitlink_'+fit_sel).style.display = 'none';
    }
    $('fits_'+fit_nr).style.border = '1px solid red';
    $('linetop_'+fit_nr).style.visibility = 'hidden';
    $('lineleft_'+fit_nr).style.visibility = 'hidden';
    $('fitlink_'+fit_nr).style.display = '';
    //Auswahl merken
    fit_sel = fit_nr;
    fitname = fit_auswahl;
}

function fit_suche(fitname,SizeChart,Welt) {
    if(parent.FrameMainNavi != undefined) {
        top.window.name = parent.FrameMainNavi.location.href + '§' + Category + '§' + parent.FrameMainMain.location.href;
    }
    top.FrameStart.location.href = "../../XmlSuche/" + strLng + "/XmlSuche.html?query=*&filterWelt=" + Welt + "&filterDescStyleFitTip3=" + fitname + "&filterSizeChart=" + SizeChart + "&channel=" + top.Lng + "&xml=true&filterNew_Sale=new~~regular";
}

var fit_sel = false;
var fitname = '';

function screenMiddle() {
    var screenDaten = new Array();
    if(window.screen.width > 800) {
        screenDaten[0] = (window.screen.width / 2)  - (winBreite/2);
        screenDaten[1] = (window.screen.height / 2) - (winHoehe/2);
    } else {
        screenDaten[0] = 0;
        screenDaten[1] = 0;
    }
    return screenDaten;
}	

function includeScript(scriptFilename)
{
    var globScript = new Element('script');
    globScript.src = jsonPath+'/fits_'+strLng+'_'+scriptFilename+'.js';
    globScript.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(globScript);
}

function loadLayerScript(scriptFilename)
{		
    var globScript2 = new Element('script');
    globScript2.src = scriptPath+'/'+scriptFilename+'.js';
    globScript2.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(globScript2);
}

function checkFitException(sizec,fit)
{
    var ret=false;
    if(sizec=='0100300' ||
        (sizec=='0201000' && (fit=='COLOGNE' || fit=='BERLIN' || fit=='TOWN' || fit=='INGENIOUS' || fit=='MARVELOUS' || fit=='SLIM FIT/BERLIN' || fit=='MONACO' || fit=='SLIM FIT/MONACO' || fit=='SLIM FIT/JAM' || fit=='REGULAR FIT/GROOVE'))
        )
        {
        ret=true;
    }
	
    return ret;
}