// Kopieringsrätt av Digitalyard Sverige AB. Alla rättigheter reserverade.
// För mer information, eller för att köpa scripten vänligen kontakta info@yard.se.
var m_ajaxId = 0, m_previousSearchText = "", m_previousResponse = "";
var m_ajaxDelayedId = 0, m_ajaxDelayedUrl = "", m_ajaxDelayedArgs = "", m_ajaxDelayedCallback = null;
function SearchFocusBlur(source, focusOrBlur) {
if (focusOrBlur == 1) {
if (source.value == source.getAttribute("defaultvalue")) {
source.value = "";
}
} else if (focusOrBlur == 2) {
if (source.value.length == 0) {
source.value = source.getAttribute("defaultvalue");
}
}
}
function Search(force,pageIndex) {
var source = document.getElementById("searchText");
var searchProgressItem = document.getElementById("searchProgress");
var searchProgressTitleItem = document.getElementById("searchProgressTitle");
var searchProgressTextItem = document.getElementById("searchProgressText");
var searchResultTable = document.getElementById("searchResult");
var searchPageIndex = document.getElementById("searchPageIndex");
if (!pageIndex) {
pageIndex = searchPageIndex.value;
} else {
searchPageIndex.value = pageIndex;
}
var searchText = source.value;
if (searchText == source.getAttribute("defaultvalue")) searchText = "";
searchText = searchText.replace(/[\s]+/g, " ").replace(/^[\s]+/g, "").replace(/[\s]+$/g, "");
var searchNameItem = document.getElementById("searchName").checked;
var searchIngredientsItem = document.getElementById("searchIngredients").checked;
if (searchText.length == 0) {
searchProgressItem.style.display = "none";
} else if (searchText.length < 2) {
searchProgressTitleItem.innerHTML = "Skriv in fler tecken för att söka";
searchProgressTextItem.innerHTML = "Skriv in fler än 2 tecken för att söka. Sökningen startar automatiskt.";
searchProgressItem.style.display = "";
} else {
if ((searchText != m_previousSearchText) || (force)) {
searchProgressTitleItem.innerHTML = "Sökning Pågår";
searchProgressTextItem.innerHTML = "Din sökning pågår, resultatet visas strax här...";
searchProgressItem.style.display = "";
searchResultTable.style.display = "none";
AjaxQueryDelayed("/ajax.aspx", "p=" + (pageIndex ? pageIndex : 1) + "&n=" + (searchNameItem ? "1" : "0") + "&i=" + (searchIngredientsItem ? "1" : "0") + "&q=" + encodeURIComponent(searchText), SearchRender);
m_previousSearchText = searchText;
}
}
}
function SearchRender(id, response) {
if (id == m_ajaxId) {
var searchResultTable = document.getElementById("searchResult");
var searchProgressItem = document.getElementById("searchProgress");
var searchProgressTitleItem = document.getElementById("searchProgressTitle");
var searchProgressTextItem = document.getElementById("searchProgressText");
if (response.substring(0, 3) == "ER:") {
searchProgressTitleItem.innerHTML = response.substring(4, response.indexOf("/"));
searchProgressTextItem.innerHTML = response.substring(response.indexOf("/") + 1);
searchProgressItem.style.display = "";
searchResultTable.style.display = "none";
pageTracker._trackPageview("/ajaxSearchResult");
return;
} else {
searchProgressItem.style.display = "none";
searchResultTable.style.display = "";
}
if (m_previousResponse != response) {
if (searchResultTable.getElementsByTagName("TBODY").length > 0) searchResultTable = searchResultTable.getElementsByTagName("TBODY")[0];
// remove previous rows
var z, trs = searchResultTable.getElementsByTagName("TR");
for (z = trs.length - 1; z > 0; z--) {
searchResultTable.removeChild(trs[z]);
}
// add new rows
var y = 0, x = response.indexOf("\r\n");
var pagingData;
while (x > -1) {
var items = response.substring(y, x).split('\t');
if (y == 0) {
pagingData = items;
} else {
var tr = document.createElement("TR");
var td = document.createElement("TD");
tr.appendChild(td);
td.style.width = "10%";
if (items[4] == "1") {
td.innerHTML = "";
} else {
td.innerHTML = " ";
}
td = document.createElement("TD");
tr.appendChild(td);
td.innerHTML = "" + items[1] + " (Jämför)";
hoverTipsHook(td.getElementsByTagName("a")[1], "Endast tillgängligt för medlemmar. Bli medlem gratis - eller logga in - genom att klicka på länken ovan!");
td = document.createElement("TD");
tr.appendChild(td);
td.innerHTML = items[2];
td = document.createElement("TD");
tr.appendChild(td);
td.innerHTML = items[3];
searchResultTable.appendChild(tr);
}
y = x + 2;
x = response.indexOf("\r\n", y);
}
// analyze pagingData
var footer = "
Visar " + pagingData[1].substring(1,9999) + " till " + pagingData[2].substring(1,9999) + " av totalt " + pagingData[3].substring(1,9999) + " produkter.
";
for (x = 4; x < pagingData.length; x++) {
var pagingType = pagingData[x].substring(0,1);
var pagingValue = pagingData[x].substring(1,9999);
switch (pagingType) {
case "P":
footer += " « Föreg.";
break;
case "C":
footer += " " + pagingValue;
break;
case "J":
footer += " " + pagingValue + "";
break;
case "N":
footer += " Nästa »";
break;
}
}
footer += "