// JavaScript Document
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		}
	],
	dataOS : []
};

function roundElems(){
BrowserDetect.init();
if(BrowserDetect.browser == 'Safari'){
	var oldonload = window.onload;
	window.onload = function(){
		if(oldonload)oldonload();
Nifty("div.cpt_survey","bottom");
Nifty("div.cpt_tag_cloud","bottom");
Nifty("#cat_advproduct_search","");

	}
}else{
Nifty("div.cpt_survey","bottom transparent");
Nifty("div.cpt_tag_cloud","bottom transparent");
Nifty("#cat_advproduct_search","")
}
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function SetInfoBlockPosition ()											// ставим блок с информацией о разделе после списка продукции
{
	var info=document.getElementById ("cat_info_block");
	var main=document.getElementById ("cat_main_block");
	
	if (!info && !main)
		return;

	var main_height=main.offsetHeight;
	var info_height=info.offsetHeight;
	var par=main.parentNode;

	par.style.position="relative";
	par.style.marginBottom=info_height;
	
	info.style.position="absolute";
	info.style.top=main_height;
}

document.onreadystatechange = SetInfoBlockPosition;
window.onresize = SetInfoBlockPosition;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function getBodyScrollTop ()
{
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function ShowElem (id)
{
	var obj=document.getElementById (id);
	obj.style.display="block";
}

function HideElem (id)
{
	var obj=document.getElementById (id);
	obj.style.display="none";
}

function SetOpacity (id, val)
{
	var obj=document.getElementById (id);
	obj.style.opacity=val;
}

window.onscroll = function () 												// показывается кнопка "наверх" при прокрутке страницы
{
	if (getBodyScrollTop ()>0)
		ShowElem ("bn_toTop");
	else
		HideElem ("bn_toTop");

	var val=getBodyScrollTop ()/document.body.scrollHeight*4;
	SetOpacity ("bn_toTop", val);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function InvertSubcategory (command)										// сворачиваются подкатегории в центре страницы каталога
{
	var elem=document.getElementById("cat_info_left_block");
	if (!elem)
		return;
	
	var mass=elem.getElementsByTagName ("div");
	if (!mass.length)
		return;
	
	if (!document.getElementById ("show_subcat"))
	{
		elem.innerHTML= '<b><div id="show_subcat" style="display: none;"><a onClick="InvertSubcategory ('+"'show'"+'); return false;">Показать подразделы</a></div>'+
						'<div id="hide_subcat" style="display: none;"><a onClick="InvertSubcategory ('+"'hide'"+'); return false;">Скрыть подразделы</a><br><br></div></b>'+elem.innerHTML;
		if (mass.length>50)
			elem.innerHTML+='<b><div id="hide_subcat" style="display: none;"><br><a onClick="InvertSubcategory ('+"'hide'"+'); return false;">Скрыть подразделы</a></div></b>'
	}
	
	for (z=0; z<mass.length; z++)
	{
		if ((!command) || (command=="hide"))
			mass[z].style.display="none";
		else
			mass[z].style.display="block";
	}
	
	if ((!command) || (command=="hide"))
		ShowElem ("show_subcat");
	else
		HideElem ("show_subcat");

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function setCookieData (name, value, expires, path, domain, secure)
{
    if (!name || !value) return false;
    var str = name + '=' + encodeURIComponent(value);

    if (expires) str += '; expires=' + expires.toGMTString();
    if (path)    str += '; path=' + path;
    if (domain)  str += '; domain=' + domain;
    if (secure)  str += '; secure';
    
    document.cookie = str;
    return true;
}

function getCookieData (name)
{
    var pattern = "(?:; )?" + name + "=([^;]*);?";
    var regexp  = new RegExp(pattern);
	
    if (regexp.test(document.cookie))
    return decodeURIComponent(RegExp["$1"]);
	
    return false;
}

function ChangeCity (cityelem)												// смена адреса при выборе города
{
	var val=cityelem.options[cityelem.selectedIndex].value;
	SetCityData (val);
	
	var date_end=new Date (Date.now()+30*24*60*60*1000);
	setCookieData ("city_val", val, date_end, "/");
}

function SetStartCity ()
{
	var val=getCookieData ("city_val");
	if (val)
		SetCityData (val);
}

function SetCityData (val)
{
	var block;
	
	var data=val.split ("@");
	
	block=document.getElementById ("cityname");
	if (block.parentNode.id=="city_address_block")
		for (var z=0; z<block.length; z++)
			if (block.options[z].value==val)
				block.selectedIndex=z;

	block=document.getElementById ("address");
	if (block.parentNode.id=="city_address_block")
		block.innerHTML=data[3].replace ("/n", "<br>");

	block=document.getElementById ("phone_city");
	if (block.parentNode.id=="city_address_block")
		block.innerHTML=data[0];
	
	block=document.getElementById ("work_time");
	if (block.parentNode.id=="city_address_block")
		block.innerHTML=data[1];

	block=document.getElementById ("more");
	if (block.parentNode.id=="city_address_block")
		block.getElementsByTagName("a")[0].href=data[2];
}


///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function display_searchtoolbar(){
var p=document.getElementById("cpt_product_search_adv");
var o=document.getElementById("adv_search");
(o.style.display=="block")? p.innerHTML='<a href="#" onClick="display_searchtoolbar();return false;">Подробный поиск</a>': p.innerHTML='<a href="#" onClick="display_searchtoolbar();return false;">Скрыть подробный поиск</a>';
o.style.display=(o.style.display=="block")? 'none': 'block';
var v=document.getElementById("cpt_product_search_true");
(o.style.display=="block")? v.className = "cpt_product_search_true2" : v.className = "cpt_product_search_true";}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

document.onreadystatechange = function () {SetInfoBlockPosition (); InvertSubcategory (); SetStartCity ();};

