var grid;var gridx;var gridy;var down=0;var gn;var res;var bag;var opp;var blk;var op;var tiles;var colors=new Array();var tl;var rt;colors[0]='#f88';colors[7]='#f88';colors[14]='#f88';colors[105]='#f88';colors[119]='#f88';colors[210]='#f88';colors[217]='#f88';colors[224]='#f88';colors[3]='#BCE';colors[36]='#BCE';colors[38]='#BCE';colors[52]='#BCE';colors[11]='#BCE';colors[45]='#BCE';colors[92]='#BCE';colors[96]='#BCE';colors[98]='#BCE';colors[102]='#BCE';colors[108]='#BCE';colors[116]='#BCE';colors[122]='#BCE';colors[126]='#BCE';colors[128]='#BCE';colors[132]='#BCE';colors[165]='#BCE';colors[172]='#BCE';colors[179]='#BCE';colors[186]='#BCE';colors[188]='#BCE';colors[213]='#BCE';colors[221]='#BCE';colors[20]='#99F';colors[24]='#99F';colors[76]='#99F';colors[80]='#99F';colors[84]='#99F';colors[88]='#99F';colors[136]='#99F';colors[140]='#99F';colors[144]='#99F';colors[148]='#99F';colors[200]='#99F';colors[204]='#99F';colors[16]='#ffc8ed';colors[28]='#ffc8ed';colors[32]='#ffc8ed';colors[42]='#ffc8ed';colors[48]='#ffc8ed';colors[56]='#ffc8ed';colors[64]='#ffc8ed';colors[70]='#ffc8ed';colors[112]='#ffc8ed';colors[154]='#ffc8ed';colors[160]='#ffc8ed';colors[168]='#ffc8ed';colors[176]='#ffc8ed';colors[182]='#ffc8ed';colors[192]='#ffc8ed';colors[196]='#ffc8ed';colors[208]='#ffc8ed';var lf=new Array();lf['A']=9;lf['B']=2;lf['C']=2;lf['D']=4;lf['E']=12;lf['F']=2;lf['G']=3;lf['H']=2;lf['I']=9;lf['J']=1;lf['K']=1;lf['L']=4;lf['M']=2;lf['N']=6;lf['O']=8;lf['P']=2;lf['Q']=1;lf['R']=6;lf['S']=4;lf['T']=6;lf['U']=4;lf['V']=2;lf['W']=2;lf['X']=1;lf['Y']=2;lf['Z']=1;lf[' ']=2;function mk(){tab=document.getElementById('tab');gn=document.getElementById('gamename');grid=document.getElementById('grid');res=document.getElementById('results');vals=document.getElementById('values');bag=document.getElementById('bag');bagr=document.getElementById('bagr');opp=document.getElementById('opp');blk=document.getElementById('_');op=document.getElementById('op');tiles=document.getElementById('tiles');rk=document.getElementById('rk');rk.focus();for(i=0;i<26;i++){var al=document.getElementById(String.fromCharCode(65+i));al.value=lf[al.name];al.readOnly=1}blk.value=2;bag.value=93;opp.value=7;blk.readOnly=1;opp.readOnly=1;bag.readOnly=1;bagr.readOnly=1;for(i=0;i<15;i++){for(k=0;k<15;k++){var idx=i*15+k;var inp=document.getElementById(idx);if(gs.length>=idx){var ltr=gs.substr(idx,1);if(ltr.match(/[A-Z]/i)){inp.value=ltr;cl(ltr,0)}if(ltr.match(/[a-z]/)){inp.style.color='red';cl('_',0);cl(ltr,1)}}}}rk.setAttribute('autocomplete','off');for(var i=0;i<rk.value.length;i++)cl(rk.value.substr(i,1),0);var gldiv=document.getElementById('gldiv');var lldiv=document.getElementById('lldiv');var gmdiv=document.getElementById('gmdiv');res.style.height=grid.offsetHeight;vals.style.height=grid.offsetHeight-3;gldiv.style.height=grid.offsetHeight-58;lldiv.style.height=grid.offsetHeight-3;gmdiv.style.height=grid.offsetHeight-1;}function vl(){for(i=0;i<26;i++){var al=document.getElementById(String.fromCharCode(65+i));al.value=lf[al.name]}blk.value=2;tl=100;for(i=0;i<15;i++){for(k=0;k<15;k++){var idx=i*15+k;var ltr=document.getElementById(''+idx).value;if(ltr.match(/[A-Z]/i)){tl--;cl(ltr,0)}if(ltr.match(/[a-z]/)){cl('_',0);cl(ltr,1)}}}for(var i=0;i<rk.value.length;i++){tl--;cl(rk.value.substr(i,1),0)}opp.value=(tl>=7)?7:tl;bag.value=tl-opp.value;bagr.value=bag.value;rt='';var tds=0;var ll='<div id=showopp><table><tr>';for(var i=0;i<26;i++){var al=document.getElementById(String.fromCharCode(65+i));for(var j=0;j<al.value;j++){if(!(tds++%25))ll+='</tr><tr>';ll+=('<td>'+al.name+'</td>');rt+=al.name}}for(var j=0;j<blk.value;j++){if(!(tds++%25))ll+='</tr><tr>';ll+='<td>*</td>';rt+='*'}if(tl<8){ll+="<td id=clkslv style='padding:0'><div><u>Click here to solve using the remaining tiles</u></div></td>"}ll+='</tr></table></div>';tiles.innerHTML=ll;tiles.height=((tds/25)+1)*25}YAHOO.util.Event.on("grid","keyup",ku);YAHOO.util.Event.on("grid","keydown",kd);YAHOO.util.Event.on("grid","mouseover",glkp);YAHOO.util.Event.on("tiles","click",shopp);function shopp(e){if(rt.length<8){var tmp=rk.value;rk.value=rt;rt=tmp;answers()}}function rku(e,rk){if(e.keyCode!=8&&e.keyCode>12&&e.keyCode<20)return false;var wc=rk.value;wc=wc.replace(/[^\*]/g,"");if(wc.length>2){alert('Too many blanks');rk.value=rk.value.replace(/[\*]/,"")}if(e.keyCode>40){rk.value=rk.value.toUpperCase();rk.value=rk.value.replace(/[^A-Z\*]/g,"")}for(var i=0;i<old.length;i++){var ch=old.substr(i,1);if(ch.match(/[A-Z]/i))cl(ch,1)}for(var i=0;i<rk.value.length;i++){var ch=rk.value.substr(i,1);if(ch.match(/[A-Z]/i))cl(ch,0)}}function rkd(e,rk){if(e.keyCode==13){answers();var go=document.getElementById('go');go.focus();return false}old=rk.value}function sv(){document.getElementById('nosolve').value=1;document.forms[0].submit()}function mv(e,el){mvo(e,el,0)}function mo(e,el){mvo(e,el,1)}function mvo(e,el,out){var rdiv=document.getElementById("results");var rck=rdiv.getAttribute("r");el.style.background=out?'':'#ddddfc';var start=el.getAttribute("s")-0;var word=el.getAttribute("w");var vert=el.getAttribute("v")-0;var rmng=el.getAttribute("r");rk.value=out?rck:rmng;if(word){if(!out){for(var i=0;i<word.length;i++){var cell=document.getElementById(start+(i*vert));var ch=word.substr(i,1);if(ch=='.')continue;if(!cell||cell.value=='')continue;alert("That move is blocked by a tile");break}}for(var i=0;i<word.length;i++){var ch=word.substr(i,1);if(ch=='.')continue;var cell=document.getElementById(start+(i*vert));if(out){if(cell.className=='cell')continue;cell.value='';cell.style.color='';cell.className='cell'}else{if(cell.value!='')continue;cell.style.color=(ch.match(/[a-z]/))?'red':'';cell.value=ch;cell.className='inv'}cell.style.border=out?'0':'2px solid black'}}}function ku(e){var el=YAHOO.util.Event.getTarget(e);var idx=el.id-0;el.value=el.value.replace(/[^A-Z]/ig,"");if((e.keyCode>=37&&e.keyCode<=40)||(e.keyCode>=65&&e.keyCode<=90)){if(e.keyCode==38)idx-=15;if(e.keyCode==40)idx+=15;if(e.keyCode!=37&&e.keyCode!=38&&e.keyCode!=40){if(e.keyCode>=65&&e.keyCode<=90){el.value=String.fromCharCode(e.keyCode);if(el.style.color=='red'){el.value=el.value.toLowerCase()}else{cl(el.value,0)}}else{if(e.keyCode!=39)el.value=''}if(e.shiftKey)idx+=15;else if((idx+1)%15)idx++}if(idx<225){var next=document.getElementById(idx);if(next)next.focus()}}}function kd(e){var el=YAHOO.util.Event.getTarget(e);var idx=el.id-0;if(e.keyCode==13)scrfrm.submit();if(e.keyCode==56){if(el.value=='')return true;if(el.style.color=='red'||el.value.length==0){el.style.color='black';el.value=el.value.toUpperCase();cl(el.value,0);cl('_',1)}else{el.style.color='red';cl(el.value,1);el.value=el.value.toLowerCase();cl('_',0)}return true}if(e.keyCode==8||e.keyCode==37){if(el.value.length==0||e.keyCode==37){if(e.shiftKey)idx-=15;else if(idx%15)idx--;if(idx>=0){var prev=document.getElementById(idx);if(e.keyCode==8){if(prev.value.length){if(prev.style.color=='red'){prev.style.color='black';cl('_',1)}else{cl(prev.value,1)}}prev.value=''}prev.focus()}}else{if(el.value.length&&e.keyCode==8){if(el.style.color=='red'){el.style.color='black';cl('_',1)}else{cl(el.value,1)}el.value=''}}return false}else{if(e.keyCode>=65&&e.keyCode<=90){if(!el.value.match(/[a-z]/)){cl(el.value,1)}}}return false}function cl(val,add){if(val=='*')val='_';var el=document.getElementById(val);if(!el)return;if(add){el.value++;bag.value++}if(!add){el.value--;bag.value--}if(bag.value>=7){opp.value=7}else{if(bag.value<0){bag.value=0;opp.value=bag.value}}bagr.value=bag.value;var cn='ll';if(el.value==0)cn='l0';if(el.value<0)cn='le';el.className=cn;if(td1=document.getElementById('td1'+val))td1.className=cn;if(td2=document.getElementById('td2'+val))td2.className=cn}function noenter(e){if(e.keyCode==13){var scrfrm=document.getElementById('scrfrm');op.value="save";scrfrm.submit();return false}return true}function nosubmit(e,obj){if(e.keyCode==13){var scrfrm=document.getElementById('scrfrm');var go=document.getElementById('go');go.focus();scrfrm.submit()}}function showdlg(op){document.getElementById('savedlg').style.display='none';document.getElementById('opendlg').style.display='none';document.getElementById('deldlg').style.display='none';document.getElementById('msg').style.display='none';document.getElementById(op).style.display='';if(op=='msg'){document.getElementById('rackdiv').style.display=''}else{document.getElementById('rackdiv').style.display='none'}return false}var defs=new Array();var words=new Array();function cleardefs(){for(var i=1;i<7;i++){document.getElementById('def'+i).innerHTML=''}}function glkp(e){var lang=scrfrm.wl.options[scrfrm.wl.selectedIndex].value;if(lang!="twl06"&&lang!="sowpods")return;var el=YAHOO.util.Event.getTarget(e);if(!el)return;if(el.nodeName.toUpperCase()!="INPUT")return;if(el.value=="")return;var cell=el.name-0;var start=cell;var wx='';var wy='';while(el.value){if(!(cell--%15))break;el=document.getElementById(cell)}cell++;el=document.getElementById(cell);while(el.value){wx+=el.value;if(!(++cell%15))break;el=document.getElementById(cell)}cell=start;el=document.getElementById(cell);while(el.value){cell-=15;if(cell<0)break;el=document.getElementById(cell)}cell+=15;el=document.getElementById(cell);while(el.value){wy+=el.value;cell+=15;if(cell>224)break;el=document.getElementById(cell)}for(var elem=1;elem<6;elem++){var def;if(def=document.getElementById('def'+elem)){def.innerHTML=""}}if(wx.length>1)lkp(wx.toLowerCase(),1,3);if(wy.length>1)lkp(wy.toLowerCase(),2,3)}function lkp(word,elem,num){var lang=scrfrm.wl.options[scrfrm.wl.selectedIndex].value;if(lang!="twl06"&&lang!="sowpods")return;var xmlHttp;var target=document.getElementById('def'+elem);if(!target)return;target.innerHTML='';if(word=='')return;var i=0;for(i=1;i<elem;i++){if(words[i]==word){return}}words[elem]=word;if(defs[word]){target.innerHTML=defs[word];return}try{xmlHttp=new XMLHttpRequest()}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){alert("Upgrade your browser");return false}}}var url='/fcgi-bin/dict.pl?ax=1&word='+word+'&num='+num;xmlHttp.onreadystatechange=function(){defs[word]='Searching for definition...';if(target&&xmlHttp.readyState==4){defs[word]=xmlHttp.responseText;target.innerHTML=xmlHttp.responseText}};xmlHttp.open("GET",url,true);xmlHttp.send(null)}function swapanswers(obj){var tmp=rk.value;rk.value=obj.innerHTML;obj.innerHTML=tmp;answers()}function answers(){var xmlHttp;try{xmlHttp=new XMLHttpRequest()}catch(e){try{xmlHttp=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){alert("Upgrade your browser");return false}}}var res=document.getElementById('results');res.setAttribute("r",rk.value);vl();var gn=document.getElementById('gamename');var qs=qstr();var url='/fcgi-bin/scrabble_master.pl';xmlHttp.onreadystatechange=function(){res.innerHTML=xmlHttp.responseText;if(res&&xmlHttp.readyState==4){res.innerHTML=xmlHttp.responseText;if(xmlHttp.responseText.match('sortable')){var sortthis=document.getElementById('sortthis');if(sorttable)sorttable.makeSortable(sortthis)}}else{res.innerHTML='<div class=wait>Please wait...</div>'}};var params='xhr=1'+qs;xmlHttp.open("POST",url,true);xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlHttp.setRequestHeader("Content-length",params.length);xmlHttp.setRequestHeader("Connection","close");xmlHttp.send(params);res.innerHTML='<div class=wait>Please wait...</div>';rk.focus()}function qstr(){var query="";var scrfrm=document.getElementById('scrfrm');for(var i=0;i<scrfrm.elements.length;i++){if(scrfrm.elements[i].type=="text"||scrfrm.elements[i].type=="hidden"){if(scrfrm.elements[i].name.length>1||!scrfrm.elements[i].name.match("[A-Z]"))query+=('&'+scrfrm.elements[i].name+"="+scrfrm.elements[i].value)}}query+=('&wl='+scrfrm.wl.options[scrfrm.wl.selectedIndex].value);return query}function chkall(){var allgames=document.getElementById('allgames');var scrfrm=document.getElementById('scrfrm');for(var i=0;i<scrfrm.elements.length;i++){if(scrfrm.elements[i].type=="checkbox"){if(scrfrm.elements[i].name.match("gm_")){scrfrm.elements[i].checked=allgames.checked}}}}