function validate_form(form,required) {
   var color = "#fff";
   var high_color = "#ffd";
   var error = false;
   var error_message = 'Veuillez remplir tous les champs obligatoires';
   var first = -1;
   var patterns = new Array();
   patterns["email"] = /^[a-z0-9_\-\.]+@[a-z0-9_\-\.]+\.[a-z0-9]{2,4}$/i;
   patterns["day"] = /^(0?[1-9]|[12][0-9]|30|31)$/i;
   patterns["month"] = /^(0?[1-9]|10|11|12)$/i;
   patterns["year"] = /^(20)?[0-9]{2}$/i;
   
   var clean = new Array();
   
   for (i=0;i<required.length;i++) {
      if (form[required[i]].value == "") {
         error = true;
         form[required[i]].style.background = high_color;
         if (first == -1) {
            first = i;
         }         
      }
      else{
         form[required[i]].style.background = color;
      }
      if (patterns[required[i]]) {
         var val = form[required[i]].value;
         if ( !val.match(patterns[required[i]]) ){
            error = true;
            form[required[i]].style.background = high_color;
            if (first == -1) {
               first = i;
            }         
            if (clean[required[i]]) {
               form[required[i]].value = clean[required[i]];
            }
            else {
               form[required[i]].value = '';
            }
         }      
      }
   }
   
   if (error) {
      alert(error_message);
      form[required[first]].focus();
      return false;
   }
   else {
      return true;   
   }
}


function show_popup(url) {
   var new_win = window.open(url,'','top=30,left=50,height=700,width=700,scrollbars=1,resizable=1');
   if(window.focus) {
      new_win.focus();   
   }
}