not related to your question and you said "I know, don't worry about it", but there is so much of really weird/plainly wrong stuff going on in your code that I had to mention it.
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs