var tkFragmentHeaderSettings = {
  'internet.aerospace': {
    company: 'ThyssenKrupp Aerospace NA',
    division: 'TMX Aerospace',
    quickmenu: {
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.ainp': {
    company: 'ThyssenKrupp Materials NA',
    division: 'AIN Plastics Division',
    quickmenu: {
      'Home': { node: ['484'], href: '/'},
      'Contact': { node: ['663'], href: '/contact/'},
      'Sitemap': { node: ['664'], href: '/sitemap/'},
      'Search': { node: ['665'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.cnb': {
    company: 'ThyssenKrupp Materials NA',
    division: 'Copper and Brass Sales Division',
    quickmenu: {
      'Home': { node: ['50'], href: '/'},
      'Contact': { node: ['456'], href: '/contact/'},
      'Sitemap': { node: ['457'], href: '/sitemap/'},
      'Search': { node: ['458'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'},
      'Fran\u00e7ais': { node: ['0'], href: 'http://www.copperandbrass.com/cnb/fr/'}
    }
  },
  'internet.kmm': {
    company: 'ThyssenKrupp Materials NA',
    division: 'Ken-Mac Metals Division',
    quickmenu: {
      'Home': { node: ['637'], href: '/'},
      'Contact': { node: ['643'], href: '/contact/'},
      'Sitemap': { node: ['644'], href: '/sitemap/'},
      'Search': { node: ['666'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.mtkl': {
    quickmenu: {
      'Home': { node: ['3'], href: '/'},
      'Contact': { node: ['11'], href: '/contact/'},
      'Sitemap': { node: ['9'], href: '/sitemap/'},
      'Search': { node: ['10'], href: '/search/'}
    }
  },
  'internet.tkhg': {
    company: 'ThyssenKrupp Materials NA',
    division: 'ThyssenKrupp Industrial Services',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['240'], href: '/'},
      'Contact': { node: ['345'], href: '/contact/'},
      'Sitemap': { node: ['344'], href: '/sitemap/'},
      'Search': { node: ['313'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.tkmna': {
    company: 'ThyssenKrupp Materials NA',
    quickmenu: {
      'Home': { node: ['49'], href: '/'},
      'Contact': { node: ['431'], href: '/contact/'},
      'Sitemap': { node: ['433'], href: '/sitemap/'},
      'Search': { node: ['432'], href: '/search/'}
    }
  },
  'internet.tkssd': {
    company: 'ThyssenKrupp Materials NA',
    division: 'ThyssenKrupp Steel Services',
    quickmenu: {
      'Home': { node: ['486'], href: '/'},
      'Contact': { node: ['654'], href: '/contact/'},
      'Sitemap': { node: ['655'], href: '/sitemap/'},
      'Search': { node: ['656'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.tksst': {
    company: 'ThyssenKrupp Materials NA',
    division: 'ThyssenKrupp Steel Services Trading',
    quickmenu: {
      'Home': { node: ['482'], href: '/'},
      'Contact': { node: ['651', '670'], href: '/contact/'},
      'Sitemap': { node: ['652'], href: '/sitemap/'},
      'Search': { node: ['653'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.tkxa': {
    company: 'ThyssenKrupp Aerospace NA',
    quickmenu: {
      'Home': { node: ['480'], href: '/'},
      'Contact': { node: ['660'], href: '/contact/'},
      'Sitemap': { node: ['661'], href: '/sitemap/'},
      'Search': { node: ['662'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.tkxl': {
    company: 'ThyssenKrupp Industrial Services',
    division: 'TKX Logistics',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['269'], href: '/'},
      'Contact': { node: ['387'], href: '/contact/'},
      'Sitemap': { node: ['369'], href: '/sitemap/'},
      'Search': { node: ['314'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'internet.tmxa': {
    company: 'ThyssenKrupp Aerospace NA',
    division: 'TMX Aerospace',
    quickmenu: {
      'Home': { node: ['478'], href: '/'},
      'Contact': { node: ['657', '669'], href: '/contact/'},
      'Sitemap': { node: ['658'], href: '/sitemap/'},
      'Search': { node: ['659'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'intranet.sap': {
    company: 'ThyssenKrupp Materials NA',
    division: 'Project OPUS',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['488'], href: '/'},
      'Contact': { node: ['711'], href: '/contact/'},
      'Sitemap': { node: ['709'], href: '/sitemap/'},
      'Search': { node: ['508'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'intranet.tkmna': {
    company: 'ThyssenKrupp Materials NA',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['16'], href: '/'},
      'Contact': { node: ['331'], href: '/contact/'},
      'Sitemap': { node: ['333'], href: '/sitemap/'},
      'Search': { node: ['315'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'}
    }
  },
  'intranet.tkhg': {
    company: 'ThyssenKrupp Materials NA',
    division: 'ThyssenKrupp Industrial Services',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['300'], href: '/'},
      'Contact': { node: ['330'], href: '/contact/'},
      'Sitemap': { node: ['328'], href: '/sitemap/'},
      'Search': { node: ['335'], href: '/search/'},
      'tkmna intranet': { node: ['0'], href: 'http://intranet.tkmna.com/'}
    }
  },
  'intranet.tmxa': {
    company: 'ThyssenKrupp Aerospace NA',
    division: 'TMX Aerospace',
    dropdownMenus: true,
    quickmenu: {
      'Home': { node: ['94'], href: '/'},
      'Contact': { node: ['334'], href: '/contact/'},
      'Sitemap': { node: ['348'], href: '/sitemap/'},
      'Search': { node: ['127'], href: '/search/'},
      'tkmna.com': { node: ['0'], href: 'http://www.tkmna.thyssenkrupp.com/'},
      'tkmna intranet': { node: ['0'], href: 'http://intranet.tkmna.com/'}
    }
  }
}

function tkFragmentHeaderChange(id, display, visibility) {
  var e = document.getElementById(id + ".subMenu");
  if (e) {
    e.style.display = display;
    e.style.visibility = visibility;
  }
}

function tkFragmentHeaderShow(id) {
  tkFragmentHeaderChange(id, 'block', 'visible');
}

function tkFragmentHeaderHide(id) {
  tkFragmentHeaderChange(id, 'none', 'collapse');
}

var TkFragmentHeader = Class.create();
TkFragmentHeader.prototype = {
  initialize: function(container, id, assetPath, options) {
    this.container = container;
    this.id = id;
    this.assetPath = tkRootCMS + assetPath;
    this.options = {
      site: tkSite
    };
    Object.extend(this.options, options || {});
  },

  writeShield: function(list, settings) {
    list.push('<a href="http://www.thyssenkrupp.com/"><div class="tkShield"></div><a>');
  },

  writeCompany: function(list, settings) {
    var company = settings.company;
    if (company) {
      list.push('<div class="tkCompany"><a href="' + tkRoot + '">');
      list.push('<span class="tkCompanyName">' + company + '</span>');
      if (tkNetwork == 'intranet') {
        list.push('<span class="tkIntranet">Intranet</span>');
      }
      list.push('<br />');
      var division = settings.division;
      if (division) {
        list.push('<span class="tkDivisionName">' + division + '</span>');
      }
      list.push('</a></div>');
    }
  },

  writeQuickMenu: function(list, settings) {
    var menu = settings.quickmenu;
    list.push('<div class="tkQuickMenu">');
    $H(menu).each(function(e, i) {
      var href = e.value.href;
      if (href.charAt(0) == '/') {
        href = tkRoot + href.substring(1);
      }
      var on = (e.value.node).include(tkNode) ? ' class="selected"' : '';
      list.push('<table cellpadding="0" cellspacing="0"' + on + '>'); 
      list.push('<tr><td class="left"></td><td class="center">');
      list.push('<a href="' + href + '">' + e.key + '</a>');
      list.push('</td><td class="right"></td></tr></table>');
    });
    list.push('</div>');
  },

  writeMainMenu: function(list, settings) {
    list.push('<div class="tkMainMenu">');
    for (var i = 0; i < g_navNode_Root.m_subNodes.length; i++) {
      var item = g_navNode_Root.m_subNodes[i];
      var id = item.m_id;

      var dropdownMenus = settings.dropdownMenus == true;
      dropdownMenus = dropdownMenus && item.m_subNodes.length > 0;

      var mouse = '';
      if (dropdownMenus) {
        mouse = ' onmouseover="tkFragmentHeaderShow(' + id + ');" onmouseout="tkFragmentHeaderHide(' + id + ');"';
      }
        
      var on = (id == g_navNode_Path[1]) ? ' class="selected"' : '';
      list.push('<table cellpadding="0" cellspacing="0" id="' + id + '.wrap"' + on + mouse + '>');
      list.push('<tr class="main"><td class="left"></td><td class="center">');

      this.writeMenuItem(list, dropdownMenus, item);
        
      list.push('</td><td class="right"></td></tr>');
      if (dropdownMenus) {
        list.push('<tr><td class="spacer" colspan="3"' + mouse + '></td></tr>');
      }
      list.push('</table>');
    }
    list.push('</div>');
  },

  writeMenuItem: function(list, dropdownMenus, item) {
    var id = item.m_id;
    var href = item.m_href;
    var label = item.m_label;
    if (item.m_level != 1) {
      label += '    ';
    }
    label = label.replace(/\s/g, '&nbsp;');
    
    dropdownMenus = dropdownMenus && item.m_subNodes.length > 0;

    var mouse = ' onmouseover="tkFragmentHeaderShow(' + id + ');" onmouseout="tkFragmentHeaderHide(' + id + ');"';
    if (item.m_level == 1 && dropdownMenus) {
      list.push('<div class="menuItem" id="' + id + '"' + mouse + '>' + label + '</div>');
    } else {
      // list.push('<a class="menuItem" id="' + id + '" href="' + href + '">' + label + '</a>');
      list.push('<a id="' + id + '" href="' + href + '">');
      list.push('<div class="menuItem" id="' + id + '">' + label + '</div>');
      list.push('</a>');
    }

    if (!dropdownMenus) {
      return;
    }

    if (item.m_level == 1) {
      list.push('<div class="menuChild" id="' + id + '.subMenu" ');
      list.push(' style="left: auto; top: 27px;"');
      list.push(' onmouseover="tkFragmentHeaderShow(' + id + ');" onmouseout="tkFragmentHeaderHide(' + id + ');">');
    } else {
      list.push('<div class="something" style="position: absolute !important; right: 4px; top: auto;">');
      list.push('<div class="menuChild" id="' + id + '.subMenu" ');
      list.push(' style="left: -5px; top: -20px;"');
      list.push('>');
    }
    list.push('<div class="menuChildContent">');
    for ( var i = 0; i < item.m_subNodes.length; i++) {
      var child = item.m_subNodes[i];
      var id = child.m_id;
      var mouse = '';
      if (child.m_subNodes.length > 0) {
        mouse = ' onmouseover="tkFragmentHeaderShow(' + id + ');" onmouseout="tkFragmentHeaderHide(' + id + ');"';
      }
      list.push('<div class="menuChildContentRow"' + mouse + '>');
      this.writeMenuItem(list, dropdownMenus, child);
      list.push('</div>');
    }
    list.push('</div></div>');
    if (item.m_level != 1) {
      list.push('</div>');
    }
  },

  write: function() {
    var site = this.options.site;
    var settings = tkFragmentHeaderSettings[site] || tkFragmentHeaderSettings['default'];
    if (settings) {
      var list = [];
      // list.push('<div id="' + this.container + '">');
      var network = (tkIntranet == true) ? 'tkHeaderIntranet' : 'tkHeaderInternet';
      list.push('<div id="' + this.id + '" class="' + network + '">');
      this.writeShield(list, settings);
      this.writeCompany(list, settings);
      this.writeQuickMenu(list, settings);
      this.writeMainMenu(list, settings);
      list.push('</div>');
      // list.push('</div>');
      list.each(function(html) { document.write(html) });
    }    
  }
}

var tkFragmentHeader = new TkFragmentHeader('tkLayoutHeader', 'tkFragmentHeader', '/fragments/tkheader/', {});
tkFragmentHeader.write();

