var form_validation_in_progress = '';
   var form_validation_error = new Object();
   function wipFormvalidationSubmit (myForm, notEmpty) {
     for (var i in form_validation_error) {
       if (form_validation_error[i]) {
         //alert('form_validation_error[\''+i+'\'] is ' + form_validation_error[i])
	 alert('Fyll inn i alle påkrevde felter'); return false;
       }
     }
     if (form_validation_in_progress) {
       alert('Please wait! Validation in progress'); return false;
     }
     if (notEmpty) {
       var myFields = notEmpty.split(',');
       if (myFields) {
	 for (i = 0; i < myFields.length; i++) {
	   if (!myForm.elements[myFields[i]].value) {
	     alert('Fyll inn i alle påkrevde felter (*)'); myForm.elements[myFields[i]].className='missing';
	     myForm.elements[myFields[i]].focus();
	     return false;
	   }
	 }
       }
     }
     return true;
   }


   function wipFormvalidationHttpAjaxSuccess (t, statusDiv) {

   }
   function wipFormvalidationHttpAjaxError (t) {
     alert('Error ' + t.status + ' -- ' + t.statusText);
     //alert('you can\'t user this pseudo (ndr : test version).');
     //$(imgPseudo).src = '/champNonValide.gif';
   }

   function wipFormvalidationHttpAjaxError404 (t) {
     alert('Error ' + t.status + ' -- ' + t.statusText);
     //alert('you can\'t user this pseudo (ndr : test version).');
     //$(imgPseudo).src = '/champNonValide.gif';
   }

   function wipFormvalidation (queryString, htmlDiv, page, method, skip_effect, deactivate) {
     if (deactivate) {
       form_validation_in_progress = 1;
     }
     if (!page) {
       page = 'show';
     }
     var myUrls = new Array();
     myUrls['validate_float']     = '/tools/wip_v4/ajax/form_validation/validate_float.epl';
     myUrls['validate_integer']   = '/tools/wip_v4/ajax/form_validation/validate_integer.epl';
     myUrls['validate_text']      = '/tools/wip_v4/ajax/form_validation/validate_text.epl';
     myUrls['validate_varchar']   = '/tools/wip_v4/ajax/form_validation/validate_varchar.epl';
     myUrls['validate_email']     = '/tools/wip_v4/ajax/form_validation/validate_email.epl';
     myUrls['validate_url']       = '/tools/wip_v4/ajax/form_validation/validate_url.epl';
     myUrls['validate_date']      = '/tools/wip_v4/ajax/form_validation/validate_date.epl';
     myUrls['validate_timestamp'] = '/tools/wip_v4/ajax/form_validation/validate_timestamp.epl';
     myUrls['show']               = '/tools/wip_v4/ajax/form_validation/show.epl';

     var url = myUrls[page];
     var status = document.getElementById(htmlDiv + 'status');
     if (status) {
       status.style.display = 'inline';
     }
     if (!method) {
       new Ajax.Updater(
                        htmlDiv, url + '?' + queryString, {
                                                           onComplete:function(){
							                         if (!skip_effect) {
                                                                                   new Effect.Opacity(
                                                                                                      htmlDiv, {
                                                                                                                from: 0.5,
                                                                                                                to: 1.0,
                                                                                                                duration: 0.5
                                                                                                               }
                                                                                                     );
										 }
                                                                                },
                                                           asynchronous: true,
                                                           evalScripts: true,
                                                           method: 'get',
                                                           on404: wipFormvalidationHttpAjaxError404,
                                                           onSuccess: wipFormvalidationHttpAjaxSuccess,
                                                           onFailure: wipFormvalidationHttpAjaxError
                                                          }
                       );
     } else {
       new Ajax.Updater(
                        htmlDiv, url, {
                                       onComplete:function(){
					                     if (!skip_effect) {
							       new Effect.Opacity(
										  htmlDiv, {
                                                                                            from: 0.5,
                                                                                            to: 1.0,
                                                                                            duration: 0.5
                                                                                           }
                                                                                 );
							     }
                                                            },
                                       asynchronous: true,
                                       evalScripts: true,
                                       method: 'post',
				       parameters: '',
				       postBody: queryString,
                                       on404: wipFormvalidationHttpAjaxError404,
                                       onSuccess: wipFormvalidationHttpAjaxSuccess,
                                       onFailure: wipFormvalidationHttpAjaxError
                                      }
                       );

     }
   }





