function ltrim(str) 
{
  while("" + str.charAt(0) == " ") 
    str = str.substring(1, str.length);
  return str;
}

function rtrim(str) 
{
  while("" + str.charAt(str.length - 1) == " ") 
    str = str.substring(0, str.length - 1);
  return str;
}

function alltrim(str)
{
  return ltrim(rtrim(str));
}

function chkEditOnly(v,title)
{
  if (v.value=="")
  {
    alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;
  }
  return true;
}



function onPageLoad()
{
}

function goBack()
{
	if (document.fback.tagName.toLowerCase() == "form") {
		document.fback.submit();
	}
}

function CreateWnd(URL,Name,w,h)
{
   if (!w) w = screen.availWidth - 50;
   if (!h) h = screen.availHeight-50;
	var ww_top=(screen.availHeight-h)/2;
	var ww_left=(screen.availWidth-w)/2;
	var Wnd;
	param="top="+ww_top+",left="+ww_left+",toolbar=0,directories=no,menubar=0,resizable=1,scrollbars=1,status=0,width="+w+",height="+h;
	Wnd=window.open(URL,Name,param);
	Wnd.focus();
}

function parseDate(sDate)
{
   if (sDate=="") return true;
	var re = /^(\d{1,2})\.(\d{1,2})\.(\d{2,4})$/;
	var d, m, y;
	var res = true;
	if (re.test(sDate))
	{
		d = RegExp.$1;
		m = RegExp.$2;
		y = RegExp.$3;
		var tmpDate	= new Date(y, m - 1, d);
		//debug("m=" + m + ", getmonth=" + (tmpDate.getMonth()+1));
		if (d != tmpDate.getDate() || (m != tmpDate.getMonth() + 1) || y != tmpDate.getFullYear() || y<1900)
			res=false;
	}
	else res = false;
	return res;
}

function sDateYYYYMMDD(sDate)
{
   if (sDate=="") return "";
	var re = /^(\d{1,2})[\.\/-](\d{1,2})[\.\/-](\d{2,4})$/;
	var res="";
	if (re.test(sDate))
	{
		var d=RegExp.$1;
		var m=RegExp.$2;
	   var y=RegExp.$3;
	   if (y<30) y+=2000
	   else if (y<100) y+=1900;
		res = y + "-" + ((m<10) ? "0"+parseInt(m) : m) + "-" + ((d<10) ? "0"+parseInt(d) : d);
	}
	return res;
}

function chkDateOnly(v,title,mnd)
{
  SDate="";
  if (v.value=="")
  {
    if (mnd==1){alert("Поле '"+title+"' необходимо заполнить");v.focus();return false;}
  }
  else
  {
    
    if(!parseDate(v.value)){alert("Поле '"+title+"' необходимо заполнить корректной информацией");v.focus();return false;}
  }
  return true;
}

function chkoutDate(ctlDate, force)
{
	if (ctlDate.value!="")
	{
		var re=/^(\d{1,2})[\.\/-](\d{1,2})[\.\/-](\d{1,4})$/;
		if (re.test(ctlDate.value))
		{
			var d=parseInt(RegExp.$1);
			var m=parseInt(RegExp.$2);
	   	var y=parseInt(RegExp.$3);
	   	if (y<30) y+=2000
	   	else if (y<100) y+=1900;
	   	if (d<10) d="0"+parseInt(d);
	   	if (m<10) m="0"+parseInt(m);
	   	ctlDate.value=d+"."+m+"."+y;
		}
		else
		{
			if (force) ctlDate.value="";
		}
	}
}

function calendar(ctlid, formelement)
{
	var ctl;
	if (ctlid) ctl = document.getElementById(ctlid);
	if ((!ctlid || !ctl) && formelement) ctl = formelement;
	if (ctl)
	{
		CreateWnd("calendar.pl?seldate="+ctl.value+"&frm="+ctl.form.name+"&ctl="+ctl.name, "date", 360, 240);
	}
}

function fromRef(ctl, ref)
{
	var url = "refvalues.pl?frm=fedt&ctl_val="+ctl.name+"&func=onChooseVal('"+ctl+"')&ref_id="+ref;
	CreateWnd(url, "val", 500, 300);
}

function onChooseVal(ctl)
{
}

var description = [];

function showdescr(descrCode, fireCtl)
{
	var descrCtl = document.getElementById("description");
	if (descrCtl && fireCtl)
	{
		var ctl = fireCtl;
		var posX = ctl.offsetLeft;
		var posY = ctl.offsetTop;
		while (ctl.offsetParent != null)
		{
			ctl = ctl.offsetParent;
			posX += ctl.offsetLeft;
			posY += ctl.offsetTop;
		}
		var re = /\n/g;
		var s = description[descrCode].replace(re, "<br/>");
		descrCtl.innerHTML = s;
		descrCtl.style.left = posX;
		descrCtl.style.top = posY+20;
		descrCtl.style.display="block";
		descrCtl.style.visibility="visible";
		window.status="x="+posX+";y="+posY+";text="+descrCtl.innerText;
	}
	
}

function hidedescr()
{
	var descrCtl = document.getElementById("description");
	if (descrCtl)
	{
		descrCtl.style.display="none";
		descrCtl.style.visibility="hidden";
	}
}

function parseFloatEx(val)
{
	var s = ("" + val.toString()).replace(",",".");
	var f = parseFloat(s);
	if (isNaN(f)) f = 0;
	else
	{
		// гв®з­пҐ¬ ¤® 5 §­ Є®ў Ї®б«Ґ ¤Ґб.а §¤Ґ«ЁвҐ«п
		var n1 = f * 100000;
		var n2 = Math.round(n1);
		if (n1 != n2) f = n2 / 100000; 
	}
	return f;
}
/**************/
function chooseOrgStr(frm, ctl_id, ctl_name, ctl_path, func)
{
	var url="orgstructure.pl?frm="+frm+"&ctl_id="+ctl_id+"&ctl_name="+ctl_name+"&ctl_path="+ctl_path+"&func="+func;
	CreateWnd(url, "chooseorgstr", 300, 500);
}

function choosePeople(frm, ctl_id, ctl_lname, ctl_fname, ctl_mname, ctl_fullname, func)
{
	var url="folken.pl?frm="+frm+"&ctl_id="+ctl_id
	       +"&ctl_lname="+ctl_lname
	       +"&ctl_fname="+ctl_fname
	       +"&ctl_mname="+ctl_mname
	       +"&ctl_fullname="+ctl_fullname
	       +"&func="+func;
	CreateWnd(url, "choosepeople", 600, 500);
}


function chooseArticle(frm, ctl_id, ctl_name, func)
{
	var url="articles.pl?frm="+frm+"&ctl_id="+ctl_id
	       +"&ctl_name="+ctl_name
	       +"&func="+func;
	CreateWnd(url, "choosearticle");
}

function chooseImage(frm, ctl_id, ctl_name, ctl_filename, func)
{
	var url="images.pl?frm="+frm+"&ctl_id="+ctl_id
	       +"&ctl_name="+ctl_name
	       +"&ctl_filename="+ctl_filename
	       +"&func="+func;
	CreateWnd(url, "chooseimage");
}

function clearFields()
{
   if(clearFields.arguments.length==0) return;
   var f;
   for (var i=0; i<document.forms.length; i++) {
   	var a1 = clearFields.arguments[0];
   	if (typeof(a1)=="string" && document.forms[i][a1]) {
   		f=document.forms[i]; break;
   	}
   }
	var cf = [];
	for (var i=0; i<clearFields.arguments.length; i++) {
		if (f[clearFields.arguments[i]]) {
			var el = f[clearFields.arguments[i]];
			if (el.type=="text" || el.type=="textarea" || el.type=="hidden") el.value=""
			else if (el.type=="radio" || el.type=="checkbox") el.checked=false
			else if (el.type=="select-one") el.selectedIndex=0;

		}
	}
}

/*lich: вспомог. функция для cloneRow*/
function macro(text, repl)
{
	for(var i=0;i<=repl.length; i=i+2) {
		var re = new RegExp("%"+repl[i]+"%", "ig");
		text = text.replace(re, repl[i+1]);
	}
	return text;
}

function addValue(code) 
{
	//fish
	var fish = document.getElementById("row"+code+"!!!");
	var f=document.forms[0];
	var av = f[code+"addvalues"];
	var aav = av.value.split(",");
	var el=0;
	for (var i=0; i<aav.length; i++) el=aav[i];
	var newNum = !isNaN(parseInt(el)) ? parseInt(el)+1 : 1;
	var newRow = document.createElement("div");
	var re = /!!!/g;
	newRow.id = fish.id.replace(re, newNum);
	newRow.innerHTML = fish.innerHTML.replace(re, newNum);
	fish.parentNode.insertBefore(newRow, fish);
   //
	av.value = (av.value ? av.value+"," : "") + newNum;

}

function delValue(code, num)
{
	var row = document.getElementById("row"+code+num);
	var f=document.forms[0];
	if (row) {
		var dv=f[code+"delvalues"];
		if (dv && f[code+num].value) {
			dv.value = (dv.value ? dv.value + "," : "") + f[code+num].value;
		}
		row.parentNode.removeChild(row);
	}
}

function imgOpen(imgLink,Title) {
  if (typeof(window.resizeBy)=='undefined') return true;
  imgWndw=window.open('bigimg',imgLink.target,'width=800,height=600'+
    ',toolbar=no,menubar=no,location=no,status=no,'+
    'resizable=yes,scrollbars=no,left='+(screen.width>>>2)+
    ',top='+(screen.height>>>4));
  imgWndw.focus();
  var imgTitle=(Title)?Title:imgLink.href;
  with (imgWndw.document){
    open();
    write('<ht'+'ml><he'+'ad><ti'+'tle>'+imgTitle+'</ti'+'tle>'+
    '</he'+'ad><bo'+'dy leftmargin="0" topmargin="0" '+
    'rightmargin="0" bottommargin="0" marginwidth="0" '+
    'style="margin:0;padding:0;position:fixed;overflow:none;" '+
    'marginheight="0"><img src="'+imgLink.href+'" border="0" '+
    ' alt="'+imgTitle+'" title="'+imgTitle+'" class="r" /></bo'+
    'dy></ht'+'ml>');
    close();
  }
  resId=setInterval('imgResize()',100);
  return false
}


