Playing Anim Backwards with .speed

What im trying to do is play an animation onmousedown, and when i release the mouse button, onmouseup, it plays backwards. Here is what i have but keep getting, "speed’ is not a member of ‘boolean’ error

public static var Switch_2A112_S6 : int = 0;



function OnMouseDown () {
	if (Switch_2A112_S6 == 0) {
		iRadar_Switch_2A112_XMTRpower_S6=GameObject.Find("radar_csdoor1_interior"); 
		iRadar_Switch_2A112_XMTRpower_S6.transform.animation.Play("Radar_Switch_2A112_XMTRpower_S6_CenterUp");
		Switch_2A112_S6 = 1;
}
}
function OnMouseUp () {
	if (Switch_2A112_S6 == 1) {
		iRadar_Switch_2A112_XMTRpower_S6=GameObject.Find("radar_csdoor1_interior"); 
		iRadar_Switch_2A112_XMTRpower_S6.transform.animation.Play("Radar_Switch_2A112_XMTRpower_S6_CenterUp").speed = -1.0;
		Switch_2A112_S6 = 0;
}

}

Iv looked at the animatoinState.speed reference on the unity site and i must be missing something. Any help would be greatly appreciated.

Ok im closer, but cant figure out why when OnMouseDown, it takes about 1 secodns before the animation actually plays. I click, hold for a second, keep holding and it plays. Then when i let go, it returns in reverse like its supposed to. Odd. Any ideas? Here is the current code.

function OnMouseDown () {
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch_CenterUp"].speed = 1.0;
		iSwitch01.transform.animation.Play("Switch_CenterUp");
}

function OnMouseUp () {
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch_CenterUp"].speed = -1.0;
		iSwitch01.animation["Switch_CenterUp"].time = iSwitch01.animation["Switch_CenterUp"].length;
		iSwitch01.transform.animation.Play("Switch_CenterUp");
}

Just to add to the confusion, i have something a little more challenging.

So the full story on this toggle switch im trying to interact with is this: To use it in real life, you flip it into the on state, but have to hold it on for a few seconds. Upon releasing your finger, it returns to its natural centered state. To use the off function of this switch you need to press it with your finger, hold for a few seconds and then release. Just as before, it returns to its centered state.

I need to replicate this. My plan is to use the up/on portion of this with the left mouse button, holding and then releasing when needed. To use the off portion of the switch, you will use the right mouse button. This is the other area im getting stuck. I have found a neat little way to fake a OnMouseDown for the right mouse button, but… cannot seem to get it to work for the return portion of the animation. Here is how i have gone about it.

function OnMouseDown () {
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch_CenterUp"].speed = 1.0;
		iSwitch01.transform.animation.Play("Switch_CenterUp");
}

function OnMouseUp () {
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch_CenterUp"].speed = -1.0;
		iSwitch01.animation["Switch_CenterUp"].time = iSwitch01.animation["Switch_CenterUp"].length;
		iSwitch01.transform.animation.Play("Switch_CenterUp");
}


function OnMouseOver()
{ 
   if (Input.GetMouseButtonDown(1)){
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch01_CenterDown"].speed = 1.0;
		iSwitch01.transform.animation.Play("Switch01_CenterDown");
		Debug.Log ("Right Mouse Button Pressed");
   }
	then (Input.GetMouseButtonUp(1)) // what type of contional should i use for this?
   {
		iSwitch01=GameObject.Find("radar_csdoor1_interior"); 
		iSwitch01.animation["Switch01_CenterDown"].speed = -1.0;
		iSwitch01.animation["Switch01_CenterDown"].time = iSwitch01.animation["Switch01_CenterDown"].length;
		iSwitch01.transform.animation.Play("Switch01_CenterDown");
		Debug.Log ("Right Mouse Button RELEASED");  // i never see this in the debug log. 
   } 
}