﻿var CategoryArray = new Array();
var ResultsPerPageVar = 9;
var PagesVar = 0;
var Results = 0;
var CurrentPage = 1;
var SortByValue = -1;

function ResultsPerPage(entries) {
    jQuery("div.pro_seite ul li").removeClass("active");
    jQuery("div.pro_seite ul li#ResultsPerPage" + entries).addClass("active");
    ResultsPerPageVar = entries;
    CurrentPage = 1;
    CalculatePageVar();
    ShowPagedItems();
}

function Paging(pager) {
    if (pager == -1 && CurrentPage > 1) {
        CurrentPage--;
    } else if (pager == -2 && CurrentPage < PagesVar) {
        CurrentPage++;
    } else if (pager > 0){
        CurrentPage = pager;
    }
    CalculatePageVar();
    ShowPagedItems();
}

function ShowPagedItems() {
    var pageScopeStart = ResultsPerPageVar * (CurrentPage - 1);
    var pageScopeEnd = pageScopeStart + ResultsPerPageVar - 1;
    jQuery("div#artikelauswahl div.artikel_200").hide();
    for (var cnt = pageScopeStart; cnt <= pageScopeEnd; cnt++) {
        jQuery("div#Item" + cnt).show();
    }
}

function CalculatePageVar() {
    PagesVar = Results / ResultsPerPageVar;
    PagesVar = parseInt(PagesVar + " ");
    if (Results % ResultsPerPageVar > 0) {
        PagesVar++;
    }
    var pagerString = "<ul><li>" + productselection_Page + "</li><li class='previous'><a href='javascript:Paging(-1);' id='PagerBack'><img alt='Back' src='" + baseurl + "portaldata/1/resources/icons/arrow_left.gif'/></a></li>";
    for (var cnt = 1; cnt <= PagesVar; cnt++) {
        var isFirstClass = "";
        if (cnt == 1) {
            isFirstClass = " first";
        }
        if (cnt != CurrentPage) {
            pagerString += "<li class='pages" + isFirstClass + "'><a href='javascript:Paging(" + cnt + ");' id='Pager" + cnt + "'>" + cnt + "</a></li>";
        } else {
            pagerString += "<li class='pages" + isFirstClass + " active'><a href='javascript:Paging(" + cnt + ");' id='Pager" + cnt + "'>" + cnt + "</a></li>";
        }
    }
    pagerString += "<li class='next'><a href='javascript:Paging(-2);' id='PagerForward'><img alt='Forward' src='" + baseurl + "portaldata/1/resources/icons/arrow_right.gif'/></a></li></ul>";
    document.getElementById("Pager").innerHTML = pagerString;
}

function ShowSearchResults(msg) {
    var AjaxResults = msg.d;
    Results = AjaxResults.Count;
    document.getElementById("artikelauswahl").innerHTML = AjaxResults.HtmlResult;
    document.getElementById("ResultCount").innerHTML = AjaxResults.Count;
    CalculatePageVar();
    ShowPagedItems();
}

function GetSearchResults() {
    CurrentPage = 1;
    jQuery.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: baseurl + "Addons/Xparo/ProductSelection/Webservices/SearchResults.asmx/GetResults",
        data: "{\"categoryString\":\"" + CategoryString() + "\",\"tabId\":\"" + tabid + "\",\"sortByValue\":\"" + SortByValue + "\"}",
        dataType: "json",
        success: ShowSearchResults
    });
}

function CategoryString() {
    var categoryString = "";
    for (var index in CategoryArray) {
        categoryString = categoryString + CategoryArray[index] + ";";
    }
    return categoryString;
}

function ToggleCategory(catId) {
    var categoryExists = false;
    for (var index in CategoryArray) {
        if (CategoryArray[index] == catId) {
            CategoryArray.splice(index, 1);
            categoryExists = true;
        }
    }
    if (!categoryExists) {
        CategoryArray[CategoryArray.length] = catId;
    }
}
function ChangeSelection(img) {
    var enabledAppendix = "_on";
    var disabledAppendix = "_off";
    var imagePath = img.src;
    if (imagePath.indexOf(enabledAppendix) != -1) {
        img.src = imagePath.replace(enabledAppendix, disabledAppendix);
    } else {
        img.src = imagePath.replace(disabledAppendix, enabledAppendix);
    }
    var catId = img.id.substring(5);
    ToggleCategory(catId);
    GetSearchResults();
}

function SortBy(value) {
    switch (value) {
        case 0:
            SortByValue = value;
            break;  //Price
        case 1:
            SortByValue = value;
            break;  //Title
    }
    GetSearchResults();
}

jQuery.noConflict();
jQuery(document).ready(function() {
    jQuery('.Selector').click(function() {
        ChangeSelection(this);
    });
    GetSearchResults();
});
