/*  Copyright Brent Brehm 2007  TASC
 * ---------------------------------------------------------------------------
 *
 * The Header/Footer
 *
 */

/**
 *  This function "patches" an input field (or other element) to use a calendar
 *  widget for date selection.
 *
 *  The "params" is a single object that can have the following properties:
 *
 *    prop. name   | description
 *  -------------------------------------------------------------------------------------------------
 *   inputField    | the ID of an input field to store the date
 *   displayArea   | the ID of a DIV or other element to show the date
 *   button        | ID of a button or other element that will trigger the calendar
 *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
 *   ifFormat      | date format that will be stored in the input field
 *   daFormat      | the date format that will be used to display the date in displayArea
 *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
 *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
 *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
 *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
 *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
 *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
 *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
 *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
 *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
 *   onClose       | function that gets called when the calendar is closed.  [default]
 *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
 *   date          | the date that the calendar will be initially displayed to
 *   showsTime     | default: false; if true the calendar will include a time selector
 *   timeFormat    | the time format; can be "12" or "24", default is "12"
 *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
 *   step          | configures the step of the years in drop-down boxes; default: 2
 *   position      | configures the calendar absolute position; default: null
 *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
 *   showOthers    | if "true" (but default: "false") it will show days from other months too
 *
 *  None of them is required, they all have default values.  However, if you
 *  pass none of "inputField", "displayArea" or "button" you'll get a warning
 *  saying "nothing to setup".
 */
 
Header = function (params) {
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
	param_default("outputLocation", "nav");
	param_default("selectedTab",    "home");
    param_default("tablAnchor", 	"index.html");
	param_default("tab2Anchor", 	"about_us.html");
	param_default("tab3Anchor", 	"clients.html");
	param_default("tab4Anchor", 	"partners.html");
	param_default("tab5Anchor", 	"staff.html");
	param_default("tab6Anchor", 	"links.html");
	param_default("tab7Anchor", 	"research.html");
    param_default("tablAltText", 	"Home");
	param_default("tab2AltText", 	"About Us");
	param_default("tab3AltText", 	"Clients");
	param_default("tab4AltText", 	"Partners");
	param_default("tab5AltText", 	"Staff");
	param_default("tab6AltText", 	"Links");
	param_default("tab7AltText", 	"Research");
    param_default("tablImage", 		"home_off.jpg");
	param_default("tab2Image", 		"about_us_off.jpg");
	param_default("tab3Image", 		"clients_off.jpg");
	param_default("tab4Image", 		"partners_off.jpg");
	param_default("tab5Image", 		"staff_off.jpg");
	param_default("tab6Image", 		"links_off.jpg");
	param_default("tab7Image", 		"research_off.jpg");
	param_default("pageTitle",  	"TASC");

	headerHTML = "<a href=\"" + params.tablAnchor + "\"><img src=\"images/" + params.tablImage + "\" width=\"77\" height=\"41\" alt=\"" + params.tablAltText + "\"></a>" +
				"<a href=\"" + params.tab2Anchor + "\"><img src=\"images/" + params.tab2Image + "\" width=\"66\" height=\"41\" alt=\"" + params.tab2AltText + "\"></a>" +
				"<a href=\"" + params.tab3Anchor + "\"><img src=\"images/" + params.tab3Image + "\" width=\"66\" height=\"41\" alt=\"" + params.tab3AltText + "\"></a>" +
				"<a href=\"" + params.tab4Anchor + "\"><img src=\"images/" + params.tab4Image + "\" width=\"66\" height=\"41\" alt=\"" + params.tab4AltText + "\"></a>" +
				"<a href=\"" + params.tab5Anchor + "\"><img src=\"images/" + params.tab5Image + "\" width=\"66\" height=\"41\" alt=\"" + params.tab5AltText + "\"></a>" +
				"<a href=\"" + params.tab6Anchor + "\"><img src=\"images/" + params.tab6Image + "\" width=\"66\" height=\"41\" alt=\"" + params.tab6AltText + "\"></a>" +
				"<a href=\"" + params.tab7Anchor + "\"><img src=\"images/" + params.tab7Image + "\" width=\"77\" height=\"41\" alt=\"" + params.tab7AltText + "\"></a>";

	document.title = params.pageTitle;
	
	if (document.getElementById(params.outputLocation) != null) {
		document.getElementById(params.outputLocation).innerHTML = headerHTML;
	} else {
		alert("Header Not Found");
	}
};

Footer = function (params) {
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
	param_default("outputLocation", "footer");
	param_default("line1",    "<p>Lucas County TASC, Inc. 701 Jefferson Ave. Suite 101</p>");
	param_default("line2",    "<p>Toledo, Ohio 43604</p>");
	param_default("line3",    "<p>Phone (419) 242-9955 / Fax (419) 242-8855</p>");
	param_default("line4",    "<p>Copyright 2007 All rights reserved</p>");

	if (document.getElementById(params.outputLocation) != null) {
		document.getElementById(params.outputLocation).innerHTML = params.line1 + params.line2 + params.line3 + params.line4;
	} else {
		alert("Footer Not Found");
	}
};

Header.Title = function (params) {
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };
	param_default("outputLocation", "header-title");
	param_default("line1",    "<p>Lucas County TASC, Inc.</p>");
	param_default("line2",    "<p>Bringing Together</p>");
	param_default("line3",    "<p>Treatment Providers</p>");
	param_default("line4",    "<p>Community Services</p>");
	param_default("line5",    "<p>Justice Agencies</p>");

	if (document.getElementById(params.outputLocation) != null) {
		document.getElementById(params.outputLocation).innerHTML = params.line1 + params.line2 + params.line3 + params.line4 + params.line5;
	} else {
		alert("Header Title Not Found");
	}
};
