dom = (document.getElementById)?(true):(false);
ie = document.all;
ie4 = ie && !dom;
nn4 = document.layers;

visible = (nn4)?('show'):('visible');
hidden = (nn4)?('hide'):('hidden');

var elem = 0, timer = 0;

function mouseOver(id,a)
{
	var open;
	if(!id) return;
	if(dom) open = document.getElementById(id);
	else if(ie4) open = document.all[id];
	else if(nn4) open = document.layers[id];

	if(!open)return;
	if(!nn4)open = open.style;

	if(timer){
		clearTimeout(timer);
		timer=0;
	}

	if(elem && open!=elem)hideNow();
	if(a) {open.left = menuLeft(id,a); open.top = menuTop(id,a);}
	open.visibility = visible;
	elem = open;
	hideSelects();
}

function mouseOut()
{
	timer = setTimeout('hideNow()',200);
}


function hideNow()
{
	if(elem) elem.visibility = hidden;
	elem = 0;
	showSelects();
}

function menuLeft(id,a) 
{
	if(nn4) return document.layers['x'+id].pageX-12;
	else {
		var pos = a.offsetLeft;
		while (a.offsetParent != null) {
			a = a.offsetParent;
			pos += a.offsetLeft;
			if (a.tagName == 'BODY') break;
		} return pos-12;
	}
}

function menuTop(id,a) 
{
	if(nn4) return document.layers['x'+id].pageY+17;
	else {
		var pos = a.offsetTop;
		while (a.offsetParent != null) {
			a = a.offsetParent;
			pos += a.offsetTop;
			if (a.tagName == 'BODY') break;
		} return pos+18;
	}
}

function changeMap(elemId, img)
{
	var elem;
	if(dom) elem = document.getElementById(elemId);
	else if(ie4)elem = document.all[elemId];
	else return;
	if(!elem) return;
	var img = document.images['img-'+elemId];
	
	with(elem.style)
		if(display == "block" || display == ""){
			display = "none";
			if(img) img.src = "/images/icon-folder.gif";
		}else{
			display = "block";
			if(img) img.src = "/images/icon-folder-active.gif";
		}
}

function cm(elemId)
{
	changeMap(elemId)
}

function Xopen(elemId)
{
var elem;
if(dom || ie4){
        elem = (dom)?(document.getElementById(elemId)):(document.all[elemId]);
        if(elem)
                with(elem.style)
                {
                        display = "block";
                }
}
return false;
}

function Xclose(elemId)
{
var elem;
if(dom || ie4){
        elem = (dom)?(document.getElementById(elemId)):(document.all[elemId]);
        if(elem)
                with(elem.style)
                {
                        display = "none";
                }
}
return false;
}

function updateOptions(fname, sname, rname, options) {
	var f = document.forms[fname]; if (!f) return;
	var s = f.elements[sname]; if (!s||!s.options) return;
	var r = f.elements[rname]; if (!r) return;
	var rv = 0;
	if (r.length) {
		for (var i = 0; i < r.length; i++) {
			if (r[i].checked) {
				rv = r[i].value; break;
			}
		}
	} else {
		rv = r.value;
	}
	var oldIndex = s.selectedIndex;
	var j = -1, slen = s.options.length;
	for (var i = 0; i < options.length; i++) {
		var contains = false;
		for (var k = 0; k < options[i][0].length; k++) {
			if (options[i][0][k] == rv) {
				contains = true; break;
			}
		}
		if (contains) {
			if (slen > ++j) {
				s.options[j].text = options[i][2];
				s.options[j].value = options[i][1];
			} else {
				s.options[j] = new Option(options[i][2], options[i][1]);
			}
		}
	}
	s.options.length = j + 1;
	if (oldIndex >= 0 && oldIndex < s.options.length) {
		s.selectedIndex = oldIndex;
	} else {
		s.selectedIndex = 0;
	}
}

function updateOptionsForCount(fname, sname, cbname, options) {
	var f = document.forms[fname]; if (!f) return;
	var s = f.elements[sname]; if (!s||!s.options) return;
	var c = f.elements[cbname]; if (!c) return;
	var ccnt = 0;
	if (c.length) {
		for (var i = 0; i < c.length; i++) {
			if (c[i].checked) ccnt++;
		}
	} else {
		ccnt = 1;
	}
	var oldIndex = s.selectedIndex;
	var j = -1, slen = s.options.length;
	for (var i = 0; i < options.length; i++) {
		if (options[i][0]==-1 || ccnt>=options[i][0]) {
			if (slen > ++j) {
				s.options[j].text = options[i][2];
				s.options[j].value = options[i][1];
			} else {
				s.options[j] = new Option(options[i][2], options[i][1]);
			}
		}
	}
	s.options.length = j + 1;
	if (oldIndex >= 0 && oldIndex < s.options.length) {
		s.selectedIndex = oldIndex;
	} else {
		s.selectedIndex = 0;
	}
}

function adjustBasketButtons()
{
  var f = document.forms["basket"]; if (!f) return;
	var c = f.elements["move"]; if (!c) return;
	var ccnt = 0;
	if (c.length) {
		for (var i = 0; i < c.length; i++) {
			if (c[i].checked) ccnt++;
		}
	} else {
	  if (c.checked) {
	    ccnt = 1;
	  }
	}
	
  var delete_elem, move_elem;
  if (dom || ie4) {
    delete_elem = (dom)?(document.getElementById("delete_goods")):(document.all["delete_goods"]);
    move_elem = (dom)?(document.getElementById("move_goods")):(document.all["move_goods"]);
    if (ccnt) {
      if (delete_elem) {
        delete_elem.style.display = "";
      }
      if (move_elem) {
        move_elem.style.display = "";
      }
    } else {
      if (delete_elem) {
        delete_elem.style.display = "none";
      }
      if (move_elem) {
        move_elem.style.display = "none";
      }
    }
  }
}

// Скрытие и отображение SELECT-ов
// ------------------------------------------------------------------
function hideSelects() {
	if (!document.all) return;
	var ss = document.all.tags("select");
	for (var i = 0; i < ss.length; i++) {
		if (ss[i].style.visibility != 'hidden') {
			if (ss[i].__shide_adjacent)
				ss[i].__shide_adjacent.outerHTML = '';
			var s_value = '&nbsp;';
			if (ss[i].options && ss[i].selectedIndex >= 0) {
				s_value = ss[i].options[ss[i].selectedIndex].text;
			}
			var a_left = 0, a_top = 0;
			for (var p = ss[i]; p != null; p = p.offsetParent) {
				a_left += p.offsetLeft;
				a_top += p.offsetTop;
			}
			var a_width = ss[i].offsetWidth, a_height = ss[i].offsetHeight;
			ss[i].insertAdjacentHTML('AfterEnd',
				'<span id="__shide_adjacent_' + i + '"' +
				' class="shide-adjacent"' +
				' style="position:absolute; left:' + a_left + '; top:' + a_top + ';' +
				' width:' + a_width + '; height:' + a_height + ';' +
				' padding-left: 4; padding-top: 2">' + s_value + '<\/span>');
			ss[i].__shide_adjacent = document.all['__shide_adjacent_' + i];
			ss[i].__shide_visibility = ss[i].style.visibility;
			ss[i].__shide_hidden = true;
			ss[i].style.visibility = 'hidden';
		}
	}
}
function showSelects() {
	if (!document.all) return;
	var ss = document.all.tags("select");
	for (var i = 0; i < ss.length; i++) {
		if (ss[i].__shide_hidden) {
			ss[i].style.visibility = ss[i].__shide_visibility;
			if (ss[i].__shide_adjacent) {
				ss[i].__shide_adjacent.outerHTML = '';
				ss[i].__shide_adjacent = null;
			}
		}
	}
}

// Функции, которые используются в визуальном редакторе для
// формирования всплывающих ссылок.
// ------------------------------------------------------------------
function popup(type, param, l, t, w, h) {
	if (!l && w) {
		l = parseInt((screen.availWidth - w) / 2);
	}
	if (!t && h) {
		t = parseInt((screen.availHeight - h) / 2);
	}
	window.open('/themes/default/popup.asp?folder=1641&type=' + type + '&param=' + param, 'popup', 'left=' + l + ',top=' + t + ',width=' + w + ',height=' + h).focus();
}
function popupEx(type, param, l, t, w, h, scroll, resizable, toolbar, menu, status) {
    if (!l && w) {
        l = parseInt((screen.availWidth - w) / 2);
    }
	if (!t && h) {
		t = parseInt((screen.availHeight - h) / 2);
	}
	window.open('/themes/default/popup.asp?folder=1641&type=' + type + '&param=' + param, 'popup', 'left=' + l + ',top=' + t + ',width=' + w + ',height=' + h + ',scrollbars=' + scroll + ',resizable=' + resizable + ',toolbar='+toolbar + ',menubar=' + menu + ',status=' + status).focus();
}
