                 }
                 marker = 0;
 				
-				// Other lacales AM/PM 
+				// All known locales AM/PM 
 				if (ampm.hasOwnProperty(word))
 				{
 					isPM = true;
 					
 					if (hour > 12)
 						break; // error
-					else if (hour >= 0)
+					else if (hour >= 0 && hour < 12)
 						hour += 12;
 				}
             }

                    break;  //error
                }
                
                marker = 0
            }
        }
		

						day = num;
					else if (!monthFirst && mon < 0)
						mon = (num -1);
					else if (min < 0)
						min = num;
					else if (sec < 0)
						sec = num;
					else if (milli < 0)
