<script>

var WEST = 0;
var EAST = 1;

function FarmerState(f, w, g, c) {
    this.f = f;
    this.w = w;
    this.g = g;
    this.c = c;

    this.toString = function () { \\ note use of anonymous function
    
	var fWest = " F |  |   \n";
	var fEast = "   |  | F \n";
	var wWest = " W |  |   \n";
	var wEast = "   |  | W \n";
	var gWest = " G |  |   \n";
	var gEast = "   |  | G \n";
	var cWest = " C |  |   \n";
	var cEast = "   |  | C \n";
    
	var buf = "\n";
    
	if (this.f == WEST)
	    buf += fWest;
	else
	    buf += fEast;
    
	if (this.w == WEST)
	    buf += wWest;
	else
	    buf += wEast;
    
	if (this.g == WEST)
	    buf += gWest;
	else
	    buf += gEast;
    
	if (this.c == WEST)
	    buf += cWest;
	else
	    buf += cEast;
    
	return buf;
    };

};

var state = new FarmerState(WEST, WEST, WEST, WEST);

alert(state.toString());

</script>