/******************************************************************
* EPOQ Volltextsuche
*******************************************************************/


/**************************************************************
* Globale Strukturen
**************************************************************/

var useImageScroll = true;

/**
* Globaler Speicher mit den wichtigsten Applikationsdaten.
*/

window.dhtmlState = {
	changeHistory:		true,
	searchLocation:		"",
	SKey:				""
};

var searchServer = "http://search.epoq.de/inbound-servletapi/getSearchResult";
var tenantId = "lloydstore";
var sessionId = getEPOQCookie ( "lloydstoreSessionID" );
var limit = 8;
var offset = 0;

/**
* Initialisiere das Historien-Objekt.
*/
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);
		}
	});
}


$(document).ready(function() {

	/* Start der History Aufzeichnung */
	if ( useHistoryChange ) {
		// initialize the DHTML History framework
		dhtmlHistory.initialize();

		// add ourselves as a DHTML History listener
		dhtmlHistory.addListener(handleHistoryChange);
	}


	loadSearchHTML (true);


	// input logic
	var fillInputWithTitle = function() {
		if ($(this).attr('title') && ($(this).val() == '' || $(this).val() == $(this).attr('title'))) {
			$(this).val($(this).attr('title'));
			$(this).addClass('inputDefaultValue');
		}
	};

	var removeTitleFromInput = function() {
		if ($(this).hasClass('inputDefaultValue') && $(this).val() == $(this).attr('title')) {
			$(this).val('');
			$(this).removeClass('inputDefaultValue');
		}
	}

	$('input[type=text]').each(fillInputWithTitle);
	$('input[type=text]').blur(fillInputWithTitle);
	$('input[type=text]').bind('click focus', removeTitleFromInput);
	$('form').bind('submit', function() {
		$('input[type=text]').each(removeTitleFromInput);
	});


	$("#searchform").submit(function() {

		loadSearchHTML (false);
		var key = $("#searchbox").val();
		key = htmlspecialchars(key);
		// to handle double single qoutes ====== replace '' with | in php
		var perPage = getCookie ("DePauli_MAXIPP");
		if ( perPage == "" || perPage == null || typeof(perPage) == "undefined" ) perPage = 8;

		startSearch (key,0,perPage);

		return false;
	});


	$("#searchbox").autocomplete(searchServer, {
		dataType: 'jsonp',
		parse: function(data) {
			return parseJsonAsRows(data, true);
		},
		formatItem: formatItemImage,
		extraParams: {
			q: '',
			limit: '',
			maxRows: 50,
			format: 'json',
			pretty: 'true',
			tenantId: function () { return $("#tenantId").val() },
			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() },
			displayProducts: 6,
			oe:	'iso-8859-1',
			// query: function () { return $("#searchbox").val() }
			query: 	function () { 
						return htmlspecialchars( $("#searchbox").val() );
					}
		},
		selectFirst: false,
		max: 50,
		width: 490,
		scroll: false,
		highlight: false, //highlighting is done in formatItem
		cacheLength: 0
	}).result(function(event, item) {
		var searchString ="";
		var suggestionId ="";
		if(typeof(item.suggestion)!="undefined")
		{
			if(typeof(item.suggestion['@suggestion-id'])!="undefined")suggestionId = item.suggestion['@suggestion-id'];
		}
		searchString = $("#searchbox").val() ;
		searchString = htmlspecialchars(searchString);

		var newLocation = searchServer + "?tenantId="+ $("#tenantId").val() +"&format=json&ie=ISO-8859-1&oe=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();
		newLocation += "&displayProducts=6" ;

		getSearchResult(newLocation, limit, 0);

	});

});  // document.ready() ends

var rows_global = new Array();

function getSearchResult(searchurl, key, limit, offset)
{
	var epoq_recommendationPids = new Array();
	$.ajax({
		url: searchurl,
		dataType: 'jsonp',
		data: "&limit="+limit+"&offset="+offset,
		success: function (data) {


			var searchkey = $("#searchbox").val();
			searchkey = htmlspecialchars(searchkey);
			if ( typeof (key) != "undefined" ) searchkey = key;
			
			var hitcount = 0;
			if (typeof (data["result"]["statistics"]) != "undefined") { hitcount = data["result"]["statistics"]["@hitcount"]; }
 			
			var formatedResults = "";
			formatedResults +="<meta name=\"nm.isearch.keyword\" content=\""+searchkey+"\">";
			formatedResults +="<meta name=\"nm.isearch.results\" content=\""+hitcount+"\">";

			var rows = parseJsonAsRows(data, false);
			var pageNr = parseInt(offset / limit);
			for(i = 0; i < rows.length; i++)
			{
				formatedResults+=formatSearchResultItem(rows[i].data, i, pageNr, limit );
			}

			formatSearchResultItems(formatedResults, pageNr, hitcount, rows);
		},
		error: function () {
			// alert('error'); // place here the timeout code
		}

	});
}

function callbackPagination ( page ) {
	var SKey = window.dhtmlState.SKey;
	var perPage = getCookie ("DePauli_MAXIPP");
	if ( perPage == "" || perPage == null || typeof(perPage) == "undefined" ) perPage = 8;
	startSearch ( SKey, page, perPage );
}

function formatSearchResultItems(formatedResults, pageNr, hitcount, rows ) {

	if (typeof(pageNr) == 'undefined') {
		pageNr=0;
	}

	$("#center_bild_1").hide();
	$("#center_bild_2").hide();
	$("#center_bild_3").hide();
	$("#center_bild_men_1").hide();
	$("#center_bild_men_2").hide();
	$("#center_bild_men_3").hide();
	$("#center_bild_women_1").hide();
	$("#center_bild_women_2").hide();
	$("#center_bild_women_3").hide();
	$("#center_bild_access_1").hide();
	$("#center_bild_access_2").hide();
	$("#center_bild_access_3").hide();
	$("#center_bild_access_men_1").hide();
	$("#center_bild_access_men_2").hide();
	$("#center_bild_access_men_3").hide();
	$("#center_bild_access_women_1").hide();
	$("#center_bild_access_women_2").hide();
	$("#center_bild_access_women_3").hide();
	$("#center_bild_neuheiten_1").hide();
	$("#center_bild_neuheiten_2").hide();
	$("#center_bild_neuheiten_3").hide();
	$("#center_bild_sale_1").hide();
	$("#image_menu").hide();
	$("#image_menu_vert").hide();
	$("#image_menu_hori").hide();

	$("#tab_container").hide();
	$("div #merkzettel").hide();
	$("div #warenkorb").hide();
	$("div #meinkonto").hide();
	
	useImageScroll = false;

	var menuHTML = "";
	menuHTML += "<div id=vert_div></div>";
	menuHTML += "<div id=main_menu>";
	menuHTML += "<div><a class=\"menu b\" style=\"width: 150px;\" href=\"/index_men.html\" onclick=\"window.location = 'http://www.lloydstore.de/index_men.html';\">MEN</a></div>";
	menuHTML += "<div><a class=\"menu b\" style=\"width: 150px;\" href=\"/index_women.html\" onclick=\"window.location = 'http://www.lloydstore.de/index_women.html';\">WOMEN</a></div>";
	menuHTML += "<div><a class=\"menu b\" style=\"width: 150px;\" href=\"/index_access.html\" onclick=\"window.location = 'http://www.lloydstore.de/index_access.html';\">ACCESSORIES</a></div>";
	menuHTML += "</div>";

	var mainMemuDIV = document.getElementById('main_menu');

	if (typeof(mainMemuDIV) == "undefined" || mainMemuDIV == "" || mainMemuDIV == null){
		$("div #merkzettel").before(menuHTML);
		$("div #warenkorb").before(menuHTML);
		$("div #meinkonto").before(menuHTML);
	}

	$("#resultMessages").empty();
	$("#SearchProduktliste").empty();

	var SKey = window.dhtmlState.SKey;


	/***********************
	pagination code
	***********************/

	var pro_seite = getMaxItemPerPage ();
	//var seiten_pro_result = Math.ceil(hitcount / pro_seite);

	$(".pagination").pagination (hitcount, {
		items_per_page:pro_seite,
		current_page: pageNr,
		next_text:                                         "&gt;&gt;",
		next_show_always:      false,
		prev_text:                                         "&lt;&lt;",
		prev_show_always:       false,
		num_display_entries: 10,
		link_to: "javascript: return false;",
		callback: callbackPagination
	});

	var startRowsIndex = 0;
	var endRowsIndex = 0;

	var startRowsIndex = pageNr*pro_seite;
	var endRowsIndex = (parseInt(startRowsIndex)+parseInt(pro_seite));

	formatSearchSuggestionsAndSkey(SKey, rows);
	$("#searchresult").html( "<div id='ProduktlisteContainer' style='width: 720px; min-height: 100%; padding-bottom: 15px;'><div class='SearchProduktliste' id='SearchProduktliste'></div></div>" );
	$("#SearchProduktliste").append( formatedResults );
	$("#navi").hide();
	$("#reiterContainer").hide();
	$("#result").hide();
	$("#resultMessages").show();
	$("#searchresult").show();
	$("#vert_div").css("height", "720px" );

	return formatedResults;
}

function formatSearchResultItem(row, produkt_count, page, perPage) {
	
	var prodHtml = "";
	$(".paginationMenu").show();

	if(typeof(row.nodeRef) != "undefined")
	{
		prodHtml += "<div style='position: relative; float: left;' class='SearchSuchProdukt' id='P"+produkt_count+"'>";
		var image_link =  row.nodeRef['g:image_link']['$'];
		var produkt_id = row.nodeRef['g:id']['$'];
		var produkt_url =  formatProduktURL(produkt_id);
		var key = "";
		if (window.dhtmlState.SKey != "") {
			key = window.dhtmlState.SKey;
		}
		key = "'"+key+"'";

		produkt_url += "?backurl=startSearch("+escape(key)+","+page+","+perPage+")";
		if(typeof(image_link) != "undefined")
		{
			prodHtml += ""+
			"<div class='SuchProduktHeadline'> </div> "+
			"<div style='height: 154px; text-align: center;' id='PI"+produkt_count+"'>"+
			"<div style='height: 154px;' class='SuchProduktImage'>"+
			"<a href="+produkt_url+">"+
			"<img border='0' src='" +image_link + "'></a></div>"+
			"</div>"+
			"<div class='SearchSuchProduktAbstand'> &nbsp; </div> "+
			"<div class='SearchBeschreibung' id='SearchBeschreibung'>"+
			"<div style='position: relative;' id='B"+produkt_count+"'>";
		}

		if(typeof(row.nodeRef['title']) != "undefined") {
			prodHtml += ""+
			"<div class='ProduktBezeichnung'>"+
			"<a href="+produkt_url+" class='SearchSuchProdukt'>"
			+ formatTitle(row) +
			"</a>"+
			"</div>";
		}

		prodHtml += "<div id='preis_ohne_vks_txt'> Preis: </div>";
		if(typeof(row.nodeRef['g:price']) != "undefined") {
			prodHtml += "<div class='vk' id='preis_vk'>"+ 	formatPrice(row) + " &nbsp; € </div>";
		}

		prodHtml += "</div></div>"; // SearchBeschreibung divs end
		prodHtml += "</div>"; // SearchSuchProdukt div end

		//return prodHtml;
	}
	return prodHtml;
}

/**** zeigt das search key , suggestions  in einem div ******************/

function formatSearchSuggestionsAndSkey(SKey,rows) {

	var resultsSize = rows.length;
	var suggestions = "";
	var suggestionsArray = new Array();
	var uniqueSuggestionsArray = new Array();

	$(".SearchMaxItemPerPage").show();

	if (SKey == '') {
		$(".paginationMenu").hide();
		//$("#SearchProduktliste").css("padding", "0px");
		
		$(".SearchMaxItemPerPage").hide();
		$("#resultMessages").append("<div class='gruen'> Ihre Eingabe ist leer.</div>");
		$("#resultMessages").css("top", "-192px");
	}

	else if (resultsSize > 0) {

		$("#resultMessages").append("<div id='suchergebnis'> Suchergebnis für: &nbsp;<span>" + SKey +"</span></div>");

		for(i = 0; i < resultsSize ; i++) {
			suggestionsArray[i] = rows[i].data['match-item']['sub-match']['@key'];
		}
		suggestionsArray.sort();
		uniqueSuggestionsArray = getUniqueArray(suggestionsArray);

		for(i = 0; i < uniqueSuggestionsArray.length && i < 6 ; i++) {

			var searchSuggestion_spanid = 'searchSuggestion_'+i;

			if (uniqueSuggestionsArray[i] != SKey) {
				suggestions += "<a href=\"javascript:callSearchSubmit('"+searchSuggestion_spanid+"')\" onclick=\"\"><span id='"+searchSuggestion_spanid+"'>";
				suggestions += uniqueSuggestionsArray[i];
				suggestions += "</span></a>&nbsp;"
			}
		}

		if (suggestions != '') {
			$("#resultMessages").append("<div id='verwandte_suchbegriffe'> Verwandte Suchbegriffe: &nbsp;" + suggestions +"</div>");
		}

	} else {
		$(".paginationMenu").hide();
		//$("#SearchProduktliste").css("padding", "0px");

		$("#searchresult").remove();

		$(".SearchMaxItemPerPage").hide();

		$("#resultMessages").append("<div id='suchergebnis'> Es sind keine Suchergebnisse für: &nbsp;<span>" + SKey +"  </span> gefunden </div>");
		$("#resultMessages").css("top", "-192px");

	}

}

function parseJsonAsRows(data, autocomplete)
{
	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();

	var start = 0;
	if ( autocomplete ) {
		var buf = new Array ();
		buf[0] = {headline:"<span >Führen Sie Ihre Suche durch Drücken der Eingabetaste aus.</span><span class='Produktvorschlag'>Einige Produktvorschläge:</span>"};
		rows[0] = { data:buf[0], value:'val', result:'res' };
		start = 1;
	}

	if(typeof(data.result.findings)!= "undefined")
	{
		data = data.result.findings.finding;
		if(typeof(data[0]) != "undefined")
		{
			//many finding
			for(var i=start; i<(data.length+start); i++){
				if(typeof(data[i-start]["match-item"]) != "undefined")
				{
					data[i-start].nodeRef = items[data[i-start]["match-item"]["@node_ref"]];
				}
				rows[i] = { data:data[i-start], value:'val', result:'res' };
			}
		}
		else
		{
			//only one finding
			if(typeof(data["match-item"]) != "undefined")
			{
				data.nodeRef = items[data["match-item"]["@node_ref"]];
			}
			rows[start] = { data:data, value:'val', result:'res' };
		}
	}

	return rows;
}

callSearchSubmit = function (searchSuggestionSpanId) {
	searchSuggestionSpanId = '#'+searchSuggestionSpanId;
	var selectedSearchSuggestion = $(searchSuggestionSpanId).html();
	var tmp = $(searchSuggestionSpanId).html();
	$("#searchbox").val( htmlspecialchars(tmp) );
	$("#searchform").submit();
}

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(produkt_id){
	var verz = parseInt(parseInt(produkt_id)/1000);
	var produktURL =  "/produkte/"+verz+"/"+produkt_id+".html";
	return produktURL;
}

////////////////////// Create Unique Array function ////////////////
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;
}

////////// Will check for the Uniqueness  ////////////////

function contains(array, arrayContent) {
	for(j=0; j<array.length; j++){
		if(array[j] == arrayContent){
			return true;
		}
	}
	return false;
}

function getMaxItemPerPage () {

	var sel_maxitemperpage  = document.getElementById ( "sel_maxitemperpage" );
	var maxipp = 8;
	for ( i=0; i<sel_maxitemperpage.length; i++ ) {
		if ( sel_maxitemperpage[i].selected ) {
			maxipp =  sel_maxitemperpage[i].value;
		}
	}
	return maxipp;
}

function formatItemImage(row){
	var prodHtml;
	if(typeof(row.nodeRef) != "undefined")
	{
		prodHtml = "<div class='ListElementVorschlag'>";


		var produktURL = "";

		if ( typeof(row.nodeRef['g:id']) != "undefined" ) {
			produktURL = formatProduktURL(row.nodeRef['g:id']['$']);
			//prodHtml = "<div class='ListElementVorschlag' >";
			var key = $("#searchbox").val();
			key = htmlspecialchars(key);
			//key = key.replace(/\'/g, "°°°" );
			//key = key.replace(/\'/g, " " );
			// readcookie
			var perPage = getCookie ("DePauli_MAXIPP");
			if ( perPage == "" || perPage == null || typeof(perPage) == "undefined" ) perPage = 8;
			key = "'"+key+"'";
			produktURL += "?backurl=startSearch("+escape(key)+",0,"+perPage+")";
			prodHtml = "<div class=\"ListElementVorschlag\" onclick=\""+"window.location.href='" + produktURL + "'; return false;\">";
		}

		var image_link = ""

		if(typeof (row.nodeRef['g:image_link']) != "undefined") var image_link =  row.nodeRef['g:image_link']['$'];

		prodHtml +=  "<a href=" + produktURL + "><img src='" + image_link + "'/></a>";

		prodHtml += "</div>";
		return prodHtml;
	}

	if(typeof (row.headline) != "undefined") {
		return row.headline;
	}

	return ( "" );
}

startSearch = function ( key, page, perPage ) {

	$(".ac_results").hide();

	$("#center_bild_1").hide();
	$("#center_bild_2").hide();
	$("#center_bild_3").hide();
	$("#center_bild_men_1").hide();
	$("#center_bild_men_2").hide();
	$("#center_bild_men_3").hide();
	$("#center_bild_women_1").hide();
	$("#center_bild_women_2").hide();
	$("#center_bild_women_3").hide();
	$("#center_bild_access_1").hide();
	$("#center_bild_access_2").hide();
	$("#center_bild_access_3").hide();
	$("#center_bild_access_men_1").hide();
	$("#center_bild_access_men_2").hide();
	$("#center_bild_access_men_3").hide();
	$("#center_bild_access_women_1").hide();
	$("#center_bild_access_women_2").hide();
	$("#center_bild_access_women_3").hide();
	$("#center_bild_neuheiten_1").hide();
	$("#center_bild_neuheiten_2").hide();
	$("#center_bild_neuheiten_3").hide();
	$("#center_bild_sale_1").hide();
	$("#image_menu").hide();
	$("#image_menu_vert").hide();
	$("#image_menu_hori").hide();
	$('.paginationMenu').hide();
	$('#resultMessages').hide();

	$("#searchresult").html("<div style=\"position: absolute; left: 50%; top: 200px;\"><img src=\"/images/ajax-loader.gif\"></div>");
	$("#searchresult").show();

	useImageScroll = false;

	var searchkey = $("#searchbox").val();
	searchkey = htmlspecialchars(searchkey);
	if ( typeof (key) != "undefined" ) searchkey = key;
	window.dhtmlState.SKey = searchkey;

	$("#locakey").val('de');

	var url = searchServer + "?tenantId="+ $("#tenantId").val() +"&format=json&ie=ISO-8859-1&oe=ISO-8859-1&pretty=true&query=" + searchkey + "&full" + "&sessionId=" + sessionId + "		&orderBy=" + $("#orderBy").val() + "&order=" + $("#order").val() + "&locakey=" + $("#locakey").val() + "&matchAttr=" + $("#matchAttr").val()  + "&matchValue=" 		+ $("#matchValue").val();

	offset = 0;
	if ( typeof(perPage) == "undefined" ) {

		perPage = getCookie ("DePauli_MAXIPP");
		if ( perPage == "" || perPage == null || typeof(perPage) == "undefined" ) perPage = 8;
	}

	if ( typeof(page) != "undefined" ) {
		limit = perPage;
		offset = page * perPage;
	}
	else {
		page = 0;
	}

	if ( window.dhtmlState.changeHistory ) {
		var modifiedLocation    =  "startSearch('" + searchkey + "'," + page + "," + perPage + ")";
		window.dhtmlState.searchLocation	= modifiedLocation;
		dhtmlHistory.add(modifiedLocation, null );
	}
	window.dhtmlState.changeHistory = true;


	getSearchResult(url, key, limit, offset);

}


loadSearchHTML = function (docready) {

	var action = "action";
	var searchForm = "<div id=search>"+
	"<a href=\"javascript: return false;\" onclick=\"startSearch ();return false;\"><img src=\"/images/icon-search.png\"></a>"+
	"<form id=searchform name=searchform method='POST'>"+
	"<input type=hidden id='matchAttr' name='matchAttr' size = 40>"+
	"<input type=hidden id='matchValue' name='matchValue' size = 40>"+
	"<input type=hidden id='locakey' name='locakey' size = 40 value='de'>"+
	"<input type=hidden id='tenantId' name='tenantId' size = 40 value='lloydstore'>"+
	"<input type='text' title='Produktsuche' class='inputText inputDefaultValue' id='searchbox' name='sword' maxlength='100'>"+
	"</form>"+
	"</div>";

	var sel8 = sel16 = sel32 = sel64 = ""
	// read Cookie.
	var cookie = getCookie ("DePauli_MAXIPP");

	switch ( cookie ) {
		case "8": sel8 = " selected"; break;
		case "16": sel16 = " selected"; break;
		case "32": sel32 = " selected"; break;
		case "64": sel64 = " selected"; break;
	}


	var sucheHTML = "<div id='paginationMenuUp' class='paginationMenu'> <span id='paginationLabel'>Seite:</span><span class='pagination' id='paginationUp'> </span></div>"+
	"<div class='SearchMaxItemPerPage'>"+
	"<font class='getMaxItemPerPage'> Artikel pro Seite&nbsp;</font>"+
	"<select size=1 class='SearchMaxItemPerPage' id='sel_maxitemperpage' onchange='setMaxItemPerPageCookie()'>"+
	"<option value='8'" + sel8 + ">8</option>"+
	"<option value='16'" + sel16 + ">16</option>"+
	"<option value='32'" + sel32 + ">32</option>"+
	"<option value='64'" + sel64 + ">64</option>"+
	"</select>"+
	"</div>"+
	"<div id='resultMessages'></div>"+
	"<div id='searchresult'>"+
	"<div style='width: 720px; min-height: 100%;'>"+
	"<div class='SearchProduktliste' id='SearchProduktliste'>"+
	"</div>"+
	"</div>"+
	"<div class='SearchSuchProduktAbstand'> &nbsp; </div>"+
	"</div>"+ // searchresult ends here
	"<div id='paginationMenuDown' class='paginationMenu'> <span  id='paginationLabel'>Seite:</span><span class='pagination' id='paginationUp'> </span></div>"+
	"";
	if(docready) {
		$("#kollektion").html(searchForm);
	}

	$('.paginationMenu').remove();
	$('.SearchMaxItemPerPage').remove();
	$('#resultMessages').remove();
	$('#searchresult').remove();
	$('.SearchSuchProduktAbstand').remove();

	//$("#main_menu").before(sucheHTML);
	$("#kollektion").after(sucheHTML);
}

setMaxItemPerPageCookie = function () {

	var perPage = getMaxItemPerPage ();
	var key = "";
	if ( typeof (window.dhtmlState.SKey) != "undefined" ) {
		key = window.dhtmlState.SKey;
	}

	setCookie("DePauli_MAXIPP", perPage, 0, '/');
	startSearch ( key, 0, perPage ) ;

}

/**************************************************************
* History Funktionen
**************************************************************/

handleHistoryChange = function (newLocation, historyData) {

	if ( newLocation == null || newLocation == "" ) return;

	var dataAction = unescape(newLocation);
	dataAction = unescape( decodeURIComponent( newLocation ) );
	dataAction = dataAction.replace(/;/g, "");	// Anti CSS
	dataAction = dataAction.replace(/\n/g, ""); // Anti CSS
	if (  checkEval(dataAction) ) {
		window.dhtmlState.changeHistory = false;
		eval(dataAction);
	}
}

/**************************************************************
* Dia-Show-Funktionen
**************************************************************/

startImageScroll = function () {

	if (useImageScroll == true) {

		var img_name = scroll_img_basis + aktImageNr;
		var img = document.getElementById(img_name );

		if ( img ) {

			var opacity = getOpacity(img);
			if ( opacity >= 99 ) {
				fadeOut (img_name, 100, 0, 10, 60, "" );
				if ( ++aktImageNr > (scroll_img_max-1) ) aktImageNr = 1;
			}
			else {
				if ( opacity == 0 ) {
					/*img.style.display = "inline";*/
					fadeIn (img_name, 0, 100, 10, 60, "imageScrollDisplayAll()" );
					aktImageNr = 1;
				}
			}

			window.setTimeout (startImageScroll, 5000);
		}

	}
}

imageScrollDisplayAll = function () {
	for ( var i = 1; i <= scroll_img_max; i++ ) {
		var img = document.getElementById(scroll_img_basis + i);
		if (img) {
			/*img.style.display = "inline";*/
			setOpacity(img, 100);
		}
	}
}

/******************************************************************
* Ü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 "startSearch":
			ret = true;
			break;
		}
	}

	return ( ret );
}



/*
function setMaxItemPerPage () {
var maxipp = 8;
var _sel_maxipp = document.getElementById ( "sel_maxitemperpage" );
for ( i=0; i<_sel_maxipp.length; i++ ) {
if ( _sel_maxipp[i].selected ) {
// Neue aktuelle Page berechnen.
maxipp = _sel_maxipp[i].value;
//			setCookie
//			do something
break;
}
}
}
*/

/*
function formatSearchResultItems_OLD(pageNr) {

if (typeof(pageNr) == 'undefined') {
pageNr=0;
}

var formatedResults = "";

$("#center_bild_1").hide();
$("#center_bild_2").hide();
$("#center_bild_3").hide();
$("#center_bild_men_1").hide();
$("#center_bild_men_2").hide();
$("#center_bild_men_3").hide();
$("#center_bild_women_1").hide();
$("#center_bild_women_2").hide();
$("#center_bild_women_3").hide();
$("#center_bild_access_1").hide();
$("#center_bild_access_2").hide();
$("#center_bild_access_3").hide();
$("#center_bild_access_men_1").hide();
$("#center_bild_access_men_2").hide();
$("#center_bild_access_men_3").hide();
$("#center_bild_access_women_1").hide();
$("#center_bild_access_women_2").hide();
$("#center_bild_access_women_3").hide();
$("#center_bild_neuheiten_1").hide();
$("#center_bild_neuheiten_2").hide();
$("#center_bild_neuheiten_3").hide();
$("#center_bild_sale_1").hide();
$("#image_menu").hide();
$("#image_menu_vert").hide();
$("#image_menu_hori").hide();

$("#resultMessages").empty();
$("#SearchProduktliste").empty();

useImageScroll = false;


var SKey = window.dhtmlState.SKey;



var pro_seite = getMaxItemPerPage ();
var seiten_pro_result = Math.ceil(rows_global.length / pro_seite);

$(".pagination").pagination(rows_global.length, {
items_per_page:pro_seite,
current_page: pageNr,
next_text:                                         "&gt;&gt;",
next_show_always:      false,
prev_text:                                         "&lt;&lt;",
prev_show_always:       false,
//num_edge_entries:      1,
num_display_entries: 10,
//ellipse_text: '...',
callback:formatSearchResultItems
});

var startRowsIndex = 0;
var endRowsIndex = 0;

var startRowsIndex = pageNr*pro_seite;
var endRowsIndex = (parseInt(startRowsIndex)+parseInt(pro_seite));

if(typeof(rows_global) != "undefined" )
{
for(produkt_count = 0, i = startRowsIndex; i < endRowsIndex && i < rows_global.length ;i++, produkt_count++)
{
formatedResults+=formatSearchResultItem(rows_global[i].data, produkt_count);
}
formatSearchSuggestionsAndSkey(SKey, rows_global);
}

$("#searchresult").html( "<div style='width: 720px; min-height: 100%;'><div class='SearchProduktliste' id='SearchProduktliste'></div></div>" );

$("#SearchProduktliste").append( formatedResults );

$("#navi").hide();
$("#reiterContainer").hide();
$("#result").hide();


$("#resultMessages").show();

$("#searchresult").show();
$("#vert_div").css("height", "720px" );

return formatedResults;
}
*/

/******************************************************************
 * Abändern von special chars
 ******************************************************************/

 function htmlspecialchars(str) {
	if (typeof(str) == "string") {
		str = str.replace(/;/g, "");
		str = str.replace(/"/g, "&quot;");
		str = str.replace(/</g, "&lt;");
		str = str.replace(/>/g, "&gt;");
	}
	return str;
 }

