		function showtip (v) {
			if (document.all[v]) {
				var sw = document.body.clientWidth;
				var sh = document.body.clientHeight;
				var dw = document.all[v].clientWidth;
				var dh = document.all[v].clientHeight;
				var cx = self.event.clientX;
				var cy = self.event.clientY;
				if (sw < cx+dw+20) cx=sw-dw-20;
				if (sh < cy+dh+20) cy=sh-dh-20;
				document.all[v].style.top=cy+document.body.scrollTop+15;
				document.all[v].style.left=cx+document.body.scrollLeft+10;
				document.all[v].style.visibility='visible';
			}
		}
		function hidetip (v) {
			if (document.all[v]) {
				document.all[v].style.visibility='hidden';
			}
		}
		function tvirch (url) {
			w = screen.width*0.6; h = screen.height-100;
			t = (screen.height-h)/3; l = screen.width-w-32;
			wd = window.open (url, 'tvirch', 'location=no,scrollbars=yes,status=no,menubar=no,resizable=yes,top='+t+',left='+l+',width='+w+',height=100');
			wd.resizeTo(w+12,100);
			for (i=0; i<h-100; i+=10) wd.resizeBy(0,10);
			wd.focus();
			return false;
		}

	  function ref(object)
	  {
	    if (document.getElementById)
	    {
	      return document.getElementById(object);
	    }
	    else if (document.all)
	    {
	      return eval('document.all.' + object);
	    }
	    else
	    {
	      return false;
	    }
	  }

	  function toggle(object, path)
	  {
	    //image = ref(object + '_img');
	    object = ref(object);

	    if( !object.style )
	    {
	      return false;
	    }

	    if( object.style.display == 'none' )
	    {
	      object.style.display = '';
	      //image.src = 'image/contract.gif';
	    }
	    else
	    {
	      object.style.display = 'none';
	      //image.src = 'image/expand.gif';
	    }
	  }

	  function MM_findObj(n, d) { //v4.01
	    var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	      d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	    if(!x && d.getElementById) x=d.getElementById(n); return x;
	  }

	  function MM_validateForm() { //v4.0
	    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
	    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
	      if (val) { nm=val.name; if ((val=val.value)!="") {
	        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
	          if (p<1 || p==(val.length-1)) errors+='- поле , указанное в комментарии, должно содержать адрес электронной почты ('+nm+').\n';
	        } else if (test!='R') { num = parseFloat(val);
	          if (isNaN(val)) errors+='- поле , указанное в комментарии, должно содержать число ('+nm+').\n';
	          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
	            min=test.substring(8,p); max=test.substring(p+1);
	            if (num<min || max<num) errors+='- поле , указанное в комментарии, дожно содержать число между '+min+' и '+max+' ('+nm+').\n';
	      } } } else if (test.charAt(0) == 'R') errors += '- поле со звездочкой (*), не должно быть пустым ('+nm+').\n'; }
	    } if (errors) alert('При заполнении формы были допущены ошибки:\n'+errors);
	    document.MM_returnValue = (errors == '');
	  }

