proc document_header {title path {search {}}} {
set ret [subst -nocommands {
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link href="${path}sqlite.css" rel="stylesheet">
<title>$title</title>
</head>
}]
if {[file exists DRAFT]} {
set tagline {<font size="6" color="red">*** DRAFT ***</font>}
} else {
set tagline {Small. Fast. Reliable.<br>Choose any three.}
}
append ret [subst -nocommands {<body>
<div class=nosearch>
<img class="logo" src="${path}images/sqlite370_banner.gif" alt="SQLite" border="0">
<div><!-- IE hack to prevent disappearing logo --></div>
<div class="tagline desktoponly">
$tagline
</div>
</div>
<div class="menu mainmenu">
<ul>
<li><a href="${path}index.html">Home</a>
<li class='mobileonly'><a href="javascript:void(0)" onclick='toggle_div("submenu")'>
Menu</a>
<li class='wideonly'><a href='${path}about.html'>About</a>
<li class='desktoponly'><a href="${path}docs.html">Documentation</a>
<li class='desktoponly'><a href="${path}download.html">Download</a>
<li class='wideonly'><a href='${path}copyright.html'>License</a>
<li class='desktoponly'><a href="${path}support.html">Support</a>
<li class='desktoponly'><a href="${path}prosupport.html">Purchase</a>
<li class='search' id='search_menubutton'>
<a href="javascript:void(0)" onclick='toggle_div("searchmenu")'>Search</a>
</ul>
</div>
<div class="menu submenu" id="submenu">
<ul>
<li><a href='${path}docs.html'>Documentation</a>
<li><a href='${path}support.html'>Support</a>
<li><a href='${path}prosupport.html'>Purchase</a>
</ul>
</div>
<div class="searchmenu" id="searchmenu">
<form method="GET" action="search">
<span class="desktoponly">Search for:</span> <input type="text" name="q">
<input type="submit" value="Go">
</form>
</div>
}]
append ret [subst -nocommands {
<script>
function toggle_div(nm) {
var w = document.getElementById(nm);
if( w.style.display=="block" ){
w.style.display = "none";
}else{
w.style.display = "block";
}
}
function div_off(nm){document.getElementById(nm).style.display="none";}
window.onbeforeunload = function(e){div_off("submenu");}
/* Disable the Search feature if we are not operating from CGI, since */
/* Search is accomplished using CGI and will not work without it. */
if( !location.origin.match(/http/) ){
document.getElementById("search_menubutton").style.display = "none";
}
/* Set the cookie named "name" to value "value". Expires in "days" days. */
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}else{
var expires = "";
}
document.cookie = name+"="+value+expires+"; path=/";
}
/*
** Return the value of cookie "name".
*/
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ)==0) return c.substring(nameEQ.length,c.length);
}
return null;
}
/*
** Delete cookie "name".
*/
function eraseCookie(name) {
createCookie(name,"",-1);
}
function hideorshow(btn,obj){
var x = document.getElementById(obj);
var b = document.getElementById(btn);
if( x.style.display!='none' ){
x.style.display = 'none';
b.innerHTML='show';
}else{
x.style.display = '';
b.innerHTML='hide';
}
return false;
}
</script>
</div>
}]
regsub -all {\n+\s+} [string trim $ret] \n ret
regsub -all {\s*/\*[- a-z0-9A-Z"*\n]+\*/} $ret {} ret
return $ret
}