
function Validate (form,lang) 
{

var valid=true;

var messages="";

for (var e = 0; e < form.elements.length; e++)
 {
 if (form.elements[e].getAttribute('valid') && form.elements[e].value!="" && form.elements[e].value!=-1)
  {
  pt=new RegExp(form.elements[e].getAttribute('valid'),"gi");
  if (!pt.test(form.elements[e].value)) 
   {
   valid=false;
   messages+='Field \"'+form.elements[e].getAttribute('description')+'\" contains wrong character(s) \n';
   }
  }

 if (form.elements[e].name.indexOf('_box')!=-1 && form.elements[e].getAttribute('required')==1)
  {
  box=form.elements[e].name.replace('_box','')+'[]';
  thisChecked=-1;
  for (var k = 0; k < form.elements.length; k++)
   if (form.elements[k].name==box && form.elements[k].checked) thisChecked=1; 
  form.elements[e].value=thisChecked;
  }

//alert(form.elements[e].getAttribute('required')+' '+form.elements[e].value);

 if (form.elements[e].getAttribute('required')==1)
  if (form.elements[e].value=="" || form.elements[e].value==-1)
   {
   valid=false;
   if (form.elements[e].name.indexOf('_box')!=-1)
    messages+='Please choose \"'+form.elements[e].getAttribute('description')+'\" at least one box \n';
   else
    messages+='Please fill the field \"'+form.elements[e].getAttribute('description')+'\" \n';
   }

 }

if (messages!="") alert(messages);

return valid;

}
