<?php
/* remotefilename=/shared/inc/PageFrame.php
 *
 *    Copyright 2013 by MIT Sloan School of Management.  All rights reserved.
 *
 *    $Id: /shared/inc/PageFrame.php,v $
 */
/**
*    Functions and default data for writing standardized HTML page frames
*
*    N.B.:    DO NOT require_once() or require() this script from within a function:
*            Incorrect usage will cause the default initialization to break.
*
*    In this file:
*        define('ON_PRODUCTION'), TRUE on production server, FALSE on staging
*        default value initialization for all variables used in this module
*        DefaultPageFrameFooter(), routine for writing a default page footer
*        DefaultPageFrameMenuCSS(), default routine to set up page menu's CSS
*        DefaultPageFrameMenuDraw(), default routine to add the menu to the page
*        DefaultPageFrameMenuJS(), default routine to set up menu's Javascript
*        globalPageHeader(), writes HTML to open a proper XHTML document
*        globalPageTrailer(), writes HTML to close a proper XHTML document
*
*    Author:            Fred Koschara
*    Creation Date:    April third, 2013
*    Last Modified:    November 12, 2014 at 12:06 pm
*
*    Revision History:
*       Date          by        Description
    2014/11/12    genea    added Open Graph meta tags for URL, type, title,
                        site_name, and description
*    2014/10/31    genea    added Open Graph image meta tag
*    2014/10/28    genea    added NewsroomPageFrameFooter() function
*    2014/10/24    genea    modified DefaultPageFrameFooter() to directly include
*                        /shared/content/footer.php
*    2014/02/05    genea    load updates.css file for $level0 = "newsroom"
*    2014/02/05    genea    add $bodyClass2 as part of Newsroom facelift
*    2013/06/11    wfredk    default footer's CSS in /shared/css/PageFrame-footer.css
*    2013/06/11    wfredk    "Copyright" is required in copyright declarations
*    2013/05/30    wfredk    use a top margin above the default page footer
*    2013/05/20    wfredk    don't indent <script> tag in page footer
*    2013/05/17    wfredk    page footer <a> styles weren't qualified by #page_footer
*    2013/05/15    wfredk    add $HeadCSS support
*    2013/04/15    wfredk    original development
*        |                        |
*    2013/04/03    wfredk    original development
*/
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];

// this evaluates to TRUE on the production server, FALSE on staging servers
define('ON_PRODUCTION',(strpos($_SERVER['SERVER_NAME'],'mitsloan')!==FALSE));

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 *    begin default value initialization for all variables used in this module
 */
if (!defined('CopyrightYears')) define('CopyrightYears',date('Y'));

if (!isset(
$GoogleSiteCode))    // for <meta name="google-site-verification">
    
$GoogleSiteCode='*******************************************';

// set up the header and navigation
if (!isset($head_color)) $head_color='#970033';
if (!isset(
$section)) $section='MIT Sloan School of Management';
if (!isset(
$level0)) $level0='';
if (!isset(
$level1)) $level1='';
if (!isset(
$level2)) $level2='';
if (!isset(
$pagetitle)) $pagetitle=__FILE__.' needs to have a title defined!!';

if (!isset(
$pageID))    // HTML id attribute for <body> tag
    
$pageID='';
if (!isset(
$bodyClass))    // CSS ruleset names for <body> tag class attribute
    
$bodyClass='';
if (!isset(
$bodyClass2))    // CSS ruleset names for additional <body> tag class attribute
    
$bodyClass2='';

// <title> tag contents for the <head> of the page
if (!isset($MetaTitle)) $MetaTitle=$pagetitle.' - '.$section;

// <meta> tag data
if (!isset($PageAuthor)) $PageAuthor='';
if (!isset(
$PageCreated)) $PageCreated='';
if (!isset(
$PageDescrip)) $PageDescrip='';
if (!isset(
$PageKeywords)) $PageKeywords='';
if (!isset(
$PageReplyTo)) $PageReplyTo='webmaster@sloan.mit.edu';

if (!isset(
$PageNoCache))    // TRUE to insert caching prohibition <meta> tags
    
$PageNoCache=FALSE;

/**
* list of CSS files for the page, inserted in the order listed in the array
*
* If a CSS file is media-specific, append a pipe character and the media name
* after the filespec, e.g., '/shared/css/print.css|print'
*/
if (!isset($FilesCSS))
{    
$FilesCSS=array    (    '/shared/css/print.css|print',
                        
'/shared/css/sitestyle.css|screen',
                    );
    if (
file_exists($DOCUMENT_ROOT.'/'.$level0.'/css/sitecolor.css'))
        
$FilesCSS[]='/'.$level0.'/css/sitecolor.css|screen';
    if (
file_exists($DOCUMENT_ROOT.'/'.$level0.'/css/site.css'))
        
$FilesCSS[]='/'.$level0.'/css/site.css|screen';
    
$FilesCSS[]='/shared/css/style-inner.css|screen';
}
if (!isset(
$HeadCSS))    // inline CSS to insert in page <head> after files
    
$HeadCSS='';    // don't do it! - put it in a .css file! (at least for production)

/**
* Javascript initialization inserted before adding Javascript files
*
* If $JavascriptInit is an array, each array entry is inserted as a separate
* line in the emitted page.  Otherwise, $JavascriptInit is inserted as a string.
*/
if (!isset($JavascriptInit)) $JavascriptInit='';
// list of Javascript files to add to the page <head>
if (!isset($HeadFilesJS))
    
$HeadFilesJS=array    (    '/shared/scripts/jquery-1.7.1.min.js',
                            
'/shared/scripts/scripts.js',
                            
'/shared/scripts/swfobject.js',
                            
'/shared/scripts/jquery.main.js',
                        );
if (!isset(
$HeadJS))    // inline Javascript to insert in page <head> after files
    
$HeadJS='';    // don't do it! - put it in a .js file!
// list of Javascript files to add after the page contents before closing <body>
if (!isset($TrailerFilesJS))
    
$TrailerFilesJS=array();
if (!isset(
$TrailerJS))    // inline Javascript to insert after trailing files
    
$TrailerJS='';    // don't do it! - put it in a .js file! (at least for production)

if (!isset($FnMenuCSS))    // function to insert menu-related CSS into <head>
    
$FnMenuCSS='DefaultPageFrameMenuCSS';
if (!isset(
$FnMenuJS))    // function to insert menu-related Javascript into <head>
    
$FnMenuJS='DefaultPageFrameMenuJS';
if (!isset(
$FnMenuDraw))    // function to insert menu at top of <body>
    
$FnMenuDraw='DefaultPageFrameMenuDraw';

if (!isset(
$ShowSectionH1))    // TRUE==insert $section as <h1> below menu
    
$ShowSectionH1=TRUE;

if (!isset(
$FnPageFooter))    // function to insert footer after page contents
    
$FnPageFooter='';
if (!isset(
$bShowPageFootIcons))    // TRUE==add social media icons to footer
    
$bShowPageFootIcons=FALSE;

//if (!isset($x)) $x='';

/*    end default value initialization for all variables used in this module
 * -----------------------------------------------------------------------------
 */

/**
* routine for writing a default page footer
*
* @global boolean $bShowIcons, TRUE==add social media icons, default=FALSE
*/
function DefaultPageFrameFooter()
{ include 
$_SERVER['DOCUMENT_ROOT'].'/shared/content/footer.php';
}

function 
NewsroomPageFrameFooter()
{ global 
$pagetitle$bShowPageFootIcons;
$bShowPageFootIcons=TRUE// FALSE = remove social icons from footer ?>
<div class="footer">
    <div class="breadcrumbs">
        <!-- breadcrumbs -->
        <a href="http://mitsloan.mit.edu/">MIT Sloan</a> &gt;
        <a href="/newsroom/index.php">Newsroom</a> &gt;
        <a href="/newsroom/articles.php">Articles</a> &gt;
        <strong><?php echo $pagetitle?></strong>
        <!-- /breadcrumbs -->
    </div> <?php
    
include $_SERVER["DOCUMENT_ROOT"] . '/shared/content/footer.php' ?>
</div>
</div>    <!-- page_footer -->
<?php
}

/**
* default routine for setting up the page menu's CSS
*
* Actions:
*    insert moth-style.css
*    insert conditional CSS for InternetExploiter quirks
*    insert inner menu CSS
*/
function DefaultPageFrameMenuCSS()
?>
    <link href="/shared/css/moth-style.css" type="text/css" rel="stylesheet" />
    <!--[if lte IE 7]> <style type="text/css">#sfmenu li ul { top:40px; }</style> <![endif]-->
    <!--[if lte IE 6]>
    <style type="text/css">
        #sfmenu li ul li {
            background-color: white;
            background-image: none;
        }
        #sfmenu ul li.top {
            margin-left:4px;
            background-image:none;
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/dropmenu_top.png');
        }
        #sfmenu ul li.bot {
            background-image:none;
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/dropmenu_bottom.png');
            margin-left: 4px;
        }
        #sfmenu li ul li {
            padding-left:0px;
            padding-right:0px;
            margin-left: 8px;
        }
    </style>
    <![endif]-->
    <link href="/style-inner-menus.css" type="text/css" rel="stylesheet" />
<?php if ($GLOBALS['level0'] == 'newsroom')
        { 
?>
        <link href="/newsroom/css/update.css" type="text/css" rel="stylesheet" media="screen" />
<?php     }
}

/**
* default routine for adding the banner menu to the page
*
* Actions:
*    load the menu XML file
*    insert the logo image
*    insert the menu
*    insert the Google search widget
*    if not on an https: page, insert Google's search widget Javascript link
*/
function DefaultPageFrameMenuDraw()
{    
$xml=new DomDocument();
    
$xml->load($_SERVER['DOCUMENT_ROOT'].'/shared/inc/nav.xml');
    
$xsl=new DOMDocument();
    
$xsl->load($_SERVER['DOCUMENT_ROOT'].'/shared/inc/nav.xsl');
    
$xslt=new XSLTProcessor();
    
$xslt->importStylesheet($xsl?>
<div id="menu_wrapper">
    <div id="logo">
        <a href="/"><img src="/images/logo_mit-sloan.jpg" alt="MIT Sloan" /></a>
    </div>
    <ul id="sfmenu">
<?php echo $xslt->transformToXML($xml?>
    </ul>
    <div id="search">
        <div id="cse">
            <!-- Google CSE Search Box Begins  -->
            <form id="our_search_box" method="post" action="http://<?php
    
echo $_SERVER['HTTP_HOST']?>/search.php">
                <p>
                      <input type="hidden" name="cx" value="*********************************" />
                      <input type="hidden" name="cof" value="********" />
                      <input type="text" name="q" size="14" />
                      <input id="submit" type="submit" value="" tabindex="9" />
                </p>
            </form>
        </div>
<?php if ($_SERVER['SERVER_PORT']==80)    // not an https: page
    
?>
        <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=our_search_box&amp;lang=en"></script>
<?php
    
}
    
/*    commented out in /include/header.php ?>
        <div id="rss">
            <a href="/newsroom/feed.php"><img src="/images/icon_rss_big.png" alt="Site RSS Feeds" /></a>
            <a href="/newsroom/feed.php">Site RSS Feeds</a>
        </div>
    */ 
?>
    </div><!-- END search -->
<?php /*    commented out in /include/header.php
    <div id="menu_cap_left"><img src="/images/nav_stretched-cap.png" alt="" /></div>
    <div id="menu_cap_right"><img src="/images/nav_stretched-cap.png" alt="" width="20" /></div>
*/ 
?>
</div> <!-- END menu wrapper -->
<?php
}

/**
* default routine for setting up the page menu's Javascript
*
* Actions:
*    insert moth/menu.js
*/
function DefaultPageFrameMenuJS()
?>
    <script src="/shared/scripts/moth/menu.js" type="text/javascript"></script>
<?php
}

/**
* writes the HTML code needed to establish a properly constructed XHTML document
*
* Actions:
*    insert the XHTML page prolog
*    insert the page <head>
*        write code copyright as an HTML comment
*        insert <meta http-equiv> tags
*        insert <meta name> tags
*        insert <title>
*        insert listed CSS files
*        call $FnMenuCSS() to insert menu CSS (if defined)
*        insert conditional InternetExploiter fixup CSS
*        insert Javascript initialization
*        insert listed Javascript files
*        call $FnMenuJS() to insert menu Javascript (if defined)
*        insert inline Javascript (if any)
*        on production, insert Optimizely tag or "no Optimizely" comment
*        call WordPress hook (if needed)
*    open the <body>
*        add id if set
*        add class attribute if set
*        add print call if "print=1" is in active URL
*    call $FnMenuDraw() to draw the menu (if defined)
*    write the page title <h1> (optional)
*
* these variables set up the header and navigation:
* @global string $head_color, default='#333366'
* @global string $section, default='MIT Sloan School of Management'
* @global string $level0, default=none
* @global string $level1, default=none
* @global string $level2, default=none
* @global string $pagetitle, default=__FILE__.' needs to have a title defined!!'
*
* @global string $MetaTitle, <title> tag contents for the <head> of the page,
*     default=$pagetitle.' - '.$section;
*
* @global string $pageID, HTML id attribute for <body> tag, default=none
* @global string $bodyClass, rulesets for <body> class attribute, default=none
*
* <meta> tag data:
* @global string $PageAuthor, default=none
* @global string $PageCreated, default=none
* @global string $PageDescrip, default=none
* @global string $PageKeywords, default=none
* @global string $PageReplyTo, default='webmaster@sloan.mit.edu'
*
* @global boolean $PageNoCache, TRUE==add cache prohibit metatags, default=FALSE
*
* @global string $GoogleSiteCode, for <meta name="google-site-verification">
*
* @global array $FilesCSS, list of CSS files for the page, inserted in order
*    If a CSS file is media-specific, append a pipe character and the media name
*    after the filespec, e.g., '/shared/css/print.css|print'
*    default=array    (    '/shared/css/print.css|print',
*                        '/shared/css/sitestyle.css|screen',
*                        '/'.$level0.'/css/sitecolor.css|screen',
*                        '/'.$level0.'/css/site.css|screen',
*                        '/shared/css/style-inner.css|screen',
*                    );
*    N.B. - the $level0 files are only inserted if they exist when using default
*            initialization of $FilesCSS.
* @global string $HeadCSS, inline CSS to insert in page <head> after files
*    N.B. - don't do it! - put it in a .css file! (at least for production)
*
* @global mixed $JavascriptInit, Javascript pre-file init code, default=none
*    If $JavascriptInit is an array, each array entry is inserted as a separate
*    line in the emitted page; otherwise, it is inserted as a string.
* @global array $HeadFilesJS, list of Javascript files to add to <head>
*    default=array    (    '/shared/scripts/jquery-1.7.1.min.js',
*                        '/shared/scripts/scripts.js',
*                        '/shared/scripts/swfobject.js',
*                        '/shared/scripts/jquery.main.js',
*                    );
* @global string $HeadJS, inline Javascript to insert in page <head> after files
*    N.B. - don't do it! - put it in a .js file! (at least for production)
*
* @global string $FnMenuCSS, function to insert menu-related CSS into <head>
*    default='DefaultPageFrameMenuCSS'
* @global string $FnMenuJS, function to insert menu Javascript into <head>
*    default='DefaultPageFrameMenuJS'
* @global string $FnMenuDraw, function to insert menu at top of <body>
*    default='DefaultPageFrameMenuDraw'
*
* @global boolean $ShowSectionH1, TRUE==insert $section as <h1> below menu,
*    default=TRUE;
*/
function globalPageHeader()
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head<?php if ($GLOBALS['section'] == 'Newsroom') echo ' prefix="og: http://ogp.me/ns#"'?>>
<!-- This page and its contents are
  -  Copyright &copy; <?php echo CopyrightYears ?> by MIT Sloan School of Management.
  -  All rights reserved. -->
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="content-language" content="English" />
    <meta http-equiv="content-style-type" content="text/css" />
    <meta http-equiv="imagetoolbar" content="no" />
    <meta http-equiv="Lang" content="en" />
<?php if ($GLOBALS['PageReplyTo'])
    { 
?>
    <meta http-equiv="Reply-to" content="<?php echo $GLOBALS['PageReplyTo'?>" />
<?php
    
}
    if (
$GLOBALS['PageNoCache'])
    { 
?>
    <meta http-equiv="Expires" content="-1" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Cache-Control" content="no-cache" />
<?php
    
}
    if (
$GLOBALS['PageAuthor'])
    { 
?>
    <meta name="author" content="<?php echo $GLOBALS['PageAuthor'?>" />
<?php
    
}
    if (
$GLOBALS['PageCreated'])
    { 
?>
    <meta name="creation-date" content="<?php echo $GLOBALS['PageCreated'?>" />
<?php
    
?>
    <meta name="resource-type" content="document" />
    <meta name="rating" content="General" />
    <meta name="distribution" content="Global" />
    <meta name="MSSmartTagsPreventParsing" content="true" />
    <meta name="robots" content="all" />
    <meta name="revisit-after" content="7 days" />
<?php if ($GLOBALS['PageKeywords'])
    { 
?>
    <meta name="keywords" content="<?php echo $GLOBALS['PageKeywords'?>" />
<?php
    
}
    if (
$GLOBALS['PageDescrip'])
    { 
?>
    <meta name="description" content="<?php echo $GLOBALS['PageDescrip'?>" />
<?php
    
}
    if (
$GLOBALS['GoogleSiteCode'])
    { 
?>
    <meta name="google-site-verification" content="<?php
        
echo $GLOBALS['GoogleSiteCode'?>" />
<?php
    
?>
    <title><?php echo $GLOBALS['MetaTitle'?></title>
<?php 
//* add Open Graph meta tags to Newsroom articles*/ 
if ($GLOBALS['section'] == 'Newsroom')
{    
$ogurl 'http://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; ?>
    <meta property="og:url" content="<?php echo $ogurl?>" />
    <meta property="og:type" content="article" />
<?php     
    
if ($GLOBALS['pagetitle'] != '')
    { 
?>
    <meta property="og:title" content="<?php echo $GLOBALS['pagetitle']; ?>" />
    <meta property="og:site_name" content="MIT Sloan School of Management" />
<?php
    
/*?><meta property="og:image" content="http://mitsloan.mit.edu/newsroom/images/gregersen-test-610.jpg" /><?php*/
    
if ($GLOBALS['horiz_image'][0] != '')// if there is at least one horizontal image...
    
{    foreach ($GLOBALS['horiz_image'] as $oghorizimage)// ...create a meta tag for each one 
        
?>
    <meta property="og:image" content="http://mitsloan.mit.edu/newsroom/images/<?php echo $oghorizimage?>" />
<?php    }
    }
    if (
$GLOBALS['vert_image'][0] != '')// if there is at least one vertical image...
    
{    foreach ($GLOBALS['vert_image'] as $ogvertimage)// ...create a meta tag for each one 
        
?>
    <meta property="og:image" content="http://mitsloan.mit.edu/newsroom/images/<?php echo $ogvertimage?>" />
<?php    }
    }
    if (
$GLOBALS['PageDescrip'])
    {    
$ogdescrip $GLOBALS['PageDescrip']; ?>
    <meta property="og:description" content="<?php echo $ogdescrip?>" />
<?php    
    
}
/* end Open Graph meta tags */
    
    
$now='?'.time();
    if (
$GLOBALS['FilesCSS'] && is_array($GLOBALS['FilesCSS']))
    {    foreach (
$GLOBALS['FilesCSS'] as $file)
        {    
$f=explode('|',$file?>
    <link href="<?php echo $f[0].$now ?>" type="text/css" rel="stylesheet"<?php
            
if (!empty($f[1])) echo ' media="'.$f[1].'"' ?> />
<?php    }
    }
    if (
$GLOBALS['FnMenuCSS'] && function_exists($GLOBALS['FnMenuCSS']))
        
$GLOBALS['FnMenuCSS']() ?>
    <!--[if IE]>
        <link href="/shared/css/ie.css?<?php
    
echo $now ?>" rel="stylesheet" type="text/css" media="screen" />
        <link href="/academic/css/ielocal.css?<?php
    
echo $now ?>" rel="stylesheet" type="text/css" media="screen" />
    <![endif]-->
    <!--[if IE 5.0]>
        <link href="/shared/css/ie5.css?<?php
    
echo $now ?>" rel="stylesheet" type="text/css" media="screen" />
    <![endif]-->
    <!--[if IE 5.5000]>
        <link href="/shared/css/ie5.5.css?<?php
    
echo $now ?>" rel="stylesheet" type="text/css" media="screen" />
    <![endif]-->
    <!--[if lt IE 6]>
        <link href="/shared/css/ie6.css?<?php
    
echo $now ?>" rel="stylesheet" type="text/css" media="screen" />
    <![endif]-->
<?php
    
if ($GLOBALS['FnPageFooter']
    &&    
$GLOBALS['FnPageFooter']=='DefaultPageFrameFooter')
    { 
?>
    <link href="/shared/css/PageFrame-footer.css<?php
        
echo $now ?>" type="text/css" rel="stylesheet" />
<?php
    
}
    if (
$GLOBALS['HeadCSS']) echo $GLOBALS['HeadCSS']."\n";
    if (
$GLOBALS['JavascriptInit'])
    { 
?>
    <script type="text/javascript">
    // <![CDATA[
        // initialize control variables for the Javascript include file
<?php    if (is_array($GLOBALS['JavascriptInit']))
            foreach (
$GLOBALS['JavascriptInit'] as $line)
                echo 
"\t\t\t".$line."\n";
        else echo 
$GLOBALS['JavascriptInit']."\n" ?>
    // ]]>
    </script>
<?php
    
}
    if (
$GLOBALS['HeadFilesJS'] && is_array($GLOBALS['HeadFilesJS']))
        foreach (
$GLOBALS['HeadFilesJS'] as $file)
        { 
?>
    <script src="<?php echo $file ?>" type="text/javascript"></script>
<?php    }
    if (
$GLOBALS['FnMenuJS'] && function_exists($GLOBALS['FnMenuJS']))
        
$GLOBALS['FnMenuJS']();
    if (
$GLOBALS['HeadJS']) echo $GLOBALS['HeadJS']."\n";
    if (
ON_PRODUCTION)    // on production server
    
?>
    <script type="text/javascript" src="/shared/scripts/MIT_Sloan_gatc.js"></script>
<?php    // add Optimizely tag to all Fellows production site pages; do nothing on staging servers
        
if (isset($GLOBALS['level0']) && $GLOBALS['level0']=="fellows")
        { 
?>
    <script src="//cdn.optimizely.com/js/125566894.js" type="text/javascript"></script>
<?php    }
        else    
// add annotation to non-Fellows production pages
        
?>
    <!-- Optimizely is not implemented on this page  -->
<?php    }
    }
    
// WordPress action hook adds Admin Toolbar to top of blog index page and other WP funtionality
    
if (function_exists('wp_head')) wp_head() ?>
</head>
<body<?php
        
if ($GLOBALS['pageID']) echo ' id="'.$GLOBALS['pageID'].'"';
        
$bodyClass2 = ($GLOBALS['level1'] == 'articles') ? ' facelift'''// Workaround to add 'facelift' class if level 1 is an article
        
if ($GLOBALS['bodyClass']) echo ' class="'.$GLOBALS['bodyClass'].$bodyClass2.'"';
        if (
function_exists('body_class')) body_class();
        if (!empty(
$_GET['print']) && $_GET['print']=="1")
            echo 
' onload="printpage()"' ?>>
<?php
    
if ($GLOBALS['FnMenuDraw'] && function_exists($GLOBALS['FnMenuDraw']))
        
$GLOBALS['FnMenuDraw']();
    if (
$GLOBALS['ShowSectionH1'])
    { 
?>
<div id="header">
    <?php  $facelift strpos($GLOBALS['bodyClass'],'facelift'); ?> 
    <h1 class="<?php echo $GLOBALS['level0'?>"><a href="/<?php echo ($GLOBALS['level1'] == 'msms')? 'academic/msms/' $GLOBALS['level0']; ?>/" style="color:<?php echo ($facelift) || ($bodyClass2 == ' facelift')? '#970033' $GLOBALS['head_color']; ?>" class="header-link"><?php echo $GLOBALS['section']; ?></a></h1>
</div>
<hr id="hrheader" />
<?php
    
}
}

/**
* writes the HTML code needed to close a properly constructed XHTML document
*
* Actions:
*    call $FnPageFooter() to insert the footer (if defined)
*    insert listed page-end Javascript files
*    insert inline page-end Javascript (if any)
*    insert LastModified as an HTML comment (if defined)
*    close <body>, <html>
*
* @global string $FnPageFooter, inserts footer after contents, default=none
* @global array $TrailerFilesJS, Javascript files after contents before </body>,
*     default=none
* @global string $TrailerJS, inline Javascript to insert after trailing files
*    N.B. - don't do it! - put it in a .js file! (at least for production)
*/
function globalPageTrailer()
{    if (
$GLOBALS['FnPageFooter'] && function_exists($GLOBALS['FnPageFooter']))
        
$GLOBALS['FnPageFooter']();
    if (
$GLOBALS['TrailerFilesJS'] && is_array($GLOBALS['TrailerFilesJS']))
        foreach (
$GLOBALS['TrailerFilesJS'] as $file)
        { 
?>
<script src="<?php echo $file ?>" type="text/javascript"></script>
<?php    }
    if (
$GLOBALS['TrailerJS']) echo $GLOBALS['TrailerJS']."\n";
    if (
defined('LastModified'))
    {     echo 
'<!-- '.LastModified." -->\n";
    } 
?>
</body>
</html>
<?php
}
//
// EOF: PageFrame.php