//#############################################
// Source: AbstractBorderDecorator.js
// Size: 1485
// Hash: 445349550
//#############################################
// AbstractBorderDecorator.js
//
// Decorates Modules with arbitrary borders as defined in subclasses.  Used for both edit mode and display mode.
// To create a new border subclass, define options.borderPre and options.borderPost with some HTML that includes an element with class=".content"
// at the point of content injection.


var AbstractBorderDecorator = new Class({

  name: 'None',  // override me
  characteristicColor: '#ffffff', // override me.  Used in the module toolbar's Border select box

  borderPre: '',  // override me
  borderPost: '',  // override me
  borderWidth: 0,  // override me
  borderHeight: 0,  // override me
  
  // inject a new decorated container into the passed-in container, and return the decorated container
  injectDecoratedContainer: function(container, shrinkToFit)
  {
    var pre = this.borderPre;
    if (shrinkToFit) pre = pre.replace('border_table', 'border_table_shrink');
  
    container.innerHTML = pre + this.borderPost;
    var decoratedContainer = container.getElement('.content') || container;  // if there's no .content element in the container, return the container itself
 
    return decoratedContainer;
  },
  
  decorateHTML: function(html, shrinkToFit)
  {
    var pre = this.borderPre;
    if (shrinkToFit) pre = pre.replace('border_table', 'border_table_shrink');
  
    return pre + html + this.borderPost;
  },
  
  getSize: function()
  {
    return { width: this.borderWidth, height: this.borderHeight };
  }
  
});

//#############################################
// Source: BorderNone.js
// Size: 170
// Hash: -22601194
//#############################################
AbstractBorderDecorator.BorderNone = new Class({
  Extends: AbstractBorderDecorator
  // the defaults from the abstract base class work just fine for a none border
});
//#############################################
// Source: BorderBlueSmall.js
// Size: 2160
// Hash: -55120563
//#############################################
AbstractBorderDecorator.BorderBlueSmall = new Class({
  Extends: AbstractBorderDecorator,

  name: 'Blue 15px',
  characteristicColor: '#B9DFF6',

  borderPre: '<table class=border_table><tr><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_01.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_01.png" style="visibility:hidden;"></td><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_02.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_02.png" width=0></td><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_03.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_03.png" style="visibility:hidden;"></td></tr><tr><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_04.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_04.png" height=0></td><td class="content" background="/js/borders/BorderBlueSmall/BorderBlueSmall_05.png">',
  borderPost: '</td><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_06.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_06.png" height=0></td></tr><tr><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_07.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_07.png" style="visibility:hidden;"></td><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_08.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_08.png" width=0></td><td background="/js/borders/BorderBlueSmall/BorderBlueSmall_09.png"><img src="/js/borders/BorderBlueSmall/BorderBlueSmall_09.png" style="visibility:hidden;"></td></tr></table>',

  borderWidth: 15,
  borderHeight: 15

});


if (is_defined("KimiPage")) KimiPage.preloadImages([
  '/js/borders/BorderBlueSmall/BorderBlueSmall_01.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_02.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_03.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_04.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_05.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_06.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_07.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_08.png',
  '/js/borders/BorderBlueSmall/BorderBlueSmall_09.png'
]);

//#############################################
// Source: BorderBlue.js
// Size: 1803
// Hash: -1188679605
//#############################################
AbstractBorderDecorator.BorderBlue = new Class({
  Extends: AbstractBorderDecorator,

  name: 'Blue 25px',
  characteristicColor: '#B9DFF6',

  borderPre: '<table class=border_table><tr><td background="/js/borders/BorderBlue/border3_tl.png"><img src="/js/borders/BorderBlue/border3_tl.png" style="visibility:hidden;"></td><td background="/js/borders/BorderBlue/border3_t.png"><img src="/js/borders/BorderBlue/border3_t.png" width=0></td><td background="/js/borders/BorderBlue/border3_tr.png"><img src="/js/borders/BorderBlue/border3_tr.png" style="visibility:hidden;"></td></tr><tr><td background="/js/borders/BorderBlue/border3_l.png"><img src="/js/borders/BorderBlue/border3_l.png" height=0></td><td class="content" background="/js/borders/BorderBlue/border3_c.png">',
  borderPost: '</td><td background="/js/borders/BorderBlue/border3_r.png"><img src="/js/borders/BorderBlue/border3_r.png" height=0></td></tr><tr><td background="/js/borders/BorderBlue/border3_bl.png"><img src="/js/borders/BorderBlue/border3_bl.png" style="visibility:hidden;"></td><td background="/js/borders/BorderBlue/border3_b.png"><img src="/js/borders/BorderBlue/border3_b.png" width=0></td><td background="/js/borders/BorderBlue/border3_br.png"><img src="/js/borders/BorderBlue/border3_br.png" style="visibility:hidden;"></td></tr></table>',

  borderWidth: 25,
  borderHeight: 25

});


if (is_defined("KimiPage")) KimiPage.preloadImages([
  '/js/borders/BorderBlue/border3_tl.png',
  '/js/borders/BorderBlue/border3_t.png',
  '/js/borders/BorderBlue/border3_tr.png',
  '/js/borders/BorderBlue/border3_l.png',
  '/js/borders/BorderBlue/border3_c.png',
  '/js/borders/BorderBlue/border3_r.png',
  '/js/borders/BorderBlue/border3_bl.png',
  '/js/borders/BorderBlue/border3_b.png',
  '/js/borders/BorderBlue/border3_br.png'
]);

