
/**************************************************************************  

WEB SITE:       FOEJN
FILE NAME:      foejnjs.js
TITLE:          JavaScript  
AUTHOR:         Susan Sailow
DATE CREATED:   30 Sep 2005
LEVEL:          All
STYLE SHEET:    styles.css

DESCRIPTION:    JavaScript Code for FOEJN, Marina, CA

MODIFICATIONS:

  DDMMYYYY   AUTHOR          PURPOSE                 DETAILS

  30Sep2005  Susan Sailow    The beginning
  12Oct2005  Susan Sailow    Add Resources buttons to preload function
  27May2006  Susan Sailow    Create function to play videos

**************************************************************************/

/**************************************************************************
Variables

Note that javascript treats the first element as element number 0, the
second as element number 1, and so on
**************************************************************************/

	var htmlCode;
	var today = new Date( );
	var yesterdayEnd = new Date ( );

// Look for Netscape browser, with a version number less than 5

	if ( navigator.appName == "Netscape" &&  navigator.appVersion.charAt(0) < '5' )  
      {  NS_LT5 = 1; }

// Calculate yesterday's end

	yesterdayEnd.setHours( 0 );
	yesterdayEnd.setMinutes( 0 );
	yesterdayEnd.setSeconds( -1 );

// Declare and initialize pages array

	noPages = 12;
	pageArr = new Array( noPages );

	pageArr[0]  = new Array('HP',   'Home',            'index.htm',      1);
	pageArr[1]  = new Array('AU',   'About Us',        'aboutus.htm',    1);
	pageArr[2]  = new Array('Cans', 'Canines',         'canines.htm',    1);
	pageArr[3]  = new Array('Fels', 'Felines',         'felines.htm',    1);
	pageArr[4]  = new Array('Adopt',   'Adopt',           'adopt.htm',      1);
	pageArr[5]  = new Array('HTaWT',   'Happy Tails & Wagging Tales', 'happywagging.htm', 1);

	pageArr[6]  = new Array('NaE',  'News & Events',   'newsevents.htm', 1);
	pageArr[8]  = new Array('HTH',  'How to Help',     'howtohelp.htm',  1);
	pageArr[7]  = new Array('LaF',  'Lost & Found',    'lostfound.htm',  1);
	pageArr[9]  = new Array('Ress', 'Resources',       'resources.htm',  1);
	pageArr[11] = new Array('OTRB', 'Over the Rainbow Bridge', 'rainbow.htm', 0);
	pageArr[10] = new Array('CU',   'Contact Us',      'contactus.htm',  1);

	pageArr[12] = new Array('HT_C',  'Happy Tails (Wagging Tales): Cats',   'happywagging.htm', 1);
	pageArr[13] = new Array('HT_D',  'Happy Tails (Wagging Tales): Dogs',   'happywagging.htm', 1);

/**************************************************************************
FrontPage Functions
**************************************************************************/

function FP_swapImg() 
{
//v1.0
	var doc=document,args=arguments,elm,n; 

	doc.$imgSwaps=new Array(); 

	for(n=2; n<args.length; n+=2) 
	{ elm=FP_getObjectByID(args[n]); 
	  if(elm) 
	  { doc.$imgSwaps[doc.$imgSwaps.length]=elm; elm.$src=elm.src; elm.src=args[n+1]; } 
      }
}

function FP_preloadImgs() 
{
//v1.0
	var d=document,a=arguments; 

	if(!d.FP_imgs) 
	d.FP_imgs=new Array();
	for(var i=0; i<a.length; i++) 
	{ d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}

function FP_getObjectByID(id,o) 
{
//v1.0
	var c,el,els,f,m,n; 

	if(!o)o=document; 

	if(o.getElementById) el=o.getElementById(id);
      else if(o.layers) c=o.layers; 
	else if(o.all) el=o.all[id]; 

	if(el) return el;

	if(o.id==id || o.name==id) return o; 

	if(o.childNodes) c=o.childNodes; 
	if(c)
	for(n=0; n<c.length; n++) 
	{ el=FP_getObjectByID(id,c[n]); if(el) return el; }

	f=o.forms; 

	if(f) 
	for(n=0; n<f.length; n++) 
	{ els=f[n].elements;
	  for(m=0; m<els.length; m++)
	  { el=FP_getObjectByID(id,els[n]); if(el) return el; } 
      }

	return null;
}

function FP_swapImgRestore() 
{
// v1.0
	var doc=document,i; 

	if(doc.$imgSwaps) 
	{ for(i=0;i<doc.$imgSwaps.length;i++) 
	  { var elm=doc.$imgSwaps[i]; 
          if(elm) 
          { elm.src=elm.$src; elm.$src=null; } 
        } 
 	  doc.$imgSwaps=null; 
      }
}

/**************************************************************************
function preloadImgs: Preload Images
**************************************************************************/

	function preloadImgs( )
{
	var j;

//	alert ('preloadImgs: Begin');

      FP_preloadImgs('images/TOPL_HP_Dorm.jpg', 'images/TOPL_HP_MO.jpg', 'images/TOPL_HP_Curr.jpg');
      FP_preloadImgs('images/TOPL_Found_Dorm.jpg', 'images/TOPL_Found_MO.jpg', 'images/TOPL_Found_Curr.jpg');
      FP_preloadImgs('images/TOPL_Purp_Dorm.jpg', 'images/TOPL_Purp_MO.jpg', 'images/TOPL_Purp_Curr.jpg');
      FP_preloadImgs('images/TOPL_TAG.jpg', 'images/TOPL_TAG_MO.jpg', 'images/TOPL_TAG_Curr.jpg');
      FP_preloadImgs('images/TOPL_Reps_Dorm.jpg', 'images/TOPL_Reps_MO.jpg', 'images/TOPL_Reps_Curr.jpg');

      FP_preloadImgs('images/TOPL_Projs_Dorm.jpg', 'images/TOPL_Projs_MO.jpg', 'images/TOPL_Projs_Curr.jpg');
      FP_preloadImgs('images/TOPL_People_Dorm.jpg', 'images/TOPL_People_MO.jpg', 'images/TOPL_People_Curr.jpg');
      FP_preloadImgs('images/TOPL_Newsletter_Dorm.jpg', 'images/TOPL_Newsletter_MO.jpg', 'images/TOPL_Newsletter_Curr.jpg');
      FP_preloadImgs('images/TOPL_Ress_Dorm.jpg', 'images/TOPL_Ress_MO.jpg', 'images/TOPL_Ress_Curr.jpg');
      FP_preloadImgs('images/TOPL_Sugg_Dorm.jpg', 'images/TOPL_Sugg_MO.jpg', 'images/TOPL_Sugg_Curr.jpg');

//	alert ('preloadImgs: End');

}

/**************************************************************************
function playVideo:  Play Videos  
**************************************************************************/

	function playVideo( mpgName )
{
	var mpegName;

	alert ('playVideo: Begin');
/*
    <OBJECT ID="RVOCX" CLASSID="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" WIDTH="500" HEIGHT="400">

    <PARAM NAME="CONSOLE" VALUE="_unique">
    <PARAM NAME="CONTROLS" VALUE="All">
    <PARAM NAME="BACKGROUNDCOLOR" VALUE="#000000">
    <PARAM NAME="CENTER" VALUE="0">
    <PARAM NAME="AUTOSTART" VALUE="false">
    <PARAM NAME="SHUFFLE" VALUE="0">
    <PARAM NAME="SRC" VALUE="videos\CEHF\CEHF_20050322_A.mpg" ref>
    <PARAM NAME="PREFETCH" VALUE="0">
    <PARAM NAME="NOLABELS" VALUE="0">
    <PARAM NAME="LOOP" VALUE="0">
    <PARAM NAME="NUMLOOP" VALUE="0">
    <PARAM NAME="MAINTAINASPECT" VALUE="0">

    <EMBED ID="CEHFDVD" NAME="CEHFDVD" SRC="videos\CEHF\CEHF_20050322_A.mpg" WIDTH="500" HEIGHT="400" NOJAVA="true" CONTROLS="All" PLUGINSPAGE="http://forms.real.com/netzip/getrde601.html?h=software-dl.real.com&amp;dc=113112111&amp;f=windows/RealPlayer10-5GOLD_bb.exe&amp;p=RealOne+Player&amp;oem=dlrhap_bb&amp;tagtype=ie&amp;type=dlrhap_bb&amp;"> 
    </EMBED>
    
    </OBJECT> 

*/
	alert ('playVideo: End');

}

/**************************************************************************
function playMediaPlayer:  Play Media Player
**************************************************************************/

	function playMediaPlayer( )
{
//	alert ('playMediaPlayer: Begin');

/*
          mediaPlayer.Play();
          mediaPlayer.Stop();
          mediaPlayer.AutoStart = "true"; 
          mediaPlayer.showControls = "true"; 
          mediaPlayer.loop = "false"; 
          mediaPlayer.Play();
*/

//	alert ('playMediaPlayer: End');
}

/**************************************************************************
function showProps: Display the values of all properties of an object,
                    25 (or countCutoff) at a time
**************************************************************************/

	function showProps( obj, objName, countCutoff )
	{
	  var result = "";
        var count = 0;
        var countTot = 0;

/*
	if ( ( countCutoff >= 1 ) && ( countCutoff <= 25 ) )
 		{ countCutoff = countCutoff; }
      else
		{ countCutoff = 25; }
*/

        result += 'OBJECT ' + objName + ', every ' + 
                  countCutoff + ' properties, of length = ' + obj.length + "\n";

        for (var i in obj)
        {  result += countTot + ": " + objName + "." + i + " = " + obj[i] + "\n";
           count++;
           countTot++;
           if (count == countCutoff)
           {  alert (result);
              result = "";
              count = 0;
           }
        }

	  alert (result);
	}

/**************************************************************************
function writeHTMLCode: Write the HTML code to the document
**************************************************************************/

	function writeHTMLCode( htmlCode, display )
{
	var display;
	var htmlCode;

// Display code, if requested

      if ( display >= 1 )
      { alert ('writeHTMLCode: htmlCode = ' + htmlCode) } 
       
// Display object properties, if requested

      if ( display == 2 )
      {  alert ('navigator.appVersion, 1stchar =' + navigator.appVersion + navigator.appVersion.charAt(0));
         showProps(navigator, 'navigator');
// Note: NS 7.0 (and maybe IE 6.0) crashes when trying to show window property
	   showProps(window, 'window');               
         showProps(document, 'document');
/** This causes a crash of the javascript, in NS 6.1
         if (navigator.appName == "Netscape" && navigator.appVersion.charAt(0) >= '5')
         { showProps(Content, 'Content'); }
**/
         if ( NS_LT5 == 1 )
         { showProps(document.Content, 'document.Content'); }
         if (navigator.appName == "Microsoft Internet Explorer")
         { showProps(Content, 'Content'); }
      }
	 
//Write HTML code to the document (use special form for Netscape Version < 5

	if ( NS_LT5 == 1 )  
      {  window.document.Content.document.write( htmlCode); }
      else
	{  window.document.write( htmlCode); }

}

