// SN template
// Copyright exorbyte GmbH, 2008-2011. All rights reserved.

var exoCatDelimiter = ">";
var exoProjectId = 205;
var exoProxyUrl = "suggest.php";
var searchFieldSel = "#suggest1";
var containerDivSel = "#content";
var facetDivSel = "";
var isUrlTrigger = false;

var exoSuggestParams = {
	max: 25,
	exoUrl: "http://commerce.exorbyte.de",
	extraParams: { Bias: 100, SN_limit: "display=category&search=article|category|brand" },
	projectId: exoProjectId,
	dataType: 'jsonp',
	leftOffset: -6,
	topOffset: 1,
	width: 435,
	formatHeader: null,
	formatItem: secondColNone
};

if ($exoJ.browser.msie
	 && (document.compatMode === 'BackCompat' || document.documentMode < 7)) {
	exoSuggestParams.formatFooter = fixImgIE;
}

function exoSuggRedirect(event, data, formatted) {
	if (data.URL != "") {
		location.assign(data.URL.replace("http:", location.protocol));
	} else {
		$exoJ(this).val(formatted).parents("form").submit();
	}
}

function exoFormatTypeHdr(s) {
	switch (s) {
	 case "article":
	  return "Artikel";
	 case "category":
	  return "Kategorien";
	 case "brand":
	  return "Hersteller";
	}
	return s;
}

function exoFormatType(s) {
	switch (s) {
	 case "article":
	  return "Artikel";
	 case "category":
	  return "Kategorie";
	 case "brand":
	  return "Hersteller";
	}
	return s;
}

function exoFormatPrice(p) {
	var currencySymbolAfterPrice = true;
	var decimalPoint = ",";
	var currencySymbol = "&euro;";
	var pFormat;

	if (p) {
		if (currencySymbolAfterPrice) {
			pFormat = p.replace(".", decimalPoint) + " "
				+ currencySymbol;
		} else {
			pFormat = currencySymbol
				+ p.replace(".", decimalPoint);
		}
		return pFormat;
	}
	return p;
}

function exoMakeImgTag(url, useImgCache) {
	var imgTag = "";
	if (url) {
		var imgUrl = url.replace("http:", location.protocol);
		if (useImgCache && url.split("?").length === 1) {
			var imgLink = url.replace(/^https?:\/\//, "");
			var first = imgLink.indexOf("/");
			var imgHost = imgLink.substr(0,first);
			var last = imgLink.lastIndexOf("/");
			var imgFile = imgLink.substr(first+1);
			imgUrl = location.protocol
				+ "//logs.exorbyte.com/imageserver/" + imgFile
				+ "?location=" + imgHost + "&width=35&height=35&dprefix="
				+ exoProjectId;
		}
		imgTag = "<img style='max-height:35px; max-width:35px;' src='" + imgUrl + "' alt=''/>";
	}
	return imgTag;
}

function exoSuggFirstCol(row, twoCol) {
	var showImg = false;
	var useImgCache = true;
	var out;
	var nameW = 325 - 35;
	if ($exoJ.browser.msie && document.documentMode < 7) {
		nameW -= 20;
	}
	if (showImg && row.Type === "article") {
		out = "<span class='exoSuggImg' style='height:35px; width:35px;'>"
			+ exoMakeImgTag(row.Image, useImgCache) + "</span>"
			+ "&nbsp;<span class='exoSuggName' ";
		if (twoCol) {
			out += "style='width:" + nameW + "px;'";
		}
		out += ">" + row.SN_value + "</span>";
	} else {
		out = row.SN_value;
	}
	return out;
}

function secondColNone(row, i, count, dispStr, term) {
	var inHtml;
	if (row.SN_type.substring(0,4) === "cat_") {
		inHtml = "<span class='col1'>" + exoFormatTypeHdr(row.SN_value) + "</span>";
	} else {
		inHtml = "<span class='col1' style='max-width:95%;width:95%'>"
			+ exoSuggFirstCol(row, false) + "</span>";
	}

	return inHtml;
}

function secondColType(row, i, count, dispStr, term) {
	var inHtml;
	if (row.SN_type.substring(0,4) === "cat_") {
		inHtml = "<span class='col1'>" + exoFormatTypeHdr(row.SN_value) + "</span>";
	} else {
		inHtml = "<span class='col1'>" + exoSuggFirstCol(row, true) + "</span>" +
			"<span class='col2'>" + exoFormatType(row.Type) + "</span>";
	}

	return inHtml;
}

function secondColCat(row, i, count, dispStr, term) {
	var inHtml;
	if (row.SN_type.substring(0,4) === "cat_") {
		inHtml = "<span class='col1'>" + exoFormatTypeHdr(row.SN_value) + "</span>";
	} else {
		var cat = "";
		if (row.Type === "article") {
			cat = $exoJ.trim(row.Category.split(exoCatDelimiter)[0]);
		}
		inHtml = "<span class='col1'>" + exoSuggFirstCol(row, true) + "</span>"
			+ "<span class='col2'>" + cat + "</span>";
	}

	return inHtml;
}

function secondColBrand(row, i, count, dispStr, term) {
	var inHtml;
	if (row.SN_type.substring(0,4) === "cat_") {
		inHtml = "<span class='col1'>" + exoFormatTypeHdr(row.SN_value) + "</span>";
	} else {
		var brand = "";
		if (row.Type === "article") {
			brand = $exoJ.trim(row.Brand);
		}
		inHtml = "<span class='col1'>" + exoSuggFirstCol(row, true) + "</span>"
			+ "<span class='col2'>" + brand + "</span>";
	}

	return inHtml;
}

function secondColPrice(row, i, count, dispStr, term) {
	var inHtml;
	if (row.SN_type.substring(0,4) === "cat_") {
		inHtml = "<span class='col1'>" + exoFormatTypeHdr(row.SN_value) + "</span>";
	} else {
		inHtml = "<span class='col1'>" + exoSuggFirstCol(row, true) + "</span>" +
			"<span class='col2'>" + exoFormatPrice(row.Price) + "</span>";
	}

	return inHtml;
}

function fixImgIE() {
	$exoJ(".ac_item img").each(function(i, val) {
			$exoJ(val).parents(".ac_item").height(35);
		});

	return "";
}

var exoSearchParams = {
	projectId: exoProjectId,
	dataType: 'jsonp',
	defaultView: "list",
	formatAddToCart: false,
	rowsPerPage: 15,
	currencySymbolAfterPrice: true,
	currencySymbol: "&euro;",
	decimalPoint: ",",
	noResultsMsg: "Es wurden keine Treffer gefunden.",
	invalidSelectionMsg: "F&uuml;r diese Auswahl wurden keine Treffer gefunden.",
	invalidSelectionMsgExplain: "Sie k&ouml;nnen <a href='javascript: window.history.back()'>zur&uuml;ck</a> gehen oder die Auswahl &auml;ndern.",
	of: "von",
	to: "bis",
	results: "Treffer",
	sortBy: "Sortieren nach",
	relevance: "Relevanz",
	lowestPrice: "Niedrigster Preis",
	highestPrice: "H&ouml;chster Preis",
	brand: "Hersteller",
	more: "weitere",
	view: "Ansicht",
	deselect: "Aufheben",
	useImgCache: false,
	exoUrl: "http://commerce.exorbyte.de",
	facets: [{"name":"category","dispName":"Kategorien","dispAlways":false},{"name":"brand","dispName":"Hersteller","dispAlways":false},{"name":"price","dispName":"Preis einschr&amp;auml;nken","dispAlways":false}]
};

