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 vscroll(el,am)
{
	var prnt = document.getElementById(el);
	prnt.scrollTop += am;
}

function hscroll(el,am)
{
	var prnt = document.getElementById(el);
	prnt.scrollLeft += am;
}

function rand_pic(pic_mass)
{
	var pic_tag = document.getElementById('main_picture');
	var rand = Math.round(1 + (pic_mass[1]['count'] - 1)*Math.random());

	pic_tag.id = 'main_picture';
	pic_tag.src = './pictures/main_gallery/'+pic_mass[rand]['picture_file'];
	pic_tag.width = 145;
	pic_tag.height = 95;
}
