function MM_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.getElementById(n); return x;
}

//for form checking

function ZH_Send(fname){
	var o,f;
  var err = "";

  f = MM_findObj(fname);
	for(j=i=0;i<req.length;i++){
  	o = f.elements[req[i]];
    if(o!=null){
    	if(o.value=="") err += ((j++)?",\n":"") + "пропущено " + titles[i];
    	else if(o.name=="email" && !CheckEmail(o.value)) err += ((j++)?",\n":"") + "Введён неверный email";
    }
  }

  if(err!=""){
  	alert("Ошибки заполнения:\n" + err + ".");
  	return false;
 	}else return true;
}

function ZH_Clear(name){
   var s = "";
   var f = MM_findObj(name);
   var e = f.elements;
   for(i=0;i<e.length;i++)
   	switch(e[i].type){
    	case "checkbox": e[i].checked = 0;
      break;
    	case "text" || "textarea": e[i].value = "";
      break;
    	case "textarea": e[i].value = "";
      break;
    }
}

function CheckEmail(email){
	var re = /[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.\_]+\.[a-zA-Z0-9\-\.\_]+/;
	return re.test(email);
}
