	var is_ie=false;
	if (navigator.userAgent.indexOf("MSIE") != -1) is_ie=true;

	var mX=0, mY=0;
	var cl_ie4 = (document.all)? true:false;
	var old_obj=0,tmp_obj=0;
	var counting=0;
	var tm=0,tm2=0;
	var all_loaded=false;
	if (cl_ie4) cl_ofX=0;

	function show_captcha(id){
		if (document.getElementById('antibot_'+id)) document.getElementById('antibot_'+id).src="captcha.php?i="+Math.random()+"&instance="+id;
	}

	function checkField(id,preg,odd,dup) {
		reg=new RegExp(preg,"i");
		r=document.getElementById('row_'+id);
		o=document.getElementById(id);
		if (o.name=='confirm_password') {
			if (reg.test(o.value) && o.value==document.getElementById(dup).value) r.className='ok'+odd; else r.className='error'+odd;
		} else {
			if (reg.test(o.value)) r.className='ok'+odd; else r.className='error'+odd;
			if (o.name=='password') checkField(dup,preg,1-odd,id);
		}
	}

	function checkSingleField(id,preg,odd) {
		reg=new RegExp(preg,"i");
		o=document.getElementById(id);
		if (reg.test(o.value)) o.style.background='#eeffee'; else o.style.background='#ffeeee';
	}

	function submitForm(id,fields) {
		errors=0;
		for(i=0;i<fields.length;i++) {
			if (document.getElementById("row_"+id+"_"+fields[i]).className.indexOf('error')>-1) errors++;
		}
		if (errors) alert("Все поля формы должны быть корректно заполнены."); else document.getElementById("form_"+id).submit();
	}

	function selected(cal, date) {
		cal.sel.value = date;
	}

	function closeHandler(cal) {
		cal.hide();
	}

	function showCalendar(id, format) {
		var el = document.getElementById(id);
		if (calendar != null) {
			calendar.hide();
		} else {
			var cal = new Calendar(false, null, selected, closeHandler);
			cal.weekNumbers = false;
			calendar = cal;                  // remember it in the global var
			cal.setRange(2003, 2030);        // min/max year allowed.
			cal.mondayFirst = true;
			cal.create();
		}
		calendar.setDateFormat(format);    // set the specified date format
		calendar.parseDate(el.value);      // try to parse the text in field
		calendar.sel = el;                 // inform it what input field we use
		calendar.showAtElement(el);        // show the calendar below it
		return false;
	}

	var drag=false, dragitem, lastx=0, lasty=0;
	var cX=0,cY=0;
	var is_help=false;

	function showhelp(obj,url,stype) {
		if (!is_help) {
			ofx=obj.offsetLeft;ofy=obj.offsetTop;k=obj;
			while (k.offsetParent) {
				k=k.offsetParent;
				ofx+=k.offsetLeft;
				ofy+=k.offsetTop;
			}
			if (stype=="left") {
				document.getElementById("qhelp").style.left='';
				document.getElementById("qhelp").style.right=document.getElementsByTagName('body')[0].clientWidth-ofx+2;
			} else {
				document.getElementById("qhelp").style.right='';
				document.getElementById("qhelp").style.left=ofx+12;
			}
			if (stype!="bottom") {
				document.getElementById("qhelp").style.top=ofy+13;
			} else {
				document.getElementById("qhelp").style.top=ofy+13;
			}
			document.getElementById("qhelp").innerHTML="Загрузка..";
			document.getElementById("qhelp").style.display="";
			document.getElementById('qloader').contentWindow.location.replace("qhelp.shtml?"+url);
			is_help=true;
		} else {
			document.getElementById("qhelp").style.display="none";
			is_help=false;
		}
	}

	function showhelp_now(obj,txt,stype) {
	if (txt.length>2) {
			ofx=obj.offsetLeft;ofy=obj.offsetTop;k=obj;
			while (k.offsetParent) {
				k=k.offsetParent;
				ofx+=k.offsetLeft;
				ofy+=k.offsetTop;
			}
			if (stype=="left") {
				document.getElementById("qhelp").style.left='';
				document.getElementById("qhelp").style.right=document.getElementsByTagName('body')[0].clientWidth-ofx+2;
			} else {
				document.getElementById("qhelp").style.right='';

				if (is_ie) {
					if (ofx>screen.width-240) ofx=screen.width-240;
				} else {
					if (ofx>screen.width-328) ofx=screen.width-328;
				}
				document.getElementById("qhelp").style.left=ofx;
			}
			if (stype!="bottom") {
				document.getElementById("qhelp").style.top=ofy+46;
			} else {
				document.getElementById("qhelp").style.top=ofy+46;
			}
			document.getElementById("qhelp").innerHTML=txt;
			document.getElementById("qhelp").style.display="";
			is_help=true;
	}
	}

	function mfill(q) {
		if (q!="") {
			document.getElementById('metronom').src="metronom.htm";
			document.getElementById('metronom_outer').style.display="";
		}
	}

