/*
  Copyright : tategakibunko
  site : http://tategakibunko.mydns.jp
  blog : http://tategakibunko.blog83.fc2.com

  Software license is now under consideration,

  so DO NOT redistribute this file please.
*/


var GridParamParser={parse:function(e){var d=e.split(/[\s\t]/);var b={direction:"vertical",fontSize:16,width:400,height:300,order:0};for(var c=0;c<d.length;c++){var a=d[c];if(a=="ws-vertical"){b.direction="vertical"}else{if(a=="ws-horizontal"){b.direction="horizontal"}else{if(a.match(/bp-span-([0-9]+)/)){b.width=parseInt(RegExp.$1)*40-10}else{if(a.match(/ws-width-([0-9]+)/)){b.width=parseInt(RegExp.$1)}else{if(a.match(/ws-height-([0-9]+)/)){b.height=parseInt(RegExp.$1)}else{if(a.match(/ws-font-size-([0-9]+)/)){b.fontSize=parseInt(RegExp.$1)}else{if(a.match(/ws-order-([0-9]+)/)){b.order=parseInt(RegExp.$1)}}}}}}}}return b}};function GridGroup(b){this.grids=b.sort(function(e,d){return(e.order-d.order)});var a=this.grids[0];var c=a.node.innerHTML.replace(/<br \/>/gi,"\n").replace(/<br>/gi,"\n");this.page=0;this.parser=new WashiStreamParser(new WashiLayout({direction:a.direction,width:a.width,height:a.height,fontSize:a.fontSize,kinsokuCharCount:1,letterSpacingRate:0.12,charImgRoot:"/img/char-black"}),new WashiTextStream(c,c.length,true))}GridGroup.prototype.render=function(){for(var c=0;c<this.grids.length;c++){var b=this.grids[c];this.parser.layout.setDirection(b.direction);this.parser.layout.setWidth(b.width);this.parser.layout.setHeight(b.height);this.parser.layout.setFontSize(b.fontSize);this.parser.layout.initialize();var a=this.parser.outputPage(this.page);if(a!=""){b.node.innerHTML=a;b.node.style.display="inline";this.page++}}var d=function(e){var f=document.createElement("div");f.innerHTML=e;f.style.display="inline";return f};while(this.parser.hasNextPage()){var a=this.parser.outputPage(this.page);if(a!=""){b.node.appendChild(d(a));this.page++}else{break}}};var WashiGridApp={start:function(){ImageSizeDb.parseDocument();var b=document.getElementsByTagName("pre");var e=function(k,l,i){var j=GridParamParser.parse(i);j.node=k;return j};var g={};for(var c=0;c<b.length;c++){var f=b[c];if(f.className.match(/ws-group-([a-zA-Z0-9]+)/)){var h=RegExp.$1;var a=f.className;var d=e(f,h,a);if(typeof g[h]=="undefined"){g[h]=[d]}else{g[h].push(d)}}}for(var h in g){(new GridGroup(g[h])).render()}}};
