I have missed one important thing. The dotProduct(v1,v2) returns an cosine of an angle between vectors v1 and v2 when v1 and v2 are normalised. So before calculating dot product normalize both vectors.

Sorry about that.

About rotations. You have mixed somewhere radians and degrees.
7 is allmost equal to 2*pi = 6.28 - full 360 degree turn.

To get the < and > chars check the "Disable HTML in this post" option.