function vineGetAge(dateOfBirth){
  now = new Date();
  return Math.floor((now.getTime() - dateOfBirth.getTime()) / (365.25 * 24 * 60 * 60 * 1000));   
}

function vineDoBHideMessages(){
  $j('#vine_dateofbirth_msg_empty').hide();
  $j('#vine_dateofbirth_msg_invalid').hide();
  $j('#vine_dateofbirth_msg_age').hide();
}

function vineDoBShowMessageEmpty(){
  $j('#vine_dateofbirth_msg_empty').show();
}

function vineDoBShowMessageInvalid(){
  $j('#vine_dateofbirth_msg_invalid').show();
}

function vineDoBShowMessageAge(){
  $j('#vine_dateofbirth_msg_age').show();
}


function vineCheckDateOfBirth(){
   var dateOfBirthFields = $j('.vine_input_dateofbirth');
   if(dateOfBirthFields.length == 1){
            
     var dateOfBirthInput = $j('.vine_input_dateofbirth').val();
     dateOfBirthInput = $j.trim(dateOfBirthInput);
     
     if(dateOfBirthInput){
       
       try {
         var dateOfBirth = $j.datepicker.parseDate('dd.mm.yy', dateOfBirthInput);
       }
       catch(e){
         vineDoBShowMessageInvalid();
         return false;
       }
                
       var age = vineGetAge(dateOfBirth);
       
       if(isNaN(age)){
         vineDoBShowMessageInvalid();
         return false;
       }
       
       if(age < 18){
         vineDoBShowMessageAge();
         return false;
       }
                                                                    
       return true;
     }else{  
       vineDoBShowMessageEmpty();
       return false;       
     }         
   }
   return true;  
}
   
   
$j(document).ready(function(){
   $j(".vine_submenu").hover(
     function(){
       $j(".vine_submenulst").show();
     },
     function(){
       $j(".vine_submenulst").hide();
     }
   );
   
   $j(".vine_btn_orderinvoicesubmit").click(function(event){
          vineDoBHideMessages();
          if(!vineCheckDateOfBirth()){
            event.preventDefault();
          }
       }
    );
});

