function str_replace(search, replace, subject) {
return subject.split(search).join(replace);
}


function g(id) {
	if(document.getElementById) {
		return document.getElementById(id);
	}else if(document.all) {
		return document.all[id];
	}else if(document.layers) {
		return document.layers[id];
	}

	return null;
}





ajax_load = '<img src="http://tktochto.ru/style/load.gif" width="16" height="16" />';


/// show hide любого и любых полей
function toggle_all(id, tag) {
	if (tag == undefined) { tag = 'div'; }
	var elements = document.getElementsByTagName(tag);
	var ret = new Array();

	for(var i = 0;i < elements.length;i++) {
		if(elements[i].id == id) {
			ret[ret.length] = elements[i];
								
				if (elements[i].style.display != 'block') {
					elements[i].style.display = 'block'; } else {
					elements[i].style.display = 'none'; }
		}
	}
}


function toggle_all2(id, tag) {
	var kol = document.getElementById(id).getElementsByTagName(tag).length;
	for(var s = 0; s < kol; s++) {
	document.getElementById(id).getElementsByTagName(id)[s].style.display = 'none'; }
}


/// show hide одного id
function toggle(id) {
	
	if (g(id).style.display != 'block') {
		g(id).style.display = 'block'; } else {
		g(id).style.display = 'none'; }

}
/// показать блок
function show(id) {
	g(id).style.display = 'block';
}
/// спрятать блок
function hide(id) {
	g(id).style.display = 'none';
}









/// очистка полей
function clearform(n) {
document.getElementById(n).value = '';
document.getElementById(n).onclick = '';
document.getElementById(n).style = '';
}






function rrrr(n) {
	document.getElementById(n).value = str_replace(/[^0-9]/, '', document.getElementById(n).value);
}









function mousePageXY(e)
{
  var x = 0, y = 0;

  if (!e) e = window.event;

  if (e.pageX || e.pageY)
  {
    x = e.pageX;
    y = e.pageY;
  }
  else if (e.clientX || e.clientY)
  {
    x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
    y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
  }

  return {"x":x, "y":y};
}


/// ������� ��� ����������� ������� � �������
function mouseLayerXY(e)
{
  if (!e) {e = window.event; e.target = e.srcElement}
  var x = 0;
  var y = 0;
  
  if (e.layerX)//Gecko
  {
    x = e.layerX - parseInt(getElementComputedStyle(e.target, "border-left-width"));
    y = e.layerY - parseInt(getElementComputedStyle(e.target, "border-top-width"));
  }
  else if (e.offsetX)//IE, Opera
  {
    x = e.offsetX;
    y = e.offsetY;
  }
  
  return {"x":x, "y":y};
}


function getElementComputedStyle(elem, prop)
{
  if (typeof elem!="object") elem = document.getElementById(elem);
  
  // external stylesheet for Mozilla, Opera 7+ and Safari 1.3+
  if (document.defaultView && document.defaultView.getComputedStyle)
  {
    if (prop.match(/[A-Z]/)) prop = prop.replace(/([A-Z])/g, "-$1").toLowerCase();
    return document.defaultView.getComputedStyle(elem, "").getPropertyValue(prop);
  }
  
  // external stylesheet for Explorer and Opera 9
  if (elem.currentStyle)
  {
    var i;
    while ((i=prop.indexOf("-"))!=-1) prop = prop.substr(0, i) + prop.substr(i+1,1).toUpperCase() + prop.substr(i+2);
    return elem.currentStyle[prop];
  }
  
  return "";
}

