function _xy(o){
var x=o.offsetLeft,y=o.offsetTop;
while(o=o.offsetParent){x+=o.offsetLeft;y+=o.offsetTop}
return [x,y];}

var tid=0,obj;
function _menu(n,b) {
var mm=document.getElementById('topmenu'+n),sm=document.getElementById('submenu'+n),xy=_xy(mm);
if(!sm)return;
sm.style.left=xy[0]+'px';
sm.style.top=(xy[1]+20)+'px';
if(b){if(obj&&obj!=sm)obj.style.display='none';
clearTimeout(tid);
sm.style.display='block';
obj=sm;}else tid=setTimeout('if(obj)obj.style.display="none";obj=null;',500);}

var eml=/^([\w-~_]+\.)*[\w-~_]+@([\w-_]+\.){1,3}\w{2,4}$/i;
var a_msg = [['name','Ваше имя','Your name'],['email','E-mail','E-mail',eml],['message','Сообщение','Message']];
var a_subscr = [['email','E-mail',eml]];
function _chf(o,a,n){
	var s='',g=n==2?2:1;
	for(var i=0;i<a.length;i++)
	if(!o.elements[a[i][0]].value)s+=a[i][g]+(n==2?': you must enter value;\n':': поле необходимо заполнить;\n');
	else if(a[i][3])if(!o.elements[a[i][0]].value.match(a[i][3]))s+=a[i][g]+(n==2?': value is incorrect;\n':': поле заполнено неверно;\n');
	if(!s)return true;
	alert(s);
	return false;
}
