connect(window, 'onresize', function(e) {
  if (!this.body)
    this.body = cssQuery('body')[0];
  
  if (!this.body)
    return;
    
  if (!this.body.mediaType)
    return;
  
  if (!this._list) {
    this._list = {
      'screen': {
        'minute': [0],
        'tiny': [640],
        'small': [800],
        'medium': [1024],
        'large': [1280]
      }
    };
    
  }
  
  if (!this._list[this.body.mediaType])
    return;
  
  var sizes = this._list[this.body.mediaType];
  var dimensions = getViewportDimensions();
  
  for (var i in sizes) {
    removeElementClass(this.body, i);
    
  }
  
  for (var i in sizes) {
    var max_width = sizes[i][0];
    
    if (dimensions.w >= max_width) {
      addElementClass(this.body, i);
      
    }
    
  }
  
});

connect(window, 'onload', function(e) {
  var media_types = {
    'screen': '0px',
    'print': '1px',
    'handheld': '2px'
  };
  
  var element = SPAN({'id': 'detect-media-type'}, null, null);
  var body = cssQuery('body')[0];
  
  appendChildNodes(body, element);
  
  var top = getStyle(element, 'top');
  
  for (var media in media_types) {
    if (media_types[media] != top) continue;
    
    body.mediaType = media;
    
  }
  
  signal(window, 'onresize');
  
  if (body.mediaType == 'screen') {
    headers = cssQuery('h2, h3, h4, h5, h6', getElement('content'));
    
    for (var i = 0; i < headers.length; i++) {
      var node = headers[i];
      
      var text = window.encodeURIComponent(scrapeText(node));
      
      node.innerHTML = '<img src="http://www.boxdesign.co.uk/@@/skin/header/' +
        node.tagName.toLowerCase() + '/' + text +
        '?print=true" alt="" />';
      
      addElementClass(node, 'replaced');
      
      setStyle(node, {'backgroundImage': 'url(http://www.boxdesign.co.uk' + 
        '/@@/skin/header/' + node.tagName.toLowerCase() + '/' +
        text + ')'});
      
    }
    
  }
  
});
