I've actually seen worse! I suggest you start documenting for rigth now, (per patch port <-> switch port). Start planning the logical placement of your infrastructure and clients on your switch(es):
- Infrastructure (router/switches/servers) (switch A: ports 1-20)
- Clients (Switch B: ports 20-40)... (Also, might want to keep VLAN memberships somewhat together)
Once you differentiate between clients and infrastructure (and VLAN associations), it will be much easier to just unplug and, re-wire everything. I agree with the other posts> shorter cables would be very useful.
ADDITIONAL INFO
Per your added request for details, sounds like you need to know where to begin. Obviously, try as hard as you can to get some kind of port documentation from the previous administrator (If you're lucky!). If that's not available, you will need to:
Good Luck m8!
Here's what I do
Label each cable
I have a brother P-Touch labeler that I use. Each cable gets a label on both ends. This is because if I unplug something from a switch, I want to know where to plug it back into, and vice versa on the server end.
There are two methods that you can use to label your cables with a generic labeler. You can run the label along the cable, so that it can be read easily, or you can wrap it around the cable so that it meets itself and looks like a tag. The former is easier to read, the latter is either harder to read or uses twice as much label since you type the word twice to make sure it's read. Long labels on mine get the "along the cable" treatment, and shorter ones get the tag.
You can also buy a specific cable labeler which provides plastic sleeves. I've never used it, so I can't offer any advice.
Color code your cables
I run each machine with bonded network cards. This means that I'm using both NICs in each server, and they go to different switches. I have a red switch and a blue switch. All of the eth0's go to red switch using red cables (and the cables are run to the right, and all eth1's go to the blue switch using blue cables (and the cables are run to the left). My network uplink cables are an off color, like yellow, so that they stand out.
In addition, my racks have redundant power. I've got a vertical PDU on each side. The power cables plugged into the right side all have a ring of electrical tape matching the color of the side, again, red for right, blue for left. This makes sure that I don't overload the circuit accidentally if things go to hell in a hurry.
Buy your cables
This may ruffle some feathers. Some people say you should cut cables exactly to length so that there is no excess. I say "I'm not perfect, and some of my crimp jobs may not last as long as molded ends", and I don't want to find out at 3 in the morning some day in the future. So I buy in bulk. When I'm first planning a rack build, I determine where, in relation to the switches, my equipment will be. Then I buy cables in groups based on that distance.
When the time comes for cable management, I work with bundles of cable, grouping them by physical proximity (which also groups them by length, since I planned this out beforehand). I use velcro zip ties to bind the cables together, and also to make larger groups out of smaller bundles. Don't use plastic zip ties on anything that you could see yourself replacing. Even if they re-open, the plastic will eventually wear down and not latch any more.
Keep power cables as far from ethernet cables as possible
Power cables, especially clumps of power cables, cause ElectroMagnetic Interference (EMI aka radio frequency interference (or RFI)) on any surrounding cables, including CAT-* cables (unless they're shielded, but if you're using STP cables in your rack, you're probably doing it wrong). Run your power cables away from the CAT5/6. And if you must bring them close, try to do it at right angles.
Edit
I forgot! I also did a HOWTO on this a long time ago: http://www.standalone-sysadmin.com/blog/2008/07/howto-server-cable-management/
Best Answer
We always end up limited by either available space or budget, but I guess my ideal setup would be:
Big industrial racking (the metal struts and reconfigurable wood shelves kinda deal like you see in warehouses) for holding large hardware, servers, switches, monitors and workstations. This stuff is awesome if you have the cash and space to house it. IMO it should be standard setup for an infrastructure team to have some shelving like this available, but since some companies won't even give you a dedicated server room, getting a storeroom is sometimes unlikely. Try and keep your servers and the rails that fit them in the same location. Hunting around to find you're missing a single rail mount for a particular server is no fun, and pricey to re-buy.
Wall-mounted hooks from which cables are hung in groups - Coiling cables always leads to a mess and wasted time uncoiling them. If you have the space for it, hanging the cables straight down on a wall lets you see the length and keeps them relatively untangled for quick grabs.
Plastic storage bins for small components. Those modular dump-truck-bin shaped ones that will either standalone on a shelf or stack together to save space. Toolboxes are overrated and never seem to have the right size compartments for all those unique IT widgets. Save the sealable plastic baggies you get with new workstations and use them for stashing bits and pieces as needed.
I still haven't figured out a decent way of handling physical media that'll scale for a whole team. We had one of those fancy automated CD storage units at one point... useless. It required having software installed on a nearby PC to operate the thing and just made it harder to access the media you needed. Plastic storage wallets are pretty naff when you end up flicking through for 10 mins only to find that the particular version of smartstart you wanted hasn't been returned to the folder. I did find you can re-purpose the HP cd packs you get with each server by turning the sleeve inside-out and doubling up the number of sleeves inside it... then you can create a grab-bag of build disks and stash it in your drawer. At least that way you can maintain your own collection in a format that's easy to keep with you.