// #########################
// # 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)
		{	
			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)
{				
					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								  						
						case '01009': // jeans																
								loadLayerScript('PopUpDenimTrousers');						
						break;
						case '01018': // edc 16
						case '01021':
						case '01023':
						case '01024':		
							includeScript('kids16');
							loadLayerScript('LayerHosenFitKidsEdc16'); 					  
						break;	
						case '01013': // bodywear													
								includeScript('women_bodywear');
								loadLayerScript('PopUpBodywear');
						break;							
						
						// MEN
						case '02007': // bermudas
						case '02008': // hosen									
						case '02009': // jeans		
							if(DescStyleFitTip3=='FASHION' || DescStyleFitTip3=='BUSINESS' || DescStyleFitTip3=='COMFORT' || DescStyleFitTip3=='REGULAR' || DescStyleFitTip3=='SLIM'){
								loadLayerScript('LayerMenSuitings_ALL');	
							}else{
								loadLayerScript('PopUpDenimTrousers');														
							}
						break;
						case '02010':									
									loadLayerScript('LayerMenSuitings_ALL');	
						break;
						case '02002': // pullover
						case '02003': // sweatshirts						
								includeScript('pullover');
								loadLayerScript('LayerMenPullover');						
						break;
						case '02004': // 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												
								includeScript('hemden');								
						  	loadLayerScript('LayerHemdenFit');						  
						break;								
						
						// KIDS
						case '07008': // mini girls hosen
						case '07009': // mini girls jeans	
						case '08008': // mini boys hosen
						case '08009': // mini boys jeans						
							includeScript('minikids');
							loadLayerScript('LayerHosenFitKids');	
						break;
						case '09008': // edc youth girls hosen
						case '09009': // edc youth girls jeans	
						case '10008': // edc youth boys hosen
						case '10009': // 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=='01003' ||
		(sizec=='02010' && (fit=='COLOGNE' || fit=='BERLIN' || fit=='TOWN' || fit=='INGENIOUS' || fit=='MARVELOUS' || fit=='SLIM FIT /BERLIN' || fit=='MONACO' || fit=='SLIM FIT /MONACO'))		
	)
	{
		ret=true;
	}
	
	return ret;
}