Ext.namespace("CGW");var dh=Ext.DomHelper;Ext.onReady(function(){CGW.TargetObj=Ext.get("pgnViever");CGW.WindowX=CGW.TargetObj.getX();CGW.WindowY=CGW.TargetObj.getY();var C=document.createElement("DIV");C.id="pgnVieverToBody";Ext.getBody().appendChild(C);if(!CGW.TargetObj){return false}var B=window.location.hostname;var A="1.02";CGW.url=CGW.GetServerSelf();CGW.oPgn=CGW.doJSON(CGW.TargetObj.dom.innerHTML);CGW.oPgn.pgnPlayer=CGW.url+CGW.oPgn.pgnPlayer+"/";CGW.oPgn.layoutType=(CGW.oPgn.layoutType=="")?"default":CGW.oPgn.layoutType;CGW.oPgn.width=(CGW.oPgn.width=="")?"100%":CGW.oPgn.width;CGW.oPgn.fontSize=(CGW.oPgn.fontSize=="")?"13px":CGW.oPgn.fontSize;CGW.oPgn.padding=(CGW.oPgn.fontSize=="")?"5px":CGW.oPgn.padding;CGW.Config={title:CGW.oPgn.title,pgnPlayer:CGW.oPgn.pgnPlayer,width:CGW.oPgn.width,BackgroundPath:CGW.oPgn.pgnPlayer+"images/"+CGW.oPgn.layoutType+"/board/background/",piecePath:CGW.oPgn.pgnPlayer+"images/"+CGW.oPgn.layoutType+"/board/piece/",pathToButtonImg:CGW.oPgn.pgnPlayer+"images/"+CGW.oPgn.layoutType+"/button/",board:"frame.jpg",white:"whiteSquare.jpg",black:"blackSquare.jpg",boardColor:"#EDD6C8",Move_Step:5,noteFontSize:CGW.oPgn.fontSize,notePadding:CGW.oPgn.padding,frameClass:"cgw-frame",InnerframeClass:"cgw-innerframe",frameDescription:1,maxboardSize:50,minboardSize:5,pgn:"",version:A,COPYRIGHT:"Copyrigth 2009 cgw.dk, CGW Player v."+A+"</span>",gameArray:[],DescriptionClass:"CGW-Board-Description",reverse:false,gameNr:CGW.oPgn.gameNr-1,boardPlace:CGW.oPgn.boardPlace,License:B,update:"Der er ingen opdateringer"};if(CGW.oPgn["float"]=="left"){CGW.TargetObj.addClass("CGW-float-left")}if(CGW.oPgn["float"]=="right"){CGW.TargetObj.addClass("CGW-float-right")}if(CGW.oPgn.left!=""){CGW.TargetObj.setStyle("left",CGW.oPgn.left)}if(CGW.oPgn.top!=""){CGW.TargetObj.setStyle("top",CGW.oPgn.top)}if(CGW.oPgn.padding!=""){CGW.TargetObj.setStyle("padding",CGW.oPgn.padding)}if(CGW.oPgn.margin!=""){CGW.TargetObj.setStyle("margin",CGW.oPgn.margin)}if(CGW.oPgn.backgroundColor!=""){CGW.TargetObj.setStyle("background-color",CGW.oPgn.backgroundColor)}CGW.Config.graficObject={board:CGW.Config.BackgroundPath+CGW.Config.board,white:CGW.Config.BackgroundPath+CGW.Config.white,black:CGW.Config.BackgroundPath+CGW.Config.black,boardColor:CGW.Config.boardColor,piecePath:CGW.Config.piecePath};CGW.loadGame()});function programCallback(B,A,C){if(A){CGW.Config.License=A}if(C){CGW.Config.update=C}}CGW.loadProgram=function(){Ext.Ajax.request({url:"http://www.cgw.dk/MODULER/License/LicenseCreator.php",scriptTag:true,params:{hostname:window.location.hostname,verion:CGW.Config.version}})};CGW.doJSON=function(D){try{var F=Ext.util.JSON.decode(D);return F}catch(E){Ext.MessageBox.alert("ERROR","Could not decode "+D)}};CGW.showObject=function(F){var E="";for(var D in F){E+="<span style='color: red;'>"+D+"</span> = <span style='color: blue;'>"+F[D]+"</span><br><br>"}Ext.MessageBox.alert("ERROR",E);return E};CGW.unikID=function(H,G){if(typeof H=="undefined"){H="ID_"}if(typeof G=="undefined"){G=0}var E=H+G;if(document.getElementById(E)==null){var F=document.getElementById(E);returnValue=E}else{returnValue=unikID(H,G+1)}return returnValue};CGW.GetServerSelf=function(){var D=window.location.protocol+"//"+window.location.hostname+window.location.pathname;var E=D.lastIndexOf("/")+1;var F=D.substr(0,E);return F};CGW.GetUrlParam=function(F){var D=new RegExp("[?&]"+F+"=([^&]+)","i");var E=D.exec(unescape(window.location.search));if(E&&E.length>1){return E[1]}else{return""}};CGW.handleErr=function(C,B,A){alert(C+" "+B+" "+A)};CGW.SetEnhed=function(B){if(B==""){return B}if(parseFloat(B)+""==B){return B+"px"}else{return B}};CGW.odd=function(B){return B/2==parseInt(B/2,10)};function showObject(B,E){if(!E){E=1}else{E++}var C="";var D=function(G){for(var F in B){C+="<span style='color: red;'>"+F+"</span> = <span style='color: blue;'>"+B[F]+"</span><br><br>"}return C};D(B);var A=new Ext.Window({title:"ObjectViewer",width:600,height:400,autoScroll:true,closeAction:"close",resizable:true,maximizable:true,constrain:true,bodyStyle:"padding:5px;",modal:true,html:C});A.show()}Ext.override(Ext.data.Connection,{request:function(E){if(this.fireEvent("beforerequest",this,E)!==false){var C=E.params;if(typeof C=="function"){C=C.call(E.scope||window,E)}if(typeof C=="object"){C=Ext.urlEncode(C)}if(this.extraParams){var G=Ext.urlEncode(this.extraParams);C=C?(C+"&"+G):G}var B=E.url||this.url;if(typeof B=="function"){B=B.call(E.scope||window,E)}if(E.form){var D=Ext.getDom(E.form);B=B||D.action;var I=D.getAttribute("enctype");if(E.isUpload||(I&&I.toLowerCase()=="multipart/form-data")){return this.doFormUpload(E,C,B)}var H=Ext.lib.Ajax.serializeForm(D);C=C?(C+"&"+H):H}var J=E.headers;if(this.defaultHeaders){J=Ext.apply(J||{},this.defaultHeaders);if(!E.headers){E.headers=J}}var F={success:this.handleResponse,failure:this.handleFailure,scope:this,argument:{options:E},timeout:this.timeout};var A=E.method||this.method||(C?"POST":"GET");if(A=="GET"&&(this.disableCaching&&E.disableCaching!==false)||E.disableCaching===true){B+=(B.indexOf("?")!=-1?"&":"?")+"_dc="+(new Date().getTime())}if(typeof E.autoAbort=="boolean"){if(E.autoAbort){this.abort()}}else{if(this.autoAbort!==false){this.abort()}}if((A=="GET"&&C)||E.xmlData||E.jsonData){B+=(B.indexOf("?")!=-1?"&":"?")+C;C=""}if(E.scriptTag){this.transId=this.scriptRequest(A,B,F,C,E)}else{this.transId=Ext.lib.Ajax.request(A,B,F,C,E)}return this.transId}else{Ext.callback(E.callback,E.scope,[E,null,null]);return null}},scriptRequest:function(A,C,E,F,I){var B=++Ext.data.ScriptTagProxy.TRANS_ID;var H={id:B,cb:I.callbackName||"stcCallback"+B,scriptId:"stcScript"+B,options:I};C+=(C.indexOf("?")!=-1?"&":"?")+F+String.format("&{0}={1}",I.callbackParam||"callback",H.cb);var D=this;window[H.cb]=function(J){D.handleScriptResponse(J,H)};H.timeoutId=this.handleScriptFailure.defer(E.timeout,this,[H]);var G=document.createElement("script");G.setAttribute("src",C);G.setAttribute("type","text/javascript");G.setAttribute("id",H.scriptId);document.getElementsByTagName("head")[0].appendChild(G);return H},handleScriptResponse:function(D,B){this.transId=false;this.destroyScriptTrans(B,true);var A=B.options;var C;if(typeof D=="string"){if(window.ActiveXObject){var C=new ActiveXObject("Microsoft.XMLDOM");C.async="false";C.loadXML(D)}else{var C=new DOMParser().parseFromString(D,"text/xml")}}response={responseObject:D,responseText:(typeof D=="object")?Ext.util.JSON.encode(D):String(D),responseXML:C,argument:A.argument};this.fireEvent("requestcomplete",this,response,A);Ext.callback(A.success,A.scope,[response,A]);Ext.callback(A.callback,A.scope,[A,true,response])},handleScriptFailure:function(B){this.trans=false;this.destroyScriptTrans(B,false);var A=B.options;response={argument:A.argument};this.fireEvent("requestexception",this,response,A,new Error("Timeout"));Ext.callback(A.failure,A.scope,[response,A]);Ext.callback(A.callback,A.scope,[A,false,response])},destroyScriptTrans:function(B,A){document.getElementsByTagName("head")[0].removeChild(document.getElementById(B.scriptId));clearTimeout(B.timeoutId);if(A){window[B.cb]=undefined;try{delete window[B.cb]}catch(C){}}else{window[B.cb]=function(){window[B.cb]=undefined;try{delete window[B.cb]}catch(D){}}}}});CGW.lang={SliderHeader:"V&aelig;lg br&aelig;t st&oslash;rrelse",SliderFooter:"S&aelig;tter v&aelig;rdi p&aring; atuel br&aelig;t + valgfri default v&aelig;rdi",GameListHeadline:"Parti liste",LINK:"Vis",WHITE:"Hvid",BLACK:"Sort",EVENT:"Begivenhed",RESULT:"Resultat",SETTINGS:"Indstillinger",BOARDSIZE:"Br&aelig;t st&oslash;rrelse",BOARDBACKGROUNDHEADER:"Br&aelig;t konfiguration",BOARDBACKGROUND:"Baggrund til br&aelig;t og felter",pgn_lang:{0:"T",1:"S",2:"L",3:"D",4:"K"},tagType:{tagsSRT:"Info",tagsPlayer:"Spiller",tagsEvent:"Begivenhed",tagsGame:"Parti",tagsDIF:"Forskelligt",tagsExtra:"Ekstra"},tagsSRT:{Event:"Begivenhed",Site:"Sted",Date:"Dato",Round:"Runde",White:"Hvid",Black:"Sort",Result:"Resultat"},tagsPlayer:{WhiteElo:"Hvid ELO rating",BlackElo:"Sort ELO rating",WhiteDSU:"Hvid dansk rating",BlackDSU:"Sort dansk rating",WhiteNA:"Hvid spiller info",BlackNA:"Sort spiller info",WhiteType:"Hvid spiller type",BlackType:"Sort spiller type"},tagsEvent:{EventDate:"Dato for begivenhed",EventSponsor:"Sponsor for begivenhed",EventLink:"Link til begivenhed"},tagsGame:{Board:"Br&aelig;t nr.",Opening:"&Aring;bning",Variation:"Variation",SubVariation:"SubVariation",ECO:"ECO",NIC:"NIC",Time:"Tidspunkt",UTCTime:"UTCTime",UTCDate:"UTCDate",TimeControl:"Tidskontrol",WhiteClock:"WhiteClock",BlackClock:"BlackClock",Clock:"Ur"},tagsDIF:{Section:"Section",Stage:"Stage",Termination:"Termination",Annotator:"Forfatter"},tagsExtra:{},tagsSYS:{FEN:"FEN",SetUp:"SetUp",PlyCount:"Antal tr&aelig;k"},PieceAlt:{k:"Sort konge p&aring; ",q:"Sort dronning p&aring; ",b:"Sort l&oslash;ber p&aring; ",n:"Sort springer p&aring; ",r:"Sort t&aring;rn p&aring; ",p:"Sort bonde p&aring; ",K:"Hvid konge p&aring; ",Q:"Hvid dronning p&aring; ",B:"Hvid l&oslash;ber p&aring; ",N:"Hvid springer p&aring; ",R:"Hvid t&aring;rn p&aring; ",P:"Hvid bonde p&aring; ",f:"Sort felt ",F:"Hvid felt ",frame:"Ramme"},buttonAlt:{l1:"Start position",l2:"tr&aelig;k tilbage",l3:"1 tr&aelig;k tilbage",r1:"Slut position",r2:"Tr&aelig;k frem",r3:"1 tr&aelig;k frem",reverse:"Vender br&aelig;t",play:"Auto gennemspil"},cgv_notation:{1:"!",2:"?",3:"!!",4:"??",5:"!?",6:"?!",7:"",8:"",9:"",10:"",11:"",12:"",13:"",14:"",15:"",16:"",17:"",18:"",19:"",20:"",21:"",22:"",23:"",24:"",25:"",26:"",27:"",28:"",29:"",30:"",31:"",32:"",33:"",34:"",35:"",36:"",37:"",38:"",39:"",40:"",41:"",42:"",43:"",44:"",45:"",46:"",47:"",48:"",49:"",50:"",51:"",52:"",53:"",54:"",55:"",56:"",57:"",58:"",59:"",60:"",61:"",62:"",63:"",64:"",65:"",66:"",67:"",68:"",69:"",70:"",71:"",72:"",73:"",74:"",75:"",76:"",77:"",78:"",79:"",80:"",81:"",82:"",83:"",84:"",85:"",86:"",87:"",88:"",89:"",90:"",91:"",92:"",93:"",94:"",95:"",96:"",97:"",98:"",99:"",100:"",101:"",102:"",103:"",104:"",105:"",106:"",107:"",108:"",109:"",110:"",111:"",112:"",113:"",114:"",115:"",116:"",117:"",118:"",119:"",120:"",121:"",122:"",123:"",124:"",125:"",126:"",127:"",128:"",129:"",130:"",131:"",132:"",133:"",134:"",135:"",136:"",137:"",138:"",139:"",145:"\u20ac"},cgv_desciption:{1:"Godt tr\xe6k.",2:"D\xe5rligt tr\xe6k.",3:"Meget godt tr\xe6k.",4:"Meget d\xe5rlig tr\xe6k.",5:"Et interessant tr\xe6k men muligvis ikke det bedste.",6:"Et tvivlsomt tr\xe6k men m\xe5ske ikke s\xe5 let at gendrive.",7:"Et tvunget tr\xe6k.",8:"Eneste tr\xe6k.",9:"Det v\xe6rste tr\xe6k.",10:"Remis stilling.",11:"Stillingen er lige eller udlignet.",12:"Stillingen er er lige med aktiv spil.",13:"Uklar stilling.",14:"Hvid har en lille fordel.",15:"Sort har en lille fordel.",16:"Hvid fordel.",17:"Sort fordel.",18:"Hvid har afg\xf8rende fordel.",19:"Sort har afg\xf8rende fordel.",20:"Hvid har helt afg\xf8rende fordel (Sort b\xf8r opgive).",21:"Sort har helt afg\xf8rende fordel (Hvid b\xf8r opgive).",22:"Hvid er i tr\xe6ktvang.",23:"Sort er i tr\xe6ktvang.",24:"White has a slight space advantage.",25:"Black has a slight space advantage.",26:"White has a moderate space advantage.",27:"Black has a moderate space advantage.",28:"White has a decisive space advantage.",29:"Black has a decisive space advantage.",30:"White has a slight time (development) advantage.",31:"Black has a slight time (development) advantage.",32:"White has a moderate time (development) advantage.",33:"Black has a moderate time (development) advantage.",34:"White has a decisive time (development) advantage.",35:"Black has a decisive time (development) advantage.",36:"hvid har initiativet.",37:"sort har initiativet.",38:"White has a lasting initiative.",39:"Black has a lasting initiative.",40:"White has the attack.",41:"Black has the attack.",42:"White has insufficient compensation for material deficit.",43:"Black has insufficient compensation for material deficit.",44:"White has sufficient compensation for material deficit.",45:"Black has sufficient compensation for material deficit.",46:"White has more than adequate compensation for material deficit.",47:"Black has more than adequate compensation for material deficit.",48:"White has a slight center control advantage.",49:"Black has a slight center control advantage.",50:"White has a moderate center control advantage.",51:"Black has a moderate center control advantage.",52:"White has a decisive center control advantage.",53:"Black has a decisive center control advantage.",54:"White has a slight kingside control advantage.",55:"Black has a slight kingside control advantage.",56:"White has a moderate kingside control advantage.",57:"Black has a moderate kingside control advantage.",58:"White has a decisive kingside control advantage.",59:"Black has a decisive kingside control advantage.",60:"White has a slight queenside control advantage.",61:"Black has a slight queenside control advantage.",62:"White has a moderate queenside control advantage.",63:"Black has a moderate queenside control advantage.",64:"White has a decisive queenside control advantage.",65:"Black has a decisive queenside control advantage.",66:"White has a vulnerable first rank.",67:"Black has a vulnerable first rank.",68:"White has a well protected first rank.",69:"Black has a well protected first rank.",70:"White has a poorly protected king.",71:"Black has a poorly protected king.",72:"White has a well protected king.",73:"Black has a well protected king.",74:"White has a poorly placed king.",75:"Black has a poorly placed king.",76:"White has a well placed king.",77:"Black has a well placed king.",78:"White has a very weak pawn structure.",79:"Black has a very weak pawn structure.",80:"White has a moderately weak pawn structure.",81:"Black has a moderately weak pawn structure.",82:"White has a moderately strong pawn structure.",83:"Black has a moderately strong pawn structure.",84:"White has a very strong pawn structure.",85:"Black has a very strong pawn structure.",86:"White has poor knight placement.",87:"Black has poor knight placement.",88:"White has good knight placement.",89:"Black has good knight placement.",90:"White has poor bishop placement.",91:"Black has poor bishop placement.",92:"White has good bishop placement.",93:"Black has good bishop placement.",94:"White has poor rook placement.",95:"Black has poor rook placement.",96:"White has good rook placement.",97:"Black has good rook placement.",98:"White has poor queen placement.",99:"Black has poor queen placement.",100:"White has good queen placement.",101:"Black has good queen placement.",102:"White has poor piece coordination.",103:"Black has poor piece coordination.",104:"White has good piece coordination.",105:"Black has good piece coordination.",106:"White has played the opening very poorly.",107:"Black has played the opening very poorly.",108:"White has played the opening poorly.",109:"Black has played the opening poorly.",110:"White has played the opening well.",111:"Black has played the opening well.",112:"White has played the opening very well.",113:"Black has played the opening very well.",114:"White has played the middlegame very poorly.",115:"Black has played the middlegame very poorly.",116:"White has played the middlegame poorly.",117:"Black has played the middlegame poorly.",118:"White has played the middlegame well.",119:"Black has played the middlegame well.",120:"White has played the middlegame very well.",121:"Black has played the middlegame very well.",122:"White has played the ending very poorly.",123:"Black has played the ending very poorly.",124:"White has played the ending poorly.",125:"Black has played the ending poorly.",126:"White has played the ending well.",127:"Black has played the ending well.",128:"White has played the ending very well.",129:"Black has played the ending very well.",130:"White has slight counterplay.",131:"Black has slight counterplay.",132:"White has moderate counterplay.",133:"Black has moderate counterplay.",134:"White has decisive counterplay.",135:"Black has decisive counterplay.",136:"White has moderate time control pressure.",137:"Black has moderate time control pressure.",138:"White has severe time control pressure.",139:"Black has severe time control pressure."}};CGW.loadGame=function(){CGW.Config.width=CGW.SetEnhed(CGW.Config.width);CGW.Config.height=CGW.SetEnhed(CGW.Config.height);var C=dh.overwrite("pgnViever","<div id='pgnViewerCont'></div>",true);CGW.ContObj=Ext.get("pgnViewerCont");CGW.TargetObj.setStyle("width",CGW.Config.width);CGW.Name="CGW";CGW.newBoard=[];var D=document.getElementById("pgnFile");if(D!=null){CGW.Config.pgn=D.innerHTML;D.innerHTML="";CGW.setup()}else{Ext.Ajax.request({url:CGW.oPgn.url+".utf",success:function(A){CGW.Config.pgn=A.responseText;CGW.setup()},failure:function(A){Ext.Ajax.request({url:CGW.oPgn.url,success:function(B){CGW.Config.pgn=B.responseText;CGW.setup()},failure:function(B){alert("Error! can't read pgn file.")}})}})}};CGW.setup=function(){this.cgw_variant=0;this.cgw_Move_Nr=0;this.targetOjectWidth=this.Config.boardSize;this.targetOjectWidth=this.TargetObj.getWidth();var G=this.targetOjectWidth/13;if(CGW.Config.boardPlace=="l"||CGW.Config.boardPlace=="r"){this.Config.boardSize=parseInt((this.targetOjectWidth)/2,10)-10;var H=parseInt((this.Config.boardSize)*0.88/8,10);var F=H*8+4;var A=parseInt(this.Config.boardSize*0.06,10);this.Config.boardSize=F+A}else{this.Config.boardSize=parseInt(this.targetOjectWidth,10)-18;var H=parseInt((this.Config.boardSize)*0.88/8,10);var F=H*8+4;var A=parseInt(this.Config.boardSize*0.06,10);this.Config.boardSize=F+A}this.Config.noteStyle="";CGW.gameParser(CGW.Config.pgn);this.Config.gameArray;CGW.initGame(CGW.Config.gameArray[CGW.Config.gameNr]);this.cgw_boardArray=this.boardArray[0];CGW.ShowGame(CGW.Config.gameArray[CGW.Config.gameNr])};CGW.GetBoard=function(L){var I=this.createFrameDescription(L);var G=this.createFields(L);var J='<div id="'+L+'inner" style="position: absolute;">'+G+"</div>";var H='<img alt="'+CGW.lang.PieceAlt.frame+'" id="'+L+'_BGImage" width="100%" height="100%" src="'+this.Config.graficObject.board+'">';var K='<div onResize="CGW.resizeo();" id="'+L+'_outer" style="font-size: '+this.Config.fontSize+'px; ">'+H+I+J+"</div>";return K};CGW.createFrameDescription=function(E){if(this.Config.frameDescription==false){return""}var G=[];for(var F=0;F<8;F++){var H='<div class="'+this.Config.DescriptionClass+'" id="'+E+"_Number_"+F+'" style="color: '+this.Config.boardColor+'; background-color: transparent;">'+(F+1)+"</div>";G.push(H);var H='<div class="'+this.Config.DescriptionClass+'" id="'+E+"_Letter_"+F+'" style="color: '+this.Config.boardColor+'; background-color: transparent;">'+String.fromCharCode(F+97)+"</div>";G.push(H)}return G.join("")};CGW.reverse=function(V){if(this.Config.frameDescription){var R=this.Config.boardSize*0.021;var S=this.Config.boardSize*0.937;var W=this.Config.boardSize*0.88/8;var Y=this.Config.boardSize*0.06+R;var N=this.Config.boardSize*0.08+R;for(var O=0;O<8;O++){if(this.Config.reverse){var P=W*(7-O)+Y;var Q=W*(O)+N}else{var P=W*(O)+Y;var Q=W*(7-O)+N}document.getElementById(V+"_Number_"+O).style.top=P+"px";document.getElementById(V+"_Letter_"+O).style.left=Q+"px"}}var X=parseInt((this.Config.boardSize+2)*0.88/8,10);for(var T=0;T<8;T++){for(var U=0;U<8;U++){var Z=63-(U+T*8);if(this.Config.reverse){var Q=X*(7-U);var P=X*T}else{var Q=X*U;var P=X*(7-T)}document.getElementById(V+"_field_"+Z).style.top=P+"px";document.getElementById(V+"_field_"+Z).style.left=Q+"px"}}this.Config.reverse=this.Config.reverse==false};CGW.createFields=function(V,Z){var Y=[];var N=new Array();for(var R=0;R<8;R++){for(var T=0;T<8;T++){var X='<img alt="'+CGW.lang.PieceAlt.F+String.fromCharCode(7-T+97)+(8-R)+'" class="WHITE" width="100%" height="100%" src="'+this.Config.graficObject.white+'">';var S='<img alt="'+CGW.lang.PieceAlt.f+String.fromCharCode(7-T+97)+(8-R)+'" class="BLACK" width="100%" height="100%" src="'+this.Config.graficObject.black+'">';var O=63-(T+R*8);var Q=Z*(7-T);var P=Z*R;var U=((R+T)/2==parseInt((R+T)/2,10))?S:X;var W='<div id="'+V+"_field_"+O+'" style="background-color: transparent;">'+U+'<div id="'+V+"_Chessmen_Cont_"+O+'" class="CGW-Chessmen-cont"></div></div>';Y.push(W)}}return Y.join("")};CGW.setActiveMove=function(C){if(this.OldMoveID!=undefined){var D=Ext.get(this.OldMoveID);D.removeClass("cgw_active_move")}this.OldMoveID="Move_"+C+"_"+CGW.cgw_variant+"_"+CGW.cgw_Move_Nr;var D=Ext.get(this.OldMoveID);if(D){D.addClass("cgw_active_move")}};CGW.insertChessmen=function(J,R){if(R.length!=64){return false}this.setActiveMove(J);var L=R.split("");for(var O=0;O<8;O++){for(var Q=0;Q<8;Q++){var K=7-Q+O*8;var M=63-(Q+O*8);if(L[K]=="-"){var N=""}else{var P=(L[K]==L[K].toLowerCase())?"b"+L[K].toLowerCase():"w"+L[K].toLowerCase();var N='<img id="'+J+"_Img_"+K+'" alt="'+CGW.lang.PieceAlt[L[K]]+String.fromCharCode(7-Q+97)+(8-O)+'" src="'+this.Config.graficObject.piecePath+P+'.png" width="100%" height="100%">'}document.getElementById(J+"_Chessmen_Cont_"+M).innerHTML=N}}};CGW.setPosition=function(C){var D=[];D.push(C);D.push(CGW.cgw_variant);D.push(CGW.cgw_Move_Nr);D.push(CGW.cgw_boardArray[CGW.cgw_Move_Nr]);CGW.insertChessmen(C,CGW.cgw_boardArray[CGW.cgw_Move_Nr])};CGW.moveToBeginVariant0=function(B){CGW.cgw_variant=0;CGW.cgw_Move_Nr=CGW.cgw_Move_Start[CGW.cgw_variant];CGW.setPosition(CGW.BoardID)};CGW.moveToBegin=function(B){CGW.cgw_Move_Nr=CGW.cgw_Move_Start[CGW.cgw_variant];CGW.setPosition(CGW.BoardID)};CGW.moveStepAtBegin=function(B){CGW.cgw_Move_Nr-=CGW.Config.Move_Step;if(CGW.cgw_Move_Nr<=CGW.cgw_Move_Start[CGW.cgw_variant]){CGW.cgw_Move_Nr=CGW.cgw_Move_Start[CGW.cgw_variant]}CGW.setPosition(CGW.BoardID)};CGW.moveAtBegin=function(B){CGW.cgw_Move_Nr--;if(CGW.cgw_Move_Nr<CGW.cgw_Move_Start[CGW.cgw_variant]){CGW.cgw_Move_Nr=CGW.cgw_Move_Start[CGW.cgw_variant]}CGW.setPosition(CGW.BoardID)};CGW.moveAtEnd=function(B){CGW.cgw_Move_Nr++;if(CGW.cgw_Move_Nr>CGW.cgw_Move_End[CGW.cgw_variant]){CGW.cgw_Move_Nr=CGW.cgw_Move_End[CGW.cgw_variant]}CGW.setPosition(CGW.BoardID)};CGW.moveStepAtEnd=function(B){CGW.cgw_Move_Nr+=CGW.Config.Move_Step;if(CGW.cgw_Move_Nr>CGW.cgw_Move_End[CGW.cgw_variant]){CGW.cgw_Move_Nr=CGW.cgw_Move_End[CGW.cgw_variant]}CGW.setPosition(CGW.BoardID)};CGW.moveToEnd=function(B){CGW.cgw_Move_Nr=CGW.cgw_Move_End[CGW.cgw_variant];CGW.setPosition(CGW.BoardID)};CGW.reverseBoard=function(B){CGW.reverse(CGW.BoardID)};CGW.moveToPos=function(F,E,D){CGW.cgw_variant=F;CGW.cgw_Move_Nr=E;CGW.setPosition(D)};CGW.setupGameList=function(N){var P=[];for(var K=0;K<N.length;K++){var M='<a title="'+N[K]["White"]+" - "+N[K]["Black"]+'" href="JavaScript: '+this.Name+".ShowGame("+this.CountGames+');"><img border="none" src="'+piecePath+'cgw/ShowGame.png"></a>';var O=N[K]["White"];var J=N[K]["Black"];var L=N[K]["Event"];var Q=N[K]["Result"];var R=YAHOO.widget.DataTable._cloneObject({link:M,White:O,Black:J,Event:L,Result:Q});R.row++;P.push(R);this.CountGames++}GameView.myDataTable.addRows(P)};CGW.setTags=function(G,I,F){var J="";for(var H in I){if(typeof G[H]=="undefined"||typeof G[H]==""){G[H]="?"}if(G[H]=="?"&&!F){J+=""}else{J+='<div class="tagsLine"><span class="tagName">'+I[H]+': </span><span id="Tab_'+H+'" class="tagValue">'+G[H]+"</span></div>"}}return J};CGW.setTabView=function(H,G){var L=new Array();L.tagsSRT=this.setTags(H,this.lang.tagsSRT,true);L.tagsPlayer=this.setTags(H,this.lang.tagsPlayer,false);L.tagsEvent=this.setTags(H,this.lang.tagsEvent,false);L.tagsGame=this.setTags(H,this.lang.tagsGame,false);L.tagsDIF=this.setTags(H,this.lang.tagsDIF,false);L.tagsExtra=this.setTags(H,this.lang.tagsExtra,false);var J=[];for(var I in L){if(L[I]!=""&&this.lang.tagType[I]!=undefined){var K={title:this.lang.tagType[I],html:'<div id="'+I+'">'+L[I]+"</div>"};J.push(K)}}return J};CGW.ShowGame1=function(B){this.newBoard[this.BoardID].configButton(this.BoardID,this.newBoard[this.BoardID]);this.setTabView(this.gameArray[B],this.BoardID)};CGW.ShowGame=function(T){var A=[];var k=CGW.Config.gameArray;for(var j=0;j<k.length;j++){A.push([j,"Runde "+k[j].Round+", "+k[j].White+" - "+k[j].Black+" "+k[j].Result,k[j].White])}var e=new Ext.form.ComboBox({tpl:'<tpl for="."><div ext:qtip="{name}. {title}" class="x-combo-list-item">{name}</div></tpl>',store:new Ext.data.SimpleStore({fields:["value","name","title"],data:A}),valueField:"value",displayField:"name",typeAhead:true,mode:"local",triggerAction:"all",emptyText:"Parti liste...",selectOnFocus:true,width:400});tbar=[e,"-",{cls:"x-btn-text-icon",icon:this.Config.pgnPlayer+"images/disk.png",text:"Dowload pgn fil",handler:function(){var B=window.open(CGW.oPgn.url,"pgn")}},"-",{cls:"x-btn-text-icon",icon:this.Config.pgnPlayer+"images/help.png",text:"Hj&aelig;lp",handler:function(){var B=new Ext.Window({title:"Hj&aelig;lp til cgw-player",closeAction:"close",width:600,modal:true,html:"<div class='about_help'><b>&AElig;ndre st&oslash;rrelse p&aring; br&aelig;t:</b> Du kan &aelig;ndre st&oslash;rrelse p&aring; br&aelig;ttet ved at tr&aelig;kke i side kanterne af vinduet<br><br><b>Flytte vinduet:</b> Du kan flytte viduet, p&aring; samme m&aring;de som du normal vil flytte et program vindue<br><br><b>V&aelig;lg partier:</b> P&aring; &oslash;verste bj&aelig;lke i &#x27;Parti liste...&#x27; kan du v&aelig;lge partier i databasen<br><br><b>Download:</b> Du kan downloade pgnfilen med download knappen p&aring; &oslash;verste bj&aelig;lke<br><br><b>Piletaster:</b><br><b>Venstre pil:</b> et tr&aelig;k til venstre<br><b>H&oslash;jre pil:</b> et tr&aelig;k til h&oslash;jre<br><b>Shift og venstre pil:</b> 5 tr&aelig;k tilbage<br><b>Shift og h&oslash;jre pil:</b> 5 tr&aelig;k tfrem;jre<br><b>Ctrl og venstre pil:</b> Start tr&aelig;k<br><b>Ctrl og h&oslash;jre pil:</b> Slut tr&aelig;k<br></div>",buttons:[{text:"Close",cls:"x-btn-text",handler:function(){B.hide()}}]});B.show()}},{cls:"x-btn-text",text:"Om",handler:function(){var B=new Ext.Window({title:"Om cgw-player",closeAction:"close",width:300,bodyStyle:"padding: 5px;",modal:true,html:"<div class='about_headline'>CGW-player</div><div class='about_version'>Version "+CGW.Config.version+"</div><br><div class='about_text'>Program til visning af pgn(skakdatabase) p&aring; websider, programmet er lavet i JavaScript.</div><br><div class='about_copyright'>"+CGW.Config.COPYRIGHT+"</div><div class='about_url'><a href='http://www.cgw.dk/' target='_blank'>cwg.dk</a></div><br><div class='about_LICENSE'>Licenshaver: <span id='LicenseHolder'>"+CGW.Config.License+"</span></div><br><div class='about_LICENSE'>Opdateringer: "+CGW.Config.update+"</div><br>",buttons:[{text:"Close",handler:function(){B.hide()}}]});B.show()}}];var S=this.GetBoard(this.BoardID);CGW.TabView=this.setTabView(T,this.BoardID);CGW.tabPanel=new Ext.TabPanel({xtype:"tabpanel",activeItem:0,items:CGW.TabView});if(CGW.Config.boardPlace=="l"||CGW.Config.boardPlace=="r"){var Y=0.5}else{Y=1}var R=(this.Config.boardSize-128)/21;if(R>13){R=13}if(R<9){R=9}var b=[{id:"CGW-button-1",cls:"CGW-board-button",text:'<img id="CGW-button-img-1" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.l1+'" src="'+this.Config.pathToButtonImg+'moveToBegin.png">',handler:this.moveToBegin,minWidth:b,scope:this}," ",{id:"CGW-button-2",cls:"CGW-board-button",text:'<img id="CGW-button-img-2" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.l2+'" src="'+this.Config.pathToButtonImg+'moveStepAtBegin.png">',handler:this.moveStepAtBegin,minWidth:b,scope:this}," ",{id:"CGW-button-3",cls:"CGW-board-button",text:'<img id="CGW-button-img-3" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.l3+'" src="'+this.Config.pathToButtonImg+'moveAtBegin.png">',handler:this.moveAtBegin,minWidth:b,scope:this}," ",{id:"CGW-button-4",cls:"CGW-board-button",text:'<img id="CGW-button-img-4" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.r3+'" src="'+this.Config.pathToButtonImg+'moveAtEnd.png">',handler:this.moveAtEnd,minWidth:b,scope:this}," ",{id:"CGW-button-5",cls:"CGW-board-button",text:'<img id="CGW-button-img-5" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.r2+'" src="'+this.Config.pathToButtonImg+'moveStepAtEnd.png">',handler:this.moveStepAtEnd,width:b,scope:this}," ",{id:"CGW-button-6",cls:"CGW-board-button",text:'<img id="CGW-button-img-6" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.r1+'" src="'+this.Config.pathToButtonImg+'moveToEnd.png">',handler:this.moveToEnd,minWidth:b,scope:this}," ",{id:"CGW-button-7",cls:"CGW-board-button",text:'<img id="CGW-button-img-7" style="height: '+R+'px;" alt="'+CGW.lang.buttonAlt.reverse+'" src="'+this.Config.pathToButtonImg+'reverseBoard.png">',handler:this.reverseBoard,minWidth:b,scope:this}];var W={title:"",style:"",autoHeight:true,columnWidth:Y,html:S};var g=new Ext.Panel({title:"",style:"align: left;",autoHeight:true,columnWidth:Y,html:S,bbar:b});var Z={title:"",autoHeight:true,columnWidth:Y,items:CGW.tabPanel,style:"padding: 5px; font-size: "+CGW.Config.noteFontSize+"",defaults:{bodyStyle:"padding: 5px; font-size: "+CGW.Config.noteFontSize+""},html:'<div id="cgw-note-cont" class="cgw-note-cont" style="padding: '+CGW.Config.notePadding+"; font-size: "+CGW.Config.noteFontSize+'">'+this.noteString+"</div>"};var N=[];if(CGW.Config.boardPlace=="l"||CGW.Config.boardPlace=="t"){N.push(g);N.push(Z)}else{N.push(Z);N.push(g)}var X=new Ext.Panel({id:"column",title:"",layout:"column",defaults:{bodyStyle:"padding:0px"},items:N});var U=[{cls:"x-btn-text-icon",text:CGW.Config.COPYRIGHT,handler:function(){var B=window.open("http://www.cgw.dk/","cgw")}}];this.win=new Ext.Window({title:T.Event+": "+T.White+" - "+T.Black+" "+T.Result,tbar:tbar,id:"CGW_MainWindow",x:0,y:0,autoHeight:true,draggable:true,resizable:true,bufferResize:true,maximizable:false,constrain:true,applyTo:"pgnVieverToBody",width:CGW.targetOjectWidth,closable:false,bbar:U,scope:this,items:X});this.win.on("resize",function(B){CGW.resize(this.scope,B)});this.win.on("maximize",function(B){});this.win.on("restore",function(B){});this.win.show();this.resize(this,this.win);this.insertChessmen(this.BoardID,this.Config.boardConfig.startBoard);var h=new Ext.KeyMap(document,[{key:[111,106],fn:this.reverseBoard,scope:this},{key:[36,103],fn:this.moveToBeginVariant0,scope:this},{key:[37,100],fn:this.moveAtBegin,scope:this},{key:[37,100],fn:this.moveStepAtBegin,shift:true,scope:this},{key:[37,100],fn:this.moveToBegin,ctrl:true,scope:this},{key:[39,102],fn:this.moveAtEnd,scope:this},{key:[39,102],fn:this.moveStepAtEnd,shift:true,scope:this},{key:[39,102],fn:this.moveToEnd,ctrl:true,scope:this}]);var f=document.getElementById("CGW-button-1").parentNode.parentNode.parentNode.parentNode;f.align="center";var O=parseInt((this.Config.boardSize-20)/7,10);var V=function(D){var B=0;for(var C=1;C<8;C++){var E=Ext.get("CGW-button-"+C);E.setStyle("width",(D)+"px");B+=parseInt(E.getWidth(),10)}return B+20};c=V(O);if(this.Config.boardSize-c>6){d=parseInt((this.Config.boardSize-c)/7-1,10);c=V(O+d)}e.on("select",function(G){CGW.win.focus();var I=G.getValue();var B=CGW.Config.gameArray[I];CGW.initGame(B);CGW.cgw_boardArray=CGW.boardArray[0];var F=B.Event+": "+B.White+" - "+B.Black+" "+B.Result;CGW.moveToBeginVariant0();CGW.win.setTitle(F);var D=Ext.get("cgw-note-cont");D.dom.innerHTML=CGW.noteString;CGW.TabView=CGW.setTabView(B,CGW.BoardID);var C=CGW.TabView.length;var E=CGW.tabPanel.items.items.length;for(var H=0;H<C;H++){CGW.tabPanel.add(CGW.TabView[H])}for(var H=0;H<E;H++){CGW.tabPanel.remove(0)}CGW.resize(CGW)});var i=Ext.get("pgnVieverToBody");i.setX(CGW.WindowX);i.setY(CGW.WindowY);CGW.loadProgram();CGW.resize(CGW,CGW.win)};CGW.gameParser=function(S){var K=navigator.appName=="Microsoft Internet Explorer";var N=S.indexOf("[");S=S.substr(N);var S=S.split(" [").join("[");var R=S.split("\n");var T=0;var O=new Array();O[T]=new Array();var L=false;var Q="";for(var M=0;M<R.length;M++){if(R[M].charAt(0)!="%"&&R[M].length>0){if(R[M].charAt(0)=="["&&R[M].charAt(1)!="%"){if(L){O[T]["Game"]=Q;L=false;T++;O[T]=new Array();var Q=""}var P=R[M].replace(/\[/g,"");var P=P.split('"');P[0]=P[0].replace(/ /g,"");O[T][P[0]]=P[1]}else{L=true;Q+=" "+R[M]}}}O[T]["Game"]=Q;this.Config.gameArray=this.Config.gameArray.concat(O)};CGW.initGame=function(B){this.BoardID=CGW.unikID("Board_");this.fen_to_board(B);this.init_pgn(B);this.calculateBoards(B)};CGW.fen_to_board=function(G){if(!G.FEN){G.FEN="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"}var F=G.FEN.split(" ");var H=/\//g;var E=F[0].replace(H,"");E=E.split("1").join("-").split("2").join("--").split("3").join("---").split("4").join("----").split("5").join("-----").split("6").join("------").split("7").join("-------").split("8").join("--------");this.Config.boardConfig={startBoard:E,startColor:F[1],castling:F[2],enpassant:F[3],lastPawn:F[4],fullmove:parseInt(F[5],10),realMoveNumber:(parseInt(F[5],10)*2)-((F[1]=="w")?2:1)}};CGW.init_pgn=function(C){this.pgnTekstCouter=0;this.GameNoteArray=[];this.moveNr=this.Config.boardConfig.realMoveNumber;this.startElmCreate();this.variant=0;this.arrayPgn=[];this.arrayText=[];this.arrayKom=[];this.arrayPgn[this.variant]=[];this.arrayText[this.variant]=[];this.arrayKom[this.variant]=[];this.variantStart=[];this.samling=[];this.oldVariant=[];this.subVariant=0;this.subVariantNr=0;this.gemTekst="";this.startTraek=-1;this.kommentar="";this.pgnVar=C.Game.trim().split("\n").join(" ").split("\r").join("").split(".").join(". ").split(". . . ").join("... ").split("(").join("( ").split(")").join(" )").split("{").join("{ ").split("}").join(" }").split("  ").join(" ").split(" ");this.pgnTekstCouter++;for(var D=0;D<this.pgnVar.length;D++){if(this.pgnVar[D]=="}"){this.tekst_markor=false;this.gemTekst=this.setupClock(this.gemTekst,this.variant,this.moveNr);this.arrayText[this.variant][this.moveNr]=this.gemTekst;this.textElmCreate(this.gemTekst);this.gemTekst=""}if(this.tekst_markor){this.gemTekst+=this.pgnVar[D]+" "}else{if(this.pgnVar[D]=="{"){this.tekst_markor=true}else{if(this.pgnVar[D]==")"){this.textElmCreate(")");this.variant=this.oldVariant.pop()}else{if(this.pgnVar[D].match(/^\d/)){this.firstText=false;if(this.pgnVar[D].match(/\.\.\./)){this.hvid=false}else{this.hvid=true}this.moveNr=parseInt(this.pgnVar[D],10)*2-2;this.nrElmCreate(this.pgnVar[D])}else{if(this.pgnVar[D].charAt(0)=="$"){(this.arrayKom[this.variant][this.moveNr])?this.arrayKom[this.variant][this.moveNr]+=this.pgnVar[D]:this.arrayKom[this.variant][this.moveNr]=this.pgnVar[D];this.signElmCreate(this.pgnVar[D])}else{if(this.pgnVar[D].charAt(0).match(/^[a-hKQNBROo]/)){if(!this.hvid){this.moveNr++}this.arrayPgn[this.variant][this.moveNr]=this.pgnVar[D];this.moveElmCreate(this.pgnVar[D]);if(this.hvid){this.hvid=false}}else{if(this.pgnVar[D]=="("){this.textElmCreate("(");this.subVariantNr++;this.samling[this.subVariantNr]=this.variant;this.oldVariant.push(this.variant);this.oldVariantValue=this.variant;this.variant=this.subVariantNr;if(!this.arrayPgn[this.variant]){this.arrayPgn[this.variant]=new Array()}this.variantStart[this.variant]=this.oldVariantValue;if(!this.arrayText[this.variant]){this.arrayText[this.variant]=new Array()}if(!this.arrayKom[this.variant]){this.arrayKom[this.variant]=new Array()}}}}}}}}}this.noteString=this.GameNoteArray.join(" ")};CGW.startElmCreate=function(){var B='<span id="Move_Board_0_0_0"><a href="JavaScript: '+this.Name+".moveToPos(0,0,'"+this.BoardID+'\');"><img border="none" src="'+this.Config.pgnPlayer+'images/start_braet.gif"></a></span>';this.GameNoteArray.push(B)};CGW.nrElmCreate=function(D){if(this.variant==0){var F="cgw_mainvariation"}else{var F="cgw_subvariation"}var E='<span class="'+F+'">'+D+"</span>";this.GameNoteArray.push(E)};CGW.moveElmCreate=function(E){if(this.variant==0){var G="cgw_mainvariation"}else{var G="cgw_subvariation"}if(this.odd(this.moveNr)){var F=(parseInt(this.moveNr/2,10)+1)+"."}else{var F=(parseInt(this.moveNr/2,10)+1)+"..."}var H='<span id="Move_'+this.BoardID+"_"+this.variant+"_"+(this.moveNr+1)+'" class="'+G+'" title="'+F+this.udskiftSprog(E)+'"><a href="JavaScript: '+this.Name+".moveToPos("+this.variant+","+(this.moveNr+1)+",'"+this.BoardID+"');\">"+this.udskiftSprog(E)+"</a></span>";this.GameNoteArray.push(H)};CGW.udskiftSprog=function(B){B=B.replace("R",CGW.lang.pgn_lang[0]);B=B.replace("N",CGW.lang.pgn_lang[1]);B=B.replace("B",CGW.lang.pgn_lang[2]);B=B.replace("Q",CGW.lang.pgn_lang[3]);B=B.replace("K",CGW.lang.pgn_lang[4]);return B};CGW.textElmCreate=function(B){var B='<span class="cgw_text">'+B+"</span>";this.GameNoteArray.push(B)};CGW.signElmCreate=function(F){var G=parseInt(F.substr(1),10);var H="";if(cgw_notation[G]!=""){H=cgw_desciption[G]}else{if(typeof cgw_notation[G]!="undefined"){H=" "+cgw_notation[G]}else{H=""}}if(this.variant==0){var J="cgw_mainvariation"}else{var J="cgw_subvariation"}var I='<span class="'+J+'">'+H+"</span>";this.GameNoteArray.push(I)};CGW.setupClock=function(G,B,D){var E=G.indexOf("[%clk");var F=G.indexOf("]",E);var C=G.substr(E,F-E+1);var A=G.replace(C,"");return A};CGW.calculateBoards=function(){this.kingX=new Array(1,1,1,0,0,-1,-1,-1);this.kingY=new Array(1,0,-1,1,-1,1,0,-1);this.queenX=new Array(1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7,1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,-1,-2,-3,-4,-5,-6,-7);this.queenY=new Array(1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7,-1,-2,-3,-4,-5,-6,-7,1,2,3,4,5,6,7,0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,-1,-2,-3,-4,-5,-6,-7,0,0,0,0,0,0,0);this.rookX=new Array(0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,-1,-2,-3,-4,-5,-6,-7);this.rookY=new Array(0,1,2,3,4,5,6,7,0,0,0,0,0,0,0,-1,-2,-3,-4,-5,-6,-7,0,0,0,0,0,0,0);this.bishopX=new Array(1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7,1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7);this.bishopY=new Array(1,2,3,4,5,6,7,-1,-2,-3,-4,-5,-6,-7,-1,-2,-3,-4,-5,-6,-7,1,2,3,4,5,6,7);this.knightX=new Array(2,2,1,1,-1,-1,-2,-2);this.knightY=new Array(1,-1,2,-2,2,-2,1,-1);this.removeSign=/\+|#|x/g;this.tjekBonde="abcdefgh";this.tjekOfficer="RNBQK";this.rak="abcdefgh";this.kol="87654321";this.braet=this.Config.boardConfig.startBoard.split("");this.boardArray=[];this.cgw_Move_Start=[];this.cgw_Move_End=[];this.boardArray[0]=[];this.boardArray[0][0]=this.Config.boardConfig.startBoard;this.codeArea=new Array();for(var B=0;B<this.arrayPgn.length;B++){this.codeArea[B]=new Array();this.variant=this.arrayPgn[B];this.calcVariant(B)}};CGW.calcVariant=function(J){function H(A){for(G=0;G<A.length;G++){if(A[G]){return G}}}if(typeof this.boardArray[J]=="undefined"){this.boardArray[J]=new Array()}var F=H(this.variant);this.cgw_Move_Start[J]=F;if(J>0){this.cgw_Move_Start[J]++}this.cgw_Move_End[J]=this.variant.length;if(J>0){var I=this.variantStart[J];this.braet=this.boardArray[I][F].split("")}for(var G=F;G<this.variant.length;G++){this.traeknr=G+1;if(this.variant[G]){this.hvid=G/2==parseInt(G/2,10);this.traek=this.variant[G].replace(this.removeSign,"");this.boardArray[J][this.traeknr]=this.calcBoard()}}};CGW.calcBoard=function(){this.brik=this.traek.charAt(0);if(this.brik=="O"){this.rokade()}else{if(this.tjekBonde.indexOf(this.brik)>=0){this.pawn()}else{if(this.tjekOfficer.indexOf(this.brik)>=0){this.officer()}}}return this.braet.join("")};CGW.udregnTilPos=function(){if(this.traek.length==2){this.xTil=this.rak.indexOf(this.traek.charAt(0));this.yTil=this.kol.indexOf(this.traek.charAt(1))}if(this.traek.length==3){this.xTil=this.rak.indexOf(this.traek.charAt(1));this.yTil=this.kol.indexOf(this.traek.charAt(2))}if(this.traek.length==4){this.xTil=this.rak.indexOf(this.traek.charAt(2));this.yTil=this.kol.indexOf(this.traek.charAt(3))}};CGW.tjekForNull=function(D,C){if(this.brik.toLowerCase()=="n"){return true}this.stepY=((this.yTil-D)==0)?0:(this.yTil-D)/Math.abs(this.yTil-D);this.stepX=((this.xTil-C)==0)?0:(this.xTil-C)/Math.abs(this.xTil-C);this.y=D+this.stepY;this.x=C+this.stepX;if((this.yTil==this.y)&&(this.xTil==this.x)){return true}while((this.yTil!=this.y)||(this.xTil!=this.x)){if((this.yTil==this.y)&&(this.xTil==this.x)){return true}if(this.braet[this.y*8+this.x]!="-"){return false}this.y+=this.stepY;this.x+=this.stepX}return true};CGW.findBrik=function(C,D){if(!this.hvid){this.brik=this.brik.toLowerCase()}this.xs=C;this.ys=D;this.yFra=-1;this.xFra=-1;for(x=0;x<this.xs.length;x++){this.ypos=this.yTil+this.ys[x];this.xpos=this.xTil+this.xs[x];if(this.ypos>=0&&this.ypos<=7&&this.xpos>=0&&this.xpos<=7){if(this.yFra==-1&&this.xFra==-1&&this.braet[this.ypos*8+this.xpos]==this.brik){if(this.tjekForNull(this.ypos,this.xpos)){this.xFra=this.xpos;this.yFra=this.ypos}}}}if(this.traek.length==4){if(this.rak.indexOf(this.traek.charAt(1))>-1){this.xFra=this.rak.indexOf(this.traek.charAt(1));this.yFra=-1;for(x=0;x<this.ys.length;x++){this.ypos=this.yTil+this.ys[x];if(this.ypos>=0&&this.ypos<=7){if(this.yFra==-1&&this.braet[this.ypos*8+this.xFra]==this.brik){if(this.tjekForNull(this.ypos,this.xFra)){this.yFra=this.ypos}}}}}if(this.kol.indexOf(this.traek.charAt(1))>-1){this.yFra=this.kol.indexOf(this.traek.charAt(1));this.xFra=-1;for(x=0;x<this.xs.length;x++){this.xpos=this.xTil+this.xs[x];if(this.xpos>=0&&this.xpos<=7){if(this.xFra==-1&&this.braet[this.yFra*8+this.xpos]==this.brik){if(this.tjekForNull(this.yFra,this.xpos)){this.xFra=this.xpos}}}}}}this.braet[this.yFra*8+this.xFra]="-";this.braet[this.yTil*8+this.xTil]=this.brik};CGW.officer=function(){this.udregnTilPos();if(this.brik=="K"){this.findBrik(this.kingX,this.kingY)}else{if(this.brik=="Q"){this.findBrik(this.queenX,this.queenY)}else{if(this.brik=="R"){this.findBrik(this.rookX,this.rookY)}else{if(this.brik=="B"){this.findBrik(this.bishopX,this.bishopY)}else{if(this.brik=="N"){this.findBrik(this.knightX,this.knightY)}}}}}};CGW.rokade=function(){if(this.traek=="O-O"){(this.hvid)?this.kode="47677757":this.kode="40607050"}if(this.traek=="O-O-O"){(this.hvid)?this.kode="47270737":this.kode="40200030"}this.braet[parseInt(this.kode.charAt(1),10)*8+parseInt(this.kode.charAt(0),10)]="-";this.braet[parseInt(this.kode.charAt(3),10)*8+parseInt(this.kode.charAt(2),10)]=(this.hvid)?"K":"k";this.braet[parseInt(this.kode.charAt(5),10)*8+parseInt(this.kode.charAt(4),10)]="-";this.braet[parseInt(this.kode.charAt(7),10)*8+parseInt(this.kode.charAt(6),10)]=(this.hvid)?"R":"r"};CGW.pawn=function(){(this.hvid)?this.retning=1:this.retning=-1;(this.hvid)?this.brik="P":this.brik="p";if(this.rak.indexOf(this.traek.charAt(1))>-1){this.xTil=this.rak.indexOf(this.traek.charAt(1));this.yTil=this.kol.indexOf(this.traek.charAt(2))}else{this.xTil=this.rak.indexOf(this.traek.charAt(0));this.yTil=this.kol.indexOf(this.traek.charAt(1))}if(this.braet[(this.yTil+this.retning)*8+this.xTil]==this.brik){this.yFra=this.yTil+this.retning}else{if(this.braet[(this.yTil+this.retning+this.retning)*8+this.xTil]==this.brik){this.yFra=this.yTil+this.retning+this.retning;this.enpassant=this.traek.charAt(0)+(this.yTil+this.retning)}}this.xFra=this.xTil;if(this.traek.length>=3){this.traek=this.traek.split("=").join("");if(this.tjekOfficer.indexOf(this.traek.charAt(this.traek.length-1))>-1){(this.hvid)?this.brik=this.traek.charAt(this.traek.length-1):this.brik=this.traek.charAt(this.traek.length-1).toLowerCase()}this.yFra=this.yTil+this.retning;this.xFra=this.rak.indexOf(this.traek.charAt(0));if(this.braet[this.yTil*8+this.xTil]=="-"){this.braet[this.yFra*8+this.xTil]="-"}}this.braet[this.yFra*8+this.xFra]="-";this.braet[this.yTil*8+this.xTil]=this.brik};CGW.resize=function(p,Z){var i=p.BoardID;var b=i+"_outer";var Z=Ext.get(b);if(Z==null){return false}p.Config.boardSize=Z.getWidth();var f=Ext.get("pgnViewerCont");p.TargetObj.setStyle("height",(f.getHeight())+"px");p.TargetObj.setStyle("width",(f.getWidth())+"px");p.targetOjectWidth=f.getWidth();p.Config.fontSize=p.Config.boardSize/2.3;Z.setStyle("position","relative");Z.setStyle("height",this.Config.boardSize+"px");var a=parseInt((this.Config.boardSize+2)*0.88/8,10);var e=a*8+4;var W=parseInt(this.Config.boardSize*0.06,10)+2;var b=i+"inner";var Z=Ext.get(b);Z.setStyle("position","absolute");Z.setStyle("height",e+"px");Z.setStyle("width",e+"px");Z.setStyle("left",W+"px");Z.setStyle("top",W+"px");var l=this.Config.boardSize*0.021;var n=this.Config.boardSize*0.937;var j=this.Config.boardSize*0.88/8;var U=this.Config.boardSize*0.06+l;var V=this.Config.boardSize*0.08+l;for(var Y=0;Y<8;Y++){var k=j*(7-Y)+U;var b=i+"_Number_"+Y;var Z=Ext.get(b);Z.setStyle("position","absolute");Z.setStyle("font-size",this.Config.fontSize+"%");Z.setStyle("left",l+"px");Z.setStyle("top",k+"px");var k=j*(Y)+V;var b=i+"_Letter_"+Y;var Z=Ext.get(b);Z.setStyle("position","absolute");Z.setStyle("font-size",this.Config.fontSize+"%");Z.setStyle("left",k+"px");Z.setStyle("top",n+"px")}for(var g=0;g<8;g++){for(var h=0;h<8;h++){var X=63-(h+g*8);var m=a*(7-h);var o=a*g;var b=i+"_field_"+X;var Z=Ext.get(b);Z.setStyle("position","absolute");Z.setStyle("width",a+"px");Z.setStyle("height",a+"px");Z.setStyle("left",m+"px");Z.setStyle("top",o+"px")}}p.Config.reverse=this.Config.reverse==false;p.reverse(i);p.win.syncShadow();var p=Ext.get("pgnVieverToBody");CGW.TargetObj.setHeight(p.getHeight());CGW.TargetObj.setWidth(p.getWidth()+10)};
