Hittest / Swapdepth trouble

My depths won’t swap! Arrrrr!
This is an easy one, I’m sure - but I’m still not sure why it won’t work. I’ve got a little earth rotating around a sun, and what I want it to do is go behind the sun. I’ve got it to work by making earth_mc drop alpha to 0 if it hittests and jump up to 100 if it doesn’t, but it look like crap. Instead, I want the earth_mc and sol_mc to swapdepths when they hit and the earth is under a certain size. I know I’m on the right track. What value should I plug in to make it work? here’s my script (with gracious thanks to various tutorial writers).

onClipEvent(load){
speed=10;
radius=180;
xcenter=600;
ycenter=450;
zcenter=150
angle=0;
fl=200;
}

onClipEvent(enterFrame){
_x=Math.cos(angle*Math.PI/180)radius+xcenter;
_y=y+ycenter;
z=Math.sin(angle
Math.PI/180)radius+zcenter;
scale=fl/(fl+z);
_xscale=_yscale = scale
100
angle+=speed;
if(angle>359){
angle-=360;
}
if (this, hitTest(this._parent.sol_mc) and _level0.earth_mc.scale <= 0.5) {
this._parent.sol_mc.x +=2;
_level0.earth_mc.swapDepths(this._parent.sol_mc.x);
}
}