Passwords – How secure is my hash algorithm?

This is probably the common question in the stack exchange, but I need to know if this is really safe as it seems.

        // Password hashing stage 1
$ a_password = sha1 ($ a_password);
$ a_password = md5 ($ a_password);
$ a_password = md5 ($ a_password);
// Password hashing stage 2
$ a_hash_user = sha1 ($ a_username);
$ a_hash_user = md5 ($ a_username);
//Final stage
$ a_user_pass = $ a_password. $ a_username;
$ a_password_combined = md5 ($ a_user_pass);
// final hash
$ a_password = $ a_password. $ a_hash_user. $ a_user_pass. $ a_password_combined;

I want to create an algorithm for creating passwords that can not be traced or at least give difficulties to those who want all these passwords 🙂
Tell me what you think about this.