function checkShopIdExists(shopId){

	var shopIds = new Array("sh7488406", "sh6112176",  "sh6112164",  "sh6112165",  "sh8152304",  "sh6112166",  "sh6112167",  "sh6112175",  "sh6112168",  "sh8152305",  "sh6112169",  "sh6112170",  "sh6112171",  "sh6112172",  "sh6112173",  "sh6112185",  "sh6112186",  "sh6112187",  "sh6112188",  "sh6112195",  "sh8152860",  "sh6112190",  "sh6112191",  "sh6112192",  "sh6112213",  "sh6112214",  "sh6112210",  "sh6112212",  "sh6112211",  "sh6112209",  "sh6133188",  "sh6112218",  "sh7008251",  "sh6133189",  "sh6112217",  "sh6112226",  "sh6112227",  "sh6112228",  "sh6112230",  "sh6112231",  "sh6112233",  "sh6112234",  "sh6112235",  "sh8171846",  "sh6112256",  "sh8153794",  "sh8153797",  "sh8153798",  "sh11722386",  "sh8171889",  "sh8171892",  "sh6112257",  "sh6112254",  "sh11722410",  "sh11722411",  "sh11722412",  "sh9441965",  "sh11722415",  "sh9441964",  "sh11722416",  "sh9441966",  "sh3352225",  "sh3352223",  "sh3352222");
	for(i=0; i<shopIds.length; i++){
		if(shopId == shopIds[i])
			return true;	
	}
	return false;
}

function getShopNameByDomain(shopId, land){
	
	var sh7488406 ={"DE":"Abendkleider","NL": "Avondjurken ","FR":"Robes de soirée"};
	var sh6112176 ={"DE":"Bademoden","NL": "Badmode","FR":"Maillots de bain"};
	var sh6112164 ={"DE":"Blazer","NL": "Blazers","FR":"Blazers"};
	var sh6112165 ={"DE":"Blusen","NL": "Blouses","FR":"Chemisiers"};
	var sh8152304 ={"DE":"Dessous & Wäsche","NL": "Ondermode","FR":"Lingerie"};
	var sh6112166 ={"DE":"Hosen","NL": "Broeken","FR":"Pantalons"};
	var sh6112167 ={"DE":"Jacken","NL": "Jacks","FR":"Vestes"};
	var sh6112175 ={"DE":"Jeans","NL": "Jeans","FR":"Jeans"};
	var sh6112168 ={"DE":"Kleider","NL": "jurken ","FR":"Robes "};
	var sh8152305 ={"DE":"Lederbekleidung","NL": "Leren Kleding","FR":"Cuir"};
	var sh6112169 ={"DE":"Mäntel","NL": "mantels","FR":"Manteaux & Parkas"};
	var sh6112170 ={"DE":"Pullover ","NL": "Pullovers","FR":"Pulls"};
	var sh6112171 ={"DE":"Röcke","NL": "Rokken","FR":"Jupes"};
	var sh6112172 ={"DE":"Shirts ","NL": "Shirts","FR":"T-shirts"};
	var sh6112173 ={"DE":"Strickjacken","NL": "Vesten","FR":"Gilets & cardigans"};
	var sh6112185 ={"DE":"Anzüge","NL": "Kostuums","FR":"Costumes"};
	var sh6112186 ={"DE":"Hemden","NL": "Overhemdem","FR":"Chemises"};
	var sh6112187 ={"DE":"Hosen","NL": "Broeken","FR":"Pantalons"};
	var sh6112188 ={"DE":"Jacken & Mäntel","NL": "Jacks","FR":"Vestes"};
	var sh6112195 ={"DE":"Jeans","NL": "Jeans","FR":"Jeans"};
	var sh8152860 ={"DE":"Lederbekleidung","NL": "Leren Kleding","FR":"Cuir"};
	var sh6112190 ={"DE":"Pullover","NL": "Pullovers","FR":"Pulls"};
	var sh6112191 ={"DE":"Sakkos","NL": "Al Colberts & Gilets","FR":"Blazers & gilets"};
	var sh6112192 ={"DE":"Shirts","NL": "Shirts","FR":"T-shirts"};
	var sh6112213 ={"DE":"Gürtel","NL": "Ceintuurs","FR":"Ceintures "};
	var sh6112214 ={"DE":"Schals & Tücher","NL": "Shawls & sjaaltjes","FR":"Echarpes"};
	var sh6112210 ={"DE":"Schmuck","NL": "Sieraden","FR":"Bijoux"};
	var sh6112212 ={"DE":"Sonnenbrillen","NL": "Zonnebrillen","FR":"Lunettes de soleil"};
	var sh6112211 ={"DE":"Taschen","NL": "Tassen","FR":"Sacs"};
	var sh6112209 ={"DE":"Uhren","NL": "Horloges","FR":"Montres"};
	var sh6133188 ={"DE":"Gürtel","NL": "Ceintuurs","FR":"Ceintures "};
	var sh6112218 ={"DE":"Krawatten","NL": "Stropdassen","FR":"Cravates"};
	var sh7008251 ={"DE":"Schals","NL": "Shawls","FR":"Echarpes"};
	var sh6133189 ={"DE":"Schmuck","NL": "Sieraden","FR":"Bijoux"};
	var sh6112217 ={"DE":"Uhren","NL": "Horloges","FR":"Montres"};
	var sh6112226 ={"DE":"Ballerinas & Slipper","NL": "Ballerina's & instappers","FR":"Ballerines & mocassins"};
	var sh6112227 ={"DE":"Pumps","NL": "Pumps","FR":"Escarpins"};
	var sh6112228 ={"DE":"Sandalen & Sandaletten","NL": "Sandalen & sandalets","FR":"Sandales"};
	var sh6112230 ={"DE":"Sneaker & Schnürer","NL": "Sneakers & veterschoenen","FR":"Chaussures à lacer"};
	var sh6112231 ={"DE":"Stiefel & Stiefeletten","NL": "Laarzen & laarsjes","FR":"Bottes & bottines"};
	var sh6112233 ={"DE":"Slipper","NL": "Instappers","FR":"Mocassins"};
	var sh6112234 ={"DE":"Sneaker & Schnürer","NL": "Sneakers & veterschoenen","FR":"Chaussures à lacer"};
	var sh6112235 ={"DE":"Stiefel & Stiefeletten","NL": "Laarzen & laarsjes","FR":"Bottes & Boots"};
	var sh8171846 ={"DE":"Bad","NL": "Badkamer","FR":"Salle de bain"};
	var sh6112256 ={"DE":"Lampen & Leuchten","NL": "Lampen & armaturen","FR":"Luminaires"};
	var sh8153794 ={"DE":"Möbel","NL": "Meubelen","FR":"Meubles"};
	var sh8153797 ={"DE":"Ordnen & Organisieren","NL": "Opbergen","FR":"Rangements"};
	var sh8153798 ={"DE":"Sofas ","NL": "Banken","FR":"Canapés "};
	var sh11722386 ={"DE":"Schlafen","NL": "Slaapkamer","FR":"Dormir"};
	var sh8171889 ={"DE":"Teppiche","NL": "Karpetten ","FR":"Tapis "};
	var sh8171892 ={"DE":"Tische ","NL": "Eettafels ","FR":"Tables "};
	var sh6112257 ={"DE":"Wohnaccesoires","NL": "Woonaccessoires ","FR":"Accesoires de décoration"};
	var sh6112254 ={"DE":"Wohntextilien","NL": "Huishoudtextiel ","FR":"Linges de maison"};
	var sh11722410 ={"DE":"soft&light","NL": "soft&light","FR":"soft&light"};
	var sh11722411 ={"DE":"nature soul","NL": "nature soul","FR":"nature soul"};
	var sh11722412 ={"DE":"colour mix","NL": "colour mix","FR":"colour mix"};
	var sh9441965 ={"DE":"eco chic","NL": "eco chic","FR":"eco chic"};
	var sh11722415 ={"DE":"soft romantik","NL": "soft romantik","FR":"soft romantik"};
	var sh9441964 ={"DE":"country chic","NL": "country chic","FR":"country chic"};
	var sh11722416 ={"DE":"mystic elegance","NL": "mystic elegance","FR":"mystic elegance"};
	var sh9441966 ={"DE":"french chic","NL": "french chic","FR":"french chic"};
	var sh3352225 ={"DE":"Klassik Wohnen","NL": "Klassiek wonen ","FR":"Style classique"};
	var sh3352223 ={"DE":"Landhaus Wohnen","NL": "Rustiek wonen ","FR":"Style champêtre"};
	var sh3352222 ={"DE":"Modernes Wohnen","NL": "Modern wonen ","FR":"Style moderne"};

	
	if (!checkShopIdExists(shopId)) {
		return "";
	}
	
	shopName = eval(shopId);
	
	if(land != null){
		if(land == "Heine-HeineAt-Site"){
			if(shopName.AT != null)
				return shopName.AT;	
		}
		if(land == "Heine-HeineCh-Site"){
			if(shopName.CH != null)
				return char2Swiss(shopName.CH);
			else
				return char2Swiss(shopName.DE);
		}
		if(land == "Heine-HeineNL-Site"){
			if(shopName.NL != null)
				return shopName.NL;	
		}
		if(land == "Helline-HellineFr-Site"){
			if(shopName.FR != null)
				return shopName.FR;	
		}
	}
	return shopName.DE;
}

function char2Swiss(txt){
	if(txt){
		txt = txt.replace(/ß/g, "ss");
		txt = txt.replace(/&szlig;/g, "ss");
	}
	return txt;
}

function IndiHomeShopTeaser() {
	
	var pRequest;
	var pLayer;
	var pDebug			= false;
	var pInstanceName		= "";
	var pSearchURL			= "";
	var pLayerName			= ""
	var pTrefferText		= "";
	var pFakeText			= "";
	var timeout 			= null;
	var WebRoot = "/is-bin/intershop.static/WFS/Heine-HeineDe-Site/-/de_DE/";
	
	/* ToDo: Fakeshops definieren*/		  			
	//var fakeshop = new Array("sh3499574","sh6112193","sh6133189");	
	
	//this.init = function(reURL, divLayername, instanceName, currentSite, debugMode, fakeShops, fake) {
	this.init = function(reURL, divLayername, instanceName, currentSite, debugMode, fake) {
		pSearchURL		= reURL;		
		pInstanceName		= instanceName;
		pDebug			= debugMode;
		pLayerName		= divLayername;	
		//fakeshop		= fakeShops.split("|");		

		if (pSearchURL == "") {		
			if (pDebug) alert("no searchurl defined");
			return null;
		} else if (pInstanceName == "") {
			if (pDebug) alert("no instancename defined");
			return null;
		} else if (pLayerName == "") {
			if (pDebug) alert("need a layer for output");
		}						
		
		if(currentSite == "Heine-HeineNL-Site"){
			WebRoot = "/is-bin/intershop.static/WFS/Heine-HeineNL-Site/-/nl_NL/";
		}
		if(currentSite == "Helline-HellineFr-Site"){
			WebRoot = "/is-bin/intershop.static/WFS/Helline-HellineFr-Site/-/fr_FR/";
		}
		
		
		if(!fake){
			startAjax();
		}
		else{			
			fakeResponseText();	
		}
	}

	
	function startAjax() {
			
		try {
			if( window.XMLHttpRequest ) {
				pRequest = new XMLHttpRequest();
			} else if( window.ActiveXObject ) {
				pRequest = new ActiveXObject( "Microsoft.XMLHTTP" );				
			} else {
				if (pDebug) alert( "" );
			}
			pLayer = document.getElementById(pLayerName);			
			if (pLayer != null) {
					
					pRequest.open( "GET", pSearchURL, true );
					pRequest.onreadystatechange = callbackAjax;
					pRequest.send( null );
					
					//Wenn Response nach 4 Sekunden nicht kommt, wird fakeText dargestellt
					timeout = window.setTimeout(fakeResponseText, 4000);					
				
			} else {
				if (pDebug) alert( "no layer for output found" );
			}
		} catch( ex ) {
			if (ex == undefined) {
				if (pDebug) alert( "Error: " + ex.getmessage );
			} else {
				if (pDebug) alert( "Error: " + ex );
			}
		}
	}
	
	function fakeResponseText(){		
		//pLayer = document.getElementById(pLayerName);
		//pFakeText = '[{"UID":"'+fakeshop[0]+'","name":""},{"UID":"'+fakeshop[1]+'","name":""},{"UID":"'+fakeshop[2]+'","name":""}]';		
		//handleResponse(pFakeText);
		
		document.getElementById("teaserShop0").style.display = "block";
		document.getElementById("teaserShop1").style.display = "block";
		document.getElementById("teaserShop2").style.display = "block";
		
		timeout = null;
	}

	function callbackAjax() {
		if (pRequest.readyState == 4) {
			if (pRequest.status != 200) {
				if (pDebug) alert( "Error (" + pRequest.status + "): " + pRequest.statusText );
			} else {					
				if(timeout != null)
	  				window.clearTimeout(timeout);		  					  			
	  			if((pRequest.responseText.indexOf('[{') == -1)){
	  				fakeResponseText();
	  			}
	  			else if((pRequest.responseText.indexOf('}]') == -1)){
	  				fakeResponseText();
	  			}
	  			else{	
					if(timeout != null){
						var responseText = trim(pRequest.responseText.split("{},").join(""));
						if(responseText != "[{}]"){								
							handleResponseStatic(responseText);
						}
						else{
							fakeResponseText();								
						}
					}
				}
					
			}
		}
    	}

	//Shopnamen in Bildern
	function handleResponse(text) {
		
		var shNumbersJSON = eval(text);
		temp = "";
		
		for(var i=0; i<shNumbersJSON.length; i++){
			if(i == 3){
				break;
			}
			
			if(shNumbersJSON[i].UID != null){
				
				if(i != 0)
					temp += '<img src="'+WebRoot+'indiHome/images/'+shNumbersJSON[i].UID+'.jpg" style="cursor:pointer;margin-left:10px;" onclick="linkShopTeaser(\''+shNumbersJSON[i].UID+'\', '+(i+1)+')">';
				else
					temp += '<img src="'+WebRoot+'indiHome/images/'+shNumbersJSON[i].UID+'.jpg" style="cursor:pointer" onclick="linkShopTeaser(\''+shNumbersJSON[i].UID+'\', '+(i+1)+')">';
			}
			else{
				continue;
			}
		}
		pLayer.innerHTML = temp;
		
		for(var i=shNumbersJSON.length; i <= 2; i++){
			document.getElementById('teaserShop'+i).style.display = "block";
		}
	}

	//ShopNamen als Text
	function handleResponseStatic(text) {
		
		var shNumbersJSON = eval(text);
		temp = "";
		
		for(var i=0; i<shNumbersJSON.length; i++){
			if(i == 3){
				break;
			}
			
			if(shNumbersJSON[i].UID != null){
				
				var pic 		= WebRoot+"indiHome/images/"+shNumbersJSON[i].UID+".jpg";
				var linkShopTeaser 	= "linkShopTeaser('"+shNumbersJSON[i].UID+"', "+(i+1)+")";
				var currentshopName 	= getShopNameByDomain(shNumbersJSON[i].UID, currentSite);
				var margin10px = "";
				
				if(i != 0)
					margin10px = "margin-left:10px;"
				temp += '<div class="home_singleBox" style="background-image: url(\''+pic+'\');'+margin10px+'" onclick="'+linkShopTeaser+'" onmouseover="this.style.cursor = \'pointer\';">'				
				temp += '<span class="home_boxheadline">'+currentshopName+'</span>';
				temp += '</div>';	
			}
			else{
				continue;
			}
		}
		pLayer.innerHTML = temp;
		
		for(var i=shNumbersJSON.length; i <= 2; i++){
			document.getElementById('teaserShop'+i).style.display = "block";
		}
	}




}




function readReSearchCookie() {
    var cContent = document.cookie.split(";");
    for (i = 0; i < cContent.length; i++) {
        cParts = cContent[i].split("=");
        if (cParts[0].charAt(0) == " ") {
            cParts[0] = cParts[0].substring(1, cParts[0].length);
        }
        if (cParts[0] == "reSearchCookie") {
            return unescape(cParts[1]);
        }
    }
    return null;
}
function readSkuReCookie() {
    var cContent = document.cookie.split(";");
    for (i = 0; i < cContent.length; i++) {
        cParts = cContent[i].split("=");
        if (cParts[0].charAt(0) == " ") {
            cParts[0] = cParts[0].substring(1, cParts[0].length);
        }
        if (cParts[0] == "reSkuCookie") {
            return unescape(cParts[1]);
        }
    }
    return null;
}

function trim (trimText) {
	// Erst fuehrende, dann Abschliessende Whitespaces entfernen
	return trimText.replace (/^\s+/, '').replace (/\s+$/, '');
}