// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// html.js
// Copyright (c) 2004-2010 ipHouse.  All rights reserved.

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// add load event

  function load_event (f) {
    if (window.addEventListener) {
      window.addEventListener('load',f,false);
    } else if (window.attachEvent) {
      window.attachEvent('onload',f);
    } else if (window.onload) {
      var x = window.onload;
      window.onload = function (e) { x(e); window[f](); };
    } else {
      window.onload = f;
    }
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// initialize widgets

  function init_widgets () {
    var widgets = '';
    var html = '';

    if (widget_div = $('widgets')) {
      if (list = nav_widgets()) html += list;
      if (list = page_widgets()) html += list;

      if (source = $('admin_links')) {
        html += source.innerHTML;
      }
      if (html) widget_div.innerHTML = html;
    }
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// promote navigation links to widgets

  function nav_widgets () {
    var widgets = '';

    if (source = $('nav-webmail')) {
      widgets += '<li id="webmail">' + source.innerHTML + '</li>';
      source.style.display = 'none';
    }
    if (source = $('nav-ipmom')) {
      widgets += '<li id="ipmom">' + source.innerHTML + '</li>';
      source.style.display = 'none';
    }
    if (widgets) return '<ul>' + widgets + '</ul>';
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// common page widgets

  function page_widgets () {
    var widgets = '';

    if (window.print) {
      link = '<a href="#" onclick="window.print()">Print</a>';
      widgets += '<li id="print">' + link + '</li>';
    }
    if (widgets) return '<ul>' + widgets + '</ul>';
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// move content to sidebar

  function sidebar_content (src_id) {
    var source = $(src_id);
    var sidebar = $('right_sidebar');

    if (source && sidebar) {
      sidebar.style.display = 'block';

      if (source.cloneNode) {
        var content = source.cloneNode(true);

        while (sidebar.firstChild) {
          sidebar.removeChild(sidebar.firstChild);
        }
        sidebar.appendChild(content);
      } else {
        var html = source.innerHTML;
        sidebar.innerHTML = html;
      }
      source.style.display = 'none';
    }
  }

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// showtime

  document.observe('dom:loaded',init_widgets);

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
