animation.CrossFade cannot find animation state?

I am using animation.CrossFade in a script, and it cannot find any animations on my objects, I have set the animations to legacy in debug mode so it can’t be that, I am at a loss to explain it.

Code is below:

var doorObj : GameObject;

var linkage : GameObject;
var LinkageActive : Material;
var LinkageInactive : Material;

var screen : GameObject;
var screenActive : Material;
var screenInactive : Material;

var soundClipButton : AudioClip;
var soundDoorOpen : AudioClip;
var soundDoorClose : AudioClip;

var Open : boolean = false;

function Start () {

    Open = false;

}

function OnTriggerEnter (other : Collider)
{
    if (!Open)
    {
        doorObj.animation.Play("Open");
        animation.CrossFade("down");
        audio.PlayOneShot(soundClipButton);
        linkage.renderer.material = LinkageActive;
        screen.renderer.material = screenActive;
        audio.PlayOneShot(soundDoorOpen);
        Open = true;
    }
}

function OnTriggerExit (other : Collider)
{
    if (Open)
    {
        doorObj.animation.Play("Close");
        animation.CrossFade("up");
        audio.PlayOneShot(soundClipButton);
        linkage.renderer.material = LinkageInactive;
        screen.renderer.material = screenInactive;
        audio.PlayOneShot(soundDoorClose);
        Open = false;
    }
}

Obviously there are some basic steps to check first - have the animtionClip objects got the correct names (case sensitive), have you assigned them all into the animation components array