// ÔÓÍÊÖÈÈ ÐÀÁÎÒÛ Ñ ÔÈËÜÒÐÀÌÈ ÏÎ ÀÒÒÐÈÁÓÒÀÌ

function selectAttributeValue(attributeValueId)
{
	var filterAttribute = document.getElementById('filterAttribute');
	var attributeId = filterAttribute.options[filterAttribute.selectedIndex].value;
	var filterValue = document.getElementById('filterValue');
	var attributeValue = filterValue.options[filterValue.selectedIndex].value;
	
	url = window.url;
	if (window.brandId)
		url += 'brand'+window.brandId+'/';
	if (window.attributesUrlPart)
		url += window.attributesUrlPart;
	url += 'a'+attributeId+'v'+attributeValue+'/'
	
	//window.alert(url);
	document.location = url;
}

var ldr = null;


function selector()
{
	var A = null;
	try
	{
		A = new ActiveXObject("Msxml2.XMLHTTP")
	}
	catch(e)
	{
		try
		{
			A = new ActiveXObject("Microsoft.XMLHTTP")
		}
		catch(oc)
		{
			A=null
		}
	}
	if (!A && typeof XMLHttpRequest != "undefined")
	{
		A = new XMLHttpRequest()
	}
	return A;
}

function addOption(sel, v, n)
{
	sel = document.getElementById(sel);
	var newOpt = sel.appendChild(document.createElement('option'));
	newOpt.text = n;
	newOpt.value = v;
}

function chan(sel, attributId)
{
	//window.realCatName
	//window.brandId
	//window.attributesUrlPart

	if (ldr && ldr.readyState != 0)
	{
		ldr.abort()
	}
	ldr = selector();
	if (ldr)
	{
	  var valuesSelectElement = document.getElementById('filterValue');
		valuesSelectElement.length = 1;
		var now = new Date();
		var attributId = sel.value;
		//window.alert(attributId);
		ldr.open("GET", "/selector.php?catalogueId="+window.catalogueId+"&attributes="+window.attributesUrlPart+"&brandId="+window.brandId+"&attributeId="+attributId+"&t="+now.getSeconds(), true);
		ldr.onreadystatechange = function()
		{
			if(ldr.readyState==4 && ldr.responseText)
			{
				eval(ldr.responseText);
				//window.alert(ldr.responseText);
			}
		};
		ldr.send(null)
	}
}

function selectAttribute(attributeId)
{
	var filterValue = document.getElementById('filterValue');
	var values = window.filter[attributeId];
	filterValue.options.length = 1;
	for (key in values)
	{
		var newOpt = filterValue.appendChild(document.createElement('option'));
		newOpt.text = values[key]['name'];
		newOpt.value = values[key]['value'];
	}
}

// ----------------------------------------------------------------------------
function reloadBasketFrame()
{
  var frame = document.getElementById('BASKET');
  if (frame)
    frame.src = frame.src+'?'+Math.random();
}

function refreshBasketCookie()
{
	var s = serializeBasket(window.basket);
	setCookie('basket', s, 0);
}

function addToBasket(itemId, count, price)
{
	count = count*1;
	price = price*1;
	if (!window.basket)
		window.basket = deserializeBasket(getCookie('basket'));	
	if (window.basket[itemId])
		window.basket[itemId]['count'] = window.basket[itemId]['count']*1+count;
	else
	{
		var item = new Array();
		item['count'] = count;
		item['price'] = price;
		window.basket[itemId] = item;
	}
	refreshBasketCookie();
	reloadBasketFrame();
	return true;
}

function deserializeBasket(s)
{
	var basket = [];
	var items = s.split(';');

	for (key in items)
	{
		var item = items[key].split(':');
//		window.alert(item);
		if (item.length == 3)
		{
			var itemId = item[0];
			var itemA = new Array();
			itemA['count'] = item[1];
			itemA['price'] = item[2];
//			window.alert('ItemId='+itemId+'\r\nprice='+itemA['price']+'\r\ncount='+itemA['count']);
			basket[itemId] = itemA;
		}
	}
	return basket;
}
  
function serializeBasket($basket)
{
	var s = '';
	for (itemId in basket)
	{
		var item = basket[itemId];
		s += itemId+':'+item['count']+':'+item['price']+';';
	}

	return s;
}


// ----------------------------------------------------------------------------

function zoom(name,format)
{
  var p=window.open('/_zoom.plx?n='+name+'&amp;f='+format,'preview_window',"width=10,height=10,top=0,left=0,location=0,toolbar=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,fullscreen=0");
  if(p)p.focus();
  return false;
}

function setClass( elem_id, class_name )
{
  var elem = document.getElementById(elem_id);
  if( elem )
  {
    if( elem.className.match(new RegExp("(^|\\s+)"+class_name+"($|\\s+)","g")) ) return;
    elem.className += ' '+class_name;
  }
}

function removeClass( elem_id, class_name )
{
  var elem = document.getElementById(elem_id);
  if( elem )
  {
    elem.className = elem.className.replace( new RegExp("^"+class_name+"($|\\s+)","g"),'' );
    elem.className = elem.className.replace( new RegExp("\\s+"+class_name+"$","g"),'' );
    elem.className = elem.className.replace( new RegExp("\\s+"+class_name+"\\s+","g"),' ' );
  }
}

function setControlState(id,state)
{
  document.getElementById(id).disabled = ! state;
  if( state ) { removeClass(id,'disabled') } else { setClass(id,'disabled') };
}

function SelectAll(f,mark,name)
{
  for (i = 0; i < f.elements.length; i++)
  {
    var item = f.elements[i];
    if (item.name == name)
    {
      item.checked = mark;
    };
  }
}

function is_any_checked(f,name)
{
  for (i = 0; i < f.elements.length; i++)
  {
    var item = f.elements[i];
    if (item.name == name)
    {
      if( item.checked ) return true;
    };
  }
  return false;
}

function set_group_btn_state( state )
{
  setControlState('btn_group_edit',state);
  setControlState('btn_group_copy',state);
  setControlState('btn_group_hide',state);
  setControlState('btn_group_show',state);
  setControlState('btn_group_delete',state);
}

function enableForm( form )
{
  document.getElementById(form).checked=1;
  setClass(form+' display_unchanged','hidden');
  setClass(form+' display_field_error','hidden');
  removeClass(form+' display_changed','hidden');
  document.getElementById(form).onchange();
}

function disableForm( form )
{
  document.getElementById(form).checked=0;
  removeClass(form+' display_unchanged','hidden');
  removeClass(form+' display_field_error','hidden');
  setClass(form+' display_changed','hidden');
  document.getElementById(form).onchange();
}

function fillBrandInput( input, value )
{
  if( value.length > 0 )
  {
    setClass( input, 'hidden' );
    document.getElementById(input).value = value;
  }
  else
  {
    removeClass( input, 'hidden' );
    document.getElementById(input).value = '';
  }
}
/* forbide select disabled elements */
window.onload = function() 
{
  if (document.getElementsByTagName) 
  {
    var s = document.getElementsByTagName("select");
    if( s.length > 0 ) 
    {
      for (var i=0, select; select = s[i]; i++) 
      {
        emulate(select);
      }
    }
  }
}

function skip_disabled(e) 
{
  if( e.options[e.selectedIndex].disabled )
  {
    for( i=e.selectedIndex; i<e.options.length; i++ )
    {
      if( ! e.options[i].disabled )
      {
         e.selectedIndex = i;
         return;
      }
    }
    for( i=0; i<e.selectedIndex; i++ )
    {
      if( ! e.options[i].disabled )
      {
         e.selectedIndex = i;
         return;
      }
    }
  };
}

function emulate(e) 
{
  for( var i=0, option; option = e.options[i]; i++) 
  {
    if( option.disabled) 
    {
      option.style.color = "graytext";
    }
    else 
    {
      option.style.color = "menutext";
    }
  }
}

function put_to_basket( id )
{
  setClass('not_in_'+id,'hidden');
  removeClass('just_in_'+id,'hidden'); 
  removeClass('basket_panel','hidden'); 
  document.getElementById('form_'+id).target='BASKET';
  document.getElementById('redirect_'+id).value='/basket_summary';
}

function submit_basket_form( id )
{
  document.getElementById('form_'+id).submit();
}

var last_on, last_off;
function toggle_on( on_id, off_id )
{
  setClass(off_id,'hidden');
  removeClass(on_id,'hidden');
  if( on_id != last_on )
  {
    toggle_off( last_on, last_off );
    last_on = on_id;
    last_off = off_id;
  }
}

function toggle_off( on_id, off_id )
{
  setClass(on_id,'hidden');
  removeClass(off_id,'hidden');
  last_on = null;
  last_off = null;
}

function set_csv_check_mode()
{
  document.getElementById('action').value = 'check';
  document.getElementById('up_submit').value = 'Ïðîâåðèòü CSV';
  document.getElementById('bottom_submit').value = 'Ïðîâåðèòü CSV';
}


// ----------------------------------------------------------------------------
function itemSelect()
{
  refreshGroupButtonsState();
}

function refreshGroupButtonsState()
{
  var state = (getSelectedItemsCount() > 0);
  var display = state ? 'block' : 'none';
  var className = state ? '' : 'disabled';
  
  document.getElementById('disableItemsButton').className = className;
  document.getElementById('disableItemsButton').disabled = !state;
  document.getElementById('enableItemsButton').className = className;
  document.getElementById('enableItemsButton').disabled = !state;
  document.getElementById('removeItemsButton').className = className;
  document.getElementById('removeItemsButton').disabled = !state;
  document.getElementById('moveItemsButton').className = className;
  document.getElementById('moveItemsButton').disabled = !state;
  document.getElementById('editItemsButton').className = className;
  document.getElementById('editItemsButton').disabled = !state;
  
}

function getSelectedItemsIds()
{
  var ids = '';
  var inputs = document.getElementsByTagName('input');
  for (key in inputs)
  {
    var input = inputs[key];
    if ((input.type == 'checkbox') && (input.name = 'itemId') && (input.className == 'selectItemCheckbox'))
    {
      if (input.checked)
      {
        ids += ','+input.value;
      }
    }
  }
  return ids;
}

function getSelectedItemsCount()
{
  var count = 0;
  var inputs = document.getElementsByTagName('input');
  for (key in inputs)
  {
    var input = inputs[key];
    if ((input.type == 'checkbox') && (input.name = 'itemId') && (input.className == 'selectItemCheckbox'))
    {
      if (input.checked)
      {
        count++;
      }
    }
  }
  return count;
}

function setAllSelected(checked)
{
  var inputs = document.getElementsByTagName('input');
  for (key in inputs)
  {
    var input = inputs[key];
    if ((input.type == 'checkbox') && (input.name = 'itemId') && (input.className == 'selectItemCheckbox'))
    {
      input.checked = checked;
    }
  }
  refreshGroupButtonsState();
}

// ÎÁÙÈÅ ÔÓÍÊÖÈÈ
function setCookie(cookieName, cookieContent, cookieExpireTime)
{
	if (cookieExpireTime > 0)
	{
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + cookieExpireTime*1000*60*60);
		var expires = expDate.toGMTString();
		document.cookie = cookieName+"="+escape(cookieContent)+"; path="+escape('/')+"; expires="+expires;
	}
	else
	{
		document.cookie = cookieName+"="+escape(cookieContent)+"; path="+escape('/')+"";
	}
}

function getCookie(cookieName)
{
	var ourCookie = document.cookie;
	if (!ourCookie || ourCookie=="")
		return "";
	ourCookie = ourCookie.split(";");
	var i=0;
	var Cookie;
	while (i<ourCookie.length)
	{
		Cookie = ourCookie[i].split("=")[0];
		if (Cookie.charAt(0) == " ")
			Cookie = Cookie.substring(1);
		if (Cookie == cookieName)
		{
			return unescape(ourCookie[i].split("=")[1]);
		}
		i++
	}
	return "";
}

function cleanNode(dest)
{
	while (dest.firstChild)
		dest.removeChild(dest.firstChild);
}
