//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2008 Adobe Systems Incorporated.  All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion()
{
	var version;
	var axo;
	var e;
	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry
	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}
	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";
			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";
			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}
// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}
function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}
function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

var jshover = function()
{
	var menuDiv = document.getElementById("header_bottom_inner")
	if (!menuDiv)
		return;

	var sfEls = menuDiv.getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) 
	{
		sfEls[i].onmouseover=function()
		{
			this.className+=" jshover";
		}
		sfEls[i].onmouseout=function() 
		{
			this.className=this.className.replace(new RegExp(" jshover\\b"), "");
		}
	}
}

if (window.attachEvent) 
	window.attachEvent("onload", jshover);

function GrabberPopupImgShw(ID, width, height, alt)
{
	var scroll = "no";
	var top=0, left=0;
	if(width > screen.width-10 || height > screen.height-28) scroll = "yes";
	if(height < screen.height-28) top = Math.floor((screen.height - height)/2-14);
	if(width < screen.width-10) left = Math.floor((screen.width - width)/2-5);
	width = Math.min(width, screen.width-10);
	height = Math.min(height, screen.height-28);
	var wnd = window.open("","","scrollbars="+scroll+",resizable=yes,width="+width+",height="+height+",left="+left+",top="+top);
	wnd.document.write(
		"<html><head>"+
		"<"+"script type=\"text/javascript\">"+
		"function KeyPress()"+
		"{"+
		"	if(window.event.keyCode == 27) "+
		"		window.close();"+
		"}"+
		"</"+"script>"+
		"<title>"+(alt == ""? "Картинка":alt)+"</title></head>"+
		"<body topmargin=\"0\" leftmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" onKeyPress=\"KeyPress()\">"+
		"<img src=\""+ID+"\" border=\"0\" alt=\""+alt+"\" />"+
		"</body></html>"
	);
	wnd.document.close();
}


var authPreloadImages = ["close.gif"];
for (var imageIndex = 0; imageIndex < authPreloadImages.length; imageIndex++)
{
	var imageObj = new Image();
	imageObj.src = "/gallery/images/" + authPreloadImages[imageIndex];
}
authPreloadImages = null;

var jsPublicImage =
{
	Step: 15,
	PaddingSize: 15,
	Timer: 30,
	ImageParams: [],
	ImageObject: null,
	DivObject: null,
	DivShadowObject: null,
	StepWaitImage: 240,
	TimerWaitImage: 125,
	Shadow: false,
	ImageSource: false,
	AltText: false,

	__PrepareImage: function(image)
	{
		//clear
		this.CloseImage();
		this.ImageParams = [];
		this.ImageObject = null;
		this.DivObject = null;
		this.DivShadowObject = null;
		this.Shadow = false;
		this.ImageSource = false

		//create div
		this.DivObject =  document.body.appendChild(document.createElement('DIV'));
		this.DivObject.className = 'public-outside-div';
		this.DivObject.id = 'img_container_big';

		//create image
		this.ImageObject = this.DivObject.appendChild(document.createElement('IMG'));
		this.ImageObject.src = image;
		this.ImageObject.id = 'img_container_big_image';
	},

	__PrepareParams: function()
	{
		//get sizes
		this.ImageParams['ImageWidth'] = this.w ? this.w : this.ImageObject.width;
		this.ImageParams['ImageHeight'] = this.h ? this.h : this.ImageObject.height;
		this.ImageParams['minImageWidth'] = this.ImageParams['ImageWidth']/this.Step;
		this.ImageParams['minImageHeight'] = this.ImageParams['ImageHeight']/this.Step;

		//set image style
		this.ImageObject.className = 'public-image-big';

		//get window sizes
		this.ImageParams['WinSize'] = jsUtils.GetWindowSize();

		//correction
		var panel = document.getElementById('bx_top_panel_container');
		this.ImageParams['CorrectTop'] = this.PaddingSize;
		this.ImageParams['CorrectLeft'] = this.PaddingSize;

		if(panel && panel.offsetHeight > this.ImageParams['WinSize']['scrollTop'])
			this.ImageParams['CorrectTop'] += panel.offsetHeight - this.ImageParams['WinSize']['scrollTop'];

		//show block
		this.DivObject.style.visibility = 'visible';
	},

	ShowImage: function(small_image, image, shadow, alt_text, w, h)
	{
		this.AltText = alt_text;
		this.w = w;
		this.h = h;
		//close wait window
		this.CloseLocalWaitWindow(this.ImageSource);

		//prepare image
		this.__PrepareImage(image);
		this.ImageSource = small_image;
		this.ShowLocalWaitWindow(this.ImageSource);
		//add shadow
		if(shadow)
			this.Shadow = true;
		//check if image loaded
		this.__ImageCheckLoad(1, this.ImageSource);
		//close buttons
		var AltTextObj = this.DivObject.appendChild(document.createElement('DIV'));
		AltTextObj.className = 'public-image-alt-text';
		AltTextObj.innerHTML = '<span>' + this.AltText + '</span>';
	},

	__ImageCheckLoad: function(i, ImageSource)
	{
		//if image suddenly changed
		if(ImageSource != this.ImageSource)
			return;

		if(i>this.StepWaitImage)
		{
			this.CloseLocalWaitWindow(this.ImageSource);
			return;
		}

		var _this = this;
		//wait while image won't be loaded
		if(!this.ImageObject.complete && (!this.ImageObject.width || this.ImageObject.width<=0 || (this.ImageObject.width==28 && jsUtils.IsIE())))
			setTimeout(function() {_this.__ImageCheckLoad(++i, ImageSource)}, this.TimerWaitImage);
		else
		{
			this.__PrepareParams();
			this.CloseLocalWaitWindow(this.ImageSource);
			setTimeout(function() {_this.ImageExpand(1, ImageSource)}, this.Timer);
		}
	},

	ImageExpand: function(i, ImageSource)
	{
		//if image suddenly changed
		if(ImageSource != this.ImageSource)
			return;

		if(i>this.Step)
		{
			this.__PrepareClose();
			return;
		}

		//resize
		this.DivObject.style.width = this.ImageParams['minImageWidth'] * i + 'px';
		this.DivObject.style.height = this.ImageParams['minImageHeight'] * i + 'px';

		//top move
		var TopPadding = this.ImageParams['WinSize']['innerHeight']/2 - (this.ImageParams['minImageHeight'] * i)/2 + this.ImageParams['WinSize']['scrollTop'];
		var TopPaddingCmp = this.ImageParams['CorrectTop'] + this.ImageParams['WinSize']['scrollTop'];
		if(TopPadding < TopPaddingCmp)
			this.DivObject.style.top = TopPaddingCmp + 'px';
		else
			this.DivObject.style.top = TopPadding + 'px';

		//left move
		var LeftPadding = this.ImageParams['WinSize']['innerWidth']/2 - (this.ImageParams['minImageWidth'] * i)/2 + this.ImageParams['WinSize']['scrollLeft'];
		var LeftPaddingCmp = this.ImageParams['CorrectLeft'] + this.ImageParams['WinSize']['scrollLeft'] + 'px';
		if(LeftPadding < LeftPaddingCmp)
			this.DivObject.style.left = LeftPaddingCmp + 'px';
		else
			this.DivObject.style.left = LeftPadding + 'px';

		//set transparent
		this.setElementOpacity('img_container_big_image', 0.1*i);

		//set shadow
		if(this.Shadow)
			this.ShadowExpand();

		//repeat step
		setTimeout(function() {jsPublicImage.ImageExpand(++i, ImageSource);}, this.Timer);

	},

	ShadowExpand: function()
	{
		if(!this.Shadow)
			return;
		//create shadow block
		if(this.DivShadowObject==null || !this.DivShadowObject)
		{
			this.DivShadowObject = this.DivObject.appendChild(document.createElement('DIV'));
			this.DivShadowObject.className = 'public-inside-div';
			this.DivShadowObject.id = 'img_container_shadow';
			this.setElementOpacity('img_container_shadow', 0.2);
		}

		this.DivShadowObject.style.width = this.DivObject.style.width;
		this.DivShadowObject.style.height = this.DivObject.style.height;
	},

	__PrepareClose: function()
	{
		//prepare close actions
		function __Close(e)
		{
			if (!e) e = window.event
			if (!e) return;
			if (e.keyCode == 27)
			{
				jsPublicImage.CloseImage();
				jsUtils.removeEvent(document, 'keydown', __Close);
			}
		}

		jsUtils.addEvent(document, 'keydown', __Close);
		this.ImageObject.onclick = function() {jsPublicImage.CloseImage()};
		this.__PrepareCloseButton();
	},

	__PrepareCloseButton: function()
	{
		//close buttons
		var CloseBtn = this.DivObject.appendChild(document.createElement('DIV'));
		CloseBtn.style.left = this.ImageParams['ImageWidth'] + 'px';
		CloseBtn.className = 'public-image-close-image';
		CloseBtn.onclick = function() {jsPublicImage.CloseImage()};
	},

	CloseImage: function()
	{
		var obDiv = document.getElementById('img_container_big');
		if(obDiv)
			document.body.removeChild(obDiv);
	},

	ShowLocalWaitWindow: function (cont)
	{
		if (typeof cont == 'string' || typeof cont == 'object' && cont.constructor == String)
			var obContainerNode = document.getElementById(cont);
		else
			var obContainerNode = cont;

		if (obContainerNode.getBoundingClientRect)
		{
			var obRect = obContainerNode.getBoundingClientRect();
			var obWndSize = jsUtils.GetWindowSize();

			var arContainerPos = {
				left: obRect.left + obWndSize.scrollLeft,
				top: obRect.top + obWndSize.scrollTop,
				right: obRect.right + obWndSize.scrollLeft,
				bottom: obRect.bottom + obWndSize.scrollTop
			};
		}
		else
			var arContainerPos = jsUtils.GetRealPos(obContainerNode);

		var container_id = obContainerNode.id;

		if (!arContainerPos) return;

		var obWaitMessage = document.body.appendChild(document.createElement('DIV'));
		obWaitMessage.id = 'wait_image';
		obWaitMessage.className = 'waitwindow';

		var div_top = arContainerPos.top + 5;
		if (div_top < document.body.scrollTop) div_top = document.body.scrollTop + 5;

		obWaitMessage.style.top = div_top + 'px';
		obWaitMessage.style.left = (arContainerPos.left + 5) + 'px';
		obWaitMessage.innerHTML = 'Загрузка...';

		if(jsUtils.IsIE())
		{
			var frame = document.createElement("IFRAME");
			frame.src = "javascript:''";
			frame.id = 'waitframe_image';
			frame.className = "waitwindow";
			frame.style.width = obWaitMessage.offsetWidth + "px";
			frame.style.height = obWaitMessage.offsetHeight + "px";
			frame.style.left = obWaitMessage.style.left;
			frame.style.top = obWaitMessage.style.top;
			document.body.appendChild(frame);
		}
	},

	CloseLocalWaitWindow: function(cont)
	{
		if (typeof cont == 'string' || typeof cont == 'object' && cont.constructor == String)
			var obContainerNode = document.getElementById(cont);
		else
			var obContainerNode = cont;

		var container_id = obContainerNode.id;

		var obWaitMessageFrame = document.getElementById('waitframe_image');
		if (obWaitMessageFrame)
			document.body.removeChild(obWaitMessageFrame);
		var obWaitMessage = document.getElementById('wait_image');
		if (obWaitMessage)
			document.body.removeChild(obWaitMessage);
	},

	//opacity
	setElementOpacity: function(sElemId, nOpacity)
	{
		var opacityProp = this.getOpacityProperty();
		var elem = document.getElementById(sElemId);

		if (!elem || !opacityProp)
			return;

		if (opacityProp=="filter")
		{
			nOpacity *= 100;

			var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
			if (oAlpha)
				oAlpha.opacity = nOpacity;
			else
			{
//				elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";
			}
		}
		else
			elem.style[opacityProp] = nOpacity;
	},

	getOpacityProperty: function()
	{
		if (typeof document.body.style.opacity == 'string')
			return 'opacity';
		else if (typeof document.body.style.MozOpacity == 'string')
			return 'MozOpacity';
		else if (typeof document.body.style.KhtmlOpacity == 'string')
			return 'KhtmlOpacity';
		else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5)
			return 'filter';

		return false;
	}
}

//add if not exists
if(!window.jsUtils)
{
	var jsUtils =
	{
		arEvents: Array(),

		addEvent: function(el, evname, func, capture)
		{
			if(el.attachEvent)
				el.attachEvent("on" + evname, func);
			else if(el.addEventListener)
				el.addEventListener(evname, func, false);
			else
				el["on" + evname] = func;
			this.arEvents[this.arEvents.length] = {'element': el, 'event': evname, 'fn': func};
		},

		removeEvent: function(el, evname, func)
		{
			if(el.detachEvent)
				el.detachEvent("on" + evname, func);
			else if(el.removeEventListener)
				el.removeEventListener(evname, func, false);
			else
				el["on" + evname] = null;
		},

		IsIE: function()
		{
			return (document.attachEvent && !this.IsOpera());
		},

		IsOpera: function()
		{
			return (navigator.userAgent.toLowerCase().indexOf('opera') != -1);
		},

		IsSafari: function()
		{
			var userAgent = navigator.userAgent.toLowerCase();
			return (/webkit/.test(userAgent));
		},

		GetRealPos: function(el)
		{
			if(!el || !el.offsetParent)
				return false;

			var res = Array();
			res["left"] = el.offsetLeft;
			res["top"] = el.offsetTop;
			var objParent = el.offsetParent;

			while(objParent && objParent.tagName != "BODY")
			{
				res["left"] += objParent.offsetLeft;
				res["top"] += objParent.offsetTop;
				objParent = objParent.offsetParent;
			}
			res["right"] = res["left"] + el.offsetWidth;
			res["bottom"] = res["top"] + el.offsetHeight;

			return res;
		},

		GetWindowInnerSize: function(pDoc)
		{
			var width, height;
			if (!pDoc)
				pDoc = document;

			if (self.innerHeight)
			{
				width = self.innerWidth;
				height = self.innerHeight;
			}
			else if (pDoc.documentElement && pDoc.documentElement.clientHeight)
			{
				width = pDoc.documentElement.clientWidth;
				height = pDoc.documentElement.clientHeight;
			}
			else if (pDoc.body)
			{
				width = pDoc.body.clientWidth;
				height = pDoc.body.clientHeight;
			}
			return {innerWidth : width, innerHeight : height};
		},

		GetWindowScrollPos: function(pDoc)
		{
			var left, top;
			if (!pDoc)
				pDoc = document;

			if (self.pageYOffset)
			{
				left = self.pageXOffset;
				top = self.pageYOffset;
			}
			else if (pDoc.documentElement && pDoc.documentElement.scrollTop)
			{
				left = document.documentElement.scrollLeft;
				top = document.documentElement.scrollTop;
			}
			else if (pDoc.body)
			{
				left = pDoc.body.scrollLeft;
				top = pDoc.body.scrollTop;
			}
			return {scrollLeft : left, scrollTop : top};
		},

		GetWindowScrollSize: function(pDoc)
		{
			var width, height;
			if (!pDoc)
				pDoc = document;

			if ( (pDoc.compatMode && pDoc.compatMode == "CSS1Compat"))
			{
				width = pDoc.documentElement.scrollWidth;
				height = pDoc.documentElement.scrollHeight;
			}
			else
			{
				if (pDoc.body.scrollHeight > pDoc.body.offsetHeight)
					height = pDoc.body.scrollHeight;
				else
					height = pDoc.body.offsetHeight;

				if (pDoc.body.scrollWidth > pDoc.body.offsetWidth ||
					(pDoc.compatMode && pDoc.compatMode == "BackCompat") ||
					(pDoc.documentElement && !pDoc.documentElement.clientWidth)
				)
					width = pDoc.body.scrollWidth;
				else
					width = pDoc.body.offsetWidth;
			}
			return {scrollWidth : width, scrollHeight : height};
		},

		GetWindowSize: function()
		{
			var innerSize = jsUtils.GetWindowInnerSize();
			var scrollPos = jsUtils.GetWindowScrollPos();
			var scrollSize = jsUtils.GetWindowScrollSize();

			return  {
				innerWidth : innerSize.innerWidth, innerHeight : innerSize.innerHeight,
				scrollLeft : scrollPos.scrollLeft, scrollTop : scrollPos.scrollTop,
				scrollWidth : scrollSize.scrollWidth, scrollHeight : scrollSize.scrollHeight
			};
		}
	}
}

var _cart_ads

function grb_add_cart(_id)
{
	var _r = Math.floor( Math.random( ) * (999999 - 100000 + 1) ) + 100000;
	for(var i = 0; i < grb_elements_cart.length; i++)
	{
		if(grb_elements_cart[i] == _id)
		{
			if(confirm("Товар уже добавлен в корзину, что бы приступить к оформлению заказа нажмите Ok."))
			{
				window.location.href = '/basket/';
			}
			return false;
		}
	}
	grb_elements_cart[grb_elements_cart.length] = _id;
	grb_count_cart[grb_elements_cart.length]    = 1;
	var _img = new Image();
	_img.src = '/basket/add.php?id='+_id+'&rand='+_r;
	var _cnt  = grb_all_cart + 1;
	var _link = document.getElementById('cartlink');
	var _html = 'В вашей корзине <b>'+_cnt+'</b> товаров</a>';
	_link.innerHTML = _html;
	return false;
}
