Hmmm . . . You do understand that the recovery system copies back an image of the machine as it left the factory, that is, that such a recovery wipes out everything you have installed and all your data? I mention this only because understanding what this mechanism actually does, sometimes influences what users choose to do with it.
IME what you have is a recovery partition that was placed at the very end of the disk, i.e., there was one extremely large partition followed by the recovery. In the past the recovery images have typically been placed in the first partition, but I have seen manufacturers putting it at the end. Interestingly, the openSUSE installation was apparently smart enough to see this and hence downsized the first partition to provide space for itself without disturbing the recovery partition at the end. Since a PC can only have a maximum of 4 primary partitions, an “extended” type primary had to be created which acts as a container for additional partitions (called “logicals”).
You can approach this now in a couple of ways. The first question is how much space you want to allocate to openSUSE - I doubt it is ~120GB, which is the size of the extended partition container now. So, one method would be to remove the extended partition (with the logical inside it) and then upsize the first Vista partition to whatever you want it to be; Vista will do this for you on-the-fly. You would then have an unused block of space in which to create a new extended primary partition, and inside of it, three openSUSE partitions, one for the root (/), one for /home, and one for swap.
Your other alternative is to build on top of exactly what you have now. In the extended primary there is one logical created so far, for swap. You can add two more, for root and for /home. Unless you make /home enormous, that will leave you with ~70GB unused space in which you could create an additional linux partition for openSUSE user data, or you could (after install) use Vista to create an additional partition for Windows (or shared Windows/linux) user data, or you could divide the space and have both.
While the second alternative may sound more straightforward, working with what you already have, the downside is that there is some risk in creating inter-leaving partitions with more than one operating system. It would actually be cleaner to use the first method, getting in place exactly what you want for Windows first, even using Windows to create the extended and logical partitions for openSUSE (openSUSE would format them, but not physically create them on the disk).
How do you want to approach this? Once we know, we can provide specific instructions on how to go about it.