/* ---- Font Resize ---- */
/* Resizes the font for the current page */
function fontResize(font_size){
   var body_element = document.getElementsByTagName('body');
   var tools_area = document.getElementById('tools-area');
   body_element = body_element[0];
   switch (font_size) {
      case 'small':
         body_element.style.fontSize = "60%";
         tools_area.style.width = "480px";
         break;
      case 'medium':
         body_element.style.fontSize = "70%";
         tools_area.style.width = "520px";
         break;
      case 'large':
         body_element.style.fontSize = "85%";
         tools_area.style.width = "580px";
         break;
   }

   storeFontSize(font_size);
   adjust_template_containers();
}

function storeFontSize(size) {
   createCookie('stryker_font_size', size, 7);
}

function loadFontSize() {
   fontResize(readCookie('stryker_font_size'));
}

function showSubCat(subcatid) {

   buildsubmenus_horizontal(subcatid);
}

function hideSubCat() {

}

/* ---- Sub-Category Layer ---- */
/*

SuckerTree Horizontal Menu (Sept 14th, 06)
By Dynamic Drive: http://www.dynamicdrive.com/style/
modified: March, 2007

*/
function buildsubmenus_horizontal(subcatid) {
   var subCatIDs = subcatid;
   var ultags=document.getElementById(subCatIDs).getElementsByTagName("ul")
        
   for (var t=0; t<ultags.length; t++) {
      if (ultags[t].parentNode.parentNode.id==subCatIDs) { //if this is a first level submenu
         //dynamically position first level submenus to be height of main menu item   
         ultags[t].style.top=(ultags[t].parentNode.offsetHeight - 0)+"px" 
      } else { //else if this is a sub level menu (ul)
         ultags[t].style.left=ultags[t-1].getElementsByTagName("a")[0].offsetWidth+"px" //position menu to the right of menu item that activated it
      }
    
      ultags[t].parentNode.onmouseover=function(){
         this.getElementsByTagName("ul")[0].style.visibility="visible" 
         this.getElementsByTagName("ul")[0].style.position = 'absolute';
      }

      ultags[t].parentNode.onmouseout=function(){
         this.getElementsByTagName("ul")[0].style.visibility="hidden"
      }
   }
} 


/* ---- Layout ---- */
/**
 * Forces browser to correctly re-render an element
 *
 * fix_height() corrects overflow problems occuring when a child of an element
 * is floating (ie. have their CSS `float` property set to something
 * other than 'none') and end up having a calculated height greater than
 * that of the containing element.
 *
 * Date Created: 2005-02-22
 *
 * @author   Peter-Paul Koch (taken from his site, www.quirksmode.org)
 * @author   Sean McCann (modifications to the original code)
 * @version  1.0
 *
 * @param string element_id   The `id` attribute of the element needing to be resized
 *
 * Changelog
 * - 2005-07-27:  Generalized names used in this function (McCann)
 */
function fix_height(element_id)
{
   var container;
   var y_offset;

   container = document.getElementById(element_id);
   if (container != null) {
      container.style.height = 'auto';

      y_offset = container.offsetHeight;
      container.style.height = y_offset + "px";
   }

   return true;
}


/**
 * Automatically runs adjust_child_heights( ) on globally defined
 * elements within a page
 *
 */
function adjust_template_containers( ){

   // Look for our global variable containing the array of
   // containers whose children need their height adjusted...
   if (typeof(containers_to_adjust) != 'undefined'){
      adjust_child_heights(containers_to_adjust);
   }
}


/**
 * Adjusts the height of the element's child divs so they are all the same height
 *
 * @param mixed element_id   The `id` attribute of the element. May be a single string or an array of strings
 */
function adjust_child_heights(element_id)
{
   var element_id_type = typeof(element_id);
   if (element_id_type == 'undefined'){ return false; }

   var spacer_class_name = 'spacer';
   var height_adding_properties = ['border-bottom-width', 'border-top-width', 'padding-bottom', 'padding-top'];

   var container;
   var children;
   var child;
   var computed_style;
   var i, j, k, v;
   var tallest_child_height;
   var added_height;
   var content_height;
   var content_height_calculated_value;

   try {
      // Convert our element_id to an array
      // of element ids for easier processing
      // later on
      //
      // @todo fix is_array() to work in Safari so that
      // it can be used here without worry.
      if (element_id_type != 'object'){
         element_id = [element_id];
      }

      for (i = 0; i < element_id.length; i++){
         try {
            container = document.getElementById(element_id[i]);
            children = container.childNodes;
            tallest_child_height = 0;

            // First, find the tallest child...
            for (j = 0; j < children.length; j++) {
               child = children[j];

               // Make sure that this node is an HTML element, but
               // also make sure that this is not one of our spacing
               // elements used for clearing floats.
               if (child.nodeType == 1 && child.className != spacer_class_name){
                  child.style.height = 'auto';

                  // If this element is taller than previous children,
                  // update the tallest known height for children
                  // contained by this element.
                  //
                  // NOTE: offsetHeight for an element is the element's
                  // content height + the CSS border and padding heights.
                  // This property is correctly supported by all popular
                  // broswers.
                  if  (child.offsetHeight > tallest_child_height) {
                     tallest_child_height = child.offsetHeight;
                  }
               }
            }

            // Now that we have the tallest child, use that height
            // to resize all of the other children
            for (j = 0; j < children.length; j++) {
               child = children[j];

               // Make sure that this node is an HTML element, but
               // also make sure that this is not one of our spacing
               // elements used for clearing floats.
               if (child.nodeType == 1 && child.className != spacer_class_name && child.offsetHeight < tallest_child_height){

                  // Conveniently, an element's offsetHeight includes
                  // that top and bottom padding and border.  To
                  // figure out how much padding and border is adding
                  // to the total height of an element, simply
                  // subtract the calculated content height from the
                  // offsetHeight.
                  content_height = 0;
                  added_height = 0;
                  content_height_calculated_value = getCurrentPropertyValue(child, 'height');

                  // offsetHeight is expressed in pixels, so we need to make sure
                  // that the height of our element's content is expressed in
                  // pixels as well.
                  if (content_height_calculated_value.match(/^\d+(px)?$/)) {
                     content_height = parseInt(content_height_calculated_value);
                  }

                  // If the element's height is not being expressed in pixels,
                  // look for the IE-specific pixelHeight property.  As the
                  // name suggests, it returns the content height of an element,
                  // expressed in pixels.
                  else if (typeof(child.pixelHeight) != 'undefined') {
                     content_height = child.pixelHeight;
                  }

                  // If our prior approaches fail, tabulate the values of
                  // other properties contributing to the offsetHeight (the
                  // padding-top, padding-bottom, border-top, and
                  // border-bottom) and subtract their sum from the element's
                  // offsetHeight to calculated the height of our content
                  else {
                     for (k = 0; k < height_adding_properties.length; k++) {
                        v = parseInt(getCurrentPropertyValue(child, height_adding_properties[k]));
                        if (!isNaN(v)){
                           added_height += v;
                        }
                     }
                     content_height = child.offsetHeight - added_height;
                  }

                  // Calculate the desired content height for this element.
                  added_height = child.offsetHeight - content_height;
                  child.style.height = (tallest_child_height - added_height) + 'px';
               }
            }
         }
         catch (e) {
            // Our document.getElementById() probably failed
         }
      }
   }
   catch (e) {
   }
   return true;
}


/**
 * Retrieves the calculated value for a particular CSS
 * property of an element
 *
 * @param HTMLElement element   an object reference to the element in question
 * @param string      property  the name of the CSS property
 */
function getCurrentPropertyValue( element, property )
{
   var v = '';
   var computed_style;

   try {
      // Get the current style of the element in question
      // First, attempt to use the DOM Level 2's AbstractView
      // to retrieve the value of the 'display' property
      if (typeof(document.defaultView) != 'undefined' && typeof(document.defaultView.getComputedStyle) != 'undefined')
      {
         computed_style = document.defaultView.getComputedStyle(element, null);
      }

      // Next, try the IE-specific route
      else if (typeof(element.currentStyle) != 'undefined')
      {
         computed_style = element.currentStyle;
      }
      else
      {
         computed_style = null;
      }

      // *NOTE* - Safari 1.3 and 2.0 do not return a valid CSSStyleDeclaration
      // if the element's display type is set to 'none'.  Instead, it returns
      // null since the object isn't being rendered at all.  So, regardless of
      // the method used to access an element's calculated style, we still need
      // to check if that is null before attempting to access the property value.
      if (computed_style !== null)
      {
         if (typeof(computed_style.getPropertyValue) != 'undefined'){
            v = computed_style.getPropertyValue(property);
         }
         else {
            // Comparable properties for IE's currentStyle object are named
            // using a camel case convention.  So, we need to run a small
            // search and replace to transform the CSS property name into
            // something that Internet Explorer will understand.
            //
            // Example:  "border-top-width"  -->  "borderTopWidth"
            // Note: this uses Javascript's lambda replace function feature
            property = property.replace(/-(\w)/g, function (full_match, captured){ return captured.toUpperCase(); });
            v = computed_style[property];
         }
      }

      return v;
   }
   catch(e) {
      return false;
   }
}

function fix_height2(element_id, match_element, inner_element)
{
   var container;
   var match_container;
   var inner_element;
   var diff;

   container = document.getElementById(element_id);
   match_container = document.getElementById(match_element);
   inner_element = document.getElementById(inner_element);
   if (container != null) {
      container.style.height = 'auto';

      diff = match_container.offsetHeight - container.offsetHeight + inner_element.offsetHeight - 14; /* This should be the top and bottom padding of the inner element. For some reason I couldn't get those in js... need to fix. */

      if (inner_element != null) {
         inner_element.style.height = diff + "px";
      }
   }

   return true;
}

function fix_height3(element_id, match_element, inner_element, magic_number)
{
   var container;
   var match_container;
   var inner_element;
   var diff;

   container = document.getElementById(element_id);
   match_container = document.getElementById(match_element);
   inner_element = document.getElementById(inner_element);
   if (container != null) {
      container.style.height = 'auto';

      diff = match_container.offsetHeight - container.offsetHeight + inner_element.offsetHeight - magic_number; /* This should be the top and bottom padding of the inner element. For some reason I couldn't get those in js... need to fix. */

      if (inner_element != null) {
         inner_element.style.height = diff + "px";
      }
   }

   return true;
}

function even_two_heights(element1, element2, magic_number)
{
   var element1 = document.getElementById(element1);
   var element2 = document.getElementById(element2);

   element1.style.height = 'auto';
   element2.style.height = 'auto';

   if (element1.offsetHeight > element2.offsetHeight) {
      element2.style.height = (element1.offsetHeight - magic_number) + "px";
   } else {
      element1.style.height = (element2.offsetHeight - magic_number) + "px";
   }

   return true;
}

function even_three_heights(element1, element2, element3, magic_number)
{
   var element1 = document.getElementById(element1);
   var element2 = document.getElementById(element2);
   var element3 = document.getElementById(element3);

   if (element1.offsetHeight > element2.offsetHeight) {
      element2.style.height = (element1.offsetHeight - magic_number) + "px";
   } else {
      element1.style.height = (element2.offsetHeight - magic_number) + "px";
   }

   return true;
}

/**
 * Gets the scrolling offset for the height of a page
 * @author   Peter-Paul Koch (taken from his site, www.quirksmode.org)
 * @author   Sean McCann (modifications to the original code)
 */
function getPageYOffset()
{
   // pageYOffset is the standard property used to get
   // the scrolling offset for a page's height.  However,
   // IE uses its own properties.

   if (self.pageYOffset) // all except Explorer
   {
      return self.pageYOffset;
   }
   else if (document.documentElement && document.documentElement.scrollTop)
      // Explorer 6 Strict
   {
      return document.documentElement.scrollTop;
   }
   else if (document.body) // all other Explorers
   {
      return document.body.scrollTop;
   }
   else return false;

}

/**
 * Gets the actual width of a page
 * @author   Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
 * @author   Sean McCann (modifications to the original code)
 */
function getPageWidth() {
   // pageYOffset is the standard property used to get
   // the scrolling offset for a page's height.  However,
   // IE uses its own properties.
   if (window.innerWidth != null) {
      return window.innerWidth;
   }

   // for Explorer 6 Strict ...
   if (document.documentElement && document.documentElement.clientWidth) {
      return document.documentElement.clientWidth;
   }

   // all other Explorers
   if (document.body != null) {
      return document.body.clientWidth;
   }
   else return null;
}
/**
 * Gets the actual height of a page
 * @author   Stephen Chapman, 3rd Jan 2005, 8th Dec 2005
 * @author   Sean McCann (modifications to the original code)
 *
 * The source is almost identical to getPageWidth().
 */
function getPageHeight() {
   // most browsers
   if (window.innerHeight != null) {
      return window.innerHeight;
   }

   // IE 6 Strict
   if (document.documentElement && document.documentElement.clientHeight) {
      return document.documentElement.clientHeight;
   }

   // most other IE's
   if (document.body != null) {
      return document.body.clientHeight;
   }
   else return null;
}

function getElementHeight(element) {
   var height_adding_properties = ['border-bottom-width', 'border-top-width', 'padding-bottom', 'padding-top'];
   var content_height_calculated_value = getCurrentPropertyValue(element, 'height');
   var content_height = 0;
   var added_height = 0;

   // offsetHeight is expressed in pixels, so we need to make sure
   // that the height of our element's content is expressed in
   // pixels as well.
   if (content_height_calculated_value.match(/^\d+(px)?$/)) {
      content_height = parseInt(content_height_calculated_value);
   }

   // If the element's height is not being expressed in pixels,
   // look for the IE-specific pixelHeight property.  As the
   // name suggests, it returns the content height of an element,
   // expressed in pixels.
   else if (typeof(element.pixelHeight) != 'undefined') {
      content_height = element.pixelHeight;
   }

   // If our prior approaches fail, tabulate the values of
   // other properties contributing to the offsetHeight (the
   // padding-top, padding-bottom, border-top, and
   // border-bottom) and subtract their sum from the element's
   // offsetHeight to calculated the height of our content
   else {
      for (k = 0; k < height_adding_properties.length; k++) {
         v = parseInt(getCurrentPropertyValue(element, height_adding_properties[k]));
         if (!isNaN(v)){
            added_height += v;
         }
      }
      content_height = element.offsetHeight - added_height;
   }
   
   return content_height;
}

/* ---- Miscellaneous ---- */
function newImage(arg) {
   if (document.images) {
      rslt = new Image();
      rslt.src = arg;
      return rslt;
   }
}

function changeImages() {
   if (document.images && (preloadFlag == true)) {
      for (var i=0; i<changeImages.arguments.length; i+=2) {
         document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
      }
   }
}

var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		main_menu_02_main_menu_04_over = newImage("/files/media/001091.jpg");
		main_menu_02_main_menu_07_over = newImage("/files/media/001092.jpg");
		main_menu_02_over = newImage("/files/media/001093.jpg");
		main_menu_04_over = newImage("/files/media/001097.jpg");
		main_menu_04_main_menu_02_over = newImage("/files/media/001096.jpg");
		main_menu_06_main_menu_07_over = newImage("/files/media/001100.jpg");
		main_menu_07_main_menu_02_over = newImage("/files/media/001102.jpg");
		main_menu_07_over = newImage("/files/media/001104.jpg");
		main_menu_07_main_menu_09_over = newImage("/files/media/001103.jpg");
		main_menu_09_main_menu_02_over = newImage("/files/media/001107.jpg");
		main_menu_09_over = newImage("/files/media/001108.jpg");
		main_menu_10_main_menu_09_over = newImage("/files/media/001110.jpg");
		phone_hover = newImage("/files/media/salesTechTabByPhone_over.gif");
		email_hover = newImage("/files/media/salesTechTabByEmail_over.gif");
		form_hover = newImage("/files/media/salesTechTabByOnlineForm_over.gif");
		demo_hover = newImage("/files/media/salesTechTabScheduleDemo_over.gif");
		post_hover = newImage("/files/media/salesTechTabByPost_over.gif");
		preloadFlag = true;
	}
}

function showAudience(aud) {
   document.getElementById(aud).style.display = "block";
}

function hideAudience(aud) {
   document.getElementById(aud).style.display = "none";
}


var posright = 0;
var posleft = 0;
var clickerleft = 1;
var clickerright = 1;
var curnum = 1;

function scrollRight(max) {
   if(curnum+4 <= max) {	   	
	posright  = (90 *clickerright);
   	document.getElementById("thumbContainer").style.left  =  - posright + posleft+"px";
   	clickerright++;
	curnum++;

   
	}
   }
   function scrollLeft(max) {
   if(curnum > 1) {
   posleft  = (90 * clickerleft);
   document.getElementById("thumbContainer").style.left  =  + (posleft - posright)+"px";
   curnum--; 
   clickerleft++;
   
	}	 
   
}


/**
 * Displays an element in a document.  Used primarily to
 * show elements that had been hidden previously.
 *
 * @param string id    The id of the element that you wish to display
 * @param string display_type   A keyword specifying how the broser should
 *    display the element
 *
 * A full list of display types and descriptions can be found here:
 * http://www.quirksmode.org/css/display.html
 *
 * NOTE: Internet Explorer 6 only understands the following properties:
 *   "block", "inline", "list-item", and "none"
 */
function show( id, display_type )
{
   // Show elements as "block" elements by default
   if (typeof(display_type) == 'undefined'){
      display_type = 'block';
   }

   document.getElementById( id ).style.display = display_type;
}

function hide( id )
{
   document.getElementById( id ).style.display = "none";
}

/**
 * Shows a hidden element, or hides a rendered element
 *
 * @uses getCurrentPropertyValue( )  from scripts/layout.js
 *
 * @param string id   the id of the element that you wish to hide or display
 * @param string display_type   A keyword specifying how the broser should
 *    display the element
 *
 * A full list of display types and descriptions can be found here:
 * http://www.quirksmode.org/css/display.html
 *
 * NOTE: Internet Explorer 6 only understands the following properties:
 *   "block", "inline", "list-item", and "none"
 */
function toggle_display( id, display_type ){
   var element;
   var current_display_state;

   // Show elements as "block" elements by default
   if (typeof(display_type) == 'undefined'){
      display_type = 'block';
   }

   try {
      element = document.getElementById( id );
      current_display_state = getCurrentPropertyValue( element, 'display' );

      if (current_display_state == 'none' || current_display_state == '') {
         element.style.display = display_type;
      }
      else {
         element.style.display = 'none';
      }

      return true;
   }
   catch (e) {
      return false;
   }
}

/**
 * The following cookie functions are used with permission from http://www.quirksmode.org
 */
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=/";
}

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;
}

function eraseCookie(name) {
   createCookie(name,"",-1);
}



if (window.addEventListener) {
   window.addEventListener('load', loadFontSize, false);
}
else if (window.attachEvent) {
   window.attachEvent('onload', loadFontSize);
}

//----------------------------------------
//  <object> getXmlHttpObject()
//----------------------------------------
// - Description:
//        Creates an XMLHTTP object depending on what browser you use.
//
// - Returns:
//        XMLHTTP object
//
// - Parameters:
//        N/A
//
// - Details:
//       Attempts to create an XMLHTTP object.  If your browser does not support
//       this, null will be returned.
//
// - Changelog:
//       Author: Sean Mlinscek <sean.mlinscek@stryker.com>
//       Date:   03/14/07 5:31 p.m.
//       Change: Initial documentation.
//
function getXmlHttpObject() {
   var xmlHttp = null;

   try {
      // Firefox, Opera 8.0+, Safari
      xmlHttp = new XMLHttpRequest();
   } catch (e) {
      // Internet Explorer
      try {
       xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
     }
   }

   return xmlHttp;
}

/* ---- Check Font Style ---- */
var agt      = navigator.userAgent.toLowerCase();
var versInt   = parseInt(navigator.appVersion);
var is_aol   = (agt.indexOf("aol") != -1);
var strykerDomainArray = location.hostname.split( '.' );
var EditionDomain = ( strykerDomainArray.length > 1 ) ? '.' + strykerDomainArray[strykerDomainArray.length-2] + '.' + strykerDomainArray[strykerDomainArray.length-1] : '';
var strykerSiteWideCurrDate = new Date();

// Extend life of edition cookie
var editionCookie = WM_readCookie( 'SelectedEdition' );
if ( editionCookie == 'edition' ) {
   document.cookie = 'SelectedEdition=' + escape(editionCookie) + ';expires=' + new Date( '1/1/2037' ).toGMTString() + ';path=/;domain=' + EditionDomain;
}

// _____________________________________________________________ WebMonkey code
/*
WM_setCookie(), WM_readCookie(), WM_killCookie()
A set of functions that eases the pain of using cookies.

Source: Webmonkey Code Library
(http://www.hotwired.com/webmonkey/javascript/code_library/)

Author: Nadav Savio
*/

// This next little bit of code tests whether the user accepts cookies.
function WM_browserAcceptsCookies() {
   var WM_acceptsCookies = false;
   if ( document.cookie == '' ) {
      document.cookie = 'WM_acceptsCookies=yes'; // Try to set a cookie.
      if ( document.cookie.indexOf( 'WM_acceptsCookies=yes' ) != -1 ) {
         WM_acceptsCookies = true;
      } // If it succeeds, set variable
   } else { // there was already a cookie
      WM_acceptsCookies = true;
   }
   
   return ( WM_acceptsCookies );
}

function WM_setCookie( name, value, hours, path, domain, secure ) {
   if ( WM_browserAcceptsCookies() ) { // Don't waste your time if the browser doesn't accept cookies.
      var numHours = 0;
      var not_NN2 = ( navigator && navigator.appName
               && (navigator.appName == 'Netscape')
               && navigator.appVersion
               && (parseInt(navigator.appVersion) == 2) ) ? false : true;

      if ( hours && not_NN2 ) { // NN2 cannot handle Dates, so skip this part
         if ( (typeof(hours) == 'string') && Date.parse(hours) ) { // already a Date string
            numHours = hours;
         } else if ( typeof(hours) == 'number' ) { // calculate Date from number of hours
            numHours = ( new Date((new Date()).getTime() + hours*3600000) ).toGMTString();
         }
      }
      
      document.cookie = name + '=' + escape(value) + ((numHours)?(';expires=' + numHours):'') + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:'') + ((secure && (secure == true))?'; secure':''); // Set the cookie, adding any parameters that were specified.
   }
} // WM_setCookie

function WM_readCookie( name ) {
   if ( document.cookie == '' ) { // there's no cookie, so go no further
       return false;
   } else { // there is a cookie
       var firstChar, lastChar;
      var theBigCookie = document.cookie;
      firstChar = theBigCookie.indexOf(name);   // find the start of 'name'
      var NN2Hack = firstChar + name.length;
      if ( (firstChar != -1) && (theBigCookie.charAt(NN2Hack) == '=') ) { // if you found the cookie
         firstChar += name.length + 1; // skip 'name' and '='
         lastChar = theBigCookie.indexOf(';', firstChar); // Find the end of the value string (i.e. the next ';').
         if (lastChar == -1) lastChar = theBigCookie.length;
         return unescape( theBigCookie.substring(firstChar, lastChar) );
      } else { // If there was no cookie of that name, return false.
         return false;
      }
   }   
} // WM_readCookie

/* ---- Font Adjustment ---- */
function WM_killCookie( name, path, domain ) {
   var theValue = WM_readCookie( name ); // We need the value to kill the cookie
   if ( theValue ) {
      document.cookie = name + '=' + theValue + '; expires=Fri, 13-Apr-1970 00:00:00 GMT' + ((path)?';path=' + path:'') + ((domain)?';domain=' + domain:''); // set an already-expired cookie
   }
} // WM_killCookie

/* _____________________________________________________ Story font widget */
var STRYKER_FONT_COOKIE_NAME = "strykerFont";
var STRYKER_FONT_COOKIE_PATH = "/";
var STRYKER_FONT_COOKIE_DOMAIN = EditionDomain;
var STRYKER_FONT_COOKIE = WM_readCookie( 'strykerFont' );
var STRYKER_CSS_TITLE = STRYKER_FONT_COOKIE ? STRYKER_FONT_COOKIE : null;

function setActiveStyleSheet(STRYKER_CSS_TITLE) {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == STRYKER_CSS_TITLE) a.disabled = false;
    }
  }
}

function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}

window.onunload = function(e) {
  if (getActiveStyleSheet() != null) {
     if (getActiveStyleSheet() != STRYKER_FONT_COOKIE) {
        WM_setCookie( STRYKER_FONT_COOKIE_NAME, getActiveStyleSheet(), 24*31, STRYKER_FONT_COOKIE_PATH, STRYKER_FONT_COOKIE_DOMAIN, '');
   }
  } else {
     WM_killCookie( STRYKER_FONT_COOKIE_NAME, STRYKER_FONT_COOKIE_PATH, STRYKER_FONT_COOKIE_DOMAIN );
  }
}

setActiveStyleSheet(STRYKER_CSS_TITLE);

/* ---- Swap Images ---- */
function MM_swapImgRestore() { //v2.0
  if (document.MM_swapImgData != null)
    for (var i=0; i<(document.MM_swapImgData.length-1); i+=2)
      document.MM_swapImgData[i].src = document.MM_swapImgData[i+1];
}

function MM_preloadImages() { //v2.0
  if (document.images) {
    var imgFiles = MM_preloadImages.arguments;
    if (document.preloadArray==null) document.preloadArray = new Array();
    var i = document.preloadArray.length;
    with (document) for (var j=0; j<imgFiles.length; j++) if (imgFiles[j].charAt(0)!="#"){
      preloadArray[i] = new Image;
      preloadArray[i++].src = imgFiles[j];
  } }
}

function MM_swapImage() { //v2.0
  var i,j=0,objStr,obj,swapArray=new Array,oldArray=document.MM_swapImgData;
  for (i=0; i < (MM_swapImage.arguments.length-2); i+=3) {
    objStr = MM_swapImage.arguments[(navigator.appName == 'Netscape')?i:i+1];
    if ((objStr.indexOf('document.layers[')==0 && document.layers==null) ||
        (objStr.indexOf('document.all[')   ==0 && document.all   ==null))
      objStr = 'document'+objStr.substring(objStr.lastIndexOf('.'),objStr.length);
    obj = eval(objStr);
    if (obj != null) {
      swapArray[j++] = obj;
      swapArray[j++] = (oldArray==null || oldArray[j-1]!=obj)?obj.src:oldArray[j];
      obj.src = MM_swapImage.arguments[i+2];
  } }
  document.MM_swapImgData = swapArray; //used for restore
}
	function showSupportModule(show,hide) {
		if (document.getElementById) {
		
			document.getElementById(show).style.display = "block";
			document.getElementById(hide).style.display = "none";
		
		}
	}
	function contactUs(nodeId,leadType) {
		window.open("<!--$ssServerRelativeSiteRoot-->util/index.htm?Division="+nodeId+"&LeadType="+leadType, "myWindow", "status = 1, height = 300, width = 500, resizable = 0");
		}
		function setCookieAndRedirect(name,value,days,section) {
	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=/";
	//alert('Setting cookie: '+name+'='+value);
	window.location=section;
}
function setCookieAndRedirectBySSNodeLink(name,value,days,nodeLink) {
	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=/";
	
	//alert('Setting cookie: '+name+'='+value);
	//alert('Redirecting To : '+nodeLink);
	window.location=nodeLink;
}

function setCookieOnly(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=/";
	
}

function show(layerid) {
var el = document.getElementById(layerid).parentNode;
var children = el.childNodes;
for(var i = 0; i < children.length; i++) {
if(children[i].id != null) {
    if(children[i].getAttribute("id") == layerid) { 
        document.getElementById(children[i].getAttribute("id")).style.display="block";
    }
    else {
        document.getElementById(children[i].getAttribute("id")).style.display="none";
    }
}
}
}
function setAC(layerid) {
    var el = document.getElementById(layerid).parentNode;
    var children = el.childNodes;
    for(var i = 0; i < children.length; i++) {
    if(children[i].id != null) {
        if(children[i].getAttribute("id") == layerid) { 
            children[i].className = "current";
        }
        else {
            children[i].className = "";
        }
    }
}
}

/* ---- Sub-Category Popup ---- */
// USE WORDWRAP AND MAXIMIZE THE WINDOW TO SEE THIS FILE
c_styles={};c_menus={}; // do not remove this line

// You can remove most comments from this file to reduce the size if you like.

/******************************************************
   (1) GLOBAL SETTINGS
*******************************************************/

c_hideTimeout=500; // 1000==1 second
c_subShowTimeout=300;
c_keepHighlighted=true;
c_findCURRENT=false; // find the item linking to the current page and apply it the CURRENT style class
c_findCURRENTTree=true;
c_overlapControlsInIE=true;
c_rightToLeft=false; // if the menu text should have "rtl" direction (e.g. Hebrew, Arabic)

/******************************************************
   (2) MENU STYLES (CSS CLASSES)
*******************************************************/

// You can define different style classes here and then assign them globally to the menu tree(s)
// in section below or set them to any UL element from your menu tree(s) in the page source
c_imagesPath=""; // path to the directory containing the menu images

// do not remove audience selector section
/////############################ START audience selector ######################//
c_styles['AudiencePop']=[ // CSS class for the audiencePop menu tree
[
// MENU BOX STYLE
2,      // BorderWidth
'solid',   // BorderStyle (CSS valid values except 'none')
'#f2f2f2',   // BorderColor ('color')
1,      // Padding
'#fff',      // Background ('color','transparent','[image_source]')
'',      // IEfilter (only transition filters work well - not static filters)
''      // Custom additional CSS for the menu box (valid CSS)
],[
// MENU ITEMS STYLE
0,      // BorderWidth
'solid',   // BorderStyle (CSS valid values except 'none')
'solid',   // OVER BorderStyle
'#fff',      // BorderColor ('color')
'#CBCBEF',   // OVER BorderColor
1,      // Padding
'#fff',      // Background ('color','transparent','[image_source]')
'#fff',   // OVER Background
'#19A0DA',   // Color
'#06BAF9',   // OVER Color
'100%',      // FontSize (values in CSS valid units - %,em,ex,px,pt)
'arial,helvetica,sans-serif',   // FontFamily
'normal',   // FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'underline',      // TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'underline',      // OVER TextDecoration
'left',      // TextAlign ('left','center','right','justify')
1,      // ItemsSeparatorSize
'solid',   // ItemsSeparatorStyle (border-style valid values)
'transparent',      // ItemsSeparatorColor ('color','transparent')
0,      // ItemsSeparatorSpacing
false,         // UseSubMenuImage (true,false)
'',   // SubMenuImageSource ('[image_source]')
'',   // OverSubMenuImageSource
1,         // SubMenuImageWidth
1,         // SubMenuImageHeight
'1',         // SubMenuImageVAlign ('pixels from item top','middle')
'solid',      // VISITED BorderStyle
'#fff',         // VISITED BorderColor
'#fff',         // VISITED Background
'#06BAF9',      // VISITED Color
'underline',         // VISITED TextDecoration
'',   // VISITED SubMenuImageSource
'solid',      // CURRENT BorderStyle
'#f2f2f2',      // CURRENT BorderColor
'#fff',         // CURRENT Background
'#fff',      // CURRENT Color
'underline',         // CURRENT TextDecoration
'',      // CURRENT SubMenuImageSource
'',      // Custom additional CSS for the items (valid CSS)
'',      // OVER Custom additional CSS for the items (valid CSS)
'',      // CURRENT Custom additional CSS for the items (valid CSS)
''      // VISITED Custom additional CSS for the items (valid CSS)
]];

// for Audience Menu Select options
c_menus["AudienceMenu"]=[ // the UL element with id="PopupMenu1"
[
// MAIN-MENU FEATURES
'vertical',   // ItemsArrangement ('vertical','horizontal')
'popup',   // Position ('relative','absolute','fixed')
'2em',      // X Position (values in CSS valid units- px,em,ex)
'2em',      // Y Position (values in CSS valid units- px,em,ex)
false,      // RightToLeft display of the sub menus
false,      // BottomToTop display of the sub menus
5,      // X SubMenuOffset (pixels)
1,      // Y SubMenuOffset
'180px',      // Width (values in CSS valid units - px,em,ex) (matters for main menu with 'vertical' ItemsArrangement only)
'AudiencePop',   // CSS Class (one of the defined in section 2)
false      // Open sub-menus onclick (default is onmouseover)
],[
// SUB-MENUS FEATURES
5,      // X SubMenuOffset (pixels)
1,      // Y SubMenuOffset
'auto',      // Width ('auto',values in CSS valid units - px,em,ex)
'180px',      // MinWidth ('pixels') (matters/useful if Width is set 'auto')
'180px',      // MaxWidth ('pixels') (matters/useful if Width is set 'auto')
'AudiencePop',   // CSS Class (one of the defined in section 2)
false      // Open sub-menus onclick (default is onmouseover)
]];
/////############################ END audience selector ######################//

c_styles['Popup']=[ // CSS class for the PopupMenu1 menu tree
[
// MENU BOX STYLE
2,      // BorderWidth
'solid',   // BorderStyle (CSS valid values except 'none')
'#f2f2f2',   // BorderColor ('color')
1,      // Padding
'#fff',      // Background ('color','transparent','[image_source]')
'',      // IEfilter (only transition filters work well - not static filters)
''      // Custom additional CSS for the menu box (valid CSS)
],[
// MENU ITEMS STYLE
0,      // BorderWidth
'solid',   // BorderStyle (CSS valid values except 'none')
'solid',   // OVER BorderStyle
'#fff',      // BorderColor ('color')
'#CBCBEF',   // OVER BorderColor
2,      // Padding
'#fff',      // Background ('color','transparent','[image_source]')
'#fff',   // OVER Background
'#19A0DA',   // Color
'#06BAF9',   // OVER Color
'100%',      // FontSize (values in CSS valid units - %,em,ex,px,pt)
'arial,helvetica,sans-serif',   // FontFamily
'normal',   // FontWeight (CSS valid values - 'bold','normal','bolder','lighter','100',...,'900')
'underline',      // TextDecoration (CSS valid values - 'none','underline','overline','line-through')
'underline',      // OVER TextDecoration
'left',      // TextAlign ('left','center','right','justify')
1,      // ItemsSeparatorSize
'solid',   // ItemsSeparatorStyle (border-style valid values)
'transparent',      // ItemsSeparatorColor ('color','transparent')
0,      // ItemsSeparatorSpacing
false,         // UseSubMenuImage (true,false)
'',   // SubMenuImageSource ('[image_source]')
'',   // OverSubMenuImageSource
1,         // SubMenuImageWidth
1,         // SubMenuImageHeight
'1',         // SubMenuImageVAlign ('pixels from item top','middle')
'solid',      // VISITED BorderStyle
'#fff',         // VISITED BorderColor
'#fff',         // VISITED Background
'#06BAF9',      // VISITED Color
'underline',         // VISITED TextDecoration
'',   // VISITED SubMenuImageSource
'solid',      // CURRENT BorderStyle
'#f2f2f2',      // CURRENT BorderColor
'#fff',         // CURRENT Background
'#fff',      // CURRENT Color
'underline',         // CURRENT TextDecoration
'',      // CURRENT SubMenuImageSource
'',      // Custom additional CSS for the items (valid CSS)
'',      // OVER Custom additional CSS for the items (valid CSS)
'',      // CURRENT Custom additional CSS for the items (valid CSS)
''      // VISITED Custom additional CSS for the items (valid CSS)
]];

var menuids = ["PopupMenu1", "PopupMenu2", "PopupMenu3", "PopupMenu4", "PopupMenu5", "PopupMenu6", "PopupMenu7", "PopupMenu8", "PopupMenu9", "PopupMenu10", "PopupMenu11", "PopupMenu12", "PopupMenu13", "PopupMenu14", "PopupMenu15", "PopupMenu16", "PopupMenu17", "PopupMenu18", "PopupMenu19", "PopupMenu20"];  // add all menus with subcategories

for (var i=0; i<menuids.length; i++){

c_menus[menuids[i]]=[ // the UL element with id="PopupMenu1"
[
// MAIN-MENU FEATURES
'vertical',   // ItemsArrangement ('vertical','horizontal')
'popup',   // Position ('relative','absolute','fixed')
'2em',      // X Position (values in CSS valid units- px,em,ex)
'2em',      // Y Position (values in CSS valid units- px,em,ex)
false,      // RightToLeft display of the sub menus
false,      // BottomToTop display of the sub menus
5,      // X SubMenuOffset (pixels)
1,      // Y SubMenuOffset
'200px',      // Width (values in CSS valid units - px,em,ex) (matters for main menu with 'vertical' ItemsArrangement only)
'Popup',   // CSS Class (one of the defined in section 2)
false      // Open sub-menus onclick (default is onmouseover)
],[
// SUB-MENUS FEATURES
5,      // X SubMenuOffset (pixels)
1,      // Y SubMenuOffset
'auto',      // Width ('auto',values in CSS valid units - px,em,ex)
'200px',      // MinWidth ('pixels') (matters/useful if Width is set 'auto')
'210px',      // MaxWidth ('pixels') (matters/useful if Width is set 'auto')
'Popup',   // CSS Class (one of the defined in section 2)
false      // Open sub-menus onclick (default is onmouseover)
]];

}


/* ---- Sub-Category Popup Menus ---- */
// ===
function c_show_popup(m,e){
   if(typeof c_dl=="undefined"||!c_dl)
      return;
      
   u=c_gO_popup(m);
   
   if(!u||u.IN!=2)
      return;

   if(!u.PP){
      alert('show menus "Position" set to \'popup\'.');
      
   return;
}
   
c_mV_popup();

if(u.style.display=="block")
   return;
   
c_hD_popup();
c_S[1]=u;


var S,w,h,x,y,mouseX,mouseY,t,targetX,targetY,targetW,targetH,menuW,menuH,C,c;

S=u.style;

if(!u.FM){
   S.visibility="hidden";
   u.FM=1
}

S.display="block";
w=u.offsetWidth;
h=u.offsetHeight;
c=c_gW_popup();

mouseX=e.pageX||e.clientX+c.x-(c_rL_popup()?c_dE.offsetWidth-c.w:0);
mouseY=e.pageY||e.clientY+c.y;
t=e.target||e.srcElement;


while(t.nodeType!=1)
   t=t.parentNode;
   C=c_cA_popup(t);
   targetX=C.x;
   targetY=C.y;
   targetW=t.offsetWidth; 
   targetH=t.offsetHeight;
   menuW=u.offsetWidth;
   menuH=u.offsetHeight;
   x=!arguments[2]?mouseX:eval(arguments[2]);
   y=!arguments[3]?mouseY:eval(arguments[3]);

   if(c_r&&x<c.x)
      x=c.x;
   else if(x+w>c.x+c.w)
      x=c.x+c.w-w;
   
   if(h<c.h&&y+h>c.y+c.h)
      y=c.y+c.h-h;
   else if(h>=c.h||y<c.y)
      y=c.y;
      S.right="auto";
      S.left=x+"px";
      S.top=y+"px";
      
   if(c_F[0])c_iF_popup(u,w,h,x,y);

   if(c_F[1])c_hS_popup();
   c_sH_popup(u)
   
};


function c_hide_popup(){
   if(typeof c_dl=="undefined"||!c_dl)
      return;
      c_mU_popup()
};

function c_oF_popup(){
   c_mV_popup();
   c_c=this;
   
   if(!c_gL_popup(c_c).parentNode.PP)
   c_sM_popup(1)
}

/* ---- Sub-Category Popup Setup ---- */
// ===
c_d=document;c_u="undefined";c_n=navigator;c_w=window;c_a=c_n.userAgent.toLowerCase();c_dl=c_d.getElementsByTagName&&c_d.createElement?1:0;c_qM=c_d.compatMode!="CSS1Compat";c_mC=/mac/.test(c_a);c_iE=c_dl&&!c_w.innerWidth&&/msie/.test(c_a);c_iEM=c_mC&&c_iE;c_iEMo=c_iEM&&/msie 5\.0/.test(c_a);c_iEMn=c_iEM&&/msie 6/.test(c_a);c_iE7=c_iE&&typeof XMLHttpRequest!=c_u&&!c_qM;c_iEW=c_iE&&!c_mC;c_iEWo=c_iEW&&!c_iE7;c_iEW5=c_iEWo&&!c_d.createEventObject?1:0;c_iEW5x=c_iEWo&&!c_d.compatMode?1:0;c_oPv=/opera/.test(c_a)?parseFloat(c_a.replace(/.*opera[ \/]/,"")):0;c_oP=c_oPv>=5;c_oP7=c_oPv>=7;c_oP7m=c_oP&&!c_oP7;c_oPo2=c_oP7&&c_oPv<7.2;c_oP9=c_oPv>=9;c_kNv=/konqueror/.test(c_a)?parseFloat(c_a.replace(/.*eror\//,"")):0;c_kN=c_kNv>=3.2;c_kN4=c_kNv>=4;c_sFv=/webkit/.test(c_a)?parseFloat(c_a.replace(/.*bkit\//,"")):0;c_sF=c_sFv>0;c_sF3=c_sFv>=420;c_iC=/icab/.test(c_a);c_gC=c_n.product=="Gecko"&&!c_sF&&!c_kN;c_pS=c_n.productSub;c_gCo=c_gC&&c_pS<20031007;c_gC13=c_gC&&c_pS>=20030312;c_nS=!c_iE&&(!c_kN||c_kN4)&&(!c_sF||c_sFv<125||c_sF3);c_oM=(c_iEWo||c_oP7&&!c_oP9||c_iEMn)&&c_qM||c_iEM&&!c_iEMn&&(!c_d.doctype||!/\.dtd/.test(c_d.doctype.name));c_dE=c_d.documentElement||"";c_dV=c_d.defaultView;c_x=/xml/i.test(c_d.contentType);c_r=typeof c_rightToLeft!=c_u?c_rightToLeft:0;c_=["",""];c_h=c_s=c_T=c_M=0;c_c=null;c_o=[""];c_O=[""];c_S=[""];c_I={};c_F=c_overlapControlsInIE?[c_iEW&&!c_iEW5?1:0,c_iEW5?1:0]:[0,0];c_iA=[""];function c_gO(i){return c_d.getElementById(i)};function c_gT(o,t){return o.getElementsByTagName(t)};function c_nN(o){return o.nodeName.replace(/.*:/,"").toUpperCase()};function c_cE(t,o){var n=o.namespaceURI;return n?c_d.createElementNS(n,t):c_d.createElement(t)};function c_gA(l){var a=l.firstChild;while(a){if(c_nN(a)=="A")return a;a=a.nextSibling}return c_gT(l,"a")[0]};function c_gL(a){a=a.parentNode;while(c_nN(a)!="LI")a=a.parentNode;return a};function c_sC(o,c){var n=o.className;o.className=n?n.indexOf(c)<0?n+" "+c:n:c};function c_aE(o,e,f){if(typeof o[e]!="function"){o[e]=f}else if(o[e]!=f&&o[e]!=c_fE){o["O"+e]=o[e];o["N"+e]=f;o[e]=c_fE}};function c_fE(e){if(!e)e=event;var t=e.type;this["Oon"+t](e);this["Non"+t](e)};function c_cT(p,c){while(c){if(c==p)return 1;c=c.parentNode}return 0};function c_cI(s,i){var b="background-image:",c="background-color:";if(!i)i=";";if(s.charAt(0)=="["){s=c_imagesPath+s.substring(1,s.length-1);if(!c_I[s]){c_I[s]=new Image;c_I[s].src=s}return b+"url("+s+")"+i+c+"transparent"+i}return b+"none"+i+c+s+i};function c_fC(r){var l,a,as,d,n,h,H,i;d=/(index|default)\.[^#\?]*/i;n=/#.*/;h=location.href.replace(d,"");as=c_gT(r,"a");for(i=0;i<as.length;i++){a=as[i];H=a.href.replace(d,"");if(H!="javascript:;"&&(H==h||H==h.replace(n,""))){c_sC(a,"CURRENT");if(c_findCURRENTTree){l=c_gL(a).parentNode.parentNode;while(c_nN(l)=="LI"){c_sC(c_gA(l),"CURRENT");l=l.parentNode.parentNode}}}}};function c_hS(){if(c_h)return;var i,s=c_gT(c_d,"select");for(i=0;i<s.length;i++){s[i].VS=s[i].currentStyle.visibility;s[i].style.visibility="hidden"}c_h=1};function c_sS(){if(!c_h)return;var i,s=c_gT(c_d,"select");for(i=0;i<s.length;i++)s[i].style.visibility=s[i].VS;c_h=0};function c_iF(u,w,h,x,y){if(!u.IF)u.IF=c_iA.length;var i=u.IF;c_iA[i]=c_cE("<iframe src=javascript:0 tabindex=-9 style=position:absolute;z-index:9000;width:"+w+"px;height:"+h+"px;left:"+x+"px;top:"+y+"px;filter:alpha(opacity=0)>","");u.parentNode.insertBefore(c_iA[i],u)};function c_hI(i){var g=c_iA[i].removeNode(1)};function c_pA(a,C,r,h,l){var s,c,X=Y=-C[0];s=a.firstChild;if(c_iEW&&h||c_iEM){X=l&&h?r?c_iEWo&&!c_iEW5&&!c_r?-C[0]-C[5]*2-C[23]:0:C[16]>0&&!/NOSEPA/.test(c_gL(a).className)?C[18]=="transparent"?C[16]+C[19]*2:C[19]:0:0;Y=0}c="top:"+(Y+parseInt(C[25]=="middle"?(a.offsetHeight-C[24])/2:C[25]))+"px;"+(r?"left":"right")+":"+(X+C[0]+C[5])+"px;";c_iE?s.style.cssText=c:s.setAttribute("style",c);s.style.display="block";if(c_iEM)Y=s.offsetWidth};function c_fW(u){var l,a,S,w=0,W,C=c_styles[u.className][0],M=c_menus[u.MM][1],b=C[0]*2+C[3]*2,n,x;n=parseInt(M[3])||0;x=parseInt(M[4])||0;l=u.firstChild;while(l){if(c_nN(l)=="LI"){a=c_gA(l);S=a.style;if(u.AW==1){if(c_iEW5x)a.innerHTML="<nobr>"+a.innerHTML+"</nobr>";W=a.offsetWidth;if(w<W)w=W;if(c_iEW5x)a.innerHTML=a.firstChild.innerHTML}if(!c_iEW5x){S.whiteSpace="normal";S.display="block"}}l=l.nextSibling}if(u.AW==1){w+=b;if(w<n)w=n;if(x&&w>x)w=x;u.style.width=w-(!c_oM?b:0)+"px"}};function c_fA(u){var C=c_styles[u.className][1];if(C[20]){var l=u.firstChild;while(l){if(l.SH)c_pA(c_gA(l),C,u.RL,u.HR);l=l.nextSibling}}u.FM=1};function c_iL(u){var l,a,f,c;f=u.LV==1;c=c_menus[u.MM][f?0:1][f?10:6];l=u.firstChild;while(l){if(c_nN(l)=="LI"){a=c_gA(l);if(f&&!u.PP)a.VU=1;c_aE(a,"onfocus",c_oF);c_aE(a,"onblur",c_oB);c_aE(a,"onmousedown",c_oD);if(c){a.OC=1;c_aE(a,"onclick",c_oC)}c_aE(a,"onmouseover",c_oV);c_aE(a,"onmouseout",c_oU);if(a.className&&/NOLINK/.test(a.className))a.href="javascript:;"}l=l.nextSibling}if(!f||!u.HR||!c_r)c_sC(c_gL(a),"NOSEPARATOR")};function c_oD(){this.MD=1};function c_oB(){if(!this.MD)c_mU();this.MD=0};function c_oF(){c_mV();c_c=this;c_sM(1)};function c_oC(){c_c=this;if(!c_gL(c_c).SH)return;c_sM(1);if(c_c.blur)c_c.blur();return false};function c_oV(e){if(!e)e=event;if(this.VU)c_mV();if(c_cT(this,e.relatedTarget||e.fromElement)&&(!c_oP||e.offsetX!=0||e.offsetY!=0))return;if(c_s){clearTimeout(c_s);c_s=0}c_c=this;c_s=setTimeout("c_sM()",c_subShowTimeout)};function c_oU(e){if(!e)e=event;if(this.VU)c_mU();if(c_cT(this,e.relatedTarget||e.toElement))return;if(this.blur)this.blur();if(c_s){clearTimeout(c_s);c_s=0}};function c_mV(){clearTimeout(c_T)};function c_mU(){clearTimeout(c_T);c_T=setTimeout("c_hD()",c_hideTimeout)};function c_hM(o,f){var S=o.style;S.display="none";S.visibility="hidden";if(f)o.parentNode.style.zIndex=1;if(c_F[0]&&o.IF)c_hI(o.IF)};function c_hD(){var i,o;if(c_s){clearTimeout(c_s);c_s=0}for(i=c_S.length-1;i>0;i--){o=c_S[i];if(i!=1||o.PP)c_hM(o,(i!=1&&(c_iE||c_gCo)));o=c_O[i];if(o&&c_keepHighlighted)o.className=o.CN}c_S=[""];c_O=[""];c_c=null;if(c_F[1])c_sS()};function c_rL(){if(c_iEW&&!c_iEW5){var o=c_dB;while(o){if(o.dir=="rtl"||o.currentStyle&&o.currentStyle.direction=="rtl")return 1;o=o.parentNode}}return 0};function c_cA(o,f){var c={x:0,y:0};while(o&&(!f||o!=c_dB)){c.x+=o.offsetLeft;c.y+=o.offsetTop;o=o.offsetParent}return c};function c_gW(){var c,f,d,b,i,w="clientWidth",h="clientHeight",A,B,D;f=c_gC?15:0;d=c_dE[h];b=c_dB[h];i=c_w.innerHeight;A={h:b,w:c_dB[w]};B={h:d,w:c_dE[w]};D=c_qM?c_dB:c_dE;c=!i?c_qM?A:B:d&&b&&(!c_kN||c_kN4)&&(!c_sF||c_sF3)?d>b?d>i?A:B:b>i?B:A:b&&c_gC?A:{h:i-f,w:innerWidth-f};c.x=c_w.pageXOffset||D.scrollLeft-(c_rL()?D.scrollWidth-c.w:0)||0;c.y=c_w.pageYOffset||D.scrollTop||0;return c};function c_kW(x,y,w,h,c,r,f){if(f){c.x=0;c.y=0}var k={y:0};if(r&&x<c.x||!r&&x+w>c.x+c.w)k.x=1;if(h<c.h&&y+h>c.y+c.h)k.y=c.y+c.h-h-y;else if(h>=c.h||y<c.y)k.y=c.y-y;return k};function c_pM(u){var x,y,sX,sY,aX,aY,w,h,M,S,p,l,a,f,C,W,H,c,k,b;S=u.style;w=u.offsetWidth;h=u.offsetHeight;M=c_menus[u.MM];l=u.parentNode;p=l.parentNode;a=c_gA(l);f=u.LV==2;C=c_cA(l,c_sF&&!c_sF3&&M[0][1]!="relative");W=a.offsetWidth;H=a.offsetHeight;c=c_gW();sX=f?M[0][6]:M[1][0];sY=f?M[0][7]:M[1][1];if(f&&u.HR){x=u.RL?W-w-sX:sX;y=u.BT?-h-sY:H+sY}else{x=u.RL?sX-w:W-sX;y=u.BT?H-sY-h:sY}aX=C.x+x;aY=C.y+y;if(c_gC&&c_pS>=20010801||c_iEW||c_oP&&!c_oP9||c_sF3||c_kN4)while(p.LV&&(p.LV>1||p.PP)){b=c_styles[p.className][0][0];aX+=b;aY+=b;if(c_gC13&&M[0][1]=="fixed")break;p=p.parentNode.parentNode}k=c_kW(aX,aY,w,h,c,u.RL,M[0][1]=="fixed"&&!c_iEWo&&!c_iEM&&(!c_gCo||c_gC13));if(k.x)x=f&&u.HR?u.RL?c.x-aX+x:c.x+c.w-w-aX+x:u.RL?W-sX:sX-w;y+=k.y;S.right="auto";if(c_nS){S.left="auto";S.top="auto";S.marginLeft=x+"px";S.marginTop=y-H+"px"}else{S.left=x+"px";S.top=y+"px";if(c_F[0])c_iF(u,w,h,x,y);if(c_F[1])c_hS()}};function c_sM(c){var a,l,u,U,S,v,k,i,o;a=c_c;if(!a)return;l=c_gL(a);if(c_dV&&c_dV.getComputedStyle&&c_dV.getComputedStyle(a,"").getPropertyValue("display")=="inline"||l.currentStyle&&l.currentStyle.listStyleType&&l.currentStyle.listStyleType!="none")return;u=l.parentNode;v=u.LV;if(c_S.length>v+1&&c_S[v+1].style.display!="none"){k=c_o[v]!=a?v:v+1;for(i=c_S.length-1;i>k;)c_hM(c_S[i--])}if(v==1){o=c_S[1];if(o&&o!=u&&o.PP)c_hM(o)}if(c_keepHighlighted)for(i=v+1;i>=v;i--){o=c_O[i];if(o&&o.className.indexOf(c_gL(o).parentNode.className+"O")>-1&&(i>v||c_O[v]!=a))o.className=o.CN}c_o[v]=a;c_S[v]=u;if(a.OC&&!c||!l.SH)return;U=c_gT(l,"ul")[0];S=U.style;if(S.display=="block")return;if(c_keepHighlighted){a.CN=a.className||"";a.className=(a.CN?a.CN+" ":"")+u.className+"O"}if(c_iE||c_gCo){if(c_O[v])c_gL(c_O[v]).style.zIndex=1;l.style.zIndex=10000}c_O[v]=a;c_S[v+1]=U;if(c_iEW5)c_nF(u);if(!U.FM){S.display="none";S.visibility="hidden";S.overflow="visible";if(c_iEW){if(!c_iEW5)c_fL(U);S.height="auto"}}S.display="block";if(!U.FM&&U.AW)c_fW(U);c_pM(U);if(!U.FM)c_fA(U);if(c_iEW5)c_nF(u,1);if(c_oPo2||c_oP&&U.RL||c_kN4||c_sF3){S.display="none";i=U.offsetHeight;S.display="block"}c_sH(U)};function c_sH(u){var f=(!c_iEW5&&typeof u.filters!="unknown"&&(u.filters||"").length!=0&&typeof u.filters[0].apply!=c_u);if(f)u.filters[0].apply();u.style.visibility="visible";if(f)u.filters[0].play()};function c_fL(u){u=u.children;for(var i=0;i<u.length;)u[i++].style.styleFloat="left"};function c_nF(u,f){u=c_gT(u,"li")[0];if(f){u.style.styleFloat=u.FT}else{u.FT=u.currentStyle.styleFloat;u.style.styleFloat="none"}};function c_iM(m,r){var M,N,u,us,U,p,l,a,i,j,C,s,S="display:block;border:0;width:0;"+(c_oP?"max-":"")+"height:0;",I,R;M=c_menus[m][0];N=c_menus[m][1];r.MM=m;r.PP=M[1]=="popup";r.HR=M[0]=="horizontal"&&!r.PP;r.RL=M[4]||c_r;r.BT=M[5];if(c_iEM&&c_r&&r.HR)return;r.className=M[9];r.LV=1;us=c_gT(r,"ul");U=[];for(i=0;i<us.length;)U[i]=us[i++];for(i=0;i<U.length;){u=U[i++];u.MM=m;u.PP=r.PP;u.HR=r.HR;u.RL=r.RL;u.BT=r.BT;u.AW=N[2]=="auto"?u.style.width?2:1:0;p=u.parentNode.parentNode;if(!u.className)u.className=p==r?N[5]:p.className;u.LV=2;while(p!=r){u.LV++;p=p.parentNode.parentNode}l=u.parentNode;l.SH=1;p=l.parentNode;C=c_styles[p.className][1];if(C[20]){a=c_gA(l);a.style[r.RL?"paddingLeft":"paddingRight"]=(C[5]*2+C[23])+"px";R=c_imagesPath+C[21].substring(1,C[21].length-1);if(c_iE){s='<span class="'+p.className+'S">'+(c_iEM||c_iEWo?'':'<img src="'+R+'" alt="+" style="'+S+'" />')+'</span>';if(c_iEM){s+=a.innerHTML;a.innerHTML="";a.innerHTML=s}else{a.insertAdjacentHTML('afterBegin',s)}}else{s=c_cE("span",a);s.className=p.className+"S";I=c_cE("img",s);I.src=c_oP7&&c_oPv<8?"":R;I.setAttribute("alt","+");I.setAttribute("style",S);s.appendChild(I);a.insertBefore(s,a.firstChild)}if(u.LV==2)c_pA(a,C,r.RL,r.HR,1)}c_iL(u);u.onmouseover=c_mV;u.onmouseout=c_mU;if((c_iEWo||c_iEMn)&&r.HR){C=c_styles[u.className][1];s="border-width:0 0 "+(C[18]=="transparent"?0:C[16])+"px 0;padding:0 0 "+(C[16]>0?C[18]=="transparent"?C[19]*2+C[16]:C[19]:0)+"px 0;margin:0 0 "+(C[16]>0&&C[18]!="transparent"?C[19]:0)+"px 0;";for(j=0;j<u.children.length-1;)u.children[j++].runtimeStyle.cssText=s}}c_iL(r);if(r.PP){r.onmouseover=c_mV;r.onmouseout=c_mU}if(c_iEW)r.style.backgroundImage="url(https://)";if(c_findCURRENT)c_fC(r);r.IN=2};function c_mN(){if(c_oP7m||c_kNv&&!c_kN||c_iC||c_iEMo||c_M)return;if(typeof c_L!=c_u)c_M=1;var m,r,h,u,U,c,l;for(m in c_menus){r=(c_iEM||c_gC&&c_pS<20040113&&c_x)&&!c_M?0:c_gO(m);if(!r){c=1}else if(!r.IN){if(c_iEW){h=r.outerHTML||"";u=(h.match(/<UL/ig)||"").length;U=(h.match(/<\/UL/ig)||"").length}if(u&&u==U||r.nextSibling||c_M){l=r.lastChild;while(c_nN(l)!="LI")l=l.previousSibling;if(c_gA(l).offsetHeight){if(typeof c_dB==c_u)c_dB=c_gT(c_d,"body")[0];r.IN=1;c_iM(m,r)}else{c=1}}else{c=1}}}if(c)setTimeout("c_mN()",100)};function c_cS(){var A=[],c,C,m,M,N,p,f,r,h,t,i,a,P,x,y,Q=c_r?"right":"left",s,E="/",F="*",D=E+F+F+E,H,T,L,R;s={b:"background-image:",d:"display:block;",f:"float:left;",g:"float:"+Q+";",h:"* html>body ",i:" !important;",l:"float:none;",m:"margin:0",p:"padding:0",r:"margin-left:",s:"screen,projection",t:"transparent",w:"white-space:",x:"px 0 0;",y:":visited",z:">li{left:0;}",A:"position:absolute;",B:"background",C:" li a.CURRENT",D:"{position:fixed;}* html ul#",F:":first-child",H:"height:1%;",I:"display:inline;",N:" li a.NOROLL",R:"position:relative;",S:"position:static;",T:"text-decoration:",W:"width:100%;",X:"border-color:",Y:"border-style:",Z:"border-width:"};for(c in c_styles)A[A.length]="."+c;c_[0]+=A.join(",")+","+A.join(" li,")+" li{"+s.d+"list-style:none;"+s.p+";"+s.m+";line-height:normal;direction:ltr;}"+A.join(" li,")+" li{"+s.R+s.B+":none;}"+A.join(" a,")+" a{"+s.d+s.R+(c_r?"direction:rtl;":"")+"}"+s.h+A.join(" a,"+s.h)+" a{"+s.S+"}* html "+A.join(" li,* html ")+" li{"+s.I+s.W+"display"+D+":block;float"+D+":left;}*"+s.F+"+html "+A.join(" li,*"+s.F+"+html ")+" li{"+s.W+s.f+"}"+s.h+A.join(" li,"+s.h)+" li{"+s.d+"width:auto;}"+A.join(" ul,")+" ul{display:none;"+s.A+"top:-9999px;width:11px;overflow:hidden;z-index:11111;}ul"+D+A.join(" ul,ul"+D)+" ul{"+s.d+"}* html "+A.join(" ul,* html ")+" ul{"+s.d+"}.NOSEPARATOR{"+s.Z+"0"+s.i+s.p+s.i+s.m+s.i+"}.NOLINK{cursor:default"+s.i+"}";for(m in c_menus){M=c_menus[m][0];N=c_menus[m][1];C=c_styles[M[9]];p=M[1]=="popup";f=M[1]=="fixed";r=M[1]=="relative";h=M[0]=="horizontal";a=N[2]=="auto";P=M[5]&&!p?"bottom":"top";x="#"+m;if(!p)C[3]=1;c_[0]+=x+"{"+(!p?s.Z+"0;"+s.p+";"+s.B+"-color:"+s.t+";"+s.b+"none;":"")+"z-index:"+(p?10900:9999)+";position:"+(p?"absolute":h&&r?"static":M[1])+";height:auto;}"+x+" ul{"+(M[4]&&!h||c_r?"right:0;":"left:-800px;")+"}"+(f?"ul"+x+"{"+s.A+"}ul"+D+x+s.D+m+"{"+s.A+"}ul"+D+x+" ul"+s.D+m+" ul{"+s.A+"}":"");if(!c_gC)c_[1]+="ul"+x+" ul{"+s.A+"}";c_[c_r?0:1]+="* html "+x+" a{"+(!h||p?s.H:c_r?s.S:"")+"}*"+s.F+"+html "+x+" a{"+(!h||p?"min-"+s.H:s.S)+"}"+(!h||p?s.h+x+" a{height:auto;}":"");if(!h||p){c_[0]+=x+"{"+P+":"+(p?"-9999px":M[3])+";"+(M[4]&&!p?"right":Q)+":"+(p?"0":M[2])+";width:"+M[8]+";}";if(r)c_[0]+=s.h+x+">li{"+s.r+(M[4]?"":"-")+M[2]+s.i+s.W+"}"+s.h+x+">li"+s.F+"{"+s.r+"0"+s.i+"}"}else{c_[0]+=x+"{"+P+":0;"+Q+":0;"+s.W+(r?"padding-"+P+":"+M[3]+";"+s.g:"margin-"+P+":"+M[3]+";")+"}"+x+" li{"+s.g+"width:auto;left:"+(c_r?"-":"")+M[2]+";}";C=C[1];if(C[16]>0){t=C[18]==s.t;y="li{"+s.Z+"0 "+(t?0:C[16])+s.x+s.p+" "+(t?C[19]*2+C[16]:C[19])+s.x+s.m+" "+(t?0:C[19])+s.x+"}";c_[0]+=x+">"+y+"@media "+s.s+"{* html "+x+" "+y+"}"}c_[0]+=x+" a{"+s.w+" "+D+"nowrap;}head"+s.F+"+body "+x+s.z+"*>*>html:lang(en),"+x+s.z+x+">li"+s.F+"{margin-"+Q+":"+M[2]+s.i+"}"+x+">li>a{"+E+F+E+F+E+E+F+E+s.f+E+F+" "+F+E+"}"+s.h+x+">li>a{"+s.g+"}"+(r?"* html "+x+"{"+s.l+"}":"")+s.h+x+">li{"+s.l+"}"+(c_r?"":"* html>bo\\64 y "+x+">li{"+s.g+"}");c_[1]+=x+" ul li{left:0;"+(c_iEW?s.W:"")+"}"}c_[0]+=x+" ul li{"+s.l+"}";c_[1]+=x+" ul a{"+(c_iEW?s.H:"")+(c_iEWo&&h&&!p&&!c_r?s.S:"")+(!c_iEWo&&a?c_iE7?"display:inline-block;":s.I:"")+s.w+(a&&!c_iEW5x?"nowrap":"normal")+";}"+x+" ul{"+(c_iEW?"overflow:scroll;height:11px;":"")+(a?"":"width:"+N[2]+";")+"}"+(c_nS?x+" li{"+s.S+"}":"")}for(c in c_styles){m=c_styles[c][0];i=c_styles[c][1];x="."+c;y=x+" li a";c_[c_styles[c][3]?0:1]+=x+"{"+s.Z+m[0]+"px;"+s.Y+m[1]+";"+s.X+m[2]+";padding:"+m[3]+"px;"+c_cI(m[4])+(m[5]!=""?"filter:"+m[5]+";":"")+(m[6]+(m[6]!=""&&m[6].charAt(m[6].length-1)!=";"?";":""))+"}"+x+" li{"+s.Y+i[17]+";"+s.X+i[18]+";"+s.Z+"0 0 "+(i[18]==s.t?0:i[16])+"px 0;"+s.p+" 0 "+(i[16]>0?i[18]==s.t?i[19]*2+i[16]:i[19]:0)+"px 0;"+s.m+" 0 "+(i[16]>0&&i[18]!=s.t?i[19]:0)+"px 0;}"+x+s.C+","+x+s.C+":link,"+x+s.C+s.y+"{"+s.Z+i[0]+"px;"+s.Y+i[32]+";"+s.X+i[33]+";"+c_cI(i[34])+"color:"+i[35]+";"+s.T+i[36]+";"+(i[40]+(i[40]!=""&&i[40].charAt(i[40].length-1)!=";"?";":""))+"}"+y+","+y+":link{cursor:pointer;"+s.Z+i[0]+"px;"+s.Y+i[1]+";"+s.X+i[3]+";padding:"+i[5]+"px;"+c_cI(i[6])+"color:"+i[8]+";font-size:"+i[10]+";font-family:"+i[11]+";font-weight:"+i[12]+";"+s.T+i[13]+";text-align:"+i[15]+";"+(i[38]+(i[38]!=""&&i[38].charAt(i[38].length-1)!=";"?";":""))+"}"+y+s.y+"{"+s.Z+i[0]+"px;"+s.Y+i[26]+";"+s.X+i[27]+";"+c_cI(i[28])+"color:"+i[29]+";"+s.T+i[30]+";"+(i[41]+(i[41]!=""&&i[41].charAt(i[41].length-1)!=";"?";":""))+"}"+y+":hover,"+y+":focus,"+y+":active,"+y+x+"O,"+y+x+"O:link,"+y+x+"O"+s.y+","+x+s.C+":hover,"+x+s.C+":focus,"+x+s.C+":active{"+s.Z+i[0]+"px;"+s.Y+i[2]+";"+s.X+i[4]+";"+c_cI(i[7])+"color:"+i[9]+";"+s.T+i[14]+";"+(i[39]+(i[39]!=""&&i[39].charAt(i[39].length-1)!=";"?";":""))+"}"+x+s.N+"{"+s.Y+i[1]+s.i+s.X+i[3]+s.i+c_cI(i[6],s.i)+"color:"+i[8]+s.i+s.T+i[13]+s.i+"}";if(i[20])c_[1]+=x+s.C+" "+x+"S,"+x+s.C+":link "+x+"S,"+x+s.C+s.y+" "+x+"S{"+c_cI(i[37])+"}"+y+" "+x+"S,"+y+":link "+x+"S{"+s.d+s.A+c_cI(i[21])+s.B+"-repeat:no-repeat;width:"+i[23]+"px;height:"+i[24]+"px;font-size:8px;display:none;}"+y+s.y+" "+x+"S{"+c_cI(i[31])+"}"+y+":hover "+x+"S,"+y+":focus "+x+"S,"+y+":active "+x+"S,"+y+x+"O "+x+"S,"+y+x+"O:link "+x+"S,"+y+x+"O"+s.y+" "+x+"S,"+x+s.C+":hover "+x+"S,"+x+s.C+":focus "+x+"S,"+x+s.C+":active "+x+"S{"+c_cI(i[22])+"}"+x+s.N+" "+x+"S{"+c_cI(i[21])+"}"}R=c_[0]+(!c_oP7m&&(!c_kNv||c_kN)&&!c_iC&&!c_iEMo?c_[1]:"");if(!c_oP7m)H=c_gT(c_d,"head")[0];T=c_d.styleSheets;L=T?T.length:0;if(H&&(T||c_oPv>=7.5)&&!c_iEM&&(!c_gC||c_x)&&(!c_kNv||c_kN)&&(!c_sF||c_sFv>=400)){var S=c_cE("style",H);S.setAttribute("type","text/css");S.setAttribute("media",s.s);H.appendChild(S);if(T&&T.length>L&&T[L].insertRule){T=T[L];R=R.replace(/}([^}])/g,"}|$1").split("|");for(i=0;i<R.length;)try{T.insertRule(R[i++],T.cssRules.length)}catch(e){}}else{c_iE?T[L].cssText=R:S.appendChild(c_d.createTextNode(R))}}else{c_d.write('<style type="text/css" media="'+s.s+'">'+R+'</style>')}c_mN()};if(c_dl||c_oP){c_wL=c_w.onload||0;c_w.onload=function(){c_L=1;if(c_wL)c_wL()};c_cS()}

function c_show(m,e){if(typeof c_dl=="undefined"||!c_dl)return;u=c_gO(m);if(!u||u.IN!=2)return;if(!u.PP){alert('ERROR\n\nSmartMenus 6 Popup Menus Add-on:\n\nYou are calling the "'+m+'" menu, which is not set as a popup menu in the config file.\nThe c_show() function can only be used to show menus that have "Position" set to \'popup\'.');return}c_mV();if(u.style.display=="block")return;c_hD();c_S[1]=u;var S,w,h,x,y,mouseX,mouseY,t,targetX,targetY,targetW,targetH,menuW,menuH,C,c,D;S=u.style;if(!u.FM){S.visibility="hidden";u.FM=1}S.display="block";w=u.offsetWidth;h=u.offsetHeight;c=c_gW();if(e){D=c_qM?c_dB:c_dE;mouseX=e.pageX||e.clientX+c.x-(c_rL()?D.offsetWidth-c.w:0);mouseY=e.pageY||e.clientY+c.y;t=e.target||e.srcElement;while(t.nodeType!=1)t=t.parentNode;C=c_cA(t);targetX=C.x;targetY=C.y;targetW=t.offsetWidth;targetH=t.offsetHeight}menuW=u.offsetWidth;menuH=u.offsetHeight;x=!arguments[2]?mouseX:eval(arguments[2]);y=!arguments[3]?mouseY:eval(arguments[3]);if(c_r&&x<c.x)x=c.x;else if(x+w>c.x+c.w)x=c.x+c.w-w;if(h<c.h&&y+h>c.y+c.h)y=c.y+c.h-h;else if(h>=c.h||y<c.y)y=c.y;S.right="auto";S.left=x+"px";S.top=y+"px";if(c_F[0])c_iF(u,w,h,x,y);if(c_F[1])c_hS();c_sH(u)};function c_hide(){if(typeof c_dl=="undefined"||!c_dl)return;c_mU()};function c_oF(){c_mV();c_c=this;if(!c_gL(c_c).parentNode.PP)c_sM(1)}