var winWidth = 610;
var winHeight = 600;
var agent=navigator.userAgent.toLowerCase();
if (agent.indexOf('opera')!=-1)
{
	winHeight = 500;
}

function CurrencyConvert()
{
	document.getElementById('convert_currency').value = (document.getElementById('convert_currency').value == "0") ? "1" : "0";
	document.getElementById('currency').value = (document.getElementById('currency').value == "usd") ? "rur" : "usd";
	document.filter.submit();
	
	return true;
}

function OpenWindow()
{
    goods = CompareStringToArray(GetCookie("compare_string"));
    var g=0;
    var t='';
    for(i=0; i<goods.length; i++)
    {
        if(Number(goods[i]) > 0)
        {
            g++;
        };
    }
    if(g>0)
    {
        window.open(siteRelURL + 'common/vallar.php','name_of_popup_window','resizable=yes,location=no,menubar=no,scrollbars=yes,status=yes,toolbar=no,fullscreen=no,dependent=no,width=800,height=600,left=100,top=100');
    }
    else
    {
        alert('Не выбран ни один товар. Чтобы сравнить товарные позиции, отметьте интересующие проставлением галки (расположена под числом, обозначающим код товара) и нажмите кнопку "Сравнить" заново. Если под кодом товара поле для галки отсутствует, подробная информация о нем еще не занесена в базу данных и участвовать в сравнении он пока не может.');
    }
}

function GetCookie(name)
{
   var start = document.cookie.indexOf(name+"=");
   var len = start+name.length+1;
   if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
   if (start == -1) return null;
   var end = document.cookie.indexOf(";",len);
   if (end == -1) end = document.cookie.length;
   return unescape(document.cookie.substring(len,end));
}

function SetCookie(name,value,expires,path,domain,secure)
{
    var cookieString = name + "=" +escape(value) +
       ( (expires) ? ";expires=" + expires.toGMTString() : "") +
       ( (path) ? ";path=" + path : ";path=/") +
       ( (domain) ? ";domain=" + domain : "") +
       ( (secure) ? ";secure" : "");
    document.cookie = cookieString;
}

function CompareStringToArray(s)
{
  if(s==null) return new Array();
  return s.split(',');
}

function ArrayToCompareString(ids)
{
  s="";
  for(i=0;i<ids.length; i++)
  {
    s+=ids[i]+",";
  }
  return s;
}

function AddToCompare(good_id, category_id)
{
  goods_str = "";
  goods_str = GetCookie('compare_string');
  group = GetCookie('compare_group');
  goods = CompareStringToArray(goods_str);
  if(goods.length > 0 && group != category_id)
  {
    if(!confirm("Для сравнения необходимо выбрать товары из одной группы. Нажмите ОК для очистки списка или отмену для отмена операции")){
      document.getElementById('chkbx_'+good_id).checked = false;
    }else{
         SetCookie('compare_group',category_id);
         SetCookie('compare_string',"");
         AddToCompare(good_id, category_id);
    }
    return;
  }

  // lookup this good_id
  for(i=0; i<goods.length; i++)
  {
    if(goods[i] == good_id) return;
  }

  if(goods.length==0)
    group = category_id;

  goods.push(good_id);

  SetCookie('compare_string',ArrayToCompareString(goods));
  SetCookie('compare_group',group);
}

function RemoveFromCompare(good_id)
{
  goods_str = "";
  goods_str = GetCookie('compare_string');
  goods = CompareStringToArray(goods_str);
  goods_new = new Array();
  // lookup this good_id
  for(i=0; i<goods.length; i++)
  {
    if(goods[i] != good_id)
    {
     //if(goods[i]=='' || goods[i]=='undefined'){
      goods_new.push(goods[i]);
     //}
    }
  }
  SetCookie('compare_string',ArrayToCompareString(goods_new));
}

function ChangeCompareState(ck_checked, good_id, cat_id)
{
  if(!ck_checked)
  {
    RemoveFromCompare(good_id);
  }
  else
  {
    AddToCompare(good_id, cat_id);
  }
  return;
}

var pricehelp = "Цена доступна в рамках акции <a href=\"http://www.ab-group.ru/action.php\" target=\"_top\">«Ударим доставкой по погодным аномалиям»!</a>";


var Price_availability_0 = "Товар отсутствует на складе, информация о будущих поставках отсутствует";
var Price_availability_s1 = "Товар ожидается";
var Price_availability_s2 = "Обрабатывается на складе, в ближайшее время поступит в продажу";
var Price_availability_16 = "Товар свободен для заказа";
var Price_availability_713 = "Весь имеющийся на складе товар зарезервирован, для получения оперативной информации о поступлении воспользуйтесь сервисом \"Уведомления\"";

var custom_goods = "Товар доступен под заказ";

function showHelpTip(e, sHtml, bHideSelects, mouseOutHidden) {
        // find anchor element
        var el = e.target || e.srcElement;
        while (el.tagName != "A")
                el = el.parentNode;

        // is there already a tooltip? If so, remove it
        if (el._helpTip) {
                helpTipHandler.hideHelpTip(el);
        }

        helpTipHandler.hideSelects = Boolean(bHideSelects);

        // create element and insert last into the body
        helpTipHandler.createHelpTip(el, sHtml);

        // position tooltip
        helpTipHandler.positionToolTip(e);

        // add a listener to the blur event.
        // When blurred remove tooltip and restore anchor
        el.onblur = helpTipHandler.anchorBlur;
        el.onkeydown = helpTipHandler.anchorKeyDown;
		if (mouseOutHidden)
		{
			el.onmouseout = helpTipHandler.anchorMouseOut;
		}
}

var helpTipHandler = {
        hideSelects:        false,

        helpTip:                null,

        showSelects:        function (bVisible) {
                if (!this.hideSelects) return;
                // only IE actually do something in here
                var selects = [];
                if (document.all)
                        selects = document.all.tags("SELECT");
                var l = selects.length;
                for        (var i = 0; i < l; i++)
                        selects[i].runtimeStyle.visibility = bVisible ? "" : "hidden";
        },

        create:        function () {
                var d = document.createElement("DIV");
                d.className = "help-tooltip";
                d.onmousedown = this.helpTipMouseDown;
                d.onmouseup = this.helpTipMouseUp;
                document.body.appendChild(d);
                this.helpTip = d;
        },

        createHelpTip:        function (el, sHtml) {
                if (this.helpTip == null) {
                        this.create();
                }

                var d = this.helpTip;
                d.innerHTML = sHtml;
                d._boundAnchor = el;
                el._helpTip = d;
                return d;
        },

        // Allow clicks on A elements inside tooltip
        helpTipMouseDown:        function (e) {
                var d = this;
                var el = d._boundAnchor;
                if (!e) e = event;
                var t = e.target || e.srcElement;
                while (t.tagName != "A" && t != d)
                        t = t.parentNode;
                if (t == d) return;

                el._onblur = el.onblur;
                el.onblur = null;
        },

        helpTipMouseUp:        function () {
                var d = this;
                var el = d._boundAnchor;
                el.onblur = el._onblur;
                el._onblur = null;
                el.focus();
        },

        anchorBlur:        function (e) {
                var el = this;
                helpTipHandler.hideHelpTip(el);
        },

        anchorKeyDown:        function (e) {
                if (!e) e = window.event
                if (e.keyCode == 27) {        // ESC
                        helpTipHandler.hideHelpTip(this);
                }
        },

        anchorMouseOut:        function (e) {
                helpTipHandler.hideHelpTip(this);
        },

        removeHelpTip:        function (d) {
                d._boundAnchor = null;
                d.style.filter = "none";
                d.innerHTML = "";
                d.onmousedown = null;
                d.onmouseup = null;
                d.parentNode.removeChild(d);
                //d.style.display = "none";
        },

        hideHelpTip:        function (el) {
                var d = el._helpTip;
                /*        Mozilla (1.2+) starts a selection session when moved
                        and this destroys the mouse events until reloaded
                d.style.top = -el.offsetHeight - 100 + "px";
                */

                d.style.visibility = "hidden";
                //d._boundAnchor = null;

                el.onblur = null;
                el._onblur = null;
                el._helpTip = null;
                el.onkeydown = null;

                this.showSelects(true);
        },

        positionToolTip:        function (e) {
                this.showSelects(false);
                var scroll = this.getScroll();
                var d = this.helpTip;

                // width
                if (d.offsetWidth >= scroll.width)
                        d.style.width = scroll.width - 10 + "px";
                else
                        d.style.width = "";

                // left
                if (e.clientX > scroll.width - d.offsetWidth)
                        d.style.left = scroll.width - d.offsetWidth + scroll.left + "px";
                else
                        d.style.left = e.clientX - 2 + scroll.left + "px";

                // top
                if (e.clientY + d.offsetHeight + 18 < scroll.height)
                        d.style.top = e.clientY + 18 + scroll.top + "px";
                else if (e.clientY - d.offsetHeight > 0)
                        d.style.top = e.clientY + scroll.top - d.offsetHeight + "px";
                else
                        d.style.top = scroll.top + 5 + "px";

                d.style.visibility = "visible";
        },

        // returns the scroll left and top for the browser viewport.
        getScroll:        function () {
                if (document.all && typeof document.body.scrollTop != "undefined") {        // IE model
                        var ieBox = document.compatMode != "CSS1Compat";
                        var cont = ieBox ? document.body : document.documentElement;
                        return {
                                left:        cont.scrollLeft,
                                top:        cont.scrollTop,
                                width:        cont.clientWidth,
                                height:        cont.clientHeight
                        };
                }
                else {
                        return {
                                left:        window.pageXOffset,
                                top:        window.pageYOffset,
                                width:        window.innerWidth,
                                height:        window.innerHeight
                        };
                }

        }

};

function class_click(state)
{
    document.getElementById('group_class').value=state?1:0;
    document.getElementById('group_vend').value=0;
    document.getElementById('group_v').checked=false;
}

function vend_click(state)
{
    document.getElementById('group_vend').value=state?1:0;
    document.getElementById('group_class').value=0;
    document.getElementById('group_c').checked=false;
}

function openPriceChange(pr1,pr2,dt1,dt2)
{
    PriceWin=open("", "","scrollbars=0,resizable=0,width=160,height=70,status=no,toolbar=no,menubar=no");
    PriceWin.document.open();
    PriceWin.document.write("<html><head><title>"+goods_price_change+"</title><link rel='stylesheet' href='http://" + STATIC_HOST + "/etc/css/style2.css' type='text/css' /></head><body leftmargin=0 topmargin=0>");
    PriceWin.document.write("<center><br><table border='0' cellpadding='0' cellspacing='1' width='150'><tr>    <td bgcolor='#BBCEEC' align='center'>"+goods_new_price+"</td>    <td bgcolor='#BBCEEC' width='60' align='center'>"+goods_date+"</font></td></tr><tr>    <td align='center'>"+pr1+"</td><td align='center'>"+dt1+"</td></tr><tr>    <td></td><td></td></tr><tr><td bgcolor='#BBCEEC' align='center'>"+goods_prev_price+"</td>    <td bgcolor='#BBCEEC' width='60' align='center'>"+goods_date+"</td></tr><tr>    <td align='center'>"+pr2+"</td><td align='center'>"+dt2+"</td></tr></table></center>");
    PriceWin.document.write("</body></html>");
    PriceWin.focus();
    PriceWin.document.close();
}

function openPriceComplaint(good_id, site_id)
{
    window.open("common/price_compl.php?good_id="+good_id+"&site_id="+site_id,"","scrollbars=0,resizable=0,width=400,height=300,status=no,toolbar=no,menubar=no");
    return false;
}

function openEstimate(url, goodID)
{
    window.open(url + "common/estimate.php?goodID=" + goodID,goodID,"scrollbars=1,resizable=0,width=650,height=400,status=no,toolbar=no,menubar=no");
    return false;
}

// PREVIEW BEGIN
var frameYPosition = 0;
function goodsPreviewForm(rXml, rText, rP)
{
	if (frameYPosition == 0 && window.parent.document.getElementById("price") != null)
	{
		elem = window.parent.document.getElementById("price");
		while (elem)
		{
			frameYPosition += elem.offsetTop;
			elem = elem.offsetParent;
		}
	}

	var x = ((!isNaN(window.innerWidth) ? window.innerWidth : document.body.offsetWidth) / 2) - (640 / 2);
	var y = 10;

	// True browsers
	if (!isNaN(window.pageYOffset))
	{
		offset = window.pageYOffset + window.parent.pageYOffset - frameYPosition;
		if (offset > 0)
		{
			y += offset;
		}
	}
	else
	{
		offset = document.body.scrollTop + window.parent.document.body.scrollTop - frameYPosition;
		if (offset > 0)
		{
			y += offset;
		}
	}
	
	$("goodsPreviewFrame").innerHTML = rText;
	$("goodsPreviewFrame").style.top = y;
	$("goodsPreviewFrame").style.left = x;
	$("goodsPreviewFrame").style.visibility = "visible";
}

function goodsPreviewIn(siteURL, goodID, barcodeID)
{
	var p = new Object();
	XMLHttpSendRequest(siteURL + 'goods/' + goodID + (barcodeID != 0 ? "_" + barcodeID : "" ) + "/?preview", goodsPreviewForm, false, p);
}
function goodsPreviewOut()
{
	$("goodsPreviewFrame").style.visibility = "hidden";
}
function quickSearch(str)
{
	str = str.toLowerCase();
	var tbl = $("mt");
	for (i = 0; i < tbl.rows.length; i++)
	{
		var row = tbl.rows[i];
		var vis = false;
		// Find rows
		if (row.id.indexOf("tpr") != -1)
		{
			// Find cell - 'name'
			for (j = 0; j < row.cells.length; j++)
			{
				var cell = row.cells[j];
				if (cell.id.indexOf("tx") != -1)
				{
					var spans = cell.getElementsByTagName("span");
					if (spans.length == 1)
					{
						var name = spans[0].innerHTML.toLowerCase();
						if (name.indexOf(str) != -1)
						{
							vis = true;
						}
					}
				}
			}

			if (vis)
			{
				try
				{
					$(row.id).style.display='table-row';
				}
				catch(e)
				{
					$(row.id).style.display='block';
				}
			}
			else
			{
				$(row.id).style.display="none";
			}
		}
	}
}
