//************************************************
// KorscientGeneric.js                           *
//                                               *
// Copyright 2002: Korscient Ltd                 *
// Web Address: http://www.korscient.com         *
//                                               *
// Generic Javascript used throughout the        *
// Korscient and Standard Platform web site      *
//***********************************************/


// Global Stuff used to manage tooltips
var docObj="document.all.";
var styleObj = ".style";

var IE4 = (document.all && !document.getElementById) ? true : false;
var NS4 = (document.layers) ? true : false;
var IE5 = (document.all && document.getElementById) ? true : false;
var NS6 = (document.getElementById && !document.all) ? true : false;
var IE6;

// Code Starts Here

function kinit()
{
	if (NS4) {
		docObj = "document.layers.";
		styleObj ="";

		document.captureEvents(Event.ONMOUSEOVER | Event.ONMOUSEOUT);

		// Run this bit of code to try to fix the bug where Netscape 4 loses
		// CSS information on a window resize event
		WM_netscapeCssFixCheckIn();

	}

	return;

} // end kinit


function kchoose_css(stem) {
	// by default - use the naff - pre-DOM one
	var output_text = "<LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"";
	var output_file = "NonDom.css";
	if ( browser.version >= 6 )
		if ( browser.isIE )
			output_file="SCIE.css";
		else
			output_file="SCNN.css";
	else if (IE5)
		output_file="IE5.css";

	document.write(output_text + stem + output_file + "\">");

	return;

} // end kchoose_css


function ktooltip(evt, target, possibleTargets)
{
	var tooltip;

	if ((NS6 || NS4 || IE5|| IE4)) {
		if ( evt.x < 0 && evt.y < 0 ) {
			// If the user presses a button and then moves away from the map zone
			// You get a spurious event. In this case hide all the windows
			
			for ( var i = 0; i < possibleTargets.length; i++ ) {

				if (NS6 || IE5) {
					tooltip = document.getElementById(possibleTargets[i]).style;
				} else {
					tooltip = eval(docObj+possibleTargets[i]+styleObj);
				}

				tooltip.visibility = "hidden";
			}
		} else {
			if (NS6 || IE5) {
				tooltip = document.getElementById(target).style;
			} else {
				tooltip = eval(docObj+target+styleObj);
			}

			if (tooltip.visibility == "visible" || tooltip.visibility == "show" ) {
				tooltip.visibility = "hidden";
			} else {
				if (IE4 || IE5) {
					requiredTop = evt.y + document.body.scrollTop + 2;
					requiredLeft = Math.max(2, evt.x + document.body.scrollLeft - 150);
					tooltip.border="1 solid";
				} else {
					if (NS4 || NS6) {
						requiredTop = parseInt(evt.pageY)+2;
						requiredLeft = Math.max(2, parseInt(evt.pageX)-150);

						if (NS6) {
							tooltip.border="1px solid";
						}
					}
				}
				tooltip.top = requiredTop;
				tooltip.left = requiredLeft;
				tooltip.visibility = "visible";
			}

			window.status="";
		}
	}

	return true;

} // end ktooltip


// Writes out the HTML for the mani menu bar - this is kept separate from the sub menus
// because we need them written out in different places in the HTML page
function kMenuBar(label) {
	if (browser.version >= 5.5)
	{
		document.writeln("<div class=\"menuBar" + label + "\">");
		document.writeln("<a class=\"menuButton\" href=\"default.htm\">Home</a>");
		document.writeln("<a class=\"menuButton\"");
		document.writeln("href=\"\"");
		document.writeln("onclick=\"return buttonClick(event, \'PSMenu\');\"");
		document.writeln("onmouseover=\"buttonMouseover(event, \'PSMenu\');\">Product&nbsp;Set</a>");
		document.writeln("<a class=\"menuButton\"");
		document.writeln("href=\"\"");
		document.writeln("onclick=\"return buttonClick(event, \'MaintMenu\');\"");
		document.writeln("onmouseover=\"buttonMouseover(event, \'MaintMenu\');\">SME&nbsp;Product</a>");
		document.writeln("<a class=\"menuButton\"");
		document.writeln("href=\"\"");
		document.writeln("onclick=\"return buttonClick(event, \'AUMenu\');\"");
		document.writeln("onmouseover=\"buttonMouseover(event, \'AUMenu\');\">About&nbsp;Us</a>");
		document.writeln("</div>");
	} else {
		document.writeln("<a class=\"menuButton\" href=\"default.htm\">Home</a>&nbsp;&nbsp;&nbsp;");
		document.writeln("<a class=\"menuButton\" href=\"PS_Overview.htm\">Product&nbsp;Set</a>&nbsp;&nbsp;&nbsp;");
		document.writeln("<a class=\"menuButton\" href=\"SME_Overview.htm\">SME&nbsp;Product</a>&nbsp;&nbsp;&nbsp;");
		document.writeln("<a class=\"menuButton\" href=\"About_Us_Overview.htm\">About&nbsp;Us</a>");
	}

	return;
} // end kMenuBar

function kMenuSubPages() {

if (browser.version >= 5.5 )
{

	// <!-- Main Menus -->

	document.writeln("<div id=\"PSMenu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"PS_Overview.htm\">Overview</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"PS_SME.htm\">SME Service Product</a>");
	document.writeln("<a class=\"menuItem\" href=\"PS_Subscription.htm\">Subscription Service Product</a>");
	document.writeln("<a class=\"menuItem\" href=\"PS_Licence.htm\">Licences</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"PS_Build.htm\">Build Technology</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"javascript:kGotoPresentation();\">Presentation</a>");
	document.writeln("</div>");

	document.writeln("<div id=\"MaintMenu\" class=\"menu\"");
	document.writeln("onmouseover=\"menuMouseover(event)\">");
	document.writeln("<a class=\"menuItem\" href=\"\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, \'MSFMenu\');\"><span class=\"menuItemText\">Feature Summary</span><span class=\"menuItemArrow\">&#9654;</span></a>");
	document.writeln("<a class=\"menuItem\" href=\"\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, \'MPDMenu\');\"><span class=\"menuItemText\">Product Details</span><span class=\"menuItemArrow\">&#9654;</span></a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, \'WPMenu\');\"><span class=\"menuItemText\">White Papers</span><span class=\"menuItemArrow\">&#9654;</span></a>");
	document.writeln("</div>");

	document.writeln("<div id=\"AUMenu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"About_Us_Overview.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"About_Us_People.htm\">People</a>");
	document.writeln("<a class=\"menuItem\" href=\"Contact_Us.htm\">Contact Us</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"http://www.korscient.com\">Consulting</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"PrivacyPolicy.htm\">Privacy Policy</a>");
	document.writeln("<a class=\"menuItem\" href=\"Disclaimer.htm\">Disclaimer</a>");
	document.writeln("</div>");

	// <!-- Sub Menus -->

	document.writeln("<div id=\"MSFMenu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"mep_default.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Resilience.htm\">Resilience</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Ruthless.htm\">Ruthless Standardisation</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_XP.htm\">Windows Technology</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Active.htm\">Active Maintenance</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Build.htm\">Build Technology</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Home.htm\">Remote / Home Working</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Enterprise.htm\">Enterprise Reliability & Costs</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Wireless.htm\">Free Seating / Wireless Flexibility</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_StablePlatform.htm\">Professionally Supported Stable Platform</a>");
	document.writeln("<a class=\"menuItem\" href=\"mep_Insourcing.htm\">In-Sourcing</a>");
	document.writeln("</div>");

	document.writeln("<div id=\"MPDMenu\" class=\"menu\">");
	
	document.writeln("<a class=\"menuItem\" href=\"Product_Overview.htm\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, 'PD_Overview_Menu');\">");
	document.writeln("<span class=\"menuItemText\">Product Description</span><span class=\"menuItemArrow\">&#9654;</span></a>");

	document.writeln("<a class=\"menuItem\" href=\"Technology_Overview.htm\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, 'PD_Technology_Menu');\">");
	document.writeln("<span class=\"menuItemText\">Technology Description</span><span class=\"menuItemArrow\">&#9654;</span></a>");

	document.writeln("<a class=\"menuItem\" href=\"Process_Overview.htm\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, 'PD_Processes_Menu');\">");
	document.writeln("<span class=\"menuItemText\">Process</span><span class=\"menuItemArrow\">&#9654;</span></a>");

	document.writeln("<a class=\"menuItem\" href=\"Support_Overview.htm\"");
	document.writeln("onclick=\"return false;\"");
	document.writeln("onmouseover=\"menuItemMouseover(event, 'PD_Support_Menu');\">");
	document.writeln("<span class=\"menuItemText\">Support</span><span class=\"menuItemArrow\">&#9654;</span></a>");

	document.writeln("</div>");

	document.writeln("<div id=\"WPMenu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"Whitepapers_Overview.htm\">Overview</a>");
	document.writeln("<div class=\"menuItemSep\"></div>");
	document.writeln("<a class=\"menuItem\" href=\"WP_Company.htm\">Company</a>");
	document.writeln("<a class=\"menuItem\" href=\"WP_Marketing.htm\">Marketing</a>");
	document.writeln("<a class=\"menuItem\" href=\"WP_Technology.htm\">Technology</a>");
	document.writeln("</div>");

	// Product Details Sub Menus
	
	document.writeln("<div id=\"PD_Overview_Menu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"Product_Overview.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"Product_Target.htm\">Target Audience</a>");
	document.writeln("<a class=\"menuItem\" href=\"Product_Benefits.htm\">Benefits</a>");
	document.writeln("<a class=\"menuItem\" href=\"Product_VAS.htm\">Value Added Services</a>");
	document.writeln("<a class=\"menuItem\" href=\"Product_FAQ.htm\">Frequently Asked Questions</a>");
	document.writeln("<a class=\"menuItem\" href=\"Product_TYSK.htm\">Things to Know</a>");
	document.writeln("</div>");

	document.writeln("<div id=\"PD_Technology_Menu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"Technology_Overview.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"Technology_Resilience.htm\">Resilience</a>");
	document.writeln("<a class=\"menuItem\" href=\"Technology_BuildImage.htm\">Build vs. Image</a>");
	document.writeln("<a class=\"menuItem\" href=\"Technology_Build.htm\">Build Details</a>");
	document.writeln("<a class=\"menuItem\" href=\"Technology_FAQ.htm\">Frequently Asked Questions</a>");
	document.writeln("</div>");

	document.writeln("<div id=\"PD_Processes_Menu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"Process_Overview.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"Process_Installation.htm\">Installation</a>");
	document.writeln("<a class=\"menuItem\" href=\"Process_Maintenance.htm\">Maintenance</a>");
	document.writeln("<a class=\"menuItem\" href=\"Process_Helpdesk.htm\">Helpdesk</a>");
	document.writeln("</div>");

	document.writeln("<div id=\"PD_Support_Menu\" class=\"menu\">");
	document.writeln("<a class=\"menuItem\" href=\"Support_Overview.htm\">Overview</a>");
	document.writeln("<a class=\"menuItem\" href=\"Support_Details.htm\">Maintenance Tasks</a>");
	document.writeln("<a class=\"menuItem\" href=\"Support_User_Enhancements.htm\">User Enhancements</a>");
	document.writeln("<a class=\"menuItem\" href=\"Support_Helpdesk.htm\">Helpdesk</a>");
	document.writeln("<a class=\"menuItem\" href=\"Support_BestPractices.htm\">Best Practices</a>");
	document.writeln("</div>");
}

return;

} // end kMenuSubPages

function kWriteHeader(reference) {
	document.writeln("<TABLE id=\"idHeader\" BORDER=0 CELLSPACING=0 CELLPADDING=0 BACKGROUND=\"Images/KBackground.jpg\" WIDTH=\"100%\"><TR>");
	if (browser.isNS || NS4)
		document.writeln("<TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BACKGROUND=\"Images/tBackground.gif\" WIDTH=\"100%\"><TR>");
	document.writeln("<TD WIDTH=6 rowspan=2>&nbsp;</TD><TD><A HREF=\"http://www.standardplatform.com\" TITLE=\"Goto Standard Platform Home Page\" CLASS=KORSCIENT>Standard&nbsp;Platform</A></TD>");
	document.writeln("<TD WIDTH=72 align=right rowspan=2><A HREF=\"http://www.standardplatform.com\" ><IMG SRC=\"Images/kHoneycomb.gif\" WIDTH=72 BORDER=0 ALT=\"Goto Standard Platform Home Page\"></A></TD>");
	document.writeln("</TR><TR><TD valign=bottom>");
	kMenuBar("");
	document.writeln("</TD></TR></TABLE>");
 	if (browser.isNS || NS4)
		document.writeln("</TD></TR></TABLE>");
	document.writeln("<P class=\"Location\">" + reference + "</P>");
	return;
} // end kWriteHeader

function kWriteFooter() {
	document.writeln("<BR CLEAR=ALL>");
	document.writeln("<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BACKGROUND=\"Images/KBackground.jpg\" WIDTH=\"100%\"><TR>");
	if (browser.isNS  || NS4)
		document.writeln("<TD><TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BACKGROUND=\"Images/tBackground.gif\" WIDTH=\"100%\"><TR>");
	document.writeln("<TD WIDTH=6>&nbsp;</TD><TD>");
	kMenuBar("Bottom");
	document.writeln("</TD><TD align=right>&nbsp;&nbsp;<A HREF=\"Disclaimer.htm\" CLASS=FOOTER>&copy;&nbsp;Korscient&nbsp;Consulting&nbsp;Ltd.&nbsp;2002</A>&nbsp;&nbsp;</TD></TR></TABLE>");
	if (browser.isNS  || NS4)
		document.writeln("</TD></TR></TABLE>");

	kMenuSubPages();

	return;
}

// Used to redirect a page to the presentation page
// Uses Macromedia function call to check for appropriate add in
function kGotoPresentation() {
	var HomePage = "product_overview.htm";
	var PresentationPage = "product_presentation_flash.htm";
	var FlashVersion = "4.0";
	var LoadFlashPage = "product_presentation_no_flash.htm";
	var PresentationHeight = 350;
	var PresentationWidth = 590;

		// Use the Macromedia flash availability code
		MM_FlashDispatchPopup(
			PresentationPage,
			FlashVersion,
			false,				// don't require latest rev. of plug-in
			LoadFlashPage,
			!MM_FlashUserDemurred(),	// don't ask if user has indicated they're not interested once
			LoadFlashPage,
			HomePage,
			false,
			PresentationHeight,
			PresentationWidth
		);

	return;
} // end kGotoPresentation


// Web Monkey Netscape 4 resize fix code

function WM_netscapeCssFix() {
  /*
    Source: Webmonkey Code Library
    (http://www.hotwired.com/webmonkey/javascript/code_library/)

    Author: Taylor
    Author Email: taylor@wired.com
    Author URL: http://www.taylor.org/
    */

  // This part was inspired by Matthew_Baird@wayfarer.com
  // It gets around another unfortunate bug whereby Netscape 
  // fires a resize event when the scrollbars pop up. This 
  // checks to make sure that the window's available size 
  // has actually changed.
  if (document.WM.WM_netscapeCssFix.initWindowWidth != window.innerWidth || document.WM.WM_netscapeCssFix.initWindowHeight != window.innerHeight) {
    document.location = document.location;
  }
  return;
}

function WM_netscapeCssFixCheckIn() {
  // This function checks to make sure the version of Netscape 
  // in use contains the bug; if so, it records the window's 
  // width and height and sets all resize events to be handled 
  // by the WM_netscapeCssFix() function.
  if ((navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) == 4)) {
    if (typeof document.WM == 'undefined'){
      document.WM = new Object;
    }
    if (typeof document.WM.WM_scaleFont == 'undefined') {
      document.WM.WM_netscapeCssFix = new Object;
      document.WM.WM_netscapeCssFix.initWindowWidth = window.innerWidth;
      document.WM.WM_netscapeCssFix.initWindowHeight = window.innerHeight;
    }
    window.onresize = WM_netscapeCssFix;
  }
  return;
}
