SilverlightControl.js and SilverlightMedia.js are provided by MS. They are required for playing video and audio with Silverlight.
htmlOutput is a variable that holds the HTML for a media object. For an image, it will consist of the <img ... /> tag. For some types of video and audio (depending on how the HTML template is configured in galleryserverpro.config), it will be an <object ... /> tag.
As you navigate back and forth between objects in an album, the htmlOutput variable is populated via an AJAX request. To render the next (or previous) object, javascript replaces the old HTML in the DOM with the new HTML stored in htmlOutput. That causes the new media object to appear.
scriptOutput contains javascript that must be executed to help render a media object. I had to add this variable to support Silverlight because Silverlight requires a combination of HTML, XAML, and javascript.
For non-Silverlight objects, the scriptOutput variable will be empty. I don't think htmlOutput and scriptOutput should ever contain the same value.
Hope this helps,
Roger Martin
Creator and Lead Developer of Gallery Server Pro