The Question's big so here's the link to stack overflow: Question's Link
To anyone who helps me: Thanks in advance
It looks like you're new here. If you want to get involved, click one of these buttons!