text: //
  //  changeColorOnHover.js
  //  examples/entityScripts
  //
  //  Created by Brad Hefta-Gaub on 11/1/14.
  //  Copyright 2014 High Fidelity, Inc.
  //
  //  This is an example of an entity script which when assigned to a non-model entity like a box or sphere, will
  //  change the color of the entity when you hover over it. This script uses the JavaScript prototype/class functionality
  //  to construct an object that has methods for hoverEnterEntity and hoverLeaveEntity;
  //
  //  Distributed under the Apache License, Version 2.0.
  //  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
  //
  
  (function(){ 
    this.oldColor = {};
    this.oldColorKnown = false;
    this.storeOldColor = function(entityID) {
      var oldProperties = Entities.getEntityProperties(entityID);
      this.oldColor = oldProperties.color;
      this.oldColorKnown = true;
      print("storing old color... this.oldColor=" + this.oldColor.red + "," + this.oldColor.green + "," + this.oldColor.blue);
    };
    
    this.preload = function(entityID) {
      print("preload");
      this.storeOldColor(entityID);
    };
    
    this.hoverEnterEntity = function(entityID, mouseEvent) { 
      print("hoverEnterEntity");
      if (!this.oldColorKnown) {
          this.storeOldColor(entityID);
      }
      Entities.editEntity(entityID, { color: { red: 0, green: 255, blue: 255} });
    }; 
    this.hoverLeaveEntity = function(entityID, mouseEvent) { 
      print("hoverLeaveEntity");
      if (this.oldColorKnown) {
          print("leave restoring old color... this.oldColor=" 
                      + this.oldColor.red + "," + this.oldColor.green + "," + this.oldColor.blue);
          Entities.editEntity(entityID, { color: this.oldColor });
      }
    }; 
  })