get = function (id) {return document.getElementById(id) || false;}
blockEvent = function (e) {e = e ? e : window.event;if (e.stopPropagation) e.stopPropagation();else e.cancelBubble = true;if (e.preventDefault) e.preventDefault();else e.returnValue = false;}

createXmlHttp = function ()
{
    if (typeof XMLHttpRequest != "undefined")
    {
		return new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        var aVersions = ["MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP", "Microsoft.XMLHTTP"];
        for(var i = 0; i < aVersions.length; i++)
        {
            try
            {
				var oXmlHttp = new ActiveXObject(aVersions[i]);
                return oXmlHttp;
            }
            catch (oError)
            {
                // Не удалось подключить
            }
        }
    }
    throw new Error("Невозможно создать объект XMLHttp.");
}

getRequestBody = function (oForm)
{
	var aParams = new Array();
	for (var i = 0; i < oForm.elements.length; i++)
	{
		var send = true;
		if (oForm.elements[i].type == 'checkbox')
		{
			send = oForm.elements[i].checked;
		}
		if (send)
		{
			var sParam = encodeURIComponent(oForm.elements[i].name);
			sParam += "=";
			sParam += encodeURIComponent(oForm.elements[i].value);
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}

plusLink = function (e)
{
	blockEvent(e);
	var c = this.className.split(' ');
	for (var i = 0; i < c.length; i++)
	{
		if (c[i].search('link') > -1)
		{
			var id = parseInt(c[i].replace('link', ''));
		}
	}
	if (id)
	{
		var lists = this.parentNode.getElementsByTagName('UL');
		for (var i = 0; i < lists.length; i++)
		{
			if (lists[i].className.search(id) > -1)
			{
				lists[i].style.display = this.className.search('plus') > -1 ? '' : 'none';
				this.className = this.className.search('plus') > -1 ? this.className.replace('plus', 'minus') : this.className.replace('minus', 'plus');
				break;
			}
		}
	}
}

if (!window.loadFuncs) window.loadFuncs = new Array();
window.loadFuncs.push(
	function ()
	{
		document.body.className = 'js_enabled';
		if (get('auth-link') && get('auth-block') && get('auth-close'))
		{
			get('auth-link').onclick = function (e)
			{
				blockEvent(e);
				get('auth-block').getElementsByTagName('FORM')[0].action = document.location.href.split('?')[0];
				get('overlayA').style.display = '';
				get('auth-block').style.display = '';
				get('auth-block').className = 'overlay-auth';
			}
			get('auth-close').onclick = function (e)
			{
				blockEvent(e);
				get('overlayA').style.display = 'none';
				get('auth-block').style.display = 'none';
			}
		}
		if (get('auth-link-alternative') && get('auth-block') && get('auth-close'))
		{
			get('auth-link-alternative').onclick = function (e)
			{
				blockEvent(e);
				get('auth-block').getElementsByTagName('FORM')[0].action = document.location.href.split('?')[0] + '?alt=1';
				get('overlayA').style.display = '';
				get('auth-block').style.display = '';
				get('auth-block').className = 'overlay-auth-alternative';
			}
		}
		if (get('region-submit') && get('region-select'))
		{
			get('region-select').onchange = function ()
			{
				get('region-select').parentNode.submit();
			}
		}
		if (get('basketnotice-submit') && get('basketnotice-close') && get('basketnotice-block'))
		{
			get('basketnotice-submit').onclick = get('basketnotice-close').onclick = function (e)
			{
				blockEvent(e);
				get('basketnotice-block').parentNode.removeChild(get('basketnotice-block'));
				get('overlayBN').parentNode.removeChild(get('overlayBN'));
			}
		}
		if (get('block') && get('openblock'))
		{
			get('openblock').onclick = function ()
			{
				if (get('openblock').tagName == 'INPUT')
				{
					get('block').className = get('openblock').checked ? '' : 'hidden';
				}
				else
				{
					get('block').className = get('block').className == 'hidden' ? '' : 'hidden';
					get('openblock').className = get('block').className == 'hidden' ? 'dashed link' : '';
				}
			}
			if (get('openblock').tagName == 'INPUT')
			{
				get('block').className = get('openblock').checked ? '' : 'hidden';
			}
			else
			{
				get('openblock').className = 'dashed link';
				get('block').className = get('block').className == 'hidden' ? '' : 'hidden';
			}
		}
		if (get('block2') && get('openblock2'))
		{
			get('openblock2').onclick = function ()
			{
				if (get('openblock2').tagName == 'INPUT')
				{
					get('block2').className = get('openblock2').checked ? '' : 'hidden';
				}
				else
				{
					get('block2').className = get('block2').className == 'hidden' ? '' : 'hidden';
					get('openblock2').className = get('block2').className == 'hidden' ? 'dashed link' : '';
				}
			}
			if (get('openblock2').tagName == 'INPUT')
			{
				get('block2').className = get('openblock2').checked ? '' : 'hidden';
			}
			else
			{
				get('openblock2').className = 'dashed link';
				get('block2').className = get('block2').className == 'hidden' ? '' : 'hidden';
			}
		}
		if (get('regionnotice-reset') && get('regionnotice-close'))
		{
			get('regionnotice-reset').onclick = get('regionnotice-close').onclick = function (e)
			{
				blockEvent(e);
				var oForm = get('regionnoticeform');
				var sBody = getRequestBody(oForm);
				get('regionnotice-block').parentNode.removeChild(get('regionnotice-block'));
				get('overlayRN').parentNode.removeChild(get('overlayRN'));
				var oXmlHttp = createXmlHttp();
				oXmlHttp.open("POST", document.location.href, true);
				oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				oXmlHttp.onreadystatechange = function ()
				{
					switch(oXmlHttp.readyState)
					{
						case 4 :
							if (oXmlHttp.status == 200)
							{
								// all good
							}
							else
							{
								// alert('Видимо что-то пошло не так, и мы не смогли запомнить ваш ответ :( Возможно, сообщение о выборе региона появится вновь...');
							}
						break;
					}
				}
				oXmlHttp.send(sBody);
			}
		}
		if (get('account_number_wm_block') && get('payment_types'))
		{
			var radio = get('payment_types').getElementsByTagName('INPUT');
			for (var i = 0; i < radio.length; i++)
			{
				if (radio[i].type == 'radio')
				{
					radio[i].onclick = function ()
					{
						get('account_number_wm_block').className = get('payment_type_4').checked ? '' : 'hidden';
					}
				}
			}
			get('account_number_wm_block').className = get('payment_type_4').checked ? '' : 'hidden';
		}

		if (get('mainmenu'))
		{
			var links = get('mainmenu').getElementsByTagName('A');
			for (var i = 0; i < links.length; i++)
			{
				if (links[i].className.search('plus') > -1)
				{
					links[i].onclick = plusLink;
				}
			}
		}

		if (get('action_block') && get('action_value'))
		{
			var sel = get('action_selectors').getElementsByTagName('INPUT');
			for (var i = 0; i < sel.length; i++)
			{
				if (sel[i].name == get('action_value').name)
				{
					sel[i].onchange = function ()
					{
						get('action_block').style.display = get('action_value').checked ? 'none' : '';
					}
				}
				get('action_block').style.display = get('action_value').checked ? 'none' : '';
			}
		}
	}
);