// File:	utils.js
// Author:	Dr. Hans Koomen
// Modified:	2007-01-27

function sendMail(mbox,mserver)
{
   if( mserver == null )
      mserver = "avonrotary.org";
   window.location = "mailto:" + mbox + "@" + mserver;
}

function openCFMap(mapurl)
{
//	window.open(mapurl, "_blank", "fullscreen=1,location=0,menubar=0,status=0,toolbar=0");
	window.open(mapurl, "_blank", "location=0,menubar=0,status=0,toolbar=0,resizable=1");
}

function getInnerWidth()
{
    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        return window.innerWidth;
    }
    if( document.documentElement && document.documentElement.clientWidth ) {
        //IE 6+ in 'standards compliant mode'
        return document.documentElement.clientWidth;
    }
    if( document.body && document.body.clientWidth ) {
        //IE 4 compatible
        return document.body.clientWidth;
    }
    // no idea...
    return 600;
}

function getInnerHeight()
{
    if( typeof( window.innerHeight ) == 'number' ) {
        //Non-IE
        return window.innerHeight;
    }
    if( document.documentElement && document.documentElement.clientHeight ) {
        //IE 6+ in 'standards compliant mode'
        return document.documentElement.clientHeight;
    }
    if( document.body && document.body.clientHeight ) {
        //IE 4 compatible
        return document.body.clientHeight;
    }
    // no idea...
    return 400;
}

// SLIDE SHOWS


function generateSlideNames( n, prefix, postfix )
{
  var names = new Array(n);
  for( var i = 0; i < n; i++ )
    names[i] = prefix + i + postfix;
  return names;
}

function startAuctionSlides()
{
  var names = generateSlideNames( 15, "/auction/2006-Thumbnails/auction06-", ".jpg" );
  startSlides( "auctionshowimg", names, 3000, 12 );
}

function startCornFestSlides()
{
  var names = generateSlideNames( 17, "/cornfest/2006-Thumbnails/", ".jpg" );
  startSlides( "cornfestshowimg", names, 3000, 8 );
}

function startScoutingSlides()
{
  var pnames = generateSlideNames( 8, "/images/scouting/pack", ".jpg" );
  startSlides( "packslides", pnames, 3000, 0 );
  var tnames = generateSlideNames( 4, "/images/scouting/troop", ".jpg" );
  startSlides( "troopslides", tnames, 3000, 0 );
}



var slideDecks = new Array();

function startSlides( imgId, slideNames, interval, startIndex )
{
  if( imgId == null ) return;
  if( slideNames == null ) return;
  var img = document.getElementById( imgId );
  if( img == null) return;
  var deck = new Object();
  deck.displayImg = img;
  deck.slideNames = slideNames;
  deck.index = startIndex ? startIndex : 0;
  deck.slides = new Array( slideNames.length );
  slideDecks[imgId] = deck;
  // Do lazy image preloading - just a couple ahead
  nextSlide( imgId );    
  window.setInterval( "nextSlide('"+imgId+"')", interval ? interval : 3000 );
}

function getSlide( deck, i )
{
  var k = i % deck.slideNames.length;
  var img = deck.slides[k];
  if( img == null ) {
//  alert("Preloading " + deck.slideNames[k] );
    img = new Image();
    img.src = deck.slideNames[k];
    deck.slides[k] = img;
  }
  return img;
}

function nextSlide( imgId )
{
  var deck = slideDecks[imgId];
  if( deck == null )
    alert("Can't find slide deck for '" + imgId + "'!");
  if( deck == null )
    return;
  var slideA = getSlide( deck, deck.index++ );
  var slideB = getSlide( deck, deck.index+0 ); // preload
  var slideC = getSlide( deck, deck.index+1 ); // preload
  deck.displayImg.src = slideA.src;
}
