/************************************************************************/
/******* SUCHE FUNKTIONEN ***********************************************/
/************************************************************************/

/**************************************************************
 * AB-TEST
 **************************************************************/

setABTest = function () {
	var abtestcookie = getCookie ( "DePauli_ABTest_Suche" );
	if ( abtestcookie == 0 || abtestcookie == "" || abtestcookie == null ) {
		var z = Math.floor(Math.random()*20); // 5 Prozent
		var expires = new Date();
		var einJahr = expires.getTime() + 30758400000;
		expires.setTime(einJahr);

		if ( z <= 9 ) {
			setCookie ( "DePauli_ABTest_Suche", "ON", expires, "/" );
			ABTestSuche = true;
		}
		else {
			setCookie ( "DePauli_ABTest_Suche", "OFF", expires, "/" );
			ABTestSuche = false;
		}
	}
	else {
		ABTestSuche = false;
		if ( abtestcookie == "ON" ) ABTestSuche = true;
	}
}
setABTest ();



/**************************************************************
 * Globaler Speicher mit den wichtigsten Applikationsdaten.
 **************************************************************/


window.dhtmlState = {
	fireHistoryChange: 	true,
	searchLocation:		"",
	SKey:			"",
	action:			"",
	shownProdNr:		"",
	shownMeta:		"",
	onSubmitPage:		false,
	loadFirstProdNr:	true,
	epoqFirstProdNr:	0,
	aktPage:		1,
	last_scroll_pos_y:	0,
	sessionid:		0,
	sessions:		new Array()
};



var browserName = "";
var browserVer = "";
if (typeof window.BrowserDetect.browser != 'undefined' || typeof window.BrowserDetect.version != 'undefined'){
	browserName = window.BrowserDetect.browser;
	browserVer = window.BrowserDetect.version;
}

var global_anzahl = "";



/**************************************************************
 * History Funktionen
 **************************************************************/

 if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
 	var useHistoryChange = false;
 	if (Object.prototype.hasOwnProperty.apply ) useHistoryChange = true;

	if ( useHistoryChange ) {
		window.dhtmlHistory.create({
			toJSON: function(o) {
				return JSON.stringify(o);
			},
			fromJSON: function(s) {
				return JSON.parse(s);
			}
		});

	}
  } 
  else { var useHistoryChange = true; }
  
initializeHistory = function () {
	/* Start der History Aufzeichnung */
	
	if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
		if ( useHistoryChange ) {
			window.dhtmlHistory.initialize();
			window.dhtmlHistory.addListener(handleHistoryChange);
		}
	}
	else {
		// Address handler
		$.address.init(function(event) {
			//NOP
		}).change (function(event) {
			handleHistoryChange (event.value);
		});
	}


	var href = window.location.href.split("#");
	if ( href.length > 1 ) {
		if ( href[1] != "" ) showWaitWrapper ();
		window.dhtmlState.fireHistoryChange = true;
		handleHistoryChange ( href[1] );
	}
	else {
		window.dhtmlState.fireHistoryChange = false;
	}

}


handleHistoryChange = function (newLocation) {

	newLocation = decodeUmlaute ( newLocation );
	newLocation = unescape ( newLocation );
	if ( newLocation[0] == "/" ) newLocation = newLocation.substr(1);

	if ( !window.dhtmlState.fireHistoryChange ) {
		window.dhtmlState.fireHistoryChange	= true;
		return;
	}
	
	if ( newLocation == null || newLocation == "" || newLocation == "/" ) {
		resetPage ();
		return;
	}

 	var act_sessionid	= 0;
 	var state_sessionid	= 0;
	var action 		= newLocation.split(":");
	var act			= decode_utf8 (action[0]);
	if ( action.length > 1 ) act = decode_utf8 (action[1]);
	
	values		= act.split(",");
	act_sessionid	= parseInt(values[25]);

	values		= window.dhtmlState.action.split(",");
	state_sessionid	= parseInt(values[25]);

	if ( isNaN(act_sessionid)) 	act_sessionid	= -1;
	if ( isNaN(state_sessionid)) 	state_sessionid	= -1;
	
	if ( act_sessionid == state_sessionid ) return;

	act = act.replace(/;/g, "");	// Anti CCS
	
	if ( (act == "undefined") || checkEval(act) ) {
		switch ( action[0] ) {
			case "/menu":
			case "menu":
			case "/produkt":
			case "produkt":
				eval(act);
			break;
		}
	}
}


resetPage = function () {
	window.scrollTo (0,0);
	window.dhtmlState.action = "";
	
	if ( ABTestSuche ) {
		$('#searchResults').html("");
		$('#sucheinstellungen_detail').html("");
		$('#produktSeite').html("");
		$('#back2Suchliste').hide();
	}
	else {
		$('#searchOverview').hide();
		$('#sucheinstellungen').html("");
		$('#searchResults').html("");
		$('#sucheinstellungen').html("");
		$('#sucheinstellungen').attr("style", "");
		$('#produktpage').html("");
	}
	
	$('#suchergebnis').html("<p id=\"suchergebnisPara\"><span id=\"anzahl\"></span><span> </span><span id=\"suchWort\"></span></p>");
}


/**************************************************************/
/**************************************************************/

getSteuerLeiste = function () {
	var ret = new Array ();

	ret[0]	= "fdown";	// fdown=New Fashion absteigend; pdown=Preis absteigend; mdown=Marken Absteigend
	if ( ABTestSuche ) {
		ret[1]	= 30;		// Produkte pro Seite
	}
	else {
		ret[1]	= 26;		// Produkte pro Seite
	}
	if ( ABTestSuche ) 	ret[1]	= 27;		// Produkte pro Seite
	ret[2]	= 1;		// aktuelle Seite

	var steuerung = getCookie ( "DePauli_Steuerung" );
	if ( steuerung != "" && steuerung != null ) {
		var starr = steuerung.split(":");
		ret[0]	= starr[0];
		ret[1]	= starr[1];
		ret[2]	= starr[2];
	}

	return ( ret );
}


setSteuerLeiste = function ( sortierung, pro_seite, akt_seite ) {


	if ( sortierung == "" ) sortierung = "fdown";
	if ( pro_seite == 0 ) pro_seite = 2;
	if ( akt_seite == 0 ) akt_seite = 1;

	var steuerung = sortierung + ":" + pro_seite + ":" + akt_seite;

	setCookie ( "DePauli_Steuerung", steuerung );
}


/******************************************************************
* AJAX Funktionen zum Laden des HauptMenu
******************************************************************/
loadMenuX = function ( html ) {

	/* Ausgabe Element aus dem HTML-Code extrahieren */
	elementName = "menu";
	var code = html.split("°");
	if ( code.length > 1 ) {
		elementName	= code[0];
		html		= code[1];
	}

	var element = document.getElementById(elementName);
	if ( element && html != "" ) {
		element.innerHTML		= html;
	}
}


loadMenu = function ( parentid, gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, sale, changeHistory, page, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, SRNr, sf_katnr, skey, prodNr, sessionid ) {



	$("#searchOverview").show();
	
	skey	= skey.replace(/\'/gi, " ");
	prodNr	= parseInt(prodNr);
	page	= parseInt(page);

	window.dhtmlState.aktPage	= page;

	if ( skey != "" ) $('#searchbox_mn').val(skey);
	
	

	/* DEBUG: Gr 2012-02-01 - f. Tests wg. Umlaut-Problematik bei Suche mit Url-Parametern erstmal raus 
	var org_parentid		= escape(parentid);
	var org_gruppe			= escape(gruppe);

	var org_sf_farben		= escape(sf_farben);
	var org_sf_marken		= escape(sf_marken);
	var org_sf_stil			= escape(sf_stil);
	var org_sf_muster		= escape(sf_muster);
	var org_sf_material		= escape(sf_material);
	*/

	var org_parentid		= parentid;
	var org_gruppe			= gruppe;

	var org_sf_farben		= sf_farben;
	var org_sf_marken		= sf_marken;
	var org_sf_stil			= sf_stil;
	var org_sf_muster		= sf_muster;
	var org_sf_material		= sf_material;


	org_sf_marken			= org_sf_marken.replace(/\\'/g, "'");
	org_sf_marken			= org_sf_marken.replace(/'/g, "%2527");
	org_sf_marken			= org_sf_marken.replace(/\+/g, "%252B");

	parentid			= unescape ( parentid );
	gruppe				= unescape ( gruppe );

	if ( sf_preis_min == "" ) sf_preis_min = 0;
	if ( sf_preis_max == "" ) sf_preis_max = 10000;


	$("#sucheinstellungen" ).show();
	$('#back2Suchliste').hide();
	$('#searchResultsWrapper').show();
	$('#produktSeite').hide();
	hideWaitWrapper ();

	if ( typeof (sessionid) == "undefined" || sessionid == null || sessionid == 0 ) {
		tt = new Date ();
		i = tt.getTime();
	}
	else {
		i = sessionid;
	}
	
	window.dhtmlState.sessionid = i;


	window.dhtmlState.action    = "loadMenu('" + org_parentid + "','" + org_gruppe + "'," + katnr + "," + pewnr1 + "," + pewnr2 + "," + mann + "," + frau + "," + accessoires + "," + specials + "," + sale + ",false" + "," + page + ",'" + sf_farben + "'," + sf_preis_min + "," + sf_preis_max + ",'" + org_sf_marken + "','" + sf_groessen + "','" + sf_stil + "','" + sf_muster + "','" + sf_material + "', '" + sf_form + "', " + SRNr + ",'" + sf_katnr + "', '" + skey + "', " + prodNr + "," + i + ")";
	var modifiedLocation    = "menu:" + window.dhtmlState.action;

	if ( typeof (window.dhtmlState.sessions[i]) == "undefined" || window.dhtmlState.sessions[i] == null ) {
		window.dhtmlState.sessions[i]			= new Object();
		window.dhtmlState.sessions[i]["ScrollY"]	= 1;
		window.dhtmlState.sessions[i]["action"]		= modifiedLocation;
	}

	// Neue Seite in der Historie im Browser registrieren.
	if ( (typeof changeHistory == "undefined" || changeHistory) ) {
		window.dhtmlState.fireHistoryChange = false;
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
			window.dhtmlHistory.add(modifiedLocation, null );
		}
		else {
			$.address.value (modifiedLocation);
		}
	} 



	if ( prodNr > 0 && (typeof changeHistory != "undefined" && changeHistory)) {
		window.dhtmlState.epoqFirstProdNr	= prodNr;
		//showProduktListe			= false;
	}

	//if ( showProduktListe ) {
	if ( ABTestSuche || typeof prodNr == "undefined" || prodNr == 0 || (!ABTestSuche && $('#sucheinstellungen').val() == "" ) ) {
		var starr = getSteuerLeiste ();

		if ( page == 0 || (ABTestSuche && $('#sucheinstellungen_detail').val() == "" ) || (!ABTestSuche && $('#sucheinstellungen').val() == "" )) {	
			// PEigenschaften nur für die erste Seite laden, bzw. wenn keine Eingeschaften vorhanden sind.

			var nur_anzahl_der_produkte_ermitteln = false;			// Alle PEigenschaften ermitteln.
			if ( sale ) nur_anzahl_der_produkte_ermitteln = true;		// Nur die Anzahl der gefundenen Produkte ermitteln

			loadPEigenschaften ( org_parentid, org_gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, true, true, true, sale, "", starr[0], sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, nur_anzahl_der_produkte_ermitteln, SRNr, skey, '', page, "", sf_katnr ); // Gr 2012-01-31 - sf_not u. sf_katnr eingefuegt
		}

		if (prodNr > 0) {
			window.dhtmlState.loadFirstProdNr = false;
			loadProdukt(prodNr,false,changeHistory);

		} else {
			window.dhtmlState.loadFirstProdNr = true;
		}

		loadListe ( katnr, pewnr1, pewnr2, false, false, false, specials, false, true, true, sale, "", gruppe, starr[0], starr[1], page, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, sf_katnr, SRNr, skey);

	} 
	else {
		if ( !ABTestSuche ) loadPEigenschaften ( org_parentid, org_gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, true, true, true, sale, "", starr[0], sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, false, SRNr, skey, '', page, "", sf_katnr ); // Gr 2012-01-31 - sf_not u. sf_katnr eingefuegt
		loadProdukt(prodNr,false,changeHistory);
	}

}


/******************************************************************
 * AJAX Funktionen zum Laden der Produktliste
 ******************************************************************/
loadListeX = function ( html ) {
	var element = document.getElementById("searchResults");
	if ( element && html != "" ) {
		html = html.replace(/damenausstatter\.de/g, "Herrenausstatter").replace(/herrenausstatter\.de/g, "Herrenausstatter");
		html = html.replace(/herrenausstatter\_de/g, "herrenausstatter");

		if (!ABTestSuche && window.dhtmlState.loadFirstProdNr) {
			var htmlIdArray		= html.split("\"");
			var firstProduktIdArray = htmlIdArray[2].split("'")
			loadProdukt(firstProduktIdArray[1],false,false);
		}

		element.innerHTML =  "<div class='floatleft' id='SteuerunglistUnten'><div class='font12 floatleft' id='pLabel'>Seite</div><div class='pagination floatleft' id='paginationDiv'></div></div>";
		element.innerHTML += html;
		element.innerHTML += "<div class='floatleft' id='SteuerunglistUnten'><div class='font12 floatleft' id='pLabel'>Seite</div><div class='pagination floatleft' id='paginationDiv'></div></div>";

		showVerticalMerkzettel ( "favoriten" );

		refresh_pagination_menu (window.dhtmlState.aktPage);
	}
	else {
		if ( element ) element.innerHTML = "<div id='nicht_verfuegbar'>Es befinden sich zur Zeit keine Produkte in der von Ihnen ausgewählten Kategorie!</div>";

	}


	if ( ABTestSuche ) {
		hideWaitWrapper ();
	}


	//$("div#searchResultsWrapper").scrollTop(0);
	if ( typeof (window.dhtmlState.sessions[window.dhtmlState.sessionid]) != "undefined" ) window.dhtmlState.last_scroll_pos_y = window.dhtmlState.sessions[window.dhtmlState.sessionid]["ScrollY"];
	window.scrollTo (0,window.dhtmlState.last_scroll_pos_y);

}


loadListe = function ( katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, grosseBilder, showMarke, showExtendedMenu, sale, marke, gruppe, sortierung, pro_seite, akt_seite, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, sf_katnr, SRNr, skey ) {

	if ( ABTestSuche ) {
		showWaitWrapper ();
	}
	else {
		$('#searchResults').html( "<div id='warten_gif_sr'><img src='/images/ajax-loader-herren.gif'></div>");
	}

	akt_seite_pagination = parseInt(akt_seite)+1;
	x_getSuchListe ( katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, grosseBilder, showMarke, showExtendedMenu, sale, marke, 4, gruppe, sortierung, pro_seite, akt_seite_pagination, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, false, false, false, false, SRNr, skey, '', '', sf_katnr, sf_form, '', loadListeX );

}


/******************************************************************
* AJAX Funktionen zum Laden noch auswählbaren PEigenschaften.
******************************************************************/
var srnr_global = 0;
loadPEigenschaftenX = function ( eigenschaften ) {
	var element = document.getElementById("sucheinstellungen");
	var skey = "";

	if ( element && eigenschaften != "" ) {
		global_anzahl	= 0;
		var SRNr	= 0;
		var anzahl	= 0;
		var page	= 0;
		var pe		= eigenschaften.split("::");
	

		var skey = htmlspecialchars($("#searchbox_mn").val());

		if (window.dhtmlState.onSubmitPage == false)  $("#suchWort").html("");


		var stl	 = getSteuerLeiste ();

		var srnr_changed = false;
		var pfeil = "<p id=\"pfeil\"></p></div>";

		var html = "<div id=\"SuchEigenschaften\" >";
		if ( pe.length > 2 ) {
		
			var shown_facets	= 0;
			var max_shown_facets	= 6;
			for ( var i=0; i < pe.length; i++ ) {
			
				var facet = pe[i].split ( "##" );
				
				switch ( facet[0] ) {
					case "Anzahl":
						anzahl = parseInt ( facet[1] );
						global_anzahl = anzahl;
					break;
					case "SRNr":
						SRNr	= parseInt( facet[1] );
					break;
					case "Page":
						page	= parseInt( facet[1] );
					break;
					case "SKey":
						skey = facet[1];
					break;
					default:
						if ( shown_facets < max_shown_facets ) {

							html += "<div id=\"divSuch" + facet[0] + "\" class=\"SuchFilter\" onmouseover=\"showfilter('Such" + facet[0] + "')\"><div id=\"border\"><span>" + facet[0] + ":</span>";
							if ( ABTestSuche ) {
								html += facet[1].replace("<ul", pfeil+"<ul").replace("\"FacetFilter", "\"FacetFilter filterheight53");
							}
							else {
								html += facet[1].replace("zur&uuml;cksetzen","l&ouml;schen").replace("<ul", pfeil+"<ul").replace("\"FacetFilter", "\"FacetFilter filterheight53");
							}
							html += "</div>";
						}
						shown_facets++;
					break;
				}
			
			}


			$("#suchergebnisPara").html("<span id=\"anzahl\">" + anzahl + "</span> <span>Suchergebnisse f&uuml;r: &nbsp; </span>\"<span id=\"suchWort\">" + skey +"</span>\" <span> gefiltert nach: </span>");

			/** Pagination neu setzen. **/
			var action = unescape(window.dhtmlState.action);
			var paramArray = getPageNumber(action);
			refresh_pagination_menu(paramArray[11]);
		}
		html += "</div>";


		if (anzahl == 0) {
			$('#searchResults').html( "<div id='leerSR' style='position: relative; top: 40px; left: 5px;'>Bei der Suche nach \"" + skey + "\" wurden keine Artikel gefunden.</div>");
			element.style.backgroundColor	= "none";
		}
		else {
			element.style.backgroundColor	= "#C0C8D9";
		}
		window.dhtmlState.aktPage	= page;
		
		element.innerHTML		= html;

	}
	else {
		if ( element ) element.innerHTML = "&nbsp;";
	}

}

loadPEigenschaftenABTestX = function ( eigenschaften ) {
	var element = document.getElementById("sucheinstellungen_detail");
	var skey = "";

	if ( element && eigenschaften != "" ) {
		global_anzahl	= 0;
		var SRNr	= 0;
		var anzahl	= 0;
		var page	= 0;
		var pe		= eigenschaften.split("::");
	

		var skey = htmlspecialchars($("#searchbox_mn").val());

		if (window.dhtmlState.onSubmitPage == false)  $("#suchWort").html("");


		var stl	 = getSteuerLeiste ();

		var srnr_changed = false;
		var pfeil = "<p id=\"pfeil\" class=\"pfeilunten\"></p></div>";

		var html = "<div id=\"SuchEigenschaften\" >";
		if ( pe.length > 2 ) {
		
			var shown_facets	= 0;
			var max_shown_facets	= 7;
			for ( var i=0; i < pe.length; i++ ) {
			
				var facet = pe[i].split ( "##" );
				
				switch ( facet[0] ) {
					case "Anzahl":
						anzahl = parseInt ( facet[1] );
						global_anzahl = anzahl;
					break;
					case "SRNr":
						SRNr	= parseInt( facet[1] );
					break;
					case "Page":
						page	= parseInt( facet[1] );
					break;
					case "SKey":
						skey = facet[1];
					break;
					default:
						if ( shown_facets < max_shown_facets ) {
					
							var facet_html = facet[1];
					
							/*** Farben Sonderbehandlung ***/
							if ( ABTestSuche && facet[0] == "Farben" ) {
								
								facet_html = facet_html.replace(/beige/, "<img src='/images/farben/beige.jpg' alt='beige' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/blau/, "<img src='/images/farben/blau.jpg' alt='blau' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/braun/, "<img src='/images/farben/braun.jpg' alt='braun' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/flieder/, "<img src='/images/farben/flieder.jpg' alt='flieder' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/gelb/, "<img src='/images/farben/gelb.jpg' alt='gelb' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/grau/, "<img src='/images/farben/grau.jpg' alt='grau' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/grün/, "<img src='/images/farben/gruen.jpg' alt='gr&uuml;n' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/lila/, "<img src='/images/farben/lila.jpg' alt='lila' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/violett/, "<img src='/images/farben/lila.jpg' alt='lila' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );

								var multiPos = facet_html.indexOf("multicolor");
								if ( multiPos >= 0 ) {
									var multiLi  = facet_html.slice(0, multiPos ).lastIndexOf("<li");
									facet_html = facet_html.slice(0,multiLi) + "<li style='display: none;'" + facet_html.slice(multiLi+3);
								}

								facet_html = facet_html.replace(/orange/, "<img src='/images/farben/orange.jpg' alt='orange' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/rosé/, "<img src='/images/farben/rose.jpg' alt='rosé' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/rot/, "<img src='/images/farben/rot.jpg' alt='rot' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/schwarz/, "<img src='/images/farben/schwarz.jpg' alt='schwarz' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
								facet_html = facet_html.replace(/weiß/, "<img src='/images/farben/weiss.jpg' alt='wei&szlig;' style='clip: rect(4px 23px 23px 4px); position: absolute;'>" );
							}


							html += "<div id=\"divSuch" + facet[0] + "\" class=\"SuchFilter\"><div id=\"border\"><span>" + facet[0] + ":</span>";
							if ( ABTestSuche ) {
								html += facet_html.replace("<ul", pfeil+"<ul");
							}
							else {
								html += facet_html.replace("zur&uuml;cksetzen","l&ouml;schen").replace("<ul", pfeil+"<ul");
							}
							html += "</div>";
						}
						shown_facets++;
					break;
				}
			
			}


			$("#suchergebnisPara").html("<span id=\"anzahl\">Es wurden " + anzahl + "</span> <span>Suchergebnisse zu Ihrem Suchwort&nbsp; </span>\"<span id=\"suchWort\">" + skey +"</span>\" <span> gefunden.</span>");

			/** Pagination neu setzen. **/
			var action = unescape(window.dhtmlState.action);
			var paramArray = getPageNumber(action);
			refresh_pagination_menu(paramArray[11]);
		}
		html += "</div>";


		if (anzahl == 0) {
			$('#searchResults').html( "<div id='leerSR' style='position: relative; top: 40px; left: 5px;'>Bei der Suche nach \"" + skey + "\" wurden keine Artikel gefunden.</div>");
		}
		window.dhtmlState.aktPage	= page;
		
		element.innerHTML		= html;

	}
	else {
		if ( element ) element.innerHTML = "&nbsp;";
	}

}


loadPEigenschaften = function ( parentid, gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, grosseBilder, showMarke, showExtendedMenu, sale, marke, sortierung, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, nur_zeileanzahl_ermitteln, SRNr, Skey, SResult, page, sf_not, sf_katnr) {
    // Gr 2012-01-31 - Parameter sf_not, sf_katnr eingefuegt
	if ( ABTestSuche ) {
		if (SRNr == 0) {
			showWaitWrapper ();
		}
		x_getPEigenschaften ( parentid, gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, 'katmenu', grosseBilder, showMarke, showExtendedMenu, sale, marke, sortierung, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, nur_zeileanzahl_ermitteln, SRNr, Skey, SResult, page, sf_not, sf_katnr, loadPEigenschaftenABTestX );
	}
	else {
		if (SRNr == 0) {
			var element = document.getElementById("sucheinstellungen");
			if ( element && !nur_zeileanzahl_ermitteln ) {element.innerHTML = "<div id='warten_gif_se'><img src='/images/warten.gif'></div>";}
		}
		x_getPEigenschaften ( parentid, gruppe, katnr, pewnr1, pewnr2, mann, frau, accessoires, specials, 'katmenu', grosseBilder, showMarke, showExtendedMenu, sale, marke, sortierung, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, nur_zeileanzahl_ermitteln, SRNr, Skey, SResult, page, sf_not, sf_katnr,  loadPEigenschaftenX );
	}
}


/**************************************************************
* AJAX Funktionen zum Nachladen von statischen HTML-Seiten.
**************************************************************/
loadProduktX = function ( produkt_html ) {
	var produkt  = document.getElementById("produktSeite");

	window.dhtmlState.last_scroll_pos_y = $(window).scrollTop();
	window.dhtmlState.sessions[window.dhtmlState.sessionid]["ScrollY"] = window.dhtmlState.last_scroll_pos_y;

	if ( produkt  && produkt_html != "" ) {

		produkt.innerHTML = produkt_html;

		noscript_contents_unescaped = $('#Produkt3D_embed noscript').text()
		$('#Produkt3D_embed noscript').html(noscript_contents_unescaped);

		produkt_html = produkt_html.replace(/<script/ig, "<script");
		produkt_html = produkt_html.replace(/<\/script/ig, "</script");
		var scripte = produkt_html.split("<script");
		for ( var zzz=1; zzz<scripte.length; zzz++ ) {	// zzz=0: ist immer HTML-Text.
			var script = scripte[zzz].split("</script");
			var start  = script[0].indexOf(">")+1;
			var doScript = script[0].substr(start)
			doScript = doScript.replace(/\r/g, "");
			if ( doScript.search( /document.write/ig) == -1 ) {  // document.write ist nicht erlaubt.
				try {
					eval ( doScript );
				} catch (e) {}
			}
		}

		ReinitializeAddThis	();
		
		if (browserName == "Explorer" &&  browserVer == 6) {
			$("div#searchResultsWrapper").css("height", $(document).height()-140);
		}
	
	}
	else {
		if ( produkt ) produkt.innerHTML = "<div id='nicht_verfuegbar'>Leider ist dieses Produkt nicht mehr verf&uuml;gbar!</div>";
				if (browserName == "Explorer" &&  browserVer == 6) {
			$("div#searchResultsWrapper").css("height", $(document).height()-140);
		}

	}

	if ( ABTestSuche ) {
		$('#produktSeite').show();
		$('#back2Suchliste').show();
		$('#searchResultsWrapper').hide();
		hideWaitWrapper ();
	}

	window.scrollTo (0,0);

	
	// sliding through the images - Installiere Handler 
	var Rotator = {
		slidePictureIcons: function(innerDiv, direction) {
			var posLeft = parseInt($(innerDiv).css('marginLeft'));
			var itemWidth = parseInt($(innerDiv).children(':first').outerWidth(true));
			var totalWidth = $(innerDiv).children().length * itemWidth;
			var posTop = parseInt($(innerDiv).css('marginTop'));
			var itemHeight = parseInt($(innerDiv).children(':first').outerHeight(true));
			var totalHeight = $(innerDiv).children().length * itemHeight;
			//$(innerDiv).width(totalWidth);
	
			var arrowLeftDiv = $(innerDiv).parent().prev();
			var arrowRightDiv = $(innerDiv).parent().next();
			var arrowTopDiv = $(innerDiv).parent().prev();
			var arrowBottomDiv = $(innerDiv).parent().next();
	
			switch (direction) {
				case 'start':
					$(innerDiv).css('marginLeft', '0px');
					$(arrowLeftDiv).addClass('thumbnailRotatorLeftOff');
					$(arrowLeftDiv).removeClass('thumbnailRotatorLeftOn');
					$(arrowRightDiv).addClass('thumbnailRotatorRightOn');
					$(arrowRightDiv).removeClass('thumbnailRotatorRightOff');
					break;
				case 'startvertical':
					$(innerDiv).css('marginTop', '0px');
					$(arrowTopDiv).addClass('thumbnailRotatorTopOff');
					$(arrowTopDiv).removeClass('thumbnailRotatorTopOn');
					$(arrowBottomDiv).addClass('thumbnailRotatorBottomOn');
					$(arrowBottomDiv).removeClass('thumbnailRotatorBottomOff');
					break;
				// allow slideLeft as long as the first item is not visible yet
				case 'left':
					if (posLeft < 0) {
						$(arrowLeftDiv).unbind('click');
						$(innerDiv).animate({
							'marginLeft': (posLeft + itemWidth) + 'px'
						}, 'fast', function() {
							$(arrowLeftDiv).click(function() {
								Rotator.slidePictureIcons(innerDiv, 'left');
								return false;
							});
						});
						$(arrowRightDiv).addClass('thumbnailRotatorRightOn');
						$(arrowRightDiv).removeClass('thumbnailRotatorRightOff');
						posLeft += itemWidth;
					}
					if (posLeft >= 0) {
						$(arrowLeftDiv).addClass('thumbnailRotatorLeftOff');
						$(arrowLeftDiv).removeClass('thumbnailRotatorLeftOn');
					}
					break;
				// allow slideRight as long as the last item is not visible yet
				case 'right':
					var totalWidth = ($(innerDiv).children().length - 3) * itemWidth;
					if (Math.abs(posLeft) <= (totalWidth - itemWidth)) {
						$(arrowRightDiv).unbind('click');
						$(innerDiv).animate({
							'marginLeft': (posLeft - itemWidth) + 'px'
						}, 'fast', function() {
							$(arrowRightDiv).click(function() {
								Rotator.slidePictureIcons(innerDiv, 'right');
								return false;
							});
						});
						$(arrowLeftDiv).addClass('thumbnailRotatorLeftOn');
						$(arrowLeftDiv).removeClass('thumbnailRotatorLeftOff');
						posLeft -= itemWidth;
					}
					if (Math.abs(posLeft) > (totalWidth - itemWidth)) {
						$(arrowRightDiv).addClass('thumbnailRotatorRightOff');
						$(arrowRightDiv).removeClass('thumbnailRotatorRightOn');
					}
					break;
				// allow slideTop as long as the first item is not visible yet
				case 'top':
					if (posTop < 0 ) {
						if ( Math.abs(posTop) >= itemHeight && Math.abs(posTop) % itemHeight === 0) {
							$(arrowTopDiv).unbind('click');
							$(innerDiv).animate({
								'marginTop': (posTop + itemHeight) + 'px'
							}, 'fast', function() {
								$(arrowTopDiv).click(function() {
									Rotator.slidePictureIcons(innerDiv, 'top');
									return false;
								});
							});
							posTop += itemHeight;
						}
						$(arrowBottomDiv).addClass('thumbnailRotatorBottomOn');
						$(arrowBottomDiv).removeClass('thumbnailRotatorBottomOff');
					}
					if (posTop >= 0) {
							$(arrowTopDiv).addClass('thumbnailRotatorTopOff');
							$(arrowTopDiv).removeClass('thumbnailRotatorTopOn');
					}
					break;
				// allow slideBottom as long as the last item is not visible yet
				case 'bottom':
					var totalHeight = ($(innerDiv).children().length - 3) * itemHeight;
					if (Math.abs(posTop) <= (totalHeight - itemHeight)) {
						if ( (Math.abs(posTop) === 0 ) || Math.abs(posTop) % itemHeight === 0) {
							$(arrowBottomDiv).unbind('click');
							$(innerDiv).animate({
								'marginTop': (posTop - itemHeight) + 'px'
							}, 'fast', function() {
								$(arrowBottomDiv).click(function() {
									Rotator.slidePictureIcons(innerDiv, 'bottom');
									return false;
								});
							});
							posTop -= itemHeight;
						}
						$(arrowTopDiv).addClass('thumbnailRotatorTopOn');
						$(arrowTopDiv).removeClass('thumbnailRotatorTopOff');
					}
					if (Math.abs(posTop) > (totalHeight - itemHeight)) {
							$(arrowBottomDiv).addClass('thumbnailRotatorBottomOff');
							$(arrowBottomDiv).removeClass('thumbnailRotatorBottomOn');
					}
					break;
				}
		},
	
		exchangeMainPicture: function(selectedThumb) {
			var thumbId = $(selectedThumb).attr('id');
			var mainId = thumbId.replace(/thumb/, 'image');
	
			$('#' + mainId).siblings().hide();
			$('#' + mainId).show();
		},
	
		showMainColorPicture: function(selectedColorThumb) {
			var colorThumbId = $('img:first', selectedColorThumb).attr('id');
			var mainId = colorThumbId.replace(/colorthumb/, 'color');
	
			var oldPicture = $('#' + mainId).siblings(':visible');
			if (oldPicture) {
				oldPicture.parent().data('lastPic', oldPicture.attr('id'));
			}
	
			$('#' + mainId).siblings().hide();
			$('#' + mainId).show();
		},
	
		hideMainColorPicture: function(selectedColorThumb) {
			var colorThumbId = $('img:first', selectedColorThumb).attr('id');
			var mainId = colorThumbId.replace(/colorthumb/, 'color');
	
			var oldPicture = $('#' + mainId).parent().data('lastPic');
			if (!oldPicture) {
				oldPicture = $('#' + mainId).siblings().first().attr('id');
			}
	
			$('#' + mainId).hide();
			$('#' + oldPicture).show();
		}
	
	};

	$('.thumbnailRotatorWrapper').each(function() {
		var innerDiv = $('.thumbnailRotatorInnerWrap', this);
		if ( innerDiv.children().length > 3 ) {
			$('.thumbnailRotatorWrapper .thumbnailRotatorArrowLink').show();
			Rotator.slidePictureIcons(innerDiv, 'start');
			$('.thumbnailRotatorLeft', this).click(function() {
				Rotator.slidePictureIcons(innerDiv, 'left');
				return false;
			});
			$('.thumbnailRotatorRight', this).click(function() {
				Rotator.slidePictureIcons(innerDiv, 'right');
				return false;
			});

		} else {
			$('.thumbnailRotatorWrapper .thumbnailRotatorArrowLink').show();
			$('.thumbnailRotatorWrapper .thumbnailRotatorArrowLink a').css('background-color', '#e3e3e3');
			var arrowLeftDiv = $(innerDiv).parent().prev();
			var arrowRightDiv = $(innerDiv).parent().next();
			$(arrowLeftDiv).addClass('thumbnailRotatorLeftOff');
			$(arrowLeftDiv).removeClass('thumbnailRotatorLeftOn');
			$(arrowRightDiv).addClass('thumbnailRotatorRightOff');
			$(arrowRightDiv).removeClass('thumbnailRotatorRightOn');
		}
	});

	showVerticalMerkzettel ("sortierung");

	thumbnailRotatorWrapperElements = function(elementswrapper) {
		var innerDiv = $('.thumbnailRotatorInnerWrap', elementswrapper);
		for (i = 0; i < innerDiv.length; i++) {
			innerDivIndex = $(innerDiv[i]);
			var rotatorId = innerDivIndex.attr('id');
			var rotatorDiv = $('#' + rotatorId + '.thumbnailRotatorInnerWrap');
			if (rotatorDiv.children().length > 3) {
				$('.thumbnailRotatorArrowLink.'+ rotatorId).show();
				Rotator.slidePictureIcons(rotatorDiv, 'startvertical');

			} else {
				$('.thumbnailRotatorArrowLink.'+ rotatorId).hide();
				$('.thumbnailRotatorArrowLink.'+ rotatorId + 'a').css('background-color', '#e3e3e3');
				var arrowLeftDiv = $(rotatorDiv).parent().prev();
				var arrowRightDiv = $(rotatorDiv).parent().next();
				$(arrowLeftDiv).addClass('thumbnailRotatorTopOff');
				$(arrowLeftDiv).removeClass('thumbnailRotatorTopOn');
				$(arrowRightDiv).addClass('thumbnailRotatorBottomOff');
				$(arrowRightDiv).removeClass('thumbnailRotatorBottomOn');
			}
		}
	}

	$('.thumbnailRotatorWrapperVertical').each(function() {
		thumbnailRotatorWrapperElements(this);
	});

	thumbnailRotatorClick = function(rotatorId, direction) {
		Rotator.slidePictureIcons(rotatorId, direction);
		return false;
	}

	
	$('.thumbnailRotatorImage').click(function(evt) {
		$(this).siblings().removeClass('imageActiveMarker');
		$(this).addClass('imageActiveMarker');
		Rotator.exchangeMainPicture($(this));
		evt.preventDefault();
	});
	
	var detail_bild 	= document.getElementById('product-01-thumb-01');
	var zoom_mini 		= document.getElementById('ProduktZoom');
	var zoom_mini_dia 	= document.getElementById('ProduktZoomDiaShow');
	if ( detail_bild != null) {
		if ( zoom_mini != null) zoom_mini.style.display = "none";
		if ( zoom_mini_dia != null) zoom_mini_dia.style.display = "inline";
	}
	else {
		 if ( zoom_mini != null)	zoom_mini.style.display = "inline";
		 if ( zoom_mini_dia != null)	zoom_mini_dia.style.display = "none";
	}
	var bildhoehe = document.getElementById('ProduktBild').clientHeight;
	if ( bildhoehe != null ) {
		if ( bildhoehe > 100) {
			document.getElementById('produktview').style.height = bildhoehe + "px";
		}
	}
	
}

loadProdukt = function (ProdNr,meta,addHistory) {
	window.dhtmlState.shownProdNr = ProdNr;
	window.dhtmlState.shownMeta   = meta;

	if ( ABTestSuche ) {	
		showWaitWrapper ();
		
		/* History anpassen */
		window.dhtmlState.action = "loadProdukt(" + ProdNr + "," + meta + ")";
		var modifiedLocation = "produkt:" + window.dhtmlState.action;
		
	}
	else {
		var info  = document.getElementById("produktSeite");
		info.innerHTML		= "<div id='warten_gif_ps'><img src='/images/warten.gif'></div>";
		$('#produktSeite').show();

		/* History anpassen */
		tt		= new Date ();
		sessionid	= tt.getTime();

		var dataAction = unescape(window.dhtmlState.action);
		var fkt = "";
		var fa1 = dataAction.split("loadMenu");
		if ( fa1.length > 1 ) {
			var fa2 = fa1[1].split(")");
			var fa3 = fa2[0].split(",");
			fkt = fa1[0] + "loadMenu";
			for ( var i=0; i<fa3.length; i++ ) {
				switch ( i ) {
					case 24: fkt += ",'"+ ProdNr+"'"; break;	// change ProduktNr = false;
					case 25: fkt += ","+sessionid; break; 		// neue SessionID vergeben.
					default:
					if ( i > 0 ) fkt += ",";
					fkt += fa3[i];
					break;
				}
			}
			fkt += ")" + fa2[1];
			dataAction = fkt;
		}

		window.dhtmlState.action	= dataAction;
		var modifiedLocation = "menu:" + dataAction;
	}


	if (typeof addHistory == 'undefined') {
		addHistory = true;
	}

	if (addHistory) {
		window.dhtmlState.fireHistoryChange = false;
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
			window.dhtmlHistory.add(modifiedLocation, null );
		}
		else {
			$.address.value (modifiedLocation);
		} 
	}
	
	
	x_getProdukt(ProdNr, meta, loadProduktX);
}


hideProdukt = function () {

	$('#searchResultsWrapper').show();
	window.scrollTo(0,window.dhtmlState.last_scroll_pos_y);
	
	$('#back2Suchliste').hide();
	$('#produktSeite').hide();
	hideWaitWrapper();

	if ( typeof (window.dhtmlState.sessions[window.dhtmlState.sessionid]) != "undefined" ) {
		window.dhtmlState.action = window.dhtmlState.sessions[window.dhtmlState.sessionid]["action"];
		
		window.dhtmlState.fireHistoryChange = false;
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
			window.dhtmlHistory.add(window.dhtmlState.action, null );
		}
		else {
			$.address.value (window.dhtmlState.action);
		}
	}

}


/******************************************************************
* Reinitialize Add This nachdem eine Produktseite via AJAX geladen wurde.
******************************************************************/
ReinitializeAddThis = function (){
	addthis_config = {
		username: "depauli",
		services_compact: 'favorites, google, myspace, misterwong, studivz, digg, meinvz, more',
		ui_hover_direction: 1,
		ui_language: 'de',
		ui_use_addressbook: 'true'
	}

	if (window.addthis){
		window.addthis.ost = 0;
		window.addthis.ready();
	}
}

/******************************************************************
*  Volltextsuche
******************************************************************/
var global_hitcount = 0;
var sessionId = getEPOQCookie ( "herrenausstatterSessionID" );

/*
var searchServer = "http://search.epoq.de/inbound-servletapi/getSearchResult";
var tenantId = "herrenausstatter";
*/

//var SessionID   =

/**************************************************************
* History Funktionen
**************************************************************/

/***************************************************************
function initializeHistory() {
	dhtmlHistory.initialize();
	dhtmlHistory.addListener(handleHistoryChange);
}

function handleHistoryChange(newLocation, historyData) {

	if ( !window.dhtmlState.fireHistoryChange ) {
		window.dhtmlState.fireHistoryChange = true;
		return;
	}

	if ( newLocation == null || newLocation == "" ) return;

	var dataAction = unescape(newLocation);
	dataAction = unescape(dataAction);

	dataAction = dataAction.replace(/%C2/g, "");	// Korrektur des %C2 Fehlers. Ursache dieses Fehlers ist unbekannt.
	dataAction = dataAction.replace(/Â/g, "");		// Korrektur des %C2 Fehlers. Ursache dieses Fehlers ist unbekannt.
	dataAction = dataAction.replace(/;/g, "");	// Anti CSS
	dataAction = dataAction.replace(/\n/g, ""); // Anti CSS


	dataAction = dataAction.replace(/;/g, "");	// Anti CCS
	var fkt = "";
	var fa1 = dataAction.split("loadMenu");
	if ( fa1.length > 1 ) {
		var fa2 = fa1[1].split(")");
		var fa3 = fa2[0].split(",");
		fkt = fa1[0] + "loadMenu";
		for ( var i=0; i<fa3.length; i++ ) {
			switch ( i ) {
				//case 0: fkt += "''"; break;
				//case 14: fkt += ",true"; break;	// withInitSteuerung = false;
				default:
				if ( i > 0 ) fkt += ",";
				fkt += fa3[i];
				break;
			}
		}
		fkt += ")" + fa2[1];
		dataAction = fkt;
	}

	if (  checkEval(dataAction) ) {
		eval(dataAction);
		window.dhtmlState.onSubmitPage = false;
		var parameterArray = getPageNumber (dataAction);
		var changehistoryParam = parameterArray[12];
		var pageParam = parameterArray[11];
		refresh_pagination_menu (pageParam);
	}
} // handle history ends
**************************************************************/



function getPageNumber (location) {
	var page = 0;
	var dataAction = unescape(location);

	dataAction = dataAction.replace(/;/g, "");	// Anti CCS

	var fkt = "";
	var fa1 = dataAction.split("loadMenu");
	if ( fa1.length > 1 ) {

		var fa2 = fa1[1].split(")");
		var fa3 = fa2[0].split(",");
		fkt = fa1[0] + "loadMenu";
		page = fa3[11];

	}

	return fa3;
}

/******************************************************************
* Überprüft die an eval zu übergebenden Funktionsnamen (CSS-Schutz)
******************************************************************/

checkEval = function ( fkt ) {
	var ret = false;
	var pos = fkt.search ( /\W/ );
	if ( pos != -1 ) {
		var sub_fkt = fkt.slice ( 0, pos );
		switch ( sub_fkt ) {
			case "loadMenu":
			case "loadProdukt":
			ret = true;
			break;
		}
	}
	return ( ret );
}


searchform_mn_submit = function() {

	// Wird dises Funktion nicht über die Datei suche.php aufgerufen, so muss das Formular aus der aufrufenden Datei ausgeführt werden. (z.B. bei der index.php Seite)
	var wrapper = document.getElementById('searchResultsWrapper');
	if ( !wrapper ) {
		document.searchform_mn_name.submit();
		return;
	}


	$("div#searchResultsWrapper").scrollTop(0);
	$(".ac_results").hide();

	var skey = htmlspecialchars($("#searchbox_mn").val());
	skey =  skey.replace("#", '');
	skey =  skey.replace(/\'/gi, " ");
	skey = $.trim(skey);

	window.dhtmlState.SKey = skey;
	window.dhtmlState.onSubmitPage = true;


	// Gr 2012-01-24 - Farbe, Marke, sf_katnr
	var sColor = checkParam( $("#search_color").val(), "string" );

	var sBrand = checkParam( $("#search_brand").val(), "string" );

	var sCategory = checkParam( $("#search_category").val(), "string" );

	// Gr 2012-01-30 - neue Url-Params
	var sMale = checkParam( $("#search_male").val(), "bool" );

	var sFemale = checkParam( $("#search_female").val(), "bool" );

	var sSale = checkParam( $("#search_sale").val(), "bool" );

	var sSize = checkParam( $("#search_size").val(), "string" );

	var sStyle = checkParam( $("#search_style").val(), "string" );

	var sPattern = checkParam( $("#search_pattern").val(), "string" );

	var sMaterial = checkParam( $("#search_material").val(), "string" );

	var sForm = checkParam( $("#search_form").val(), "string" );

	var sPage = checkParam( $("#search_page").val(), "integer" );

	var sSortOrder = checkParam( $("#search_sortorder").val(), "srtorder" );

	// SortOrder in cookie speichern
	var arrTmp = getSteuerLeiste();
	setSteuerLeiste(sSortOrder, arrTmp[1], sPage);
	arrTmp = null;
	// neue Url-Params end

		
	var locationHREF = window.location.href;

	var returnVal = false;
	srnr_global = 0;



	if ( skey != "" ) {
		sColor = "";
		sBrand = "";
		sCategory = "";
		sMale = false;
		sFemale = false;
		sSale = false;
		sSize = "";
		sStyle = "";
		sPattern = "";
		sMaterial = "";
		sForm = "";
		sPage = 0;
	}

	if ( sColor != "" || sBrand != "" || sSize != "" || sStyle != "" || sPattern != "" || sMaterial != "" || sForm != "" || sCategory != "" || skey != "" ) {
		loadMenu( "menu_th_SEARCH", "SUCHE",0,0,0,sMale,sFemale,false,false,sSale,true,sPage,sColor,0,10000,sBrand,sSize,sStyle,sPattern,sMaterial,sForm,0,sCategory,skey,0, 0 );
	}
		

	return false;
}

function checkParam(param, type) {
	//TODO: Gr 2012-01-30 - Url-Params typabhaengig pruefen.
	
	if ( typeof param == "undefined" || param == null ) param = "";
	
	switch (type) {
		
		case "bool":
			param = $.trim(param);
			if ( param === "true" || param === true) {
				param = true;
			} else {
				param = false;
			}
			break;

		case "integer":
            param = $.trim(param);
            if ( param !== "" ) {
			if ( !isNaN(param) && isFinite(param) ) {
				param = parseInt(param);
			} else {
                    param = 0;
                }
            } else {
                    param = 0;
			}
			break;
		case "srtorder":
			if ( param !== "fdown" && param !== "pup" && param !== "pdown" && param !== "mup" && param !== "mdown" ) param = "fdown"; // Param het keinen zulaessigen wert? => Default zuweisen.
			break;
		default:
			// string
		param = htmlspecialchars( param );
		param = param.replace("#", "");
		// param = param.replace(/\'/gi, " ");
		param = $.trim(param);
	}

	return param;
}


$(document).ready(function() {

	if ( !ABTestSuche ) $("#searchOverview").hide();

	$("#searchform_mn").submit(function() {
		searchform_mn_submit ();
		return false;
	});


	/**** zeigt das search key , suggestions  in einem div ******************/
	/*
	****************************************
	Autocomplete Type-ahead
	****************************************
	*/
	/***
		if ($("#searchbox_mn") != null) {
			$("#searchbox_mn").autocomplete(searchServer, {
				dataType: 'jsonp',
				parse: function(data) {
					
					var rows1 = parseJsonAsRows(data);
					var suggestion_rows = formatSuggestions(rows1);
					return suggestion_rows;
				},
				formatItem: TextOnlyTypeAhead,
				extraParams: {
					q: '',
					limit: '',
					maxRows: 50,
					format: 'json',
					pretty: 'true',
					tenantId: function () { return "herrenausstatter"},
					sessionId: sessionId,
					matchAttr:  function () { return $("#matchAttr").val() }, //f.g. g:product_type
					matchValue:  function () { return $("#matchValue").val() },
					locakey:  function () { return $("#locakey").val() },
					orderBy:  function () { return $("#orderBy").val() },
					order:  function () { return $("#order").val() },
					ie: 'ISO-8859-1',
					//query: 'harry potter',
					query: function () { return htmlspecialchars($("#searchbox_mn").val()) }
				},
				selectFirst: false,
				max: 50,
				width: 212,
				scrollHeight: 500,
				highlight: false, //highlighting is done in formatItem
				cacheLength: 0
			}).result(function(event, item) {
				var searchString ="";
				var suggestionId ="";
				if(typeof(item.suggestion)!="undefined")
				{
					//searchString = item.suggestion['$']; //x
					if(typeof(item.suggestion['@suggestion-id'])!="undefined")suggestionId = item.suggestion['@suggestion-id'];
				}
				//if(typeof(item.nodeRef)!="undefined")if(typeof(item.nodeRef.title)!="undefined" )//x
				searchString = htmlspecialchars($("#searchbox_mn").val()) ;

				var newLocation = searchServer + "?tenantId=herrenausstatter" +"&format=json&ie=ISO-8859-1&pretty=true&query=" + searchString +"&full";
				if(suggestionId!="")newLocation += "&suggestionId=" + suggestionId;
				newLocation += "&sessionId=" + sessionId;
				newLocation += "&orderBy=" + $("#orderBy").val() + "&order=" + $("#order").val();
				newLocation += "&locakey=" + $("#locakey").val();
				newLocation += "&matchAttr=" + $("#matchAttr").val() ;
				newLocation += "&matchValue=" + $("#matchValue").val();
				var selected_suggestion_array  = suggestionId.split('[');
				var selected_suggestion = selected_suggestion_array[1].replace(']', '');

				if (selected_suggestion != "") {
					$("#searchbox_mn").val(selected_suggestion);

					var locationHREF = window.location.href;
					if (locationHREF.search(/de\/suche\.php/) != -1) {
						get_search_produkt_ids(newLocation);
						getSearchResult(newLocation,selected_suggestion);
					} else {
						$("#searchform_mn").submit();
					}
				}

			});
		}
	*/		
	
	

	if ( !ABTestSuche ) {
		if (!(browserName == "Explorer" &&  browserVer == 6)) {
			adjustWidth();
			$("div#searchResultsWrapper").css("height", $(window).height()-140);
		} else { 
			$("div#searchResultsWrapper").css("height", $(document).height()-140);
		}

		$(window).resize(function() {
			if (!(browserName == "Explorer" &&  browserVer == 6)) { 
				adjustWidth();
				$("div#searchResultsWrapper").css("height", $(window).height()-140);
			} else { 
				$("div#searchResultsWrapper").css("height", $(document).height()-300);
			}

			var offset = $("#searchbox_mn").offset();
			$(".ac_results").css("left", offset.left);

			var searchOverviewWidth = $("#searchOverview").width();
			searchOverviewWidth += 40;
			$('#helpImage').css("left", searchOverviewWidth);

		});
		var searchbottom = $('#searchBottom').html();
		$('#searchBottom').html("<div class=\"nocontent linieoben padding-top-5\">"+searchbottom+"</div>");
	}
	

}); // document.ready() ends

adjustWidth = function () {

	var korrektur	= 0;
	if (browserName == "Explorer" &&  browserVer == 7) korrektur = -10;
	
	var inc = ($(window).width()-1007) / 2;
	var ww = 317 + inc + korrektur;

	if ($(window).width() > 1037) {
		$("div#searchResultsWrapper").css("width", ww);
		$("div#searchOverview").css("width", ww);
	} else {
		$("div#searchResultsWrapper").css("width", 332);
		$("div#searchOverview").css("width", 332);

	}
}


function getSearchResult(searchurl,selected_suggestion)
{
	if ( ABTestSuche ) {
		var pro_seite = 30;
	}
	else {
		var pro_seite = 26;
	}
	var starr = getSteuerLeiste ();
	pro_seite = starr[1];

	$.ajax({
		url: searchurl,
		dataType: 'jsonp',
		data: "&limit="+pro_seite+"&offset=0",
		success: function (data) {


			var SResult = "";
			var rows = parseJsonAsRows(data);

			var formatedResults = "";
			// Änderung 6.10.10
			if ( typeof data["result"]["statistics"]["@hitcount"] != 'undefined') {
				global_hitcount = data["result"]["statistics"]["@hitcount"];
			} else { global_hitcount = 1;} 
			//
			formatedResults +="<meta name=\"nm.isearch.keyword\" content=\""+SKey+"\">";
			formatedResults +="<meta name=\"nm.isearch.results\" content=\""+global_hitcount+"\">";

			var productids = "";
			$("#searchResults").empty();
			var SKey = htmlspecialchars($("#searchbox_mn").val());
			var firstProduktId = "";
			SKey = $.trim(SKey);
			for(i = 0; i < rows.length; i++)
			{
				if (i==0) {firstProduktId = rows[i].data.nodeRef['g:id']['$'];}
				SResult += rows[i].data.nodeRef['g:id']['$'];

				var rowsLastIndex = rows.length-1;
				if (i != rowsLastIndex) {
					SResult += ",";
				}
			}

			if(typeof(rows) != "undefined" )
			{
				for(i = 0; i < pro_seite && i < rows.length ;i++ )
				{

					formatedResults+=formatSearchResultItem(rows[i].data);

					if((i+1)%2 == 0 && i != rows.length-1 && i != pro_seite-1) {
						formatedResults += "<hr id='line'>";
					}
				}
			}

			var starr = getSteuerLeiste ();
			var per_page = starr[1];

			// Änderung 6.10.10
			if ( typeof data["result"]["statistics"]["@hitcount"] != 'undefined') {
				global_hitcount = data["result"]["statistics"]["@hitcount"];
			} else { global_hitcount = 1;} 
			//

			$("#searchOverview").show();

			if (global_hitcount !=0 ) {

				window.dhtmlState.epoqFirstProdNr = firstProduktId;

			} else {

				var noResultsHTML = '<span  style="text-transform: none;">'+
				'F&uuml;r Ihren Suchbegriff wurden keine Ergebnisse gefunden:&nbsp;\" &nbsp;'+
				'</span><span id=suchWort style="color: #002F5C; text-transform: none;">' + SKey +'</span>\"'

				$("#suchergebnisPara").html(noResultsHTML);
				$("#searchOverview").hide();
				if ( ABTestSuche ) {
					$("#sucheinstellungen_detail").innerHTML = "";
				}
				else {
					$("#sucheinstellungen").innerHTML = "";
				}
				$("#produktSeite").innerHTML = "";
			}

			formatedResults = "<div id=\"TopInc\"></div>" + formatedResults;
			$("#searchResults").append(formatedResults);
			if (selected_suggestion != "") {$("#searchbox_mn").val(selected_suggestion);}

			$("div#searchResultsWrapper").show();
			if(typeof(rows) != "undefined" )
			{
				formatSearchSuggestionsAndSkey(SKey, rows, selected_suggestion);
			}
			var containerheight = $("div#produktSeiteWrapper").height();
			
		},
		error: function () {
			// alert('error'); // place here the timeout code
		}
	});

	return global_hitcount;
}

get_search_produkt_ids = function (url) {
	$.ajax({
		url: url,
		dataType: 'jsonp',
		data: "&style=onlyId&limit=1000&offset=0",
		success: function (data) {
			var SResult = "";
			var rows = parseJsonAsRows(data);
			var productids = "";
			// if url has suggestion id set skey = suggestion id
			var SKey = htmlspecialchars($("#searchbox_mn").val());
			SKey = $.trim(SKey);
			for(i = 0; i < rows.length; i++)
			{
				SResult += rows[i].data['match-item']['@node_ref'];
				var rowsLastIndex = rows.length-1;
				if (i != rowsLastIndex) {
					SResult += ",";
				}
			}
			var starr = getSteuerLeiste ();
			var SRNr = 0;

			if ( rows.length > 0) {
				var loadPEigenschaftenReturnVal = loadPEigenschaften ( "", "Bekleidung", 0, 0, 0, false, false, false, false, 'katmenu', true, true, true, false, '', starr[0], '', '', '', '', '', '', '', '', '', false, SRNr , SKey, SResult,0);
			}
		},
		error: function () {
			// alert('error'); // place here the timeout code
		}
	});

}

function refresh_pagination_menu(page_nr) {

	var starr = getSteuerLeiste ();
	var per_page = starr[1];
	if ( ABTestSuche ) {
		per_page = 30;
	}
	else {
		per_page = 26;
	}

	var modifiedLocation = window.dhtmlState.action;
	modifiedLocation = change_page_in_loadmenu_call ("__id__");
	modifiedLocation = "#menu:" + modifiedLocation;

	$(".pagination").pagination(global_anzahl, {
		items_per_page: per_page,
		current_page: page_nr,
		link_to: modifiedLocation,
		next_text: "&gt;&gt;",
		next_show_always:      true,
		prev_text:   "&lt;&lt;",
		prev_show_always: true,
		num_display_entries: 4,
		ellipse_text: '...',
		num_edge_entries: 1,
		callback: callbackPagination
	});

}

function callbackPagination( page, pagination_container) {
	var old_action	= window.dhtmlState.action;
	var old_action_array 	= old_action.split(":");
	var dataAction = unescape(old_action);
	dataAction = dataAction.replace(/;/g, "");	// Anti CCS
	var fkt = "";
	var fa1 = dataAction.split("loadMenu");
	if ( fa1.length > 1 ) {
		var fa2 = fa1[1].split(")");
		var fa3 = fa2[0].split(",");
		fkt = fa1[0] + "loadMenu";
		for ( var i=0; i<fa3.length; i++ ) {
			switch ( i ) {
				//case 0: fkt += "''"; break;
				//case 11: fkt += ",true"; break;		// changeHistory = true
				//case 13: fkt += ",false"; break;	// withInitSteuerung = false;
				case 11: fkt += "," + page; break;	// aktuelle Seite.
				case 24: fkt += ",0" ; break;	// prodNr.
				case 25: fkt += ",0" ; break;	// sessionid auf "0" setzen, da eine neue Seite aufgerufen wird, sollen alle SessionWerte (window.dhtmlState.sessions) für diese Seite neu erstellt werden..
				default:
				if ( i > 0 ) fkt += ",";
				fkt += fa3[i];
				break;
			}
		}
		fkt += ")" + fa2[1];
		dataAction = fkt;
	}

	window.dhtmlState.last_scroll_pos_y = $(window).scrollTop();
	window.dhtmlState.sessions[window.dhtmlState.sessionid]["ScrollY"] = window.dhtmlState.last_scroll_pos_y;

	window.dhtmlState.action = dataAction;
	var modifiedLocation = "#" + window.dhtmlState.action;

	if (  checkEval(dataAction) ) {
		window.dhtmlState.fireHistoryChange = false;
		eval(dataAction);
	}
}

change_page_in_loadmenu_call = function ( page ) {

	var fkt = unescape ( window.dhtmlState.action.replace(/%27/g, "###") ); // Aprostroph in der Marke muss nach dem unescape erhalten bleiben (z.B. Levi%27s)
	fkt = fkt.replace (/###/g, "%27" );
	// Parameter der aktuell angezeigten URL verändern.
	var fa1 = fkt.split("loadMenu");
	var fa2 = fa1[1].split(")");
	var fa3 = fa2[0].split(",");
	fkt = fa1[0] + "loadMenu";

	tt = new Date ();
	sessionid     = tt.getTime();
	
	for ( var i=0; i<fa3.length; i++ ) {
		switch ( i ) {
			//case 13: fkt += ",false"; break;	// withInitSteuerung = false;
			case 10: fkt += ",false"; break;	// changeHistory = false
			case 11: fkt += "," + page; break;	// aktuelle Seite.
			case 24: fkt += ",0" ; break;		// prodNr.
			case 25: fkt += "," + sessionid ; break;// neue sessionid setzen, da eine neue Seite aufgerufen wird, sollen alle SessionWerte (window.dhtmlState.sessions) für diese Seite neu erstellt werden..
			default:
			if ( i > 0 ) fkt += ",";
			fkt += fa3[i];
			break;
		}
	}
	fkt += ")" + fa2[1];
	return fkt;
}


function  setProSeite(per_page) {
	var akt_seite = $('.current').html();
	if (akt_seite == "&lt;&lt;") {
		akt_seite = 1;
	}
	var last_page = Math.ceil(global_anzahl / per_page);
	if (akt_seite > last_page) {
		akt_seite = last_page;
	}
	var starr = getSteuerLeiste ();
	setSteuerLeiste ( starr[0], per_page, akt_seite );
	var page_nr = akt_seite -1;
	var f = window.dhtmlState.action;
	var srnr_start_position= f.lastIndexOf(",");
	var srnr_end_position= f.lastIndexOf(")");
	var srnr = f.substring(srnr_start_position+1, srnr_end_position);
	srnr = $.trim(srnr);

	if (srnr == "") { srnr = 0; }

	if (window.dhtmlState.fireHistoryChange) {
		var modifiedLocation ="";
		modifiedLocation = window.dhtmlState.action;
		if (BrowserDetect.browser == "Explorer" && BrowserDetect.version == "6") {
			window.dhtmlHistory.add("menu:" + modifiedLocation, null );
		}
		else {
			$.address.value ("menu:" + modifiedLocation);
		} 
		
	} else {
		window.dhtmlState.fireHistoryChange = true;
	}
}



changeSortierung = function () {
	var sortierung = document.getElementById('SortierungsAuswahl');
	var starr = getSteuerLeiste ();
	if ( sortierung ) {
		for ( var i=0; i<sortierung.options.length; i++ ) {

			if ( sortierung.options[i].selected == true ) {
				switch ( sortierung.options[i].value ) {
					case "fdown":	set_sorting_type_in_loadmenu_call ("fdown");	break;
					case "fup":	set_sorting_type_in_loadmenu_call ("fup");	break;
					case "pdown":	set_sorting_type_in_loadmenu_call ("pdown");	break;
					case "pup":	set_sorting_type_in_loadmenu_call ("pup");	break;
					case "mdown":	set_sorting_type_in_loadmenu_call ("mdown");	break;
					case "mup":	set_sorting_type_in_loadmenu_call ("mup");	break;
					default:	set_sorting_type_in_loadmenu_call ("fdown");	break;
				}
			}
		}
	}
	suche_sortierungs_auswahl ();
	eval(window.dhtmlState.action);
}


set_sorting_type_in_loadmenu_call = function(sortingType) {

	var starr = getSteuerLeiste ();
	setSteuerLeiste ( sortingType, starr[1], 1 );
	var fkt = unescape ( window.dhtmlState.action.replace(/%27/g, "###") ); // Aprostroph in der Marke muss nach dem unescape erhalten bleiben (z.B. Levi%27s)
	fkt = fkt.replace (/###/g, "%27" );
	if ( checkEval(fkt) ) {
		window.dhtmlState.action = fkt;
	}
	return window.dhtmlState.action;
}


//SortierungsAuswahl
function  suche_sortierungs_auswahl () {
	var starr = getSteuerLeiste ();
	var sortierung_value = starr[0];
/*	if ( sortierung_value && ($("#orderBy") != null)) {
		switch ( sortierung_value ) {
			// case "fdown":	$("#orderBy").val('e:start_date');	$("#order").val('desc');  break;
			case "fdown":	$("#orderBy").val('');	$("#order").val('desc');  break;
			case "fup":	$("#orderBy").val('');	$("#order").val('asc');	break;
			case "pup":	$("#orderBy").val('g:price');	$("#order").val('asc');	break;
			case "pdown":	$("#orderBy").val('g:price');	$("#order").val('desc');	break;
			case "mup":	$("#orderBy").val('g:brand');	$("#order").val('asc');	break;
			case "mdown":	$("#orderBy").val('g:brand');	$("#order").val('desc');	break;
			default:	$("#orderBy").val('');	$("#order").val('desc');	break;
		}
	}
*/
}

suche_onload = function () {
	set_sortierungs_auswahl_onload ();
	suche_sortierungs_auswahl ();
	showVerticalMerkzettel ( "sortierung" );
	$('.thumbnailRotatorWrapperVertical').each(function() {
		thumbnailRotatorWrapperElements(this);
	});
	
	searchform_mn_submit();

}

set_steuerung_auswahl_onload = function () {
	var proSeiteAuswahl = document.getElementById('proSeiteAuswahl');
	var starr = getSteuerLeiste ();
	if ( proSeiteAuswahl ) {
		switch ( starr[1] ) {
			case "8":	proSeiteAuswahl.options[0].selected = true ;  break;
			case "16":	proSeiteAuswahl.options[1].selected = true;	break;
			case "32":	proSeiteAuswahl.options[2].selected = true;	break;
			case "64":	proSeiteAuswahl.options[3].selected = true;	break;
			default:	proSeiteAuswahl.options[2].selected = true;	break;
		}
	}
}

function  set_sortierungs_auswahl_onload () {

	var sortierung = document.getElementById('SortierungsAuswahl');
	var starr = getSteuerLeiste ();
	if ( sortierung ) {
		switch ( starr[0] ) {
			case "fdown":	sortierung.options[0].selected = true ;  break;
			case "fup":	sortierung.options[0].selected = true;	break;
			case "pup":	sortierung.options[1].selected = true;	break;
			case "pdown":	sortierung.options[2].selected = true;	break;
			case "mup":	sortierung.options[3].selected = true;	break;
			case "mdown":	sortierung.options[4].selected = true;	break;
			default:	sortierung.options[0].selected = true;	break;
		}
	}
}


function formatSearchSuggestionsAndSkey(SKey,rows, selected_suggestion) {
	var resultsSize = rows.length;
	var suggestions = "";
	var suggestionsArray = new Array();
	var uniqueSuggestionsArray = new Array();
	var sub_suggestions_array = new Array();
	var unique_sub_suggestions_array = new Array();

	if (SKey == '') {
		$("#searcRresults").append("<div class='gruen'> Ihre Eingabe ist leer.</div>");
	}

	else if (resultsSize > 0) {
		var newsearchkey = SKey;
		if (selected_suggestion != ""){	newsearchkey = selected_suggestion;	}
		//$("#suchergebnis").css("margin-left",	"10px");

		$("#suchergebnisPara").html("<span id='anzahl'></span> <span>Suchergebnisse f&uuml;r: &nbsp; </span>\"<span id='suchWort'>" + newsearchkey +"</span>\" <span>filtern nach:</span>");
		for(var i = 0; i < resultsSize ; i++) {
			if (typeof (rows[i].data['match-item']['sub-match']['@key']) == "undefined" ) {
				//alert('sub match is an array ');
				var sub_matches = new Array ();
				sub_matches = rows[i].data['match-item']['sub-match'];

				for(var matchCtr = 0; matchCtr < sub_matches.length  ; matchCtr++) {
					sub_suggestions_array[matchCtr] = sub_matches[matchCtr]['@key'];
				}
				unique_sub_suggestions_array = getUniqueArray(sub_suggestions_array);
				var sub_matches_string = "";

				for(var matchCtr1 = 0; matchCtr1 < unique_sub_suggestions_array.length  ; matchCtr1++) {

					if (unique_sub_suggestions_array[matchCtr1] != SKey) {
						sub_matches_string += unique_sub_suggestions_array[matchCtr1] + " ";
					}
				}
				sub_matches_string = $.trim(sub_matches_string);
				suggestionsArray[i] = sub_matches_string;
			} else {

				suggestionsArray[i] = $.trim(rows[i].data['match-item']['sub-match']['@key']);
			}
		}

		suggestionsArray.sort();
		uniqueSuggestionsArray = getUniqueArray(suggestionsArray);
		for(i = 0; i < uniqueSuggestionsArray.length && i <= 10 ; i++) {
			var searchSuggestion_spanid = 'searchSuggestion_'+i;

			if (uniqueSuggestionsArray[i] != SKey && uniqueSuggestionsArray[i] != '') {
				suggestions += "<a href=\"javascript:callSearchSubmit('"+searchSuggestion_spanid+"')\" onclick=\"\"><span id='"+searchSuggestion_spanid+"'>";
				suggestions += uniqueSuggestionsArray[i];
				if (i == uniqueSuggestionsArray.length-1 || i == 10 ) {
					suggestions += "</span></a>"
				} else {
					suggestions += "</span></a>&nbsp;-&nbsp;"
				}
			}
		}
		if (suggestions != '' && suggestions != ' ') {


			$("#verwandte_suchbegriffe").html("Verwandte Suchbegriffe: &nbsp;" + suggestions +"");
		}
	} else {

	}
}

function formatSearchResultItem(row) {
	var prodHtml ="";
	var id = row.nodeRef['g:id']['$'];
	var image_link = "";
	if(typeof(row.nodeRef['g:image_link']) != "undefined") {
		image_link = row.nodeRef['g:image_link']['$'];
	}
	image_link = formatImages(image_link) ;
	if(typeof(row.suggestion)!= "undefined")
	{
		//prodHtml = "<div id=SuchVorschlag>Meinten Sie: " + row.suggestion['$'] + "</div>";
	}
	if(typeof(row.nodeRef) != "undefined")
	{
		var produktURL =  formatproduktURL(id);
		prodHtml += "<div class='suchprodukt'>";
		prodHtml += "<div class='SuchElementImage'><a href=javascript:loadProdukt("+id+",false,true)> <img ' src='";
		if(typeof(image_link) != "undefined") {	prodHtml +=   image_link; }
		prodHtml +="'/></a></div>";
		prodHtml += "<div id=SuchElementBezeichnung><p class=SuchElementMarke>";
		prodHtml += "<a href=javascript:loadProdukt("+id+",false,true)>";
		if(typeof(row.nodeRef['g:brand']) != "undefined") prodHtml += row.nodeRef['g:brand']['$'] ;
		prodHtml += "</a>";
		prodHtml += "<a href=javascript:loadProdukt("+id+",false,true)>";
		if(typeof(row.nodeRef['title']) != "undefined") prodHtml += formatTitle(row) ;
		prodHtml += "</a></p></div>";
		if(typeof(row.nodeRef['e:currency']) != "undefined") prodHtml += "<div class='SuchElementPreis'>&euro;&nbsp;";
		if(typeof(row.nodeRef['g:price']) != "undefined") prodHtml += formatPrice(row) ;
		prodHtml += "</div>"; // end of suchElementBezeichnung div
		prodHtml += "</div>"; // end of suchprodukt div
		return prodHtml;
	}
	return prodHtml;
}

function formatImages (image_link)
{
	var image_link_array = new Array();
	image_link_array = image_link.split("_");
	image_link = image_link_array[0]+"_mini.jpg";
	return image_link;
}


function formatproduktURL(id) {
	var produktURL  = "";
	var idby1000 = parseInt(parseInt(id)/1000);
	produktURL += "/produkte/"+ idby1000 +"/"+id+".html";
	return produktURL;
}


function showProduktHerren (id){
	var produktURL = formatproduktURL(id);
	$.get(produktURL, function(data) {
		var htmlData = data;
	});
}


function formatSuggestions(rows) {
	var suggestion_rows = new Array();
	for (var i=0; i<rows.length; i++){
		if(typeof(rows[i].data.suggestion)!= "undefined")
		{
			suggestion_rows[i] = rows[i];
		}
	}
	return suggestion_rows;
}

function formatTitle(row) {
	var g_brand =  row.nodeRef['g:brand']['$'];
	var title =  row.nodeRef['title']['$'];
	var g_price =  row.nodeRef['g:price']['$'];
	var e_currency =  row.nodeRef['e:currency']['$'];
	title = title.replace(g_brand, "" );
	title = title.replace(/damen/gi, "" );
	var woerter = title.split(" ");
	var titleWithoutNumbers = "";
	for (var i=0;i<woerter.length;i++){
		var found = false;
		for (var j=0; j<woerter[i].length; j++) {
			var num = parseInt(woerter[i].charAt(j));
			if ( num >=0 && num <= 9 ) {
				found=true;
				break;
			}
		}
		if ( !found ) titleWithoutNumbers += woerter[i] + " ";
	}
	return titleWithoutNumbers;
}

function formatPrice(row) {
	var g_price =  row.nodeRef['g:price']['$'];
	var priceAfterSplit = g_price.split('.');
	var priceEuros = priceAfterSplit[0];
	var priceCents = priceAfterSplit[1];
	if(typeof( priceAfterSplit[1]) == "undefined") {
		priceCents = "00";
	} else if ( priceCents.length == 1) {
		priceCents = priceCents+"0";
	}
	return priceEuros + "," +priceCents;
}

function formatProduktURL(image_link) {
	if(typeof(image_link != "undefined")){
		if (window.location.protocol == "https:") {
			image_link = image_link.replace('http://', 'https://');
		}
	}
	return image_link;
}


function getUniqueArray(array) {
	tempArray = new Array();
	for(i=0; i<array.length; i++){
		if(!contains(tempArray, array[i])){
			tempArray.length += 1;
			tempArray[tempArray.length-1] = array[i];
		}
	}
	return tempArray;
}

function contains(array, arrayContent) {
	for(j=0; j<array.length; j++){
		if(array[j] == arrayContent){
			return true;
		}
	}
	return false;
}

function TextOnlyTypeAhead(row){
	var prodHtml = "";
	if(typeof(row.suggestion)!= "undefined")
	{
		var suggestion = row.suggestion['$']
		var match = row.suggestion['@match'];
		var highlighRegEx = new RegExp(row.suggestion['@match'], "gi");
		var sugessionSKey = suggestion.replace(highlighRegEx, '<b>'+ match +'</b>');
		prodHtml += "<div style=\"height:15px;\">";
		prodHtml += sugessionSKey;
		prodHtml += "</div>";

	} else {
	}
	return prodHtml;
}

function parseJsonAsRows(data)
{
	var items = new Array();
	if(typeof(data.result.items) != "undefined")
	{
		var resultitems = data.result.items.item;
		if(typeof(resultitems[0]) != "undefined")
		{
			//many items
			for(var i=0; i<resultitems.length; i++){
				items[resultitems[i]['g:id']['$']] = resultitems[i];
			}
		}
		else
		{
			//only one item
			items[resultitems['g:id']['$']] = resultitems;
		}
	}

	var rows = new Array();
	if(typeof(data.result.findings)!= "undefined")
	{
		data = data.result.findings.finding;
		if(typeof(data[0]) != "undefined")
		{
			//many finding
			for(var i=0; i<data.length; i++){
				if(typeof(data[i]["match-item"]) != "undefined")
				{
					data[i].nodeRef = items[data[i]["match-item"]["@node_ref"]];
				}
				rows[i] = { data:data[i], value:'val', result:'res' };
				if(typeof(data[i].suggestion)!= "undefined")
				{
					rows[i].result = data[i].suggestion['$'];
				}
			}
		}
		else
		{
			//only one finding
			if(typeof(data["match-item"]) != "undefined")
			{
				data.nodeRef = items[data["match-item"]["@node_ref"]];
			}
			rows[0] = { data:data, value:'val', result:'res' };
			if(typeof(data.suggestion)!= "undefined")
			{
				rows[0].result = data.suggestion['$'];
			}
		}
	}
	return rows;
}


function getQueryStringParameterValue(parameterName)
{
	var default_="";
	parameterName = parameterName.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regex = new RegExp("[\\?&]"+parameterName+"=([^&#]*)");
	var locationHREF = regex.exec(window.location.href);
	if(locationHREF == null)
	return default_;
	else
	return locationHREF[1];
}

var actFilterElement = "";

function showfilter(filter) {
	if ( filter == actFilterElement ) return;
	if ( actFilterElement != "" ) hidefilter (actFilterElement);
	actFilterElement = filter;
	
	//$('ul#'+ filter).attr('class', 'filterheight0');
	$('ul#'+ filter).removeClass('filterheight300');
	if ( $('ul#'+ filter)[0].scrollHeight ) {
		if ( $('ul#'+ filter)[0].scrollHeight > 60 ) $('ul#'+filter).removeClass('filterheight53');
	}
	else {
		 $('ul#'+ filter).removeClass('filterheight53');
	}

	
	$('div#div'+ filter+' p#pfeil').hide();
	
	if ($('ul#'+ filter).height() > 300) {
		//$('ul#'+ filter).attr('class', 'filterheight300');
		$('ul#'+ filter).addClass('filterheight300');
		$('ul#'+ filter).removeClass('filterheight53');
	
		$('ul#'+ filter).css('overflow-y', 'auto');
	}
}

function hidefilter(filter) {
	actFilterElement = "";
	//$('ul#'+filter).attr('class', 'filterheight53');
	$('ul#'+filter).addClass('filterheight53');
	$('ul#'+filter).removeClass('filterheight300');
	$('ul#'+filter).css('overflow-y', 'hidden');
	$('div#div'+filter+' p#pfeil').show();
}

showSearchHelp = function () {
	var helpCookie = getCookie ( "DePauli_Search_Help_Shown" );
	if ( helpCookie == 0 ) { // if no cookie found
		$('#searchHelp').css("display", "block");	
		$('#helpImage').css("display", "block");
		searchWidth = $("#searchOverview").width();
		searchWidth += 40;
		produktOffset = $("#produktSeite").offset();
		$('#searchHelp').css("height", $(document).height());
		$('#helpImage').css("top", produktOffset.top);
		$('#helpImage').css("left", searchWidth);
	}
}

hideSearchHelp = function () {
	var expireDate=new Date();
	var ten = 0;
	if ((expireDate.getFullYear() % 4) == 0 ){
		expireDate.setDate(expireDate.getDate()+3653);
	} else {
		expireDate.setDate(expireDate.getDate()+3652);
		ten = expireDate.getFullYear();
		if ((ten % 4) == 0 ){ //
		expireDate.setDate(expireDate.getDate()+1);
		}
	}
	setCookie( "DePauli_Search_Help_Shown", "true", expireDate);
	//$('#searchHelp').css('display','none');
	//$('#helpImage').css('display','none');
	var div = document.getElementById('searchHelp');
	var img = document.getElementById('helpImage');

	if ( div ) div.style.visibility	= "hidden";
	if ( img ) img.style.visibility	= "hidden";

}


/******************************************************************
 * Encoder/Decoder Funtionen für Umlaute und Anführungszeichen.
 ******************************************************************/
 
encodeParam = function ( param ) { 
	var ret = ""; 

	ret = param.replace(/'/g, "*prime*" );
	ret = ret.replace(/"/g, "*quote*" );
	ret = ret.replace(/&/g, "*amp*" );
	ret = ret.replace(/\+/g, "*plus*" );
	ret = ret.replace(/\%2B/g, "*plus*" );

	return ( ret ); 
}

decodeParam = function ( param ) {
	var ret = ""; 

	ret = param.replace(/\*prime\*/g, "'" );
	ret = ret.replace(/\*quote\*/g, "\"" );
	ret = ret.replace(/\*amp\*/g, "&" );
	ret = ret.replace(/\*plus\*/g, "%2B" );

	return ( ret ); 
}

function decode_utf8( s )
{
	var s1 = decodeURIComponent( s );
	var s2 = unescape( s1 );
	
	return s2;
}

encodeUmlaute = function ( param ) {
	var ret = "";

	ret = param.replace(/ä/g, "aelig" );
	ret = ret.replace(/ü/g, "uelig" );
	ret = ret.replace(/ö/g, "oelig" );
	ret = ret.replace(/Ä/g, "Aelig" );
	ret = ret.replace(/Ü/g, "Uelig" );
	ret = ret.replace(/Ö/g, "Oelig" );
	ret = ret.replace(/ß/g, "szlig" );

	return ( ret );
}

decodeUmlaute = function ( param ) {
	var ret = "";

	ret = param.replace(/aelig/g, "ä" );
	ret = ret.replace(/uelig/g, "ü" );
	ret = ret.replace(/oelig/g, "ö" );
	ret = ret.replace(/Aelig/g, "Ä" );
	ret = ret.replace(/Uelig/g, "Ü" );
	ret = ret.replace(/Oelig/g, "Ö" );
	ret = ret.replace(/szlig/g, "ß" );

	return ( ret );
}


/******************************************************************
 * Wartebildschirm anzeigen.
 ******************************************************************/
showWaitWrapper = function () {
        var mainCol     = $('#searchResultsWrapper');
        var waitWrapper = $('#waitWrapper');
        if ( mainCol ) {
                var height = mainCol[0].offsetHeight;
                waitWrapper.css("height", height + "px");
        }

        waitWrapper.show();
}

hideWaitWrapper = function () {
        $('#waitWrapper').hide();
}

