var iTimeoutID;
var GVarOnPage = {
    'catalog' : false
}

function G_onkeydown(event) {
    var id = false;
    event = event || window.event;
    var key = event.keyCode;
    if(event.ctrlKey) {
        var tag = (event.target || event.srcElement).tagName;
        if(tag != 'INPUT' && tag != 'TEXTAREA') {
            if(key == 37) {
                id = document.getElementById('page_previous');
                if (id) {
                    if (GVarOnPage['catalog']) {
                        G_submit(GVarOnPage['catalog'] - 1);
                        return;
                    }
                }
            }
            if(key == 39) {
                id = document.getElementById('page_next');
                if (id) {
                    if (GVarOnPage['catalog']) {
                        G_submit(GVarOnPage['catalog'] + 1);
                        return;
                    }
                }
            }
            if(id) {
                location.href = id.href;
            }
        }
    }
}

function G_color(sElement) {
    oElement = document.getElementById(sElement);
    oElement.style.color = oElement.options[oElement.selectedIndex].style.color;
    oElement.style.backgroundColor = oElement.options[oElement.selectedIndex].style.backgroundColor;
}

function G_submit(page) {
    document.getElementById('page').value = page;
    document.getElementById('on_page').value = document.getElementById('top_items_on_page').value;
    document.getElementById('sort_by').value = document.getElementById('top_sort_by').value;
    document.getElementById('form_submit').submit();
}

function G_into_basket() {
    var rx_article = /^article_id_(\d{1,8})$/;
    var aCookie = document.cookie.split('; ');
    for (var i = 0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split('=');
        if (rx_article.test(aCrumb[0])) {
            var exec_article = rx_article.exec(aCrumb[0]);
            var oButton = document.getElementById('into_basket_' + exec_article[1]);
            if (oButton) {
                switch (oButton.className) {
                    case 'into_basket':
                        oButton.className = 'into_basket_put';
                        break;
                    case 'into_basket_link':
                        oButton.innerHTML = 'оформить заказ';
                        oButton.href = '/basket/';
                        break;
                }
            }
        }
    }
}

function Global_SelectOption(value, select_id) {
    var oSelect = document.getElementById(select_id);
    var oOptions = oSelect.getElementsByTagName('option');
    for (var i = 0; i < oOptions.length; i++) {
        if (oOptions.item(i).getAttribute('value') == value) {
            oOptions.item(i).selected = true;
            break;
		}
	}
}

function FindField() {
	var oFind = document.getElementById('query');
	if (oFind.value == 'Поиск по сайту:') oFind.value = '';
}

function Search(sObj) {
    var oFind = document.getElementById(sObj);
	if (oFind.value == 'Поиск по сайту:') oFind.value = '';
    if (oFind.value.length < 3) {
        alert("Искомое слово не должно содержать менее трёх символов!");
        oFind.focus();
        return false;
    }
    return true;
}

function GL_Into(sLabel) {
    var articles_in_basket = GetCookie('articles_in_basket');
    var price_in_basket = GetCookie('price_in_basket');

    var oInto = document.getElementById('into-basket');
    oInto.style.top = document.body.scrollTop;
    oInto.innerHTML = '';

    var oH1 = document.createElement('h1');
    oInto.appendChild(oH1);
    oH1.innerHTML = 'Вы поместили в корзину';

    var oDIV = document.createElement('div');
    oInto.appendChild(oDIV);
    oDIV.innerHTML = sLabel;
    oDIV.style.marginBottom = '10px';
    oDIV.style.fontWeight = 'bold';

    if (articles_in_basket) {
        var oDIV = document.createElement('div');
        oInto.appendChild(oDIV);
        oDIV.innerHTML = 'В корзине товаров: ' + articles_in_basket;
    }

    if (price_in_basket) {
        var oDIV = document.createElement('div');
        oInto.appendChild(oDIV);
        oDIV.innerHTML = 'На сумму: ' + price_in_basket + ' руб.';
    }

    var oDIV = document.createElement('div');
    oInto.appendChild(oDIV);
    oDIV.style.marginTop = '10px';
    oDIV.style.textAlign = 'right';

    var oA = document.createElement('a');
    oDIV.appendChild(oA);
    oA.href = '/basket/';
    oA.style.fontWeight = 'bold';
    oA.innerHTML = 'Оформить заказ &#187;';

	oInto.style.visibility = 'visible';
	window.clearTimeout(iTimeoutID);
	iTimeoutID = window.setTimeout('document.getElementById("into-basket").style.visibility = "hidden"', 5000);
}

function GL_basket() {
    var aCookie = document.cookie.split("; ");
    for (var i = 0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split("=");
        if (/^article_id_(\d+)$/.test(aCrumb[0])) {
            return true;
        }
    }
    return false;
}

function IntoBasket(iArticleID, sPrice, sWeight, bType, bOption) {
    var iInputArticlesNumber, iNumber, iPrice;
    if (bOption && !GL_basket()) {
        alert('Пожалуйста, выберите сперва товар и затем добавьте к нему опции.');
    } else {
        var RegexpArticleNumber = /^[1-9]\d{0,7}$/;
        var oInputArticleNumber = document.getElementById("input_article_number-" + iArticleID);
        if (RegexpArticleNumber.test(oInputArticleNumber.value)) {
            iInputArticlesNumber = parseInt(oInputArticleNumber.value);
        } else {
            iInputArticlesNumber  = 1;
            oInputArticleNumber.value = 1;
        }

        var bag_in = document.getElementById('into_basket_' + iArticleID);
        if (bag_in) {
            switch (bag_in.className) {
                case 'into_basket':
                    bag_in.className = 'into_basket_put';
                    break;
                case 'into_basket_link':
                    bag_in.innerHTML = 'оформить заказ';
                    bag_in.href = '/basket/';
                    break;
            }
        }

        var ArticlesFromCookie = GetCookie("articles_in_basket");
        var PriceFromCookie = GetCookie("price_in_basket");
        var oLabel = document.getElementById("label-" + iArticleID);

        if (ArticlesFromCookie != null && PriceFromCookie != null) {
            iNumber = parseInt(ArticlesFromCookie) + iInputArticlesNumber;
            iPrice = parseFloat(PriceFromCookie) + parseFloat(sPrice) * iInputArticlesNumber;
            document.cookie = 'articles_in_basket=' + iNumber + '; path=/';
            document.cookie = 'price_in_basket=' + iPrice + '; path=/';
            var ArticleInCookie = GetCookie('article_id_' + iArticleID);
            if (ArticleInCookie != null) {
                var aArticleData = ArticleInCookie.split('-');
                document.cookie = 'article_id_' + iArticleID + '=' + (parseInt(aArticleData[0])
                    + iInputArticlesNumber) + '-' + sPrice + '-' + sWeight + '-' + bType + '-' + bOption + '; path=/';
            } else {
                document.cookie = 'article_id_' + iArticleID + '=' + iInputArticlesNumber + '-'
                    + sPrice + '-' + sWeight + '-' + bType + '-' + bOption + '; path=/';
            }
        } else {
            iNumber = iInputArticlesNumber;
            iPrice = iInputArticlesNumber * parseFloat(sPrice);
            document.cookie = 'articles_in_basket=' + iInputArticlesNumber + '; path=/';
            document.cookie = 'price_in_basket=' + iPrice + '; path=/';
            document.cookie = 'article_id_' + iArticleID + '=' + iInputArticlesNumber + '-'
                + sPrice + '-' + sWeight + '-' + bType + '-' + bOption + '; path=/';
        }
        document.cookie = 'article_name_' + iArticleID + '=' + escape(oLabel.alt) + '; path=/';
        GL_Into(oLabel.alt);
        ParseCookieBasket();
    }
}
//
function Delete_IntoBasket(iArticleID, sPrice, sWeight, bType) {
    var oInputArticleNumber = document.getElementById("input_article_number-" + iArticleID);
    if (RegexpArticleNumber.test(oInputArticleNumber.value)) {
        var iInputArticlesNumber =    parseInt(oInputArticleNumber.value);
    } else {
        var iInputArticlesNumber =    1;
        oInputArticleNumber.value = 1;
    }
    var oIntoBasketDIV = document.getElementById("into-basket");
    var oBasketDIV = document.getElementById("basket_div");
    var oBasketForm = document.getElementById("basket_form");
    var ArticlesFromCookie = GetCookie("articles_in_basket");
    var PriceFromCookie = GetCookie("price_in_basket");
    var oLabel = document.getElementById("label-" + iArticleID);
    oBasketDIV.style.display = "block";
    oIntoBasketDIV.style.top = document.body.scrollTop;
    var sIntoBasket = "<h1>Вы поместили в корзину</h1><div style='font-weight: bold; margin-bottom: 10px;'>" + oLabel.alt + "</div>В корзине товаров: ";
    oIntoBasketDIV.style.visibility = "visible";
    window.clearTimeout(iTimeoutID);
    iTimeoutID = window.setTimeout("document.getElementById('into-basket').style.visibility = 'hidden'", 5000);
    if (ArticlesFromCookie != null && PriceFromCookie != null) {
        ArticlesFromCookie = parseInt(ArticlesFromCookie) + iInputArticlesNumber;
        PriceFromCookie = parseFloat(PriceFromCookie) + parseFloat(sPrice) * iInputArticlesNumber;
        document.cookie = "articles_in_basket=" + ArticlesFromCookie + "; path=/";
        document.cookie = "price_in_basket=" + PriceFromCookie + "; path=/";
        var ArticleInCookie = GetCookie("article_id_" + iArticleID);
        if (ArticleInCookie != null) {
            var aArticleData = ArticleInCookie.split("-");
            document.cookie = "article_id_" + iArticleID + "=" + (parseInt(aArticleData[0]) + iInputArticlesNumber) + "-" + sPrice + "-" + sWeight + "-" + bType + "; path=/";
        } else {
            document.cookie = "article_id_" + iArticleID + "=" + iInputArticlesNumber + "-" + sPrice + "-" + sWeight + "-" + bType + "; path=/";
        }
        oIntoBasketDIV.innerHTML = sIntoBasket + ArticlesFromCookie +
"<br>На сумму: " + PriceFromCookie + " руб.<br>" +
"<div align='right' style='margin-top: 10px;'><a href='/basket/'><strong>Оформить заказ &#187;</strong></a></div>";
        oBasketForm.innerHTML = "В корзине товаров: " + ArticlesFromCookie +
"<br>На сумму: " + PriceFromCookie + " руб.<br>" +
"<a href='/basket/'><strong>Оформить заказ &#187;</strong></a>";
    } else {
        var iPriceInBasket = iInputArticlesNumber * parseFloat(sPrice);
        document.cookie = "articles_in_basket=" + iInputArticlesNumber + "; path=/";
        document.cookie = "price_in_basket=" + iPriceInBasket + "; path=/";
        document.cookie = "article_id_" + iArticleID + "=" + iInputArticlesNumber + "-" + sPrice + "-" + sWeight + "-" + bType + "; path=/";
        oIntoBasketDIV.innerHTML = sIntoBasket + iInputArticlesNumber +
"<br>На сумму: " + iPriceInBasket + " руб.<br>" +
"<div align='right' style='margin-top: 10px;'><a href='/basket/'><strong>Оформить заказ &#187;</strong></a></div>";
        oBasketForm.innerHTML = "В корзине товаров: " + iInputArticlesNumber +
"<br>На сумму: " + iPriceInBasket + " руб.<br>" +
"<a href='/basket/'><strong>Оформить заказ &#187;</strong></a>";
    }
    document.cookie = "article_name_" + iArticleID + "=" + escape(oLabel.alt) + "; path=/";
}

function GetCookie(sName) {
    var aCookie = document.cookie.split("; ");
    for (var i=0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split("=");
        if (sName == aCrumb[0])
            return unescape(aCrumb[1]);
    }
    return null;
}

function ParseCookieBasket() {
	var basket_form = document.getElementById('basket_form');
	var ArticlesFromCookie = GetCookie('articles_in_basket');
	var PriceFromCookie = GetCookie('price_in_basket');
	var cookieOrderFrom = GetCookie('order_from');
	if (cookieOrderFrom == null && document.referrer) {
		document.cookie = 'order_from=' + escape(document.referrer) + '; path=/';
	}

	if (ArticlesFromCookie && PriceFromCookie) {
	    basket_form.innerHTML = '';

        var oA = document.createElement('a');
        basket_form.appendChild(oA);
        oA.href = '/basket/';
        oA.style.margin = '0px 5px 0px 0px';
        oA.style.background = 'transparent url(/img/lockman_basket_sprite.gif) no-repeat scroll 0px -41px';
        oA.style.styleFloat = 'left';
        oA.style.cssFloat = 'left';
        oA.style.width = '61px';
        oA.style.height = '41px';

        var oDIV = document.createElement('div');
        basket_form.appendChild(oDIV);
        oDIV.innerHTML = 'Выбрано товаров: ' + ArticlesFromCookie;

        var oDIV = document.createElement('div');
        basket_form.appendChild(oDIV);
        oDIV.innerHTML = 'На сумму: ' + PriceFromCookie + ' руб.';

        var oDIV = document.createElement('div');
        basket_form.appendChild(oDIV);

        var oA = document.createElement('a');
        oDIV.appendChild(oA);
        oA.href = '/basket/';
        oA.innerHTML = 'Оформить заказ';
        oA.style.color = '#a11010';
        oA.style.fontSize = '13px';

        var oSpan = document.createElement('span');
        oDIV.appendChild(oSpan);
        oSpan.innerHTML = ' &#187;';
        oSpan.style.color = '#a11010';
        oSpan.style.fontSize = '13px';
	}
}

function G_number_format(digit) {
    var i, r = '', dec = 3;
    var str = digit.toString().split('.');
    var a_int = str[0].split('');
    for (i = a_int.length - 1; i >= 0; i--) {
        r = ((dec == 1 && i > 0) ? ' ' : '') + a_int[i] + r;
        dec = (dec == 1) ? 3 : dec - 1;
    }
    r = (str[1]) ? r + '.' + str[1] : r;
    return r;
}

