function CalculateEAN13Checksum(messageString)  { //18characters (form)
 var csumTotal = 0;
 var d = new Date();

 var dy = "0" + d.getFullYear(); dy = dy.substring(4,5);
 var dm = "0" + (d.getMonth()+1); dm = dm.substring(dm.length-2, dm.length);
 var ds = parseInt(dy+dm);

 if( messageString.value.length != 18 ) { alert("Az ellenőrzéshez 18 számjegy szükséges!" ); return 0; }
 if( messageString.value.substring(0,6) !="599119"  ) { alert("Hibás vonalkód!" ); return 0; }
 if( parseInt(messageString.value.substring(9,12) ) < ds ) { alert("A kártya érvényessége lejárt!" ); return 0; }
 
 var mString = messageString.value.substring(0,12); 
 var checksumDigit = parseInt(messageString.value.substring(12,13)); 

 for( charPos = mString.length - 1; charPos >= 0; charPos--) {
  if( charPos / 2 == parseInt(charPos/2) )
   csumTotal = csumTotal + (parseInt(mString.substring(charPos,charPos+1)));
  else
   csumTotal = csumTotal + (3 * parseInt(mString.substring(charPos,charPos+1)));
  }

 var remainder = parseInt(csumTotal % 10) ? 10 - parseInt(csumTotal % 10) : 0;
 if( remainder != checksumDigit ) { 
  alert("A kód hibás"); return 0;
 } else {
  alert("A kód megfelelő!"); return 10 - remainder; 
 }
}
