
    function woof (src, pause, speed, count){
        this.setProperties(src, pause, speed, count);
    };

    woof.prototype = new BaseSequence();
    woof.prototype.constructor = new BaseSequence;
    woof.superclass = BaseSequence.prototype;

    woof.prototype.setProperties = function(src, pause, speed, count){

		this.prog = "speak('woof woof', 500)";

		woof.superclass.setProperties.call(this, src, pause, speed, count);

		this.name        = "woof";
		this.return_mode = MODE_NORMAL;

		return this;
    };

    woof.prototype.mouse_over = function(){
		this.return_mode = MODE_STAY;
		this.stop();
	};

    woof.prototype.actout = function actout(){

        if (this.first_time) this.first_time = false;
        else {

			woof.superclass.actout.call(this);

			var beats = this.beats();
			var rnd_num = this.get_random_number(beats);

			switch(rnd_num){

				case 1:  this.prog = "tounge_out()";  break;
				case 2:  this.prog = "tounge_in()";   break;
				case 3:  this.prog = "blink()";       break;
				case 4:  this.prog = "blink()";       break;
				case 5:  this.prog = "blink()";       break;
				case 6:  this.prog = "blink()";       break;
				case 7:  this.prog = "blink()";       break;
				case 8:  this.prog = "blink()";       break;
				case 9:  this.prog = "blink()";       break;
				case 10: this.prog = "blink()";       break;
				case 11: this.prog = "blink()";       break;
				case 12: this.prog = "blink()";       break;

				default:
			             rnd_num = this.get_random_number(5);

			             switch(rnd_num){
							 case 1:  this.prog = "speak('woof woof', 500)"; break;
							 case 2:  this.prog = "speak('  woof!  ', 500)"; break;
							 case 3:  this.prog = "speak('woof woof', 500)"; break;
							 case 4:  this.prog = "speak('  woof!  ', 500)"; break;
							 default: this.prog = "nothing()";               break;
					     }
					     break;
			}
	    }

	    this.pause = this.pause - 1;
	    if (this.pause < 510) this.pause = 510;

        return(this.prog);
    }
