var aCounter = new Array();
var GVarOnPage = {
    'search' : false,
    'wizard' : 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['search']) {
                        Search_onsubmit(GVarOnPage['search'] - 1);
                        return;
                    } else if (GVarOnPage['wizard']) {
                        WL_submit(GVarOnPage['wizard'] - 1);
                        return;
                    }
                }
            }
            if(key == 39) {
                id = document.getElementById('page_next');
                if (id) {
                    if (GVarOnPage['search']) {
                        Search_onsubmit(GVarOnPage['search'] + 1);
                        return;
                    } else if (GVarOnPage['wizard']) {
                        WL_submit(GVarOnPage['wizard'] + 1);
                        return;
                    }
                }
            }
            if(id) {
                location.href = id.href;
            }
        }
    }
}

function G_catalog_active(id) {
    var oA = document.getElementById('catalog_active_' + id);
    if (oA) {
        oA.className = 'catalog_active';
    }
}

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 G_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 G_FindField() {
	var oFind = document.getElementById('find');
	if (oFind.value == 'Поиск по сайту:') oFind.value = '';
}

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=/';
        ParseCookieBasket();
    }
}

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 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 20px 0px 0px';
        oA.style.background = 'transparent url(/img/basket_sprite.gif) no-repeat scroll 0px 0px';
        oA.style.styleFloat = 'left';
        oA.style.cssFloat = 'left';
        oA.style.width = '76px';
        oA.style.height = '56px';

        var oDIV = document.createElement('div');
        basket_form.appendChild(oDIV);
        oDIV.innerHTML = 'Товаров в корзине: ' + ArticlesFromCookie;
        oDIV.style.paddingTop = '5px';

        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 = '#418a10';

        var oSpan = document.createElement('span');
        oDIV.appendChild(oSpan);
        oSpan.innerHTML = ' &#187;';
        oSpan.style.color = '#418a10';
	}
}

function SelectedCompare() {
    var j, strCookieLabel, oA, oDIV, oIMG, oSpan;
	var oList_td = document.getElementById('compare_list_td');
	if (document.cookie != 'undefined') {
		var strCookieValue = GetCookie('to_compare');
		if (strCookieValue && strCookieValue != 'none') {
            document.getElementById('compare_list').style.display = 'block';
			aCounter = strCookieValue.split(',');
			for (j = 0; j < aCounter.length; j++) {
                var oDIV_checked = document.getElementById('div_checked_' + aCounter[j]);
                if (oDIV_checked) {
                    oDIV_checked.innerHTML = '';
                    oDIV = document.createElement('div');
                    oDIV_checked.appendChild(oDIV);
                    oA = document.createElement('a');
                    oA.href = '/catalog/compare.php';
                    oA.innerHTML = 'Сравнить';
                    oDIV.appendChild(oA);

                    oDIV = document.createElement('div');
                    oDIV_checked.appendChild(oDIV);
                    oA = document.createElement('a');
                    oA.href = 'javascript:ParentChecked(' + aCounter[j] + ', 0);';
                    oA.innerHTML = '(отменить)';
                    oDIV.appendChild(oA);
                }
				strCookieLabel = GetCookie('str' + aCounter[j]);

				oDIV = document.createElement('div');
                oList_td.appendChild(oDIV);
                oDIV.id = 'compare_list_div_' + aCounter[j];
                oSpan = document.createElement('span');
                oDIV.appendChild(oSpan);
                oSpan.innerHTML = '- ';
                oA = document.createElement('a');
                oDIV.appendChild(oA);
                oA.href = '/catalog/gd-' + aCounter[j] + '.html';
                oA.innerHTML = strCookieLabel[0].toLowerCase() + strCookieLabel.substring(1);

                oA = document.createElement('a');
                oDIV.appendChild(oA);
                oA.href = 'javascript:G_compare_delete(' + aCounter[j] + ');';
                oA.style.margin = '1px 0 0 1em';
                oA.style.cssFloat = 'right';
                oA.style.styleFloat = 'right';
				oIMG = document.createElement('img');
                oA.appendChild(oIMG);
                oIMG.src = '/img/delet-compare.gif';
                oIMG.alt = 'Удалить';
                oIMG.title = 'Удалить';
			}
		}
	}
	if (aCounter.length > 1) {
        document.getElementById('compare_list_div').style.display = 'block';
	}
}

function G_compare_delete(iActiveID) {
    var oDIV, oA;
	var oList_td = document.getElementById('compare_list_td');
	var oList_div = document.getElementById('compare_list_div_' + iActiveID);
	oList_td.removeChild(oList_div);
    var oDIV_checked = document.getElementById('div_checked_' + iActiveID);
	if (oDIV_checked) {
        oDIV_checked.innerHTML = '';
        oDIV = document.createElement('div');
        oDIV_checked.appendChild(oDIV);
        oA = document.createElement('a');
        oA.href = 'javascript:ParentChecked(' + iActiveID + ', 1);';
        oA.innerHTML = 'В сравнение';
        oDIV.appendChild(oA);
    }
	if (aCounter.length <= 1) {
        document.getElementById('compare_list').style.display = 'none';
		aCounter = new Array();
		document.cookie = 'to_compare=; expires=Fri, 21 Dec 1976 04:31:24 GMT; path=/';
	} else {
		aCounter.splice(IndexInArray(iActiveID), 1);
		document.cookie = "to_compare=" + aCounter + '; path=/';
	}
	document.cookie = 'str' + iActiveID + '=; expires=Fri, 21 Dec 1976 04:31:24 GMT; path=/';
	if (aCounter.length <= 1) {
        document.getElementById('compare_list_div').style.display = 'none';
	}
}

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;
}

function IndexInArray (element_value) {
	var i = 0;
	while (i < 4) {
		if (aCounter[i] == element_value) return i;
		i++;
	}
    return false;
}

