if (typeof(window.lltools) === 'undefined'){
	window.lltools = {};
}
var llMarketOverviewData = {
	manufacturerItems: [],
	backlink: null
};

// >> i18n
	$.lang('searchPhraseProposalTitle', {
		'de': 'Unsere Vorschl&auml;ge f&uuml;r Sie...',
		'en': 'Our proposals for you...'
	});
	$.lang('productProposalTitle', {
		'de': 'Ihre Suchergebnisse...',
		'en': 'Your Search Results...'
	});
	$.lang('searchFacetPanelItemBack', {
		'de': '&#8595; Alle anzeigen',
		'en': '&#8595; Show all'
	});
	$.lang('searchSelectFacetPanelItemBack', {
		'de': 'Alle anzeigen',
		'en': 'Show all'
	});
	$.lang('searchInfoPrompt1', {
		'de': 'Seite',
		'en': 'Page'
	});
	$.lang('searchInfoPrompt2', {
		'de': 'von',
		'en': 'of'
	});
// <<

// >> Override Solr embedding kit and search result list and facet elements.
	llsolr.SolrProductProposalsItemStandard = $.extend(
		$.clone(llsolr.SolrProductProposalsItem),
		{
			create: function(opts){
				//var o = llsolr.SolrProductProposalsItem.create.call(this);
				this.siteMapper = {
					plmit: 'plm-it-business.de',
					scope: 'scope-online.de',
					labo: 'labo.de',
					handling: 'handling.de',
					km: 'kunststoff-magazin.de',
					mta: 'mta-dialog.de'
				};
				return this;
			},
			handleDate: function(date, mode){
				var d, parts;
				if (typeof date !== 'undefined'){
					parts = date.split('T')[0].split('-');
					if (mode === 'long'){
						return [parts[2],parts[1],parts[0]].join('.');
					}
					return parts[0];
				}
				return '';
			},
			makeItemLayout: function(){
				var d = this.data, lay, img = null, desc, self = this, addText, date, headline = '';
				addTextPreparer = {
					article: {
						getDate: function(date){
							return self.handleDate(date, 'long');
						},
						getAddText: function(itemData){
							if (itemData[itemData.site + '_cat_s_m_s']){
								return ', Kategorie: ' + Utils.clipStringAfter(itemData[itemData.site + '_cat_s_m_s'].join(', '), 55, {
									decorator: '...'
								});
							}
							return '';
						}
					},
					companyProfile: {
						getDate: function(date){
							return self.handleDate(date, 'short');
						},
						getAddText: function(itemData){
							return ', Firmenprofil';
						}
					},
					marketOverview: {
						getDate: function(date){
							return self.handleDate(date, 'short');
						},
						getAddText: function(itemData){
							if (itemData.category_s_m_s){
								return ', Kategorie: ' + Utils.clipStringAfter(itemData.category_s_m_s.join(', '), 40, {
									decorator: '...'
								}) + ', Marktübersichten';
							}else{
								return ', Marktübersichten';
							}
						}
					},
					news: {
						getDate: function(date){
							return self.handleDate(date, 'long');
						},
						getAddText: function(itemData){
							return '';
						}
					},
					multimedia: {
						getDate: function(date){
							return self.handleDate(date, 'long');
						},
						getAddText: function(itemData){
							return '';
						}
					}
				};
				if (d.imagelink){
					iattrs = {
						src: d.imagelink,
						border: 0
					};
					img = $('<img/>').attr(iattrs);
				}
				if (d.description_s_tg){
					if (typeof $('<p>' + d.description_s_tg + '</p>').text() === 'string'){
						desc = $('<p>' + d.description_s_tg + '</p>').text();
					}else{
						desc = d.description_s_tg;
					}
				}else{
					desc = '';
				}


				if (d.site && typeof(d[d.site + '_cat_s_m_s']) !== 'undefined'){
					addText = Utils.clipStringAfter(d[d.site + '_cat_s_m_s'].join(', '), 55, {
						decorator: '...'
					});
				}else{
					addText = 'k/a';
				}
				if (d.title_s_tg){
					headline = '<h1 class="headline">' + d.title_s_tg + '</h1>';
				}
				lay = $(
					'<div class="proposalItem productProposalItem">' +
						'<div class="proposal">' +
							'<div class="siteAndDate">' +
								'<span class="date">' + addTextPreparer[d.type].getDate(d.udate_s_tdt) + '</span>, ' +
								'<span class="site">Website: ' + this.siteMapper[d.site] + addTextPreparer[d.type].getAddText(d) + '</span>' +
							'</div>' +
							'<div class="image"></div>' +
							'<div class="textOuter">' +
								headline +
								'<p class="desc">' + desc + '</p>' +
							'</div>' +
							'<div class="floatTerm"></div>' +
						'</div>' +
					'</div>'
				);
				if (img){
					lay.find('.image').append(img).css({
						paddingRight: 6
					}).end().find('.textOuter').css({
						width: 370
					});
				}
				lay.hover(
					function(){
						$(this).addClass('productProposalItemHover');
					},
					function(){
						$(this).removeClass('productProposalItemHover');
					}
				);
				lay.bind('click', function(){
					var sessId = '', href = d.link, params = Utils.getUrlParamsAsJson(d.link);
					if (params){
						href = d.link.substring(0, d.link.indexOf('?'));
					}
					if (Utils.getXist4cSessionId()){
						sessId = Utils.getXist4cSessionId({
							returnWithPrefix: true
						});
					}
					if (href.indexOf('/') === 0 || href.search(window.location.host) > -1){
						window.location.href = href + sessId + (Utils.getUrlParamsFromJson(params) || '');
					}else{
						window.open(href, 'ExternalPage');
					}
				});
				return lay;
			}
		}
	);

	llsolr.SolrProductFacetDescendingDatePanel = $.extend(
		$.clone(llsolr.SolrProductFacetPanel),
		{
			create: function(){
				return llsolr.SolrProductFacetPanel.create.call(this);
			},
			appendPanelItems: function(panel){
				var self = this, domel, toSortItems = this.items, hasBack = false;
				if (toSortItems.length){
					if (toSortItems[0].id < 0){
						toSortItems = toSortItems.slice(1);
						hasBack = true;
					}
					toSortItems.sort(function(a, b){
						return  b.title - a.title;
					});
					if (hasBack){
						toSortItems.unshift(this.items[0]);
					}
				}
				$(this.items).each(function(i){
					domel = this.make();
					panel.append(domel);
					this.domel = domel;
				});
			}
		}
	);

	llsolr.SolrProductFacetPanelItem_Sites = $.extend(
		$.clone(llsolr.SolrProductFacetPanelItem),
		{
			create: function(){
				var o = llsolr.SolrProductFacetPanelItem.create.call(this);
				o.siteMapper = {
					plmit: 'plm-it-business.de',
					scope: 'scope-online.de',
					//labo: 'labo.de',
					handling: 'handling.de',
					km: 'kunststoff-magazin.de'
					//mta: 'mta-dialog.de'
				};
				return o;
			},
			makeItemLayout: function(){
				var lay, topParent = this.parent.parent.parent, self = this, facetParams, realParams,
				facetQueryKeys = this.parent.parent.getFacetQueryPartsKeyList();
				if (typeof this.siteMapper[this.title] === 'undefined'){
					lay = $('<div></div>');
				}else{
					lay = $(
						'<a href="#" id="' + this.domId + '" class="facetItem">' +
							'<span class="viewport">' +
								'<span class="count">(' + this.count + ')</span>' +
							'</span>' +
							'<span class="title">' + this.siteMapper[this.title] + '</span>' +
						'</a>'
					);
					lay.bind('click', function(e){
						e.preventDefault();
						e.stopPropagation();
						facetParams = {};
						facetParams[self.attributeName] = self.realTitle;
						facetParams = topParent.facetParamsAsJson(facetParams);
						realParams = self.buildFacetQueryParams(facetParams, facetQueryKeys);
						realParams.start = 0;
						realParams = topParent.getQueryParams('productProposals', self.phrase, realParams);
						topParent.handleProductProposals(self.phrase, realParams);
					});
				}
				return lay;
			}
		}
	);
// <<

// >> SolrSearchEmbeddingKitsGarden configs
	$(function(){
		var SolrEKGConfig, SolrFacets, notFound, handleSortingFilter,
		SolrFacets_0, SolrFacets_1, SolrFacets_2, SolrFacets_3, SolrFacets_4,
		getSearchOuterTarget,
		persStaticParams = ['fq=site:("plmit","scope","handling","km","labo")'],
		extSearchPhraseParams = [
			[
				'"article"',
				'"labtips"',
				'"companyProfile"',
				'"marketOverview"',
				'"news"',
				'"mtaprofarticle"',
				'"mtarecent"',
				'"dvta"',
				'"multimedia"',
				'"interview"'
			]
		],
		handleNumFound = function(numFound, idx, phrase){
			$('.numFound_' + idx).text('(' + numFound + ')');
			if (!numFound){
				$('#llsolr-pager1_' + idx + ', #llsolr-pager2_' + idx + ', #llsolr-detailSearchResult_' + idx).hide();
				$('.notFoundElement_' + idx).find('.notFoundPhrase').text(phrase).end().show();
			}else{
				$('#llsolr-pager1_' + idx + ', #llsolr-pager2_' + idx + ', #llsolr-detailSearchResult_' + idx).show();
				$('.notFoundElement_' + idx).hide();
			}
		};
		SolrEKG = llsolr.SolrSearchEmbeddingKitsGarden.create({
			modeViewTarget: $('.co_tabsPreviousSibling').next().find('#uiTab_69861')
		});

		SolrFacets_0 = llsolr.SolrFacetAddOn.create({
			target: $('#llsolr-facetPanels_0')
		});
		SolrFacets_1 = llsolr.SolrFacetAddOn.create({
			target: $('#llsolr-facetPanels_1')
		});
		SolrFacets_2 = llsolr.SolrFacetAddOn.create({
			target: $('#llsolr-facetPanels_2')
		});
		SolrFacets_3 = llsolr.SolrFacetAddOn.create({
			target: $('#llsolr-facetPanels_3')
		});
		SolrFacets_4 = llsolr.SolrFacetAddOn.create({
			target: $('#llsolr-facetPanels_4')
		});

		// Configuration helpers
		getSearchOuterTarget = function(){
			var contentSearch = $('.contentSearchFormShell, .qSearchCont_static');
			return contentSearch;
		};
		// handle sorting filter options
		handleSortingFilter = function(garden){
			var sortDate = $('.button-aktualitaet'), sortRelevance = $('.button-relevanz'),
			currHandler = garden.getAjaxHandlerForEachMachine()[0];
			if (currHandler == 'search_date'){
				garden.eachConfig(function(i){
					this.defaults.detailSearchAjaxHandler = 'search_date';
					this.defaults.staticSearchPhrasePrefix = '{!boost b=$datefunc}';
				});
				sortDate.addClass('button-aktualitaet-here');
				sortRelevance.removeClass('button-relevanz-here');
			}else{
				garden.eachConfig(function(i){
					this.defaults.detailSearchAjaxHandler = 'search_relp';
					this.defaults.staticSearchPhrasePrefix = '';
				});
				sortDate.removeClass('button-aktualitaet-here');
				sortRelevance.addClass('button-relevanz-here');
			}
			sortDate.unbind().bind('click', function(e){
				var currHandler = garden.getAjaxHandlerForEachMachine()[0];
				e.preventDefault();
				e.stopPropagation();
				if (currHandler !== 'search_date'){
					garden.each(function(i){
						this.defaults.detailSearchAjaxHandler = 'search_date';
						this.defaults.staticSearchPhrasePrefix = '{!boost b=$datefunc}';
						this.handleProductProposals(this.phrase);
					});
					sortDate.addClass('button-aktualitaet-here');
					sortRelevance.removeClass('button-relevanz-here');
				}
			});
			sortRelevance.unbind().bind('click', function(e){
				var currHandler = garden.getAjaxHandlerForEachMachine()[0];
				e.preventDefault();
				e.stopPropagation();
				if (currHandler !== 'search_relp'){
					garden.each(function(i){
						this.defaults.detailSearchAjaxHandler = 'search_relp';
						this.defaults.staticSearchPhrasePrefix = '';
						this.handleProductProposals(this.phrase);
						sortDate.removeClass('button-aktualitaet-here');
						sortRelevance.addClass('button-relevanz-here');
					});
				}
			});
		};

		// Alles
		SolrEKGConfig = llsolr.SolrSearchEmbeddingKitsGardenKitConfig.create({
			autocomplete: true,
			detailSearchAjaxHandler: 'search_date',
			searchPhraseOuterTarget: getSearchOuterTarget(),
			searchDetailTarget: $('#llsolr-detailSearchResult_0'),
			pagerTopTarget: $('#llsolr-pager1_0'),
			pagerBottomTarget: $('#llsolr-pager2_0'),
			facetPanelsTarget: $('#llsolr-facetPanels_0'),
			searchDetailUrl: '/suche.htm',
			embeddingKit: llsolr.SolrSearchEmbeddingKit_Hopp,
			productProposalItem: llsolr.SolrProductProposalsItemStandard,
			onBeforeSearchResult: function(){},
			onSearchResult: function(){
				handleNumFound(this.data.response.numFound, 0, this.phrase);
				SolrFacets_0.clearFacets();
				SolrFacets_0.add('site', 'Websites von Hoppenstedt Publishing:', null, {
					usedItemClass: llsolr.SolrProductFacetPanelItem_Sites
				});
				SolrFacets_0.addDates('udate_s_tdt', 'Suche nach Jahr:', null, {
					usedPanelClass: llsolr.SolrProductFacetDescendingDatePanel
				});
			}
		});
		SolrEKGConfig.defaultParams('searchPhraseParams', 'facet.limit', 10);
		SolrEKGConfig.defaultParams('standardParams', 'facet.field', ['site']);
		SolrEKGConfig.defaultParams('standardParams', 'fq', ['site:"plmit"']);
		SolrEKGConfig.defaultParams('standardParams', 'facet.date', 'udate_s_tdt');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.hardend', 'true');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.start', '2000-01-01T00:00:00Z');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.gap', '%2B1YEAR');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.end', 'NOW');
		SolrEKGConfig.defaultParams('extendedSearchPhraseParams', 'fq', extSearchPhraseParams);
		SolrEKGConfig.defaultParams('persistentStaticParams', null, persStaticParams);
		SolrEKGConfig.addOn(SolrFacets_0);
		SolrEKG.addConfig(SolrEKGConfig);

		// News
		SolrEKGConfig = llsolr.SolrSearchEmbeddingKitsGardenKitConfig.create({
			autocomplete: true,
			detailSearchAjaxHandler: 'search_date',
			searchPhraseOuterTarget: getSearchOuterTarget(),
			searchDetailTarget: $('#llsolr-detailSearchResult_1'),
			pagerTopTarget: $('#llsolr-pager1_1'),
			pagerBottomTarget: $('#llsolr-pager2_1'),
			facetPanelsTarget: $('#llsolr-facetPanels_1'),
			searchDetailUrl: '/suche.htm',
			embeddingKit: llsolr.SolrSearchEmbeddingKit_Hopp,
			productProposalItem: llsolr.SolrProductProposalsItemStandard,
			onBeforeSearchResult: function(){},
			onSearchResult: function(){
				handleNumFound(this.data.response.numFound, 1, this.phrase);
				SolrFacets_1.clearFacets();
				SolrFacets_1.add('site', 'Websites von Hoppenstedt Publishing:', null, {
					usedItemClass: llsolr.SolrProductFacetPanelItem_Sites
				});
				SolrFacets_1.addDates('udate_s_tdt', 'Suche nach Jahr:', null, {
					usedPanelClass: llsolr.SolrProductFacetDescendingDatePanel
				});
			}
		});
		SolrEKGConfig.defaultParams('searchPhraseParams', 'facet.limit', 10);
		SolrEKGConfig.defaultParams('searchPhraseParams', 'fq', persStaticParams);
		SolrEKGConfig.defaultParams('standardParams', 'facet.field', ['site']);
		SolrEKGConfig.defaultParams('standardParams', 'fq', ['site:"plmit"']);
		SolrEKGConfig.defaultParams('standardParams', 'facet.date', 'udate_s_tdt');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.hardend', 'true');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.start', '2000-01-01T00:00:00Z');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.gap', '%2B1YEAR');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.end', 'NOW');
		SolrEKGConfig.defaultParams('extendedSearchPhraseParams', 'fq', extSearchPhraseParams);
		SolrEKGConfig.defaultParams('persistentStaticParams', null, persStaticParams.concat(['fq=type:"news"']));
		SolrEKGConfig.addOn(SolrFacets_1);
		SolrEKG.addConfig(SolrEKGConfig);

		// Artikel
		SolrEKGConfig = llsolr.SolrSearchEmbeddingKitsGardenKitConfig.create({
			autocomplete: true,
			detailSearchAjaxHandler: 'search_date',
			searchPhraseOuterTarget: getSearchOuterTarget(),
			searchDetailTarget: $('#llsolr-detailSearchResult_2'),
			pagerTopTarget: $('#llsolr-pager1_2'),
			pagerBottomTarget: $('#llsolr-pager2_2'),
			facetPanelsTarget: $('#llsolr-facetPanels_2'),
			searchDetailUrl: '/suche.htm',
			embeddingKit: llsolr.SolrSearchEmbeddingKit_Hopp,
			productProposalItem: llsolr.SolrProductProposalsItemStandard,
			onBeforeSearchResult: function(){},
			onSearchResult: function(){
				handleNumFound(this.data.response.numFound, 2, this.phrase);
				SolrFacets_2.clearFacets();
				SolrFacets_2.add('site', 'Websites von Hoppenstedt Publishing:', null, {
					usedItemClass: llsolr.SolrProductFacetPanelItem_Sites
				});
				SolrFacets_2.addDates('udate_s_tdt', 'Suche nach Jahr:', null, {
					usedPanelClass: llsolr.SolrProductFacetDescendingDatePanel
				});
				SolrFacets_2.add('tags_s_m_s', 'Suche verfeinern nach Schlagworten:');
				SolrFacets_2.add('plmit_cat_s_m_s', 'Ihr Suchbegriff findet sich in den Rubriken:');
			}
		});
		SolrEKGConfig.defaultParams('searchPhraseParams', 'facet.limit', 10);
		SolrEKGConfig.defaultParams('searchPhraseParams', 'fq', persStaticParams);
		SolrEKGConfig.defaultParams('standardParams', 'facet.field', ['site', 'plmit_cat_s_m_s', 'tags_s_m_s']);
		SolrEKGConfig.defaultParams('standardParams', 'fq', ['site:"plmit"']);
		SolrEKGConfig.defaultParams('standardParams', 'facet.date', 'udate_s_tdt');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.hardend', 'true');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.start', '2000-01-01T00:00:00Z');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.gap', '%2B1YEAR');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.end', 'NOW');
		SolrEKGConfig.defaultParams('standardParams', 'f.tags_s_m_s.facet.limit', 10);
		SolrEKGConfig.defaultParams('extendedSearchPhraseParams', 'fq', extSearchPhraseParams);
		SolrEKGConfig.defaultParams('persistentStaticParams', null, persStaticParams.concat(['fq=type:"article"']));
		SolrEKGConfig.addOn(SolrFacets_2);
		SolrEKG.addConfig(SolrEKGConfig);

		// Firmenpräsentation
		SolrEKGConfig = llsolr.SolrSearchEmbeddingKitsGardenKitConfig.create({
			autocomplete: true,
			detailSearchAjaxHandler: 'search_date',
			searchPhraseOuterTarget: getSearchOuterTarget(),
			searchDetailTarget: $('#llsolr-detailSearchResult_3'),
			pagerTopTarget: $('#llsolr-pager1_3'),
			pagerBottomTarget: $('#llsolr-pager2_3'),
			facetPanelsTarget: $('#llsolr-facetPanels_3'),
			searchDetailUrl: '/suche.htm',
			embeddingKit: llsolr.SolrSearchEmbeddingKit_Hopp,
			productProposalItem: llsolr.SolrProductProposalsItemStandard,
			onBeforeSearchResult: function(){},
			onSearchResult: function(){
				handleNumFound(this.data.response.numFound, 3, this.phrase);
				SolrFacets_3.clearFacets();
				SolrFacets_3.add('site', 'Websites von Hoppenstedt Publishing:', null, {
					usedItemClass: llsolr.SolrProductFacetPanelItem_Sites
				});
				SolrFacets_3.addDates('udate_s_tdt', 'Suche nach Jahr:', null, {
					usedPanelClass: llsolr.SolrProductFacetDescendingDatePanel
				});
			}
		});
		SolrEKGConfig.defaultParams('searchPhraseParams', 'facet.limit', 10);
		SolrEKGConfig.defaultParams('searchPhraseParams', 'fq', persStaticParams);
		SolrEKGConfig.defaultParams('standardParams', 'facet.field', ['type', 'site', 'plmit_cat_s_m_s']);
		SolrEKGConfig.defaultParams('standardParams', 'fq', ['site:"plmit"']);
		SolrEKGConfig.defaultParams('standardParams', 'facet.date', 'udate_s_tdt');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.hardend', 'true');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.start', '2000-01-01T00:00:00Z');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.gap', '%2B1YEAR');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.end', 'NOW');
		SolrEKGConfig.defaultParams('extendedSearchPhraseParams', 'fq', extSearchPhraseParams);
		SolrEKGConfig.defaultParams('persistentStaticParams', null, persStaticParams.concat(['fq=type:"companyProfile"']));
		SolrEKGConfig.addOn(SolrFacets_3);
		SolrEKG.addConfig(SolrEKGConfig);

		// Marktübersichten
		SolrEKGConfig = llsolr.SolrSearchEmbeddingKitsGardenKitConfig.create({
			autocomplete: true,
			detailSearchAjaxHandler: 'search_date',
			searchPhraseOuterTarget: getSearchOuterTarget(),
			searchDetailTarget: $('#llsolr-detailSearchResult_4'),
			pagerTopTarget: $('#llsolr-pager1_4'),
			pagerBottomTarget: $('#llsolr-pager2_4'),
			facetPanelsTarget: $('#llsolr-facetPanels_4'),
			searchDetailUrl: '/suche.htm',
			embeddingKit: llsolr.SolrSearchEmbeddingKit_Hopp,
			productProposalItem: llsolr.SolrProductProposalsItemStandard,
			onBeforeSearchResult: function(){},
			onSearchResult: function(){
				handleNumFound(this.data.response.numFound, 4, this.phrase);
				SolrFacets_4.clearFacets();
				SolrFacets_4.add('site', 'Websites von Hoppenstedt Publishing:', null, {
					usedItemClass: llsolr.SolrProductFacetPanelItem_Sites
				});
				SolrFacets_4.addDates('udate_s_tdt', 'Suche nach Jahr:', null, {
					usedPanelClass: llsolr.SolrProductFacetDescendingDatePanel
				});
			}
		});
		SolrEKGConfig.defaultParams('searchPhraseParams', 'facet.limit', 10);
		SolrEKGConfig.defaultParams('searchPhraseParams', 'fq', persStaticParams);
		SolrEKGConfig.defaultParams('standardParams', 'facet.field', ['type', 'site', 'plmit_cat_s_m_s']);
		SolrEKGConfig.defaultParams('standardParams', 'fq', ['site:"plmit"']);
		SolrEKGConfig.defaultParams('standardParams', 'facet.date', 'udate_s_tdt');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.hardend', 'true');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.start', '2000-01-01T00:00:00Z');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.gap', '%2B1YEAR');
		SolrEKGConfig.defaultParams('standardParams', 'facet.date.end', 'NOW');
		SolrEKGConfig.defaultParams('extendedSearchPhraseParams', 'fq', extSearchPhraseParams);
		SolrEKGConfig.defaultParams('persistentStaticParams', null, persStaticParams.concat(['fq=type:"marketOverview"']));
		SolrEKGConfig.addOn(SolrFacets_4);
		SolrEKG.addConfig(SolrEKGConfig);

		handleSortingFilter(SolrEKG);
		SolrEKG.plantMachines();

	});
// <<


// >> manufacturer compare
	// >> i18n
		$.lang('manufacturerCompare_hint', {
			'de': 'Markieren Sie bis zu <span class="maxCompare">--</span> Produkte und klicken Sie auf "Vergleichen"',
			'en': 'Select up to <span class="maxCompare">--</span> products and click "Compare"'
		});
		$.lang('manufacturerCompare_buttonText', {
			'de': 'Vergleichen',
			'en': 'Compare'
		});
		$.lang('manufacturerCompare_backlinkText', {
			'de': '<< Alle anzeigen',
			'en': '<< Show all'
		});
	// <<

	lltools.ManufacturerCompare = $.extend(
		$.clone(LLObject),
		{
			create: function(opts){
				var o = LLObject.create.call(this);
				o.comparables = [];
				o.defaults = {
					maxCompare: 3,
					filterData: null
				};
				o.xpopup = null;
				if(Utils.isObject(opts)){
					$.extend(o.defaults, opts);
				}
				return o;
			},
			sequence: (function(){
				var seq = 0;
				return {
					next: function(){
						return (seq += 1);
					}
				};
			}()),
			makeCheckerItem: function(){
				var lay;
				lay = $(
					'<div class="viewport lltools-manufacturerCompareChecker">' +
						'<div class="fieldOuter">' +
							'<input type="checkbox" name="box_' + this.sequence.next() + '" value="1"/>' +
						'</div>' +
					'</div>'
				);
				return lay;
			},
			makeCompareButtonWithHint: function(){
				var lay = $(
					'<div class="viewport lltools-manufacturerCompareButton">' +
						'<div class="text">' + $.lang('manufacturerCompare_hint') + '</div>' +
						'<a href="#" class="button buttonDisabled"><span>' + $.lang('manufacturerCompare_buttonText') + '</span></a>' +
					'</div>'
				);
				return lay;
			},
			makeManufacturerLayout: function(){
				var lay = $(
					'<ul class="lltools-manufacturerOuter">' +
					'</ul>'
				);
				return lay;
			},
			makeManufacturerItemLayout: function(){
				var lay = $(
					'<li class="lltools-manufacturerItem">' +
						'<div class="viewport"><span class="count"></span></div>' +
						'<a href="#"></a>' +
					'</li>'
				);
				return lay;
			},
			makeManufacturerItemHereLayout: function(){
				var lay = $(
					'<li class="lltools-manufacturerItem lltools-manufacturerItem-here">' +
						'<div class="viewport"><span class="count"></span></div>' +
						'<div class="itemHere"></div>' +
					'</li>'
				);
				return lay;
			},
			prepareTeaser: function(){
				var data = this.defaults.filterData, target = $('#manufacturerPanel'), item, dataItem,
				panel = this.makeManufacturerLayout(), self = this, backlink = data.backlink;
				target.append(panel);
				target = panel;
				if (backlink){
					item = self.makeManufacturerItemLayout();
					item.find('a').text($.lang('manufacturerCompare_backlinkText')).attr({
						href: backlink
					}).css({
						fontWeight: 'bold'
					});
					target.append(item);
				}
				for (i = 0; i < data.manufacturerItems.length; i+=1){
					dataItem = data.manufacturerItems[i];
					if (dataItem.here){
						item = self.makeManufacturerItemHereLayout();
						item.find('.itemHere').text(dataItem.name);
					}else{
						item = self.makeManufacturerItemLayout();
						item.find('a').text(dataItem.name).attr({
							href: dataItem.link
						});
					}
					item.find('.count').text('(' + dataItem.count + ')');
					target.append(item);
				}
			},
			getCheckedItemsIdStr: function(){
				var i, comp, ids = [], href;
				for (i = 0; i < this.comparables.length; i+=1){
					comp = this.comparables[i];
					href = comp.parents('.paragraphOuter').find('.paraSublinkShell a').attr('href');
					href = href.substring(href.search(/_dId_/) + 5, href.length);
					href = href.substring(0, href.indexOf('_'));
					ids.push(href);
				}
				return ids.join(',');
			},
			make: function(){
				var self = this, button = this.makeCompareButtonWithHint();
				button.find('.maxCompare').text(this.defaults.maxCompare);
				button.find('a').click(function(e){
					var i, pup, url, idx;
					e.preventDefault();
					e.stopPropagation();
					if (!$(this).hasClass('buttonDisabled')){
						for (i = 0; i < LL_XPopup.xpopups.length; i+=1){
							pup = LL_XPopup.xpopups[i];
							if (pup.Attrs.url.search(/Vergleich-Marktuebersichten/) > -1){
								url = LL_XPopup.xpopups[i].Attrs.url;
								idx = url.search(/\?/);
								if (idx > -1){
									url = url.substring(0, idx);
								}
								LL_XPopup.xpopups[i].Attrs.url = url + Utils.getUrlParamsFromJson({
									'com.livinglogic.cms.apps.search.model.SearchState.search_submit': true,
									searchDescription: self.getCheckedItemsIdStr()
								});
								LL_XPopup.xpopups[i].show();
								break;
							}
						}
					}
				});
				if ($('.co_marketReviewTopPanel').length){
					$('.teaserItem_first').hide();
				}else{
					if ($('.teaserItem_first').find('#manufacturerPanel').length){
						$('.teaserItem_first').show();
					}
					$('.mdi_manufacturerCompare').prepend(button);
					LL_XPopup.registerPopup($('head'), null, 'WEBPAGE', 'p_c', 'c', 0, 0, {
						fixedPosition: true,
						height: 700,
						width: 900,
						background: {'r': 0, 'g': 0, 'b': 0, 'opacity': 0.5},
						url:window.location.protocol + '//' + window.location.host + '/Vergleich-Marktuebersichten.htm'
					},null);
					$('.el_manufacturerCompare .paragraphOuter').each(function(i){
						var lay = self.makeCheckerItem();
						lay.find('input').click(function(e){
							var comp, comps = self.comparables, realComps = [], i;
							if ($(this).attr('checked')){
								if (comps.length < self.defaults.maxCompare){
									comps.push($(this));
								}else{
									$(this).attr({
										checked: false
									});
								}
							}else{
								for (i = 0; i < comps.length; i+=1){
									comp = comps[i];
									if (comp.get(0) !== $(this).get(0)){
										realComps.push(comp);
									}
								}
								self.comparables = realComps;
							}
							if (self.comparables.length){
								$('.lltools-manufacturerCompareButton .button').removeClass('buttonDisabled');
							}else{
								$('.lltools-manufacturerCompareButton .button').addClass('buttonDisabled');
							}
						});
						$(this).prepend(lay);
					});
					this.prepareTeaser();
				}
			}
		}
	);
	$(function(){
		ManuComp = lltools.ManufacturerCompare.create({
			filterData: llMarketOverviewData
		});
		ManuComp.make();
	});
// <<



