Your hormones are fluctuating, and at your age an irregular period is normal. That being said, 3-4 weeks is extreme, even for someone your age. You need talk with your mom if you haven't already, sounds like it would be a wise idea to have a doctor's visit as excessive bleeding can cause other issues like anemia.