		function getElementsByClass (searchClass) {
			  // This function returns an array of all HTML objects with the
			  // specified className.  Tag is optional   
			  var returnArray = [];
			  var els = document.getElementsByTagName('*');
			  var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
			  for (var i = 0; i < els.length; i++) {
			    if ( pattern.test(els[i].className) ) { returnArray.push(els[i]); }
			  }
			  return returnArray;
		}
			
		function popVideo(vid, darken) {
			  // This function accepts a division ID (vid), either a string or the actual
			  // object itself.   vid is mandatory.   darken is optional, if it's true
			  // the page will be greyed out under the video.
			  var videos = getElementsByClass('video');     // Get all the videos on the page.
			  var isplaying=null;
			  for(i=0; i<videos.length; i++) {              // Loop through all the videos
			    if (videos[i].style.display=='block') {     // This video is playing 
			      isplaying=videos[i].id;                   // remember its name
			      var tmp=videos[i].innerHTML;              // Get the division contents
			      videos[i].innerHTML='';                   // destroy the contents
			      videos[i].style.display='none';           // Terminate the video.
			      videos[i].innerHTML=tmp;                  // rebuild the contents.
			    }
			  }
			  // This handles the darkening of the background while a video is playing.
			  // First we see if the dark layer exists.
			  var dark=document.getElementById('darkenScreenObject');
			  if (!dark) {
			    // The dark layer doesn't exist, it's never been created.  So we'll
			    // create it here and apply some basic styles.
			    var tbody = document.getElementsByTagName("body")[0];
			    var tnode = document.createElement('div');          // Create the layer.
			        tnode.style.backgroundColor='rgb(0, 0, 0)';     // Make it black.
			        tnode.style.opacity='0.7';                      // Set the opacity (firefox/Opera)
			        tnode.style.MozOpacity='0.70';                  // Firefox 1.5
			        tnode.style.filter='alpha(opacity=70)';         // IE.
			        tnode.style.zIndex='1';                         // Zindex of 50 so it "floats"
			        tnode.style.position='absolute';                // Position absolutely
			        tnode.style.top='0px';                          // In the top
			        tnode.style.left='0px';                         // Left corner of the page
			        tnode.style.overflow='hidden';                  // Try to avoid making scroll bars            
			        tnode.style.display='none';                     // Start out Hidden
			        tnode.id='darkenScreenObject';                  // Name it so we can find it later
			    tbody.appendChild(tnode);                           // Add it to the web page
			    dark=document.getElementById('darkenScreenObject'); // Get the object.
			  }
			  dark.style.display='none';
			  if ((isplaying==vid)||(/^close$/i.test(vid))) { return false; }
			  if (typeof(vid)=="string") { vid=document.getElementById(vid); }
			  if (vid&&typeof(vid)=="object") {
			    if (darken) {
			      // Calculate the page width and height 
			      if( window.innerHeight && window.scrollMaxY )  { 
			        var pageWidth = window.innerWidth + window.scrollMaxX;
			        var pageHeight = window.innerHeight + window.scrollMaxY;
			      } else if( document.body.scrollHeight > document.body.offsetHeight ) {
			        var pageWidth = document.body.scrollWidth;
			        var pageHeight = document.body.scrollHeight;
			      } else { 
			        var pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
			        var pageHeight = document.body.offsetHeight + document.body.offsetTop; 
			      }
			      //set the shader to cover the entire page and make it visible. 
			      dark.style.width= pageWidth+'px';
			      dark.style.height= pageHeight+'px';
			      dark.style.display='block';                                
			    }
			    // Make the video visible and set the zindex so its on top of everything else
			    vid.style.zIndex='100';    
			    vid.style.display='block';
			    var scrollTop = document.body.scrollTop;
			
			    // set the starting x and y position of the video
			    vid.style.top=(scrollTop)+'px';
			    vid.style.left=Math.floor(307-(vid.offsetWidth/2))+'px';
			  }
			  return false;
		}