Boy have I been there.
My oldest son "decided" when he was 12 that he had lived with me long enough and that it was his father's turn to have him. I was devastated! His father had been an every other weekend sometimes dad up until then. He qualified for SSD and decided that he didn't want our son's check to come to my household so he promised my son the moon if he came and lived with him.
I did a lot of praying that he would figure his dad out and return home. I ended up being the weekend mom and hated it. When my son was 14, he figured it out but didn't want to disappoint his father by coming back home and knew I would love him regardless. He started to come over more after school and spent weekends with his friends close to my house. When he got his first job at 17, he would stay at my house so he could get to school in the morning instead of trying to find a ride at 11pm back to his dad's. I really didn't like this set-up because I was still doing everything for him while he "lived" at his fathers, but it was more time I got to spend with him so I did it.
His dad and step-monster decided that since he had graduated and was 17 and working, they didn't have to and demanded his pay checks to pay their bills. This went on for a couple of months until my son had enough and moved into an apartment with his friend once he turned 18..which I helped him move and helped furnish. I helped him sign up for college, paid the $75 tuition...then he decided he wanted to enter the Air Force instead. He ended up moving back in with me for 3 months before he left for basics.
When he played football, graduated from High School, his first day of work, first broken heart, graduated from Basics in Texas, needed picked up from the airport...I was there...not his dad. He calls/texts me once a week from Oklahoma to check in and tell me he loves me.
He texted me last night "Love you". Oh how my heart filled with joy.
Your son will figure it out. Just be there for him but don't do everything for him. He needs to realize that choices have consequences. Let him know that your door is always open regardless without coming across as being manipulative..show by your actions. Take him out to lunch once a week and keep your feelings to yourself about the situation. Let him know you are thinking about him. On the weekends I would not have my oldest, me and my youngest son would go do fun stuff. If I saw something my oldest would like I would get it for him and wait until I had him again to give i to him so he didn't think it was a bribe.
Good luck. If you need to talk more..email me any time.
Nanc