/************************************************************************/
/******* SUCHE FUNKTIONEN ***********************************************/
/************************************************************************/
/**************************************************************
* Globale Strukturen
**************************************************************/


/**
* Globaler Speicher mit den wichtigsten Applikationsdaten.
*/

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);
		}
	});
}


window.dhtmlState = {
	fireHistoryChange: 	true,
	searchLocation:		"",
	SKey:				"",
	action:				"",
	menu_action:		"",
	shownProdNr:		"",
	onRefreshPage:		true,
	onSubmitPage:		false,
	loadFirstProdNr:	true,
	epoqFirstProdNr:	0,
	aktPage:		1
};



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 = "";

getSteuerLeiste = function () {
	var ret = new Array ();

	ret[0]	= "fdown";	// fdown=New Fashion absteigend; pdown=Preis absteigend; mdown=Marken Absteigend
	ret[1]	= 26;		// Produkte pro Seite
	ret[2]	= 1;		// aktuelle Seite

	var steuerung = getCookie ( "DePauli_Steuerung" );
	if ( steuerung != "" ) {
		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, katmenu, sale, marke, changeHistory, showProduktListe, withInitSteuerung, page, sf_farben, sf_preis_min, sf_preis_max, sf_marken, sf_groessen, sf_stil, sf_muster, sf_material, sf_form, SRNr,skey,prodNr ) {



	$("#searchOverview").show();
	
	skey = skey.replace(/\'/gi, " ");

	window.dhtmlState.aktPage	= page;

	var org_parentid		= escape(parentid);
	var org_gruppe			= escape(gruppe);

	var org_marke			= marke;
	var hist_marke			= unescape(marke);
	org_marke			= org_marke.replace(/\%2B/g, "%252B");
	hist_marke			= hist_marke.replace(/\+/g, "%2B" );

	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);

	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 );
	marke				= unescape ( marke );

	if ( sf_preis_min == "" ) sf_preis_min = 0;
	if ( sf_preis_max == "" ) sf_preis_max = 10000;


	$("#sucheinstellungen" ).show();

	// Neue Seite in der Historie im Browser registrieren.
	if ( (typeof changeHistory == "undefined" || changeHistory) && prodNr > 0 ) {
		 // commented
		var tt                  = new Date ();

		var modifiedLocation    = "loadMenu('" + org_parentid + "','" + org_gruppe + "'," + katnr + "," + pewnr1 + "," + pewnr2 + "," + mann + "," + frau + "," + accessoires + "," + specials + ",'" + katmenu + "'," + sale + ",'" + org_marke + "',false," + showProduktListe + "," + withInitSteuerung + "," + page + ",'" + sf_farben + "'," + sf_preis_min + "," + sf_preis_max + ",'" + org_sf_marken + "','" + sf_groessen + "','" + sf_stil + "','" + sf_muster + "','" + sf_material + "', '" + sf_form + "', " + SRNr + ", '" + skey + "', " + prodNr + ")";
			window.dhtmlState.fireHistoryChange = false;
			window.dhtmlState.action	= modifiedLocation;
			dhtmlHistory.add("#"+modifiedLocation, null );
	} else {
		if((typeof changeHistory != "undefined" && changeHistory) && (sf_farben != "" || sf_marken != "" || sf_stil != "" || sf_muster != "" || sf_material != "" || sf_form != "")) {

			var modifiedLocation    = "loadMenu('" + org_parentid + "','" + org_gruppe + "'," + katnr + "," + pewnr1 + "," + pewnr2 + "," + mann + "," + frau + "," + accessoires + "," + specials + ",'" + katmenu + "'," + sale + ",'" + org_marke + "',false," + showProduktListe + "," + withInitSteuerung + "," + page + ",'" + sf_farben + "'," + sf_preis_min + "," + sf_preis_max + ",'" + sf_marken + "','" + sf_groessen + "','" + sf_stil + "','" + sf_muster + "','" + sf_material + "', '" + sf_form + "', " + SRNr + ", '" + skey + "', " + prodNr + ")";

			window.dhtmlState.fireHistoryChange = false;
			window.dhtmlState.action	= modifiedLocation;
			dhtmlHistory.add("#"+modifiedLocation, null );
		}
	}

	window.dhtmlState.action =     "loadMenu('" + org_parentid + "','" + org_gruppe + "'," + katnr + "," + pewnr1 + "," + pewnr2 + "," + mann + "," + frau + "," + accessoires + "," + specials + ",'" + katmenu + "'," + sale + ",'" + org_marke + "',false," + showProduktListe + "," + withInitSteuerung + "," + page + ",'" + sf_farben + "'," + sf_preis_min + "," + sf_preis_max + ",'" + sf_marken + "','" + sf_groessen + "','" +  sf_stil + "','" + sf_muster + "','" + sf_material + "','" + sf_form + "'," + SRNr + ", '" + skey + "', " + prodNr + ")" ;
	window.dhtmlState.menu_action = window.dhtmlState.action;

	var loadProd = true;
	if ( prodNr > 0 && (typeof changeHistory != "undefined" && changeHistory)) {
		window.dhtmlState.epoqFirstProdNr	= prodNr;
		//loadProd				= false;
		showProduktListe			= false;
	}

	if ( showProduktListe ) {
		var starr = getSteuerLeiste ();

		if ( typeof withInitSteuerung == "undefined" || withInitSteuerung ) {

			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, katmenu, true, true, true, sale, org_marke, 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 );
		}

		if (prodNr > 0) {
			window.dhtmlState.loadFirstProdNr = false;
		} else {
			window.dhtmlState.loadFirstProdNr = true;
		}

	loadListe ( katnr, pewnr1, pewnr2, false, false, false, specials, false, true, true, sale, org_marke, 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, SRNr, skey);

	} // if showProduktListe



	/*
	var addHistory = true;
	if (changeHistory == true) {
		addHistory = false;
	} else {
		addHistory = true;
	}
	*/

	if ( prodNr > 0 && loadProd ) {
		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");

		if (window.dhtmlState.loadFirstProdNr) {
			var htmlIdArray		= html.split("\"");
			var firstProduktIdArray = htmlIdArray[2].split("'")
			loadProdukt(firstProduktIdArray[1],false,false);
		}

		element.innerHTML		= html + "<div class='floatleft' id='SteuerunglistUnten'><div class='font12 floatleft' id='pLabel'>Seite</div><div class='pagination floatleft' id='paginationDiv'></div></div>";

		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>";

	}

	$("div#searchResultsWrapper").scrollTop(0);
	window.scrollTo (0,0);

}


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, SRNr, skey ) {

	$('#searchResults').html( "<div id='warten_gif_sr'><img src='/images/ajax-loader-herren.gif'></div>");

	akt_seite_pagination = 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_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 != "" ) {
		var pe		= eigenschaften.split("::");
		var anzahl	= parseInt(pe[0]);


		if (window.dhtmlState.onRefreshPage) {
			$("#suchergebnisPara").html("<span id=\"anzahl\">"+
			anzahl+
			"</span> <span>Suchergebnisse f&uuml;r: &nbsp; </span>\"<span id=\"suchWort\"> &nbsp;&nbsp; " +
			"</span>\" <span> filtern nach: </span>");
		} else {
			$("#anzahl").html(anzahl+"&nbsp;&nbsp;");

		}
		/**/
		if (window.dhtmlState.onSubmitPage == false) {
			$("#suchWort").html("");

			//get skey from srnr or param in loadMenu
		}


		global_anzahl = anzahl;


		if (anzahl == 0) {
			$('#searchResults').html( "<div id='leerSR' style='position: relative; top: 40px; left: 5px;'> Keine produkte gefunden f&uuml;r Ihre Auswahl</div>");

		}

		var stl	 = getSteuerLeiste ();

		var srnr_changed = false;
		var pfeil = "<p id=\"pfeil\"></p></div>";
		var SuchFarben = SuchMarken = SuchStil = SuchForm = SuchMuster = SuchMaterial = "";


		if ( pe.length > 2 ) {
			/*** PEigenschaften / Sucheeinschränkungen anzeigen ***/
			/** Farben **/

			SuchFarben = pe[1];
			SuchFarben = SuchFarben.replace("<ul", ""+pfeil+"<ul class=\"filterheight53\"");
			SuchFarben = SuchFarben.replace("zur&uuml;cksetzen","l&ouml;schen");

			var html = "<div id=\"SuchEigenschaften\" >";
			html += "<div id=\"divSuchFarben\" onmouseover=\"showfilter('SuchFarben')\"><div id=\"border\"><span>Farben:</span>";
			html += SuchFarben;
			html += "</div>";


			SuchMarken = pe[4];
			SuchMarken = SuchMarken.replace("<ul", ""+pfeil+"<ul class=\"filterheight53\"");
			SuchMarken = SuchMarken.replace("zur&uuml;cksetzen","l&ouml;schen");

			html += "<div id=\"divSuchMarken\" onmouseover=\"showfilter('SuchMarken')\"><div id=\"border\"><span>Marken:</span>";
			html += SuchMarken;
			html += "</div>";

			if ( (typeof pe[5] != 'undefined') && pe[5] != "" ) {

				SuchStil = pe[5];
				SuchStil = SuchStil.replace("<ul", ""+pfeil+"<ul class=\"filterheight53\"");
				SuchStil = SuchStil.replace("zur&uuml;cksetzen","l&ouml;schen");

				html += "<div id=\"divSuchStil\" onmouseover=\"showfilter('SuchStil')\"><div id=\"border\"><span>Stil:</span>";
				html += SuchStil;
				html += "</div>";
			}

			if ( (typeof pe[6] != 'undefined') && pe[6] != "" ) {

				SuchForm = pe[6];
				SuchForm = SuchForm.replace("<ul", ""+pfeil+"<ul class=\"filterheight53\"");
				SuchForm = SuchForm.replace("zur&uuml;cksetzen","l&ouml;schen");

				html += "<div id=\"divSuchForm\" onmouseover=\"showfilter('SuchForm')\"><div id=\"border\"><span>Form:</span>";
				html += SuchForm;
				html += "</div>";
			}

			if ( (typeof pe[7] != 'undefined') && pe[7] != "" ) {

				SuchMuster = pe[7];
				SuchMuster = SuchMuster.replace("<ul", ""+pfeil+"<ul class='filterheight53'");
				SuchMuster = SuchMuster.replace("zur&uuml;cksetzen","l&ouml;schen");

				html += "<div id=\"divSuchMuster\" onmouseover=\"showfilter('SuchMuster')\"><div id=\"border\"><span>Muster:</span>";
				html += SuchMuster;
				html += "</div>";
			}

			if ( (typeof pe[8] != 'undefined') && pe[8] != "" ) {

				SuchMaterial = pe[8];
				SuchMaterial = SuchMaterial.replace("<ul", ""+pfeil+"<ul class=\"filterheight53\"");
				SuchMaterial = SuchMaterial.replace("zur&uuml;cksetzen","l&ouml;schen");

				html += "<div id=\"divSuchMaterial\" onmouseover=\"showfilter('SuchMaterial')\"><div id=\"border\"><span>Material:</span>";
				html += SuchMaterial;
				html += "</div>";
			}

			if (typeof pe[10] != 'undefined' && pe[10] != "") {
				page = parseInt(pe[10]);
				window.dhtmlState.aktPage	= page;
			}

			if (typeof pe[11] != 'undefined' && pe[11] != "") {
				skey = pe[11];
				$("#suchWort").html(skey);
			}

			// Hier wird SRNr von php zum loadMenu funktion hinzugefügt
			if ( (typeof pe[9] != 'undefined') && pe[9] != "" && pe[9] > 0 ) {
				// Neue Seite in der Historie im Browser registrieren.
				var SRNr				= pe[9];
				var tt                  = new Date ();

				if (srnr_global == 0 && SRNr != srnr_global && (window.dhtmlState.onRefreshPage == false)) {
					srnr_global = SRNr;
					var prodNr = window.dhtmlState.epoqFirstProdNr;
					var skey = window.dhtmlState.SKey;
					var modifiedLocation    = "loadMenu('','Bekleidung',0,0,0,false,false,false,false,'katmenu',false,'',false,true,false,0,'',0,10000,'','','','','', '', " + SRNr + ", '" + skey + "', " + prodNr + ")";
					window.dhtmlState.fireHistoryChange = false;
					dhtmlHistory.add("#"+modifiedLocation, null );
					window.dhtmlState.action = modifiedLocation;
					window.dhtmlState.menu_action = modifiedLocation;
					loadProdukt(window.dhtmlState.epoqFirstProdNr,false,false);
					refresh_pagination_menu (0);
				} else {
					var action = unescape(window.dhtmlState.action);
					var paramArray = getPageNumber(action);
					refresh_pagination_menu(paramArray[15]);
				}
			}

			html += "</div>";
			element.innerHTML		= html;
		}
	}
	else {
		if ( element ) element.innerHTML = "&nbsp;";
	}

}


loadPEigenschaften = function ( 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) {

	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, loadPEigenschaftenX );

}


/**************************************************************
* AJAX Funktionen zum Nachladen von statischen HTML-Seiten.
**************************************************************/
loadProduktX = function ( produkt_html ) {
	var produkt  = document.getElementById("produktSeite");

	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) {}
			}
		}

		//produkt.innerHTML           = doScript;
		//produkt.style.visibility    = "visible";
		//setSearchResultsHeight ();

		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);
		}

	}
	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;
			//$(innerDiv).width(totalWidth);
	
			var arrowLeftDiv = $(innerDiv).parent().prev();
			var arrowRightDiv = $(innerDiv).parent().next();
	
			switch (direction) {
				case 'start':
					$(innerDiv).css('marginLeft', '0px');
					$(arrowLeftDiv).addClass('thumbnailRotatorLeftOff');
					$(arrowLeftDiv).removeClass('thumbnailRotatorLeftOn');
					$(arrowRightDiv).addClass('thumbnailRotatorRightOn');
					$(arrowRightDiv).removeClass('thumbnailRotatorRightOff');
					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;
			}
		},
	
	
		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) {
			$('.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 {
			$('.thumbnailRotatorArrowLink').show();
			$('.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');
		}
	});

	$('.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;
	var info  = document.getElementById("produktSeite");
	info.innerHTML		= "<div id='warten_gif_ps'><img src='/images/warten.gif'></div>";

	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 27: fkt += ",'"+ ProdNr+"'"; break;	// change ProduktNr = false;
				default:
				if ( i > 0 ) fkt += ",";
				fkt += fa3[i];
				break;
			}
		}
		fkt += ")" + fa2[1];
		dataAction = fkt;
	}

	var modifiedLocation = dataAction;
	window.dhtmlState.action	= modifiedLocation;

	//if (window.dhtmlState.loadFirstProdNr == false) {
	if (typeof addHistory == 'undefined') {
		addHistory = true;
	}
	
	if (addHistory) {
		window.dhtmlState.fireHistoryChange = false;
		dhtmlHistory.add("#"+modifiedLocation, null );
	}
	//}
	x_getProdukt(ProdNr, meta, loadProduktX);
}


/******************************************************************
* 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[15];
		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[15];

	}

	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 ) {
			/* XXX
			case "startSearch":
			ret = true;
			break;*/
			case "loadMenu":
			ret = true;
			break;
		}
	}
	return ( ret );
}


$(document).ready(function() {
	$("#searchOverview").hide();

	$("#searchform_mn").submit(function() {
		$("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;
		
		var locationHREF = window.location.href;
		
		var returnVal = false;
		srnr_global = 0;
		if (skey != "" && locationHREF.search(/de\/suche\.php/) != -1) {
			
			loadMenu( "menu_th_SEARCH", "SUCHE",0,0,0,false,false,false,false,'katmenu',false,'',false,true,true,0,'',0,10000,'','','','','','',0,skey,0 );
			
			return false;
		} else {
			if (skey !="") {
				return true;
			} else {
				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();
					}
				}

			});
		}
	*/		
	
	
	/* 20111104: pb: Herausgenommen, da dies in der Datei suche.php dazu führt, dass die suche doppelt aufgerufen wird, da ein Onclick ebenfalls hinterlegt ist.
	$("#submitSpan_mn").click(function() {
		$("#searchform_mn").submit();
	});
	*/
	

	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);

	}
}

/* this function will be called  only  when a search request ist sent to epoq*/
function startSearch(skey,page,produktid)
{
	var orderByVal = $("#orderBy").val();
	var orderVal = $("#order").val();
	var localKeyVal = $("#locakey").val();
	var matchAttrVal = $("#matchAttr").val();
	var matchValueVal = $("#matchValue").val();

	var url = searchServer + "?tenantId=herrenausstatter&format=json&ie=ISO-8859-1&pretty=true&query=" + skey +"&full" + "&sessionId=" + sessionId + "&orderBy=" + orderByVal
	+ "&order=" + orderVal + "&locakey=" + localKeyVal + "&matchAttr=" + matchAttrVal  + "&matchValue=" + matchValueVal;

	offset = 0;
	if (skey != "") {
		/**
		 * 11.05.2011 (pb): Keine Anzeige der Suchhilfe.
		 * if (!(browserName == "Explorer" &&  browserVer == 6)) showSearchHelp();
		 */
		get_search_produkt_ids(url);
		getSearchResult(url,"");
		window.dhtmlState.onRefreshPage = false;
	} else {
	}
}

function getSearchResult(searchurl,selected_suggestion)
{
	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();
				$("#sucheinstellungen").html("");
				$("#produktSeite").html("");
			}

			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];
	per_page = 26;

	var modifiedLocation = window.dhtmlState.action;
	modifiedLocation = change_page_in_loadmenu_call ("__id__");
	modifiedLocation = "#" + 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 12: fkt += ",true"; break;		// changeHistory = true
				case 14: fkt += ",false"; break;	// withInitSteuerung = false;
				case 15: fkt += "," + page; break;	// aktuelle Seite.
				case 27: fkt += ",0" ; break;	// prodNr.
				default:
				if ( i > 0 ) fkt += ",";
				fkt += fa3[i];
				break;
			}
		}
		fkt += ")" + fa2[1];
		dataAction = fkt;
	}

	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";
	for ( var i=0; i<fa3.length; i++ ) {
		switch ( i ) {
			case 12: fkt += ",false"; break;    // changeHistory = false
			//case 14: fkt += ",false"; break;  // withInitSteuerung = false;
			case 15: fkt += "," + page; break;  // aktuelle Seite.
			case 27: fkt += ",0" ; break;	// prodNr.
			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;
		dhtmlHistory.add(modifiedLocation, null );
	} 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 ()
}

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 checkScriptBeforeSubmit() {
	var sKey = htmlspecialchars($("#searchbox_mn").val());
	sKey =  sKey.replace("#", '');
	sKey = $.trim(sKey);

	var locationHREF = window.location.href;
	if (locationHREF.search(/de\/suche\.php/) != -1) {
		if(sKey == ""){
			//sKey = getQueryStringParameterValue("searchbox_mn");
			$("#searchbox_mn").val(sKey);
		}
		$("#searchform_mn").submit();
	} else {
	}
}

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];
}

function setSearchResultsHeight () {
	var produktSeiteWrapperHeight = 0;
	produktSeiteWrapperHeight = $("div#produktSeiteWrapper").height();
	$("div#searchResultsWrapper").css("height", $(window).height());
}

var actFilterElement = "";

function showfilter(filter) {
	if ( filter == actFilterElement ) return;
	if ( actFilterElement != "" ) hidefilter (actFilterElement);
	actFilterElement = filter;
	$('ul#'+filter).attr('class', 'filterheight0');
	$('div#div'+filter+' p#pfeil').hide();
	if ($('ul#'+filter).height() > 300) {
		$('ul#'+filter).attr('class', 'filterheight300');
		$('ul#'+filter).css('overflow-y', 'auto');
	}
}

function hidefilter(filter) {
	actFilterElement = "";
	$('ul#'+filter).attr('class', 'filterheight53');
	$('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";

}

