pragmaticLogic.BoardConst={CX:60,CY:60,HALF_CX:30,HALF_CY:30,LINES_X:9,LINES_Y:10,OFFSET_X:105,OFFSET_Y:310,PIECE_HALF_SIZE:25,LEGAL_MOVE_HALF_SIZE:8,SELECTION_HALF_SIZE:27,GENERAL_CHECKED_HALF_SIZE:34,BOARD_SIZE:90};pragmaticLogic.Board=function(){var b;var a;return{X_LOOKUP:[0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,0,1,2,3,4,5,6,7,8,],Y_LOOKUP:[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,],init:function(){b=new jsGraphics("canvas");a=new jsGraphics("canvas2");a.setColor("#FBD61A");a.setStroke(2)},createLegalMarkers:function(){for(var e=0;e<pragmaticLogic.BoardConst.BOARD_SIZE;e++){var d=pragmaticLogic.Board.X_LOOKUP[e];var f=pragmaticLogic.Board.Y_LOOKUP[e];var c=document.createElement("div");c.setAttribute("class","legalMove");c.setAttribute("className","legalMove");c.setAttribute("id","legalMove_"+e);if(Browser.Engine.trident){c.style.background="none";c.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/media/images/legal.png",sizingMethod="crop"'}else{c.style.backgroundImage="url(/media/images/legal.png)"}c.style.position="absolute";c.style.left=pragmaticLogic.BoardConst.CX*d+pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.LEGAL_MOVE_HALF_SIZE+"px";c.style.top=pragmaticLogic.BoardConst.CY*f+pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.LEGAL_MOVE_HALF_SIZE+"px";c.style.zIndex=101;c.style.visibility="hidden";$("legalMoves").appendChild(c)}},createSelectionMarkers:function(){for(var e=0;e<pragmaticLogic.BoardConst.BOARD_SIZE;e++){var d=pragmaticLogic.Board.X_LOOKUP[e];var f=pragmaticLogic.Board.Y_LOOKUP[e];var c=document.createElement("div");c.setAttribute("class","selectionMarker");c.setAttribute("className","selectionMarker");c.setAttribute("id","selectionMarker_"+e);if(Browser.Engine.trident){c.style.background="none";c.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/media/images/selection.png",sizingMethod="crop"'}else{c.style.backgroundImage="url(/media/images/selection-white.png)"}c.style.position="absolute";c.style.left=pragmaticLogic.BoardConst.CX*d+pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.SELECTION_HALF_SIZE+"px";c.style.top=pragmaticLogic.BoardConst.CY*f+pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.SELECTION_HALF_SIZE+"px";c.style.zIndex=101;c.style.visibility="hidden";$("selectionMarkers").appendChild(c)}},createCheckMarkers:function(){[3,4,5,12,13,14,21,22,23,66,67,68,75,76,77,84,85,86].each(function(f,e){var d=pragmaticLogic.Board.X_LOOKUP[f];var g=pragmaticLogic.Board.Y_LOOKUP[f];var c=document.createElement("div");c.setAttribute("class","checkMarker");c.setAttribute("className","checkMarker");c.setAttribute("id","checkMarker_"+f);if(Browser.Engine.trident){c.style.background="none";c.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/media/images/checkring.png",sizingMethod="crop"'}else{c.style.backgroundImage="url(/media/images/checkring.png)"}c.style.position="absolute";c.style.left=pragmaticLogic.BoardConst.CX*d+pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.GENERAL_CHECKED_HALF_SIZE+"px";c.style.top=pragmaticLogic.BoardConst.CY*g+pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.GENERAL_CHECKED_HALF_SIZE+"px";c.style.zIndex=91;c.style.visibility="hidden";$("checkMarkers").appendChild(c)},this)},showLegalMoves:function(d,c){if(d!=null){d.each(function(f,e){var g="legalMove_"+f.dest;$(g).setStyle("visibility",c?"visible":"hidden")})}},clearAllLegalMoves:function(){for(var c=0;c<pragmaticLogic.BoardConst.BOARD_SIZE;c++){$("legalMove_"+c).setStyle("visibility","hidden")}},drawBoard:function(c,d){if(c==true){b.setColor("#000");b.fillRect(pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y,8*pragmaticLogic.BoardConst.CX,9*pragmaticLogic.BoardConst.CY);b.setColor(d?"#C0C0C0":"#333");b.drawRect(pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y,8*pragmaticLogic.BoardConst.CX,9*pragmaticLogic.BoardConst.CY);b.setColor(d?"#C0C0C0":"#AAA");for(i=1;i<pragmaticLogic.BoardConst.LINES_X;i++){b.drawLine(pragmaticLogic.BoardConst.CX*i+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y,pragmaticLogic.BoardConst.CX*i+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y+4*pragmaticLogic.BoardConst.CY);b.drawLine(pragmaticLogic.BoardConst.CX*i+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y+5*pragmaticLogic.BoardConst.CY,pragmaticLogic.BoardConst.CX*i+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.OFFSET_Y+9*pragmaticLogic.BoardConst.CY)}for(i=1;i<pragmaticLogic.BoardConst.LINES_Y;i++){b.drawLine(pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.CY*i+pragmaticLogic.BoardConst.OFFSET_Y,8*pragmaticLogic.BoardConst.CX+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.CY*i+pragmaticLogic.BoardConst.OFFSET_Y)}b.drawLine(pragmaticLogic.BoardConst.OFFSET_X+3*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y,pragmaticLogic.BoardConst.OFFSET_X+5*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+2*pragmaticLogic.BoardConst.CY);b.drawLine(pragmaticLogic.BoardConst.OFFSET_X+5*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y,pragmaticLogic.BoardConst.OFFSET_X+3*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+2*pragmaticLogic.BoardConst.CY);b.drawLine(pragmaticLogic.BoardConst.OFFSET_X+3*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+7*pragmaticLogic.BoardConst.CY,pragmaticLogic.BoardConst.OFFSET_X+5*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+9*pragmaticLogic.BoardConst.CY);b.drawLine(pragmaticLogic.BoardConst.OFFSET_X+5*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+7*pragmaticLogic.BoardConst.CY,pragmaticLogic.BoardConst.OFFSET_X+3*pragmaticLogic.BoardConst.CX,pragmaticLogic.BoardConst.OFFSET_Y+9*pragmaticLogic.BoardConst.CY);b.paint()}else{b.clear()}},getBoardPos:function(c,d){return(d*9+c)},getBoardCoord:function(f){var c=f%9;var e=Math.floor(f/9);var d={};d.x=c*pragmaticLogic.BoardConst.CX+pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.PIECE_HALF_SIZE;d.y=e*pragmaticLogic.BoardConst.CY+pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.PIECE_HALF_SIZE;return d},isPosInBoard:function(c,d){if(c<pragmaticLogic.BoardConst.OFFSET_X-pragmaticLogic.BoardConst.PIECE_HALF_SIZE||d<pragmaticLogic.BoardConst.OFFSET_Y-pragmaticLogic.BoardConst.PIECE_HALF_SIZE||c>pragmaticLogic.BoardConst.CX*8+pragmaticLogic.BoardConst.OFFSET_X+pragmaticLogic.BoardConst.PIECE_HALF_SIZE||d>pragmaticLogic.BoardConst.CY*9+pragmaticLogic.BoardConst.OFFSET_Y+pragmaticLogic.BoardConst.PIECE_HALF_SIZE){return false}else{return true}},getBoardPosFromMouse:function(c,h){if(!this.isPosInBoard(c,h)){return -1}var g=Math.floor((c-pragmaticLogic.BoardConst.OFFSET_X)/pragmaticLogic.BoardConst.CX);var e=Math.floor((h-pragmaticLogic.BoardConst.OFFSET_Y)/pragmaticLogic.BoardConst.CY);var f=g+1;var d=e+1;if(c<=g*pragmaticLogic.BoardConst.CX+pragmaticLogic.BoardConst.HALF_CX){c=g}else{c=f}if(h<=e*pragmaticLogic.BoardConst.CY+pragmaticLogic.BoardConst.HALF_CY){h=e}else{h=d}return c+h*9},drawCheck:function(c){var e="checkMarker_"+c;var d=$(e);d.setStyle("visibility","visible")},clearCheck:function(){var c=$$(".checkMarker");c.each(function(e,d){e.setStyle("visibility","hidden")})},drawSelectedIE:function(c){var e="selectionMarker_"+c;var d=$(e);d.setStyle("visibility","visible")},clearSelectedIE:function(){var c=$$(".selectionMarker");c.each(function(e,d){e.setStyle("visibility","hidden")})},drawTrail:function(h,e){a.clear();var c=pragmaticLogic.Board.X_LOOKUP[h];var g=pragmaticLogic.Board.Y_LOOKUP[h];var f=pragmaticLogic.Board.X_LOOKUP[e];var d=pragmaticLogic.Board.Y_LOOKUP[e];a.drawLine(pragmaticLogic.BoardConst.CX*c+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.CY*g+pragmaticLogic.BoardConst.OFFSET_Y,pragmaticLogic.BoardConst.CX*f+pragmaticLogic.BoardConst.OFFSET_X,pragmaticLogic.BoardConst.CY*d+pragmaticLogic.BoardConst.OFFSET_Y);a.paint()},clearTrail:function(d,c){a.clear()},drawComputerThinking:function(){b.drawImage("/media/images/thinking.gif",pragmaticLogic.BoardConst.CX*4+pragmaticLogic.BoardConst.OFFSET_X-14,pragmaticLogic.BoardConst.CY*4+pragmaticLogic.BoardConst.OFFSET_Y+16,32,32);b.paint()},hideComputerThinking:function(){b.setColor("#000000");b.fillRect(pragmaticLogic.BoardConst.CX*4+pragmaticLogic.BoardConst.OFFSET_X-14,pragmaticLogic.BoardConst.CY*4+pragmaticLogic.BoardConst.OFFSET_Y+16,32,32);b.paint()},setupBoard:function(){pragmaticLogic.Board.init();pragmaticLogic.Board.drawBoard(true,true)}}}();