// JavaScript Document for pop-up video windows Dec. 2008


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 
	
/*  
	var size=[0,0]
	size = getDisplayAreaSize()
	pageWidth = size[0]
	pageHeight = size[1]
*/	
  
      if( window.innerHeight && window.scrollMaxY )  
	  { 
        var pageWidth = window.innerWidth + window.scrollMaxX;
        var pageHeight = window.innerHeight + window.scrollMaxY;
		//window.alert( 'First If  ' );
      } 
	  else if( document.body.scrollHeight > document.body.offsetHeight ) 
	  {
        var pageWidth = document.body.scrollWidth;
        var pageHeight = document.body.scrollHeight;
		//window.alert( '2nd If  ' );
      } 
	  else 
	  { 
        var pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
        var pageHeight = document.body.offsetHeight + document.body.offsetTop; 
		//window.alert( '3rd If  ' );
      }

	
	
	

      //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 = 0;
    if (document.documentElement && document.documentElement.scrollTop)
      scrollTop = document.documentElement.scrollTop;
    else if (document.body)
      scrollTop = document.body.scrollTop;

    // set the starting x and y position of the video
    vid.style.top=scrollTop+Math.floor((document.documentElement.clientHeight/2)-(vid.offsetHeight/2))+'px';
    vid.style.left=Math.floor((document.documentElement.clientWidth/2)-(vid.offsetWidth/2))+'px';
	
  }
    
  //window.alert( 'exist calc Width = ' + pageWidth );
  //window.alert( 'exist calc Height = ' + pageHeight );
  return false;

}

function getDisplayAreaSize() {
<!--
 var thedisplayareaWidth;
 var thedisplayareaHeight;
 var size=[0,0];
 
 // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
 
 if (typeof window.innerWidth != 'undefined')
 {
		thedisplayareaWidth = window.innerWidth
		thedisplayareaHeight = window.innerHeight
 }
 
// IE6 in standards compliant mode (example with a valid doctype as the first line in the document)
// tests for a zero value that is needed in IE 5
 else if (typeof document.documentElement != 'undefined' 
          && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
//		other way to code, not sure which is better: else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
 {
		thedisplayareaWidth = document.documentElement.clientWidth,
		thedisplayareaHeight = document.documentElement.clientHeight
 }

 
 // older versions of IE
 
 else
 {
 		thedisplayareaWidth = document.getElementsByTagName('body')[0].clientWidth,
		thedisplayareaHeight = document.getElementsByTagName('body')[0].clientHeight
 }
 
size[0] = thedisplayareaWidth
size[1] = thedisplayareaHeight
 return size;
//document.write('<p>Your Display Area width is: '+ size[0] +' & height is:'+ size[1]+'</p>');
//-->
}
