﻿
var search = '';
var clearSearch = '';

var categoriesLoader;
var categoriesContent;
var productsLoader;
var productsContent;
var basketLoader;
var basketContent;

function changeCategory(categoryId) {
    var url = "GetControl.aspx";
    if (search.length > 0)
        url = url + '?search=' + search;
    advAJAX.post({
        url: url,
        parameters: { 'control': 'Categories', 'category': categoryId },
        onSuccess: function (obj) {
            loadProducts();
            loadSuccess(categoriesContent, categoriesLoader, obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(categoriesContent, categoriesLoader);
        }

    });
}

function changeSlider(displayObj) {
    loadProducts(displayObj.value);
}

function loadCategories() {
    var url = "GetControl.aspx";
    if (search.length > 0)
        url = url + '?search=' + search;
    if (clearSearch.length > 0)
        url = url + '?clearSearch=' + clearSearch;
    advAJAX.post({
        url: url,
        parameters: { 'control': 'Categories' },
        onSuccess: function (obj) {
            loadProducts();
            if (search.length > 0)
                document.getElementById('catName').innerHTML = 'Wyniki w kategoriach';
            else
                document.getElementById('catName').innerHTML = 'Kategorie';
            loadSuccess(categoriesContent, categoriesLoader, obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(categoriesContent, categoriesLoader);
        }

    });
}

function loadProducts() {
    var url = "GetControl.aspx";
    if (search.length > 0)
        url = url + '?search=' + search;
    if (arguments.length == 1) {
        if (search.length > 0)
            url = url + '&pageSize=' + arguments[0];
        else
            url = url + '?pageSize=' + arguments[0];
    }    
    advAJAX.post({
        url: url,
        parameters: { 'control': 'Products' },
        onSuccess: function (obj) {
            if (search.length > 0)
                document.getElementById('productName').innerHTML = 'Znalezione produkty';
            else
                document.getElementById('productName').innerHTML = 'Produkty';
            loadSuccess(productsContent, productsLoader, obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(productsContent, productsLoader);
        }

    });
}

function loadBasket(event) { loadBasket_server(''); }
function loadBasket_client(addBasket) { loadBasket_server(addBasket); }
function loadBasket_server(addBasket) {
    if (basketContent.style.display == "none") return;
    advAJAX.post({
        url: "GetControl.aspx",
        parameters: { 'control': 'BasketSummary', 'addBasket': addBasket },
        onSuccess: function (obj) {
            deAlertBaskets();
            loadSuccess(basketContent, basketLoader, obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(basketContent, basketLoader);
        }

    });
}

function gotoPage(page) {
    var url = "GetControl.aspx?page=" + page;
    if (search.length > 0)
        url = url + '&search=' + search;
    advAJAX.post({
        url: url,
        parameters: { 'control': 'Products' },
        onSuccess: function (obj) {
            loadSuccess(productsContent, productsLoader, obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(productsContent, productsLoader);
        }

    });
}

function basketFocus(event) {
    var txQ = getTarget(event);
    if (txQ) {
        if (txQ.value == "0")
            txQ.value = "";
        txQ.select();
    }
}

function deAlertBaskets() {
    var basketElements = document.getElementsByName('basketQ');
    for (var xb = 0; xb < basketElements.length; xb++) {
        if (basketElements[xb].value != basketElements[xb].defaultValue) {
            basketElements[xb].defaultValue = basketElements[xb].value;
            basketElements[xb].style.borderColor = "#007DFB";
            basketElements[xb].style.backgroundColor = "#FFFFFF";
            basketElements[xb].style.borderWidth = "1px";
        }
    }
}

function basketUp(event) {
    var txQ = getTarget(event);
    if (txQ.value.charAt(0) == '0' && txQ.value.length > 1)
        txQ.value = txQ.value.substr(1, txQ.value.length);
    if (txQ) {
        if (txQ.value != txQ.defaultValue) {
            txQ.style.borderColor = "#DD0000";
            txQ.style.backgroundColor = "#FFE9DB";
            txQ.style.borderWidth = "2px";
        }
        else {
            txQ.style.borderColor = "#007DFB";
            txQ.style.backgroundColor = "#FFFFFF";
            txQ.style.borderWidth = "1px";
        }
    }
}

function sendBasket(senderId) {
    var txQ = document.getElementById('basket' + senderId);
    if (txQ) {
        if (txQ.value == '')
            txQ.value = '1';
        if (txQ.value == '0' && txQ.defaultValue == '0')
            txQ.value = '1';

        var changedElements = document.getElementsByName('basketQ');
        var basketElements = new Array();
        for (var xi = 0; xi < changedElements.length; xi++) {
            if (changedElements[xi].value != changedElements[xi].defaultValue) {
                basketElements.push(changedElements[xi].id.replace('basket', '') + ',' + changedElements[xi].value);
            }
        }
        loadBasket_client(basketElements.join(';'));
    }
    return false;
}

function spd(senderEvt, productId) {

    var productLine = getTarget(senderEvt).parentNode;
var productLineClass = '';
if (navigator.appName == 'Microsoft Internet Explorer')
        productLineClass  = productLine.getAttribute("className");
    else
        productLineClass  = productLine.getAttribute("class");

if(productLineClass == 'n2')
productLine = productLine.parentNode;

    if (productLine.descriptionIsOpen)
        closeProductDescription(productLine);
    else
        showProductDescription(productLine, productId);

}

function showProductDescription(productLine, productId) {
    if (navigator.appName == 'Microsoft Internet Explorer')
        productLine.setAttribute("className", productLine.className + ' prlWPD');
    else
        productLine.setAttribute("class", productLine.className + ' prlWPD');

    var productDescription = document.createElement("div");
    productDescription.innerHTML = '<div id="productContent' + productId + '">' +
                '</div>' +
                '<div class="blcLod" style="width:690px;padding:10px" id="productLoader' + productId + '">' +
                    '<img src="/images/ikony/loader.gif" /><br /><br />' +
                '</div>';
    if (navigator.appName == 'Microsoft Internet Explorer')
        productDescription.setAttribute("className", 'sprdsc');
    else
        productDescription.setAttribute("class", 'sprdsc');

    if (productLine.className.indexOf('prLA') > 0)
        productDescription.style.backgroundColor = "#F0F0F0";
    else
        productDescription.style.backgroundColor = "#FFFFFF";
    insertAfter(productLine.parentNode, productDescription, productLine);
    productLine.descriptionIsOpen = true;

    advAJAX.post({
        url: "GetControl.aspx?productId=" + productId,
        parameters: { 'control': 'ProductDescription' },
        onSuccess: function (obj) {
            loadSuccess(document.getElementById('productContent' + productId), document.getElementById('productLoader' + productId), obj);
        },
        onError: function (obj) { alert('error'); },
        onInitialization: function () {
            loadStart(document.getElementById('productContent' + productId), document.getElementById('productLoader' + productId));
        }

    });
}

function closeProductDescription(productLine) {
    productLine.parentNode.removeChild(productLine.nextSibling);
    if (navigator.appName == 'Microsoft Internet Explorer')
        productLine.setAttribute("className", productLine.className.replace(' prlWPD', ''));
    else
        productLine.setAttribute("class", productLine.className.replace(' prlWPD', ''));

    productLine.descriptionIsOpen = false;
}

function searchProducts_ButtonPressed() {
    var searchInput = document.getElementById('searchText');
    var searchButton = document.getElementById('searchBnt');
    //if(searchButton.nextDelete && search == searchInput.value)
    //    searchProducts('');
    //else
        searchProducts(document.getElementById('searchText').value);
}

function searchProducts_KeyPressed(event) {
    if(isEnter(event))
        searchProducts(getTarget(event).value);
    return false;
}
function showAllCategory() {
    clearSearch = search;
    search = '';
    var searchInput = document.getElementById('searchText');
    searchInput.value = '';
    loadCategories();
}
function searchProducts(searchPattern) {
    if (search != searchPattern) {
        search = searchPattern;
        var searchButton = document.getElementById('searchBnt');
        var searchInput = document.getElementById('searchText');
        var searchNotify = document.getElementById('searchNotf');
        if (search.length > 0) {
            searchButton.nextDelete = true;
            searchNotify.style.display = 'block';
        }
        else {
            searchButton.nextDelete = false;
            searchNotify.style.display = 'none';
        }
        searchInput.value = search;
        loadCategories();
    }
}

function insertAfter(parent, node, referenceNode) {
    parent.insertBefore(node, referenceNode.nextSibling);
}

function loadElements() {
    categoriesLoader = document.getElementById('categoriesLoader');
    categoriesContent = document.getElementById('categoriesContent');
    productsLoader = document.getElementById('productsLoader');
    productsContent = document.getElementById('productsContent');
    basketContent = document.getElementById('basketContent');
    basketLoader = document.getElementById('basketLoader');
}

addLoadEvent(loadElements);
addLoadEvent(loadBasket);
addLoadEvent(loadCategories);


var viewportwidth;
var viewportheight;

// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

if (typeof window.innerWidth != 'undefined') {
    viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
}

// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0) {
    viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
}

// older versions of IE

else {
    viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
}
addLoadEvent(function () {
    var scrollHd = document.createElement("div");
    scrollHd.style.position = "absolute";
    scrollHd.style.height = (viewportheight + 10) + "px";
    scrollHd.style.width = "1px";
    scrollHd.style.top = "0px";
    scrollHd.style.left = "0px";
    document.getElementsByTagName("body").item(0).appendChild(scrollHd);
});

