var RegexpArticleNumber = /^[1-9]\d{0,2}$/;
var GVarOnPage = {
    "catalog" : false,
    "wizard" : false,
    "search"  : 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;
                    } else 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['catalog']) {
                        G_submit(GVarOnPage['catalog'] + 1);
                        return;
                    } else 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_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 Global_menu(sID) {
    var oEl = document.getElementById(sID);
    if (oEl) oEl.className = 'menunew_active';
}

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_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 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 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 FindField() {
	var oFind = document.getElementById('find');
	if (oFind.value == 'Поиск по сайту:') oFind.value = '';
}

function Glob_SelectOptionByValue(oOption, sValue) {
    var oOptions = oOption.getElementsByTagName("option");
    for (var i = 0; i < oOptions.length; i++) {
        if (oOptions.item(i).getAttribute("value") == sValue) {
            oOptions.item(i).selected = true;
            break;
        }
    }
}

function Glob_CalculateTotalWeight() {
    var fTotalWeight = 0;
    var regexpArticleID = /^article_id_(\d+)$/;
    var aCookie = document.cookie.split("; ");
    for (var i = 0; i < aCookie.length; i++) {
        var aCrumb = aCookie[i].split("=");
        if (regexpArticleID.test(aCrumb[0])) {
            var aArticleData = aCrumb[1].split("-");
            fTotalWeight += aArticleData[0] * aArticleData[2];
        }
    }
    document.getElementById("total_weight").value = fTotalWeight;
}

function Glob_CalculateInstallation(fTotalWeight, floor) {
    var aBefore = new Array( 50,  100,  150,  200,  300,   400);
    var aFloor1 = new Array(200,  360,  720, 1080, 2160,  6480);
    var aFloor2 = new Array(270,  540, 1080, 1620, 3240,  9720);
    var aFloor3 = new Array(360,  720, 1440, 2160, 4320, 12960);
    var aFloor4 = new Array(450,  900, 1800, 2700, 5400, 32400);
    var aFloor5 = new Array(540, 1080, 2160, 3240, 6480, 39600);

    for (var i = 0; i < aBefore.length; i++) {
        if (fTotalWeight < aBefore[i]) {
            switch (floor) {
                case "lift" :
                    return aFloor1[i];
                case "base" :
                    return aFloor2[i];
                case "floor-1" :
                    return aFloor1[i];
                case "floor-2" :
                    return aFloor2[i];
                case "floor-3" :
                    return aFloor3[i];
                case "floor-4" :
                    return aFloor4[i];
                case "floor-5" :
                    return aFloor5[i];
            }
        }
    }
    return 0;
}

function Glob_GetDeliveryPriceByWeight(fWeight) {
    var aBefore = new Array(  5,   20,   50,  100,  150,  200,  300,  400,  500);
    var aPrice  = new Array(500, 1000, 1100, 1200, 1200, 1500, 1500, 2000, 3000);
    for (var i = 0; i < aBefore.length; i++) {
        if (fWeight < aBefore[i]) {
            return aPrice[i];
        }
    }
    return 0;
}

function IntoBasket_new(iArticleID, sPrice, sWeight, bType, bInfo) {
    var iInputArticlesNumber, iNumber, iPrice, oA;
	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('bag_in_' + iArticleID);
    if (bag_in) {
        bag_in.href = '/basket/';
        (bag_in.className == 'bag_in') ? bag_in.className = 'bag_go' : bag_in.innerHTML = 'оформить заказ';
    }
	var ArticlesFromCookie = GetCookie('articles_in_basket');
	var PriceFromCookie = GetCookie('price_in_basket');
	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 + '; path=/';
		} else {
			document.cookie = 'article_id_' + iArticleID + '=' + iInputArticlesNumber + '-' + sPrice + '-' + sWeight + '-' + bType + '; 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 + '; path=/';
	}
	ParseCookieBasket_new();
}

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_new() {
	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_new.gif) no-repeat scroll 0px -48px';
        oA.style.styleFloat = 'left';
        oA.style.cssFloat = 'left';
        oA.style.width = '48px';
        oA.style.height = '48px';

        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 oSpan = document.createElement('span');
        oDIV.appendChild(oSpan);
        oSpan.innerHTML = '&#187; ';

        var oA = document.createElement('a');
        oDIV.appendChild(oA);
        oA.href = '/basket/';
        oA.style.textDecoration = 'underline';
        oA.style.color = '#000000';
        oA.innerHTML = 'Оформить заказ';
	}
}

