//----------------------------------------------------------------------------------------
// FormatMainWin.js
//   Setup data and functions to be used by docs in frames.
//   Called by /Scripts/Plants.htm.
//   Copyright 2003-2007 Gabi and Cliff McLean
//----------------------------------------------------------------------------------------

  var BigGlossaryWin  = '';
  var BigHelpWin      = '';
  var WordGlossaryWin = '';
  var PageHelpWin     = '';
  var WWWWin          = '';
  var FamilyWin       = '';
  var MoreInfoWin     = '';
  var DrawingWin      = '';
  var MapWin          = '';
  var SayitWin        = '';
//  var Map2Win         = '';
   var GeneralWin = '';

  var AutoScrollOn = 0; // Switch auto scrolling off from other frames than ButtonFrame.
  var QuizMode = 0;
  var QuizLevel = "Plant"; 
  var CurrentIndex = 0;
  var MaxIndex, CurrentList;
  var CurrentFamily;
  var FileCol, SortCol, CntlCol;
  var PhotoRatio;
  var GoingToBigPhoto       = 0;
  var ReturningFromBigPhoto = 0;
  var GoingToNextBigPhoto   = 0;
var PrevButtonEnabled = 0;
var NextButtonEnabled = 0;
var BackButtonEnabled = 0;
var ListFrameInitLoaded = 0;
 var CanPronounce = 0;

// manage General pages Back button
//var FirstGenlPage = 'X';
var ThisIsFirstGenlPage = "not yet";

  var DrawingCalledFrom = "";
  var MapCalledFrom = "";

  var PageFolder     = "";
  var MoreInfoFolder = "";
  var PhotoFolder    = "Photos/";
  var ScriptFolder   = "";
  var ButtonFolder   = "Buttons/";
  var DrawingFolder   = "Drawings/";
  var SoundFolder   = "Sounds/";
var SayitSite = "http://www.natureathand.com/SGFPlantsCD/Sounds/";

// Determine available screen size for image sizing.
   var CSSNumber = 1;
   InHeight = screen.availHeight;
   InWidth = screen.availWidth;

//   if (InWidth < 1280) CSSNumber = 2;
//   if (InWidth <= 800) CSSNumber = 1; 
//   if (InWidth >= 1280) 
//     {
//      if (InHeight > 900) CSSNumber = 3;
//      else CSSNumber = 2;
//     }
//alert('CSSNumber is ' + CSSNumber);

   if (CSSNumber == 1)
      {
       PhotoRatio     = .58;
       BigPhotoVRatio = .53;
       BigPhotoHRatio = .45;
       MoreInfoWinSpecs     = "width=210, height=354, left=5,   top=325, screenX=5,   screenY=320";
       WordGlossaryWinSpecs = "width=210, height=200, left=5,   top=95,  screenX=5,   screenY=145";
       FamilyWinSpecs       = "width=560, height=275, left=227, top=225, screenX=225, screenY=227";
       PageHelpWinSpecs     = "width=553, height=250, left=235, top=200, screenX=235, screenY=200";
       BigHelpWinSpecs      = "width=548, height=325, left=240, top=150, screenX=240, screenY=150";
       DrawingWinSpecs      = "width=225, height=237, left=245, top=203, screenX=260, screenY=203";
       MapWinSpecs          = "width=415, height=490, left=240, top=0,   screenX=240, screenY=0";
      } 
   SayitWinSpecs          = "width=150, height=100, left=350, top=0,   screenX=350, screenY=0";

// Set Window features for opening additional windows
   WordGlossaryWinFeats = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   FamilyWinFeats       = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   MoreInfoWinFeats     = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   PageHelpWinFeats     = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   BigHelpWinFeats      = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   BigGlossaryWinFeats  = "toolbar=no, status=no, scrollbars=yes, menubar=no, resizable=yes, ";
   DrawingWinFeats = BigGlossaryWinFeats;
   MapWinFeats          = "toolbar=no, status=no, scrollbars=no,  menubar=no, resizable=yes, ";
   SayitWinFeats          = "toolbar=no, status=no, scrollbars=no,  menubar=no, resizable=yes, ";

   WWWWinFeats          = "toolbar=yes, status=yes, scrollbars=yes,  menubar=yes, resizable=yes, location=yes, ";

// Save colors of Plant and Family elements of plant lists for use by ListBy[catagory].htm files. 
   var  PlantNameColor      = "navy";
   var  PlantNameActive     = "#990000";
   var  FamilyNameColor     = "#004444";
   var  FamilyNameActive    = "#990000";

// Set colors for items in the SeqFrame list.
   var  ListSequenceColor   = "#004444";
   var  ListSequenceActive  = "#990000";
   var  CustomSearchColor   = "#004444";

// Set colors for items in the general information list.
   var  GenlInfoActiveColor = "#990000";
   var  GenlInfoNotActiveColor = "navy";

// Set autoscroll timer default to 5 seconds.
   var  DefaultAutoScrollTime = 5000;
   var  AutoScrollTime = DefaultAutoScrollTime;

// Initialize custom search values.
   PlantCommunitySearch    = "X";
   PlantTypeSearch         = "X";
   FoliageSearch           = "X";
   NativitySearch          = "X";
   FlowerColorSearch       = "X";
   FloweringMonthSearch    = "X";
   PlantStatusSearch       = "X";
   PlantGroupSearch        = "X";
   SpecialInfoSearch       = "X";
   BirdButterflyInfoSearch = "X";
   LeafArrangementSearch   = "X";
   LeafShapeSearch         = "X";
   LeafMarginSearch        = "X";
   InflorescenceSearch     = "X";
   FlowerFormSearch        = "X";
   PetalCountSearch        = "X";
   StamenCountSearch       = "X";
   SortBySearch            = "ComName";
   CommonNameSearch        = "";
   CommonFamilySearch      = "";
   BotanicalNameSearch     = "";
   BotanicalFamilySearch   = "";
   GeneralNameSearch       = "";

//----------------------------------------------------------------------------------------
// Functions
//----------------------------------------------------------------------------------------

// Open window for full-sized glossary (from buttons and from Drawings)
function OpenBigGlossaryWin(FuncTerm)
         {
          if (!BigGlossaryWin.closed && BigGlossaryWin.location)
            {
//alert(ScriptFolder + "GlossaryDocument.htm#" + FuncTerm);
             BigGlossaryWin.location = ScriptFolder + "GlossaryDocument.htm#" + FuncTerm;
            }
          else
            {
//alert("else");
             WinFeatures = BigGlossaryWinFeats + BigGlossaryWinSpecs;
//alert(ScriptFolder + "GlossaryDocument.htm#" + FuncTerm + "BigGlossaryWin" + WinFeatures);
             BigGlossaryWin = window.open(ScriptFolder + "GlossaryDocument.htm#" + FuncTerm,"BigGlossaryWin",WinFeatures);
            }
          if (window.focus) BigGlossaryWin.focus();
          return false;
         }

// close window for full-sized glossary
function CloseBigGlossaryWin()
         {
          if (BigGlossaryWin && !BigGlossaryWin.closed) BigGlossaryWin.close();
         }

// begin drawing code
// Open window for Muns drawings
function OpenDrawingWin(FuncGroup,FuncFrom)
         {
          DrawingCalledFrom = FuncFrom;
          if (!DrawingWin.closed && DrawingWin.location)
            {
             DrawingWin.location = ScriptFolder + "Drawing" + FuncGroup + ".htm";
            }
          else
            {
             WinFeatures = DrawingWinFeats + DrawingWinSpecs;
             DrawingWin = window.open(ScriptFolder + "Drawing" + FuncGroup + ".htm","DrawingWin",WinFeatures);
            }
          if (window.focus) DrawingWin.focus();
          return false;
         }

// close window for Muns drawings
function CloseDrawingWin()
         {
          if (DrawingWin && !DrawingWin.closed) DrawingWin.close();
         }
// end drawing code

// begin map code
// Open window for Glossary Maps
// 1st parm  is area to be mapped, 2nd is calling window.
// Uses QS as query string to pass mapped region to mapping script.
function OpenMapWin(FuncMap,FuncFrom)
         {
//alert("FuncFrom is " + FuncFrom);
          MapCalledFrom = FuncFrom;
//alert("MapCalledFrom is " + MapCalledFrom);
          if (FuncMap) QS = "?" + FuncMap;
          else         QS = "";
          if (!MapWin.closed && MapWin.location)
            {
             MapWin.location = ScriptFolder + "MapCalifornia.htm" + QS;
            }
          else
            {
             WinFeatures = MapWinFeats + MapWinSpecs;
             MapWin = window.open(ScriptFolder + "MapCalifornia.htm" + QS,"MapWin",WinFeatures);
            }
          if (window.focus) MapWin.focus();
          return false;
         }

// Open window for Plant Maps
// 1st parm  is area to be mapped, 2nd is calling window.
// Uses QS as query string to pass mapped region to mapping script.
function OpenPlantMapWin(FuncMap,FuncComName,FuncBotName,FuncVarName)
         {
          QS = "?" + FuncMap + "&" + FuncComName + "&" + FuncBotName + "&" + FuncVarName;
          if (!MapWin.closed && MapWin.location)
            {
             MapWin.location = ScriptFolder + "MapPlant.htm" + QS;
            }
          else
            {
             WinFeatures = MapWinFeats + MapWinSpecs;
             MapWin = window.open(ScriptFolder + "MapPlant.htm" + QS,"MapWin",WinFeatures);
            }
          if (window.focus) MapWin.focus();
          return false;
         }

// close window for Maps
function CloseMapWin()
         {
          if (MapWin && !MapWin.closed) MapWin.close();
         }
// close window for 2nd Map size
//function CloseMap2Win()
//         {
//          if (Map2Win && !Map2Win.closed) Map2Win.close();
//         }
// end map code


//----- Open window for full-sized Help (from buttons)
function OpenBigHelpWin(FuncButtons)
         {
          if (!BigHelpWin.closed && BigHelpWin.location)
            {
             BigHelpWin.location = ScriptFolder + "HelpFrameInit.htm";
            }
          else
            {
             WinFeatures = BigHelpWinFeats + BigHelpWinSpecs;
             BigHelpWin = window.open(ScriptFolder + "HelpFrameInit.htm","BigHelpWin",WinFeatures);
            }
          if (window.focus) BigHelpWin.focus();
         }

//----- close window for full-sized help
function CloseBigHelpWin()
         {
          if (!BigHelpWin.closed && BigHelpWin.location) BigHelpWin.close();
         }

//----- open small Glossary window when a term is clicked.
function OpenWordGlossaryWin(Term)
         {
//          if (Term == "Blur") {var Blur = "Blur"; Term = "";}
          if (!WordGlossaryWin.closed && WordGlossaryWin.location)
            {
             WordGlossaryWin.location = ScriptFolder + "GlossaryDocument.htm#" + Term;
             WordGlossaryWin.focus();
            }
          else
            {
             WinFeatures = WordGlossaryWinFeats + WordGlossaryWinSpecs;
             WordGlossaryWin = window.open(ScriptFolder + "GlossaryDocument.htm#" + Term,"WordGlossaryWin",WinFeatures);
            }
          return false;
         }

//----- close window for small Glossary
function CloseWordGlossaryWin()
         {
          if (!WordGlossaryWin.closed && WordGlossaryWin.location) WordGlossaryWin.close();

         }

//----- open page oriented Help
function OpenPageHelpWin(URL)
         {
          if (!PageHelpWin.closed && PageHelpWin.location)
            {
             PageHelpWin.location = URL;
            }
          else
            {
             WinFeatures = PageHelpWinFeats + PageHelpWinSpecs;
             PageHelpWin = window.open(URL, "PageHelpWin",WinFeatures);
            }
          if (window.focus) PageHelpWin.focus();
          return false;
         }

//----- close window for page-oriented help
function ClosePageHelpWin()
         {
//          if (PageHelpWin && !PageHelpWin.closed) PageHelpWin.close();
          if (!PageHelpWin.closed && PageHelpWin.location) PageHelpWin.close();
         }

//----- open window for external web site
function OpenWWWWin(SiteURL)
         {
          if (!WWWWin.closed && WWWWin.location)
            {
             WWWWin.location = "http://" + SiteURL;
            }
          else
            {
          WWWWin = window.open("http://" + SiteURL, "WWWWin",WWWWinFeats);
            }
          if (window.focus) WWWWin.focus();
          return false;
         }

//----- open window for family info
function OpenFamilyWin(Name)
         {
          if (!FamilyWin.closed && FamilyWin.location)
            {
             FamilyWin.location = PageFolder + Name + ".htm";
            }
          else
            {
             WinFeatures = FamilyWinFeats + FamilyWinSpecs;
             FamilyWin = window.open(PageFolder + Name + ".htm","FamilyWin",WinFeatures);
            }
          if (window.focus) FamilyWin.focus();
          return false;
         }

//----- close window for family info
function CloseFamilyWin()
         {
          if (!FamilyWin.closed && FamilyWin.location) FamilyWin.close();
         }

//---- test general pages in separate window
//----- open window for family info
function OpenGeneralWin(Name, Tag)
         {
//alert("Tag is " + Tag);
if (!Tag) Anchor = "";
else Anchor = "#"+Tag;
          if (!GeneralWin.closed && GeneralWin.location)
            {
             GeneralWin.location = ScriptFolder + Name + ".htm" + Anchor;
            }
          else
            {
             WinFeatures = FamilyWinFeats + FamilyWinSpecs;
             GeneralWin = window.open(ScriptFolder + Name + ".htm" + Anchor,"GeneralWin",WinFeatures);
            }
          if (window.focus) GeneralWin.focus();
          return false;
         }

//----- close window for general pages
function CloseGeneralWin()
         {
          if (!GeneralWin.closed && GeneralWin.location) GeneralWin.close();
         }
//---- end test general pages in separate window


//----- Open window for More Information with icons
function OpenMoreInfoWin(FileName, Icon)
         {
          if (Icon == "Info") Label = "";
          else Label = "#" + Icon;
          if (!MoreInfoWin.closed && MoreInfoWin.location)
            {
             MoreInfoWin.location = MoreInfoFolder + FileName + "_more.htm" + Label;
            }
          else
            {
             WinFeatures = MoreInfoWinFeats + MoreInfoWinSpecs;
             MoreInfoWin = window.open(MoreInfoFolder + FileName + "_more.htm" + Label, "MoreInfoWin",WinFeatures);
            }
          if (window.focus) MoreInfoWin.focus();
          return false;
         }

//----- close window for more information
function CloseMoreInfoWin()
         {
          if (!MoreInfoWin.closed && MoreInfoWin.location) MoreInfoWin.close();
         }


//----- Open window for web-based pronunciation for non-IE browsers
function OpenSayitWin(FuncWord, Caller)
         {
          WinFeatures = SayitWinFeats + SayitWinSpecs;
          SayitWin = window.open(SayitSite +FuncWord +".swf","SayitWin",WinFeatures);
          if (window.focus) this.focus();
          if ((window.focus) && (Caller == "WordGlossaryWin")) WordGlossaryWin.focus();
         }

//----- close window for web-based pronunciation for non-IE browsers
function CloseSayitWin()
         {
          if (!SayitWin.closed && SayitWin.location) SayitWin.close();
         }


