Without trying to run this, I can see that you're trying to make all the calls synchronously. That'll hang up the browser for a long time.
Take a look at jQuery promises. As of version 2013.01, SPServices returns a promise from every call, and by processing using those promises, you should be able to make this work. There's a link to one of my blog posts on the home page showing the differences in using promises vs. not.
◾2013-03-09 - Comparing SPServices 2013.01 Calls with Async vs. Promises Methods
M.
Take a look at jQuery promises. As of version 2013.01, SPServices returns a promise from every call, and by processing using those promises, you should be able to make this work. There's a link to one of my blog posts on the home page showing the differences in using promises vs. not.
◾2013-03-09 - Comparing SPServices 2013.01 Calls with Async vs. Promises Methods
M.