function relink(src)
{
	window.location = src;
}

function getElementPosition(elemId)
{
    var elem = document.getElementById(elemId);
	
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
	
    var l = 0;
    var t = 0;
	
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
    }

    return {"left":l, "top":t, "width": w, "height":h};
}

function getRequestBody(oForm)
{
	var aParams = new Array();
	var form = document.getElementById(oForm);
	for (var i=0; i < form.length; i++)
	{
		if (form.elements[i].name!=""&&form.elements[i].value!="")
		{
			var sParam = form.elements[i].name;
			sParam += "=";
			if (form.elements[i].type=="checkbox")
			{
				if (form.elements[i].checked==true) sParam += 'Y';
				else sParam += 'N';
			}
			else sParam += form.elements[i].value;
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}

function getRequestBodyURI(oForm)
{
	var aParams = new Array();
	var form = document.getElementById(oForm);
	for (var i=0; i < form.length; i++)
	{
		if (form.elements[i].name!="")
		{
			var sParam = encodeURIComponent(form.elements[i].name);
			sParam += "=";
			if (form.elements[i].type=="checkbox"||form.elements[i].type=="radio")
			{
				if (form.elements[i].checked==true&&form.elements[i].value!=="on")
				{
					sParam += encodeURIComponent(form.elements[i].value);
					aParams.push(sParam);
				}
				else if (form.elements[i].checked==true)
				{
					sParam += 'Y';
					aParams.push(sParam);
				}
				else if (form.elements[i].value=="Y")
				{
					sParam += 'N';
					aParams.push(sParam);
				}
				
			}
			else
			{
				sParam += encodeURIComponent(form.elements[i].value);
				aParams.push(sParam);
			}
		}
	}
	return aParams.join("&");
}

function get_form_checkboxes(oForm)
{
	var aParams = new Array();
	
	var form = document.getElementById(oForm);
	
	for (var i=0; i < form.length; i++)
	{
		if (form.elements[i].name!=""&&form.elements[i].type=="checkbox"&&form.elements[i].checked==false&&form.elements[i].value=="Y")
		{
			var sParam = encodeURIComponent(form.elements[i].name);
			sParam += "=";
			sParam += 'N';
			aParams.push(sParam);
		}
	}
	return aParams.join("&");
}

function reset_picture(pic_tag,picture)
{
	var el = document.getElementById(pic_tag);
	if (picture !== "") el.src = picture;
	else el.src = '../images/blank.gif';
}

function set_innerHTML(data,to_tag)
{
	var el = document.getElementById(to_tag);
	el.innerHTML = data;
}

function set_display(tag,disp)
{
	var el = document.getElementById(tag);
	if (el!=null)
	{
		if (disp == true) el.style.display = '';
		else el.style.display = 'none';
	}
}

function invert_display(tag)
{
	var el = document.getElementById(tag);
	if (el!=null)
	{
		if (el.style.display == 'none') el.style.display = '';
		else el.style.display = 'none';
	}
}

function inv_dis_res(tag)
{
	var el = document.getElementById(tag);
	if (el!=null)
	{
		if (el.style.display == 'none') el.style.display = '';
		else el.style.display = 'none';
		
		return el.style.display;
	}
	return 'null';
}

function CheckValuetext(text,tag)
{
	var counter = 65535;
	counter = counter - text.length;
	var el = document.getElementById(tag);
	el.innerHTML = '(�������� ��������: '+counter+')';
}

function line_properties(key,variable,tabs,level)
{
	if (level>0)
	{
		var resarr = new Array();
		
		resarr.push(tabs+"<strong>"+key+"</strong> = "+variable);
		for (var i in variable) resarr.push(line_properties(i,variable[i],tabs+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;",level-1));
		
		return resarr.join("<br>",resarr);
	}
}

function js_debug(name,variable)
{
  myWin= open("", "displayWindow", "width=500,height=500,status=yes,toolbar=yes,menubar=yes,scrollbars=yes");

  // ������� ������ document ��� ����������� ������ 
  myWin.document.open();
  
  // ������������ ����� �������� 
  myWin.document.write("<html><head><title>Debug");
  myWin.document.write("</title></head><body>");
  
  myWin.document.write(line_properties(name,variable,"",2));
  
  myWin.document.write("</body></html>");

  // ������� �������� - (�� �� ����!)
  myWin.document.close();  
}

function set_all_check(check,where)
{
	var wh = document.getElementById(where);
	if (wh != null)	for (var i=0;i < wh.all.length; i++) if (wh.all[i].type=="checkbox") wh.all[i].checked = check;
}

function not(value)
{
	eval('if ('+value+' == true) '+value+' = false; else '+value+' = true;');
}
/*
function getSubElement(parnt,elem)
{
	var prnt = document.getElementById(parnt);
	if (prnt.document!=null && prnt.document!="undefined") return prnt.document.getElementById(elem);
	else for (var sub in prnt.childNodes) if (prnt.childNodes[sub].id == elem) return prnt.childNodes[sub];
}
*/
function getSubElement(parnt,elem,par)
{
	if (par==null) var par = document.getElementById(parnt);
	if (par != null)
	{
		for (i in par.childNodes) if (par.childNodes[i]!=null&&(par.childNodes[i].id==elem||par.childNodes[i].name==elem)) return par.childNodes[i];
		for (i in par.childNodes)
		{
			var eee = getSubElement(null,elem,par.childNodes[i]);
			if (eee!=null) return eee;
		}
	}
	return null;
}

function vscroll(el,am)
{
	var prnt = document.getElementById(el);
	prnt.scrollTop += am;
}

function hscroll(el,am)
{
	var prnt = document.getElementById(el);
	prnt.scrollLeft += am;
}

/*Система отчетов*/
function set_reports_param(name,order,page)
{
	var url_link = root_folder+'reports.php?rep_name='+name+'&order='+order+'&page='+page;
	send_data(url_link,name+"_carrier");
}

function set_reports_adm_param(name,order,page)
{
	var url_link = root_folder+'adm/reports.php?rep_name='+name+'&order='+order+'&page='+page;
	send_data(url_link,name+"_carrier");
}

function set_reports_ajax_value(name,field,ajax_value)
{
	var url_link = root_folder+'reports.php?ajax_name='+name+'&ajax_field='+field+'&ajax_value='+encodeURIComponent(ajax_value);
	send_data(url_link,'eval');
}
function getElementSize(id)
{
	var el = getElementPosition(id);
	alert("left: "+el.left+" ,"+"top: "+el.top+" ,"+"width: "+el.width+" ,"+"height: "+el.height);
}