document.onmouseover = function ( e ) { if ( !e ) e = window.event; var el = e.target ? e.target : e.srcElement; while ( el != null && el.tagName != "A" ) el = el.parentNode; if ( el == null ) return; if ( e.preventDefault ) e.preventDefault(); else e.returnValue = true;}; document.onmousedown = function ( omd ) { if ( !omd ) omd = window.event; var el = omd.target ? omd.target : omd.srcElement; while ( el != null && el.tagName != "A" ) el = el.parentNode; if ( el == null ) return; if ( omd.preventDefault ) omd.preventDefault(); else omd.returnValue = true;}; var mouseovercolour='#F1FFC0'; var keycursorbg='#546C00';//selected area in pencil marks (not the whole td) var selected_colour='#D0FF31'; var lighter_selected_colour='#F7FFDC'; var pause_colour='#DAFF59'; var bg_shaded_colour='#B1E6FF';var gamerunning=false; var d; var nu; var el; var old; var k=0; var lo=0; var m=0; var X=0; var Y=0; var xt=0; var yt=0; var tn=81; var oh=''; var os=''; var g=[]; var n=[]; var c=[]; var a=[]; var ohtml=[]; for (var i=0;i<9;i++) {c[i]=[]} var gl=[]; var ed=[]; var mb=[]; var sb=[]; var tb=[]; var O=' '; var st=false; var mode=''; var selnote=0; var secs; var mins; var hours; var offset; var rtmp=true; var unpressed=true; var complete=false; var flagreset = false; var laste; //new vars var gamepaused=false; var pausedtime; var bg_shaded=[]; var saved_sudoku = false; var gamefrozen=false; var gamesolution=false; var pm=0; var colon_old; var colon; onerror = ec; function ec(e,u,l) { //alert(e+';'+u+';'+l); return false; } function docRef(element) { if (element) { if (document.getElementById) { if (document.getElementById(element)) { var ref = document.getElementById(element).style; } } else if (document.all) { if (document.all[element]) { var ref = document.all[element].style; } } else if (document.layers) { if (document.layers[element]) { var ref = document.layers[element]; } } else { } return ref } else {return null;} } function htmlRef(element) { if (element) { if (document.getElementById) { if (document.getElementById(element)) { var ref = document.getElementById(element); } } else if (document.all) { if (document.all[element]) { var ref = document.all[element]; } } else if (document.layers) { if (document.layers[element]) { var ref = document.layers[element]; } } else { } return ref } else {return null;} } function gb(s) { a=s.split(''); var k=0; var la=[0,9,18,3,12,21,6,15,24,27,36,45,30,39,48,33,42,51,54,63,72,57,66,75,60,69,78] for (var i=0;i<27;i++) { for (var j=0;j<3;j++) { g[la[i]+j]=a[k++]; } } } function eh(t,d) { if (st && !gamepaused) { if(t<4) { if (mb.length==0 || mb[mb.length-1]!=[t,d]) { if (t==2) { //sb[sb.length]=[t,d]; if ( sb[1] ) { sb[0]=sb[1]; sb[1]=[t,d]; sp=1; } else if ( sb[0] ) { sb[1]=[t,d]; sp=1; } else { sb[0]=[t,d]; sp=0; } if (d.substr(0,2) != "gu") { if ((d.substr(0,1) == 'n')&&(d.charAt(1) >= '0')&&(d.charAt(1) <= '5')) { mode = 'no';//document.sudoku.operafix.focus(); } } // mouseclick if ((sb[sp][1].substring(0,2)=='no')||(sb[sp][1].substring(0,2)=='gu')) { se(sb[sp][1]) } else { se('no'+sb[sp][1].substring(2)) } } else { //mb[mb.length]=[t,d] if ( mb[1] ) { mb[0]=mb[1]; mb[1]=[t,d]; mp=1; } else if ( sb[0] ) { mb[1]=[t,d]; mp=1; } else { mb[0]=[t,d]; mp=0; } //add if t==1 if ( t==1 && os && os!=d ) { //alert('mouse out - ' + d + ', os ' + os); } // mouse move if (mb[mp][0]==0) { if ((mb[mp][1].substring(0,2)=='no')||(mb[mp][1].substring(0,2)=='gu')) { he(mb[mp][1]) } else { hidehighlight(); } } else { hidehighlight(); } } } } else { // keyboard if ( tb[1] ) { tb[0]=tb[1]; tb[1]=[t,d]; tp=1; } else if ( tb[0] ) { tb[1]=[t,d]; tp=1; } else { tb[0]=[t,d]; tp=0; } var e=tb[tp][1]; if ((e>48)&&(e<58)&&(mode!='')) { var nmt=(e-48); num(nmt)} else if ((e>96)&&(e<106)&&(mode!='')) { var nmt=(e-96); num(nmt)} else if (e==9) { tab() } else if (e==-9) { shifttab() } else if (e==37) { left() } else if (e==39) { right() } else if (e==38) { up() } else if (e==40) { down() } else if (e==8) { del(-1) } else if (e==46) { del(1) } else if (e==32) { del(0) } //tp = tb.length-1; } } } function updateTime() { if ( isNaN(el.getSeconds()) ) { d = new Date(); nu = new Date(); el = new Date(nu.getTime()-d.getTime()); } if (el.getSeconds()<10) {secs='0'+el.getSeconds()} else {secs=el.getSeconds()} if (el.getMinutes()<10) {mins='0'+el.getMinutes()} else {mins=el.getMinutes()} if (el.getHours()>0) { if (el.getHours()<10) {hours='0'+el.getHours()} else {hours=el.getHours()} } if (hours) { htmlRef('clock').innerHTML=""+hours+":"+mins+"<"+"/span>"; } else if (el.getMinutes()) { htmlRef('clock').innerHTML=""+mins+":"+secs+"<"+"/span>"; } else { //alert('hours ' + hours + ', mins ' + mins + ', secs ' + secs); htmlRef('clock').innerHTML="00:"+secs+"<"+"/span>"; } } // new function function pause() { if ( !gamepaused ) { gamepaused=true; nu = new Date(); pausedtime=new Date(nu.getTime()-d.getTime()); var i; htmlRef('colon').className='blink_1'; docRef('grid').backgroundColor=pause_colour; for (i=0; i<81; i++) { docRef('bl'+i).backgroundColor=pause_colour; if ( htmlRef('fi'+i) ) { htmlRef('fi'+i).innerHTML=''; } } for (i=0; i'; } if ( htmlRef('print_span') ) { htmlRef('print_span').innerHTML=''; } if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } } else { for (i=0; i<81; i++) { docRef('bl'+i).backgroundColor='#FFFFFF'; if ( docRef('no'+i) ) { if ( bg_shaded[i] ) { docRef('no'+i).backgroundColor=bg_shaded_colour; } else { docRef('no'+i).backgroundColor='#FFFFFF'; } } if ( docRef('gu'+i) ) { if ( bg_shaded[i] ) { docRef('gu'+i).backgroundColor=bg_shaded_colour; } else { docRef('gu'+i).backgroundColor='#FFFFFF'; } } if ( htmlRef('fi'+i) ) { if ( g[i] ) { htmlRef('fi'+i).innerHTML=g[i]; } else { //alert(g[i] + ' not set');//fix!!! } } if ( htmlRef('no'+i) ) { if ( ed[i]!='' ) { htmlRef('no'+i).innerHTML=n0a+i+n0b+i+n0c+i+n0d+i+nse+O+eas+n1a+i+n1b+i+n1c+i+n1d+i+nse+O+eas+n2a+i+n2b+i+n2c+i+n2d+i+nse+O+eas+n3a+i+n3b+i+n3c+i+n3d+i+nse+O+eas+n4a+i+n4b+i+n4c+i+n4d+i+nse+O+eas+n5a+i+n5b+i+n5c+i+n5d+i+nse+O+eas; } else { htmlRef('no'+i).innerHTML=n0a+i+n0b+i+n0c+i+n0d+i+nse+n[i][0]+eas+n1a+i+n1b+i+n1c+i+n1d+i+nse+n[i][1]+eas+n2a+i+n2b+i+n2c+i+n2d+i+nse+n[i][2]+eas+n3a+i+n3b+i+n3c+i+n3d+i+nse+n[i][3]+eas+n4a+i+n4b+i+n4c+i+n4d+i+nse+n[i][4]+eas+n5a+i+n5b+i+n5c+i+n5d+i+nse+n[i][5]+eas; } } if ( htmlRef('gu'+i) ) { if ( ed[i]!='' ) { htmlRef('gu'+i).innerHTML='' + ed[i] + ''; } else { htmlRef('gu'+i).innerHTML=''; } } } //MM_swapImage('pause','',"/images/button-pause-small-highlight.gif",1); if ( htmlRef('play') ) { htmlRef('play').innerHTML=''; } if ( htmlRef('print_span') ) { htmlRef('print_span').innerHTML=''; } if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } gamepaused=false; nu = new Date(); d = new Date(nu.getTime()-pausedtime.getTime()); pb(mb.length-1,tb.length-1,sb.length-1); } } // new function function clear_grid(flash_text) { nu = new Date(); pausedtime=new Date(nu.getTime()-d.getTime()); gamepaused=true; var i; htmlRef('colon').className='blink_1'; for (i=0; i<81; i++) { if ( htmlRef('fi'+i) ) { htmlRef('fi'+i).innerHTML=''; } if ( htmlRef('no'+i) ) { htmlRef('no'+i).innerHTML=''; } if ( htmlRef('gu'+i) ) { htmlRef('gu'+i).innerHTML=''; } if ( bg_shaded[i]==1 ) { //alert('i ' + i); docRef('no'+i).backgroundColor='#FFFFFF'; docRef('gu'+i).backgroundColor='#FFFFFF'; } } if ( os ) { i=os.substring(2); if ( docRef('no'+i) ) { docRef('no'+i).backgroundColor='#FFFFFF'; } if ( docRef('gu'+i) ) { docRef('gu'+i).backgroundColor='#FFFFFF'; } } if ( flash_text ) { docRef('flash').top='317px'; htmlRef('flash').innerHTML='' + flash_text + ''; } } function pb(mp,tp,sp) { if ( !gamepaused ) { //timer tick handling nu = new Date(); if (el) { old = el.getSeconds();colon_old = Math.floor(el.getMilliseconds()/500); } else { colon_old = 0; } el = new Date(nu.getTime()-d.getTime()); var sec = el.getSeconds(); colon = Math.floor(el.getMilliseconds()/500); if (old!=sec) { updateTime(); } if (colon_old!=colon) { if ( colon==0 ) { htmlRef('colon').className='blink_1'; } else { htmlRef('colon').className='blink_2'; } } if (isNaN(mp)) mp=0; setTimeout("pb("+mp+","+tp+","+sp+")",50); } } // new function function get_selection() { var text = ''; if (window.getSelection) { text = window.getSelection(); } else if (document.getSelection) { text = document.getSelection(); } else if (document.selection) { text = document.selection.createRange().text; } else return false; return text; } function del(d) { var l=os.substring(2)-0;// && d!=0 if (mode=='no') { var i=0; //var selected_text=get_selection(); var selected_text=false; if ( selected_text ) { var j; var moving_numbers; var selected_array=selected_text.split(''); for (j in selected_array) { moving_numbers=false; for (i=0;i<=5;i++) { //if ( n[l][i]!=O && selected_text.indexOf(n[l][i])!=-1 ) if ( n[l][i]==selected_array[j] ) { selnote=i; if ( n[l][i]!=O ) { pm--; } moving_numbers=true; } if ( moving_numbers ) { if ( n[l][i+1] ) { n[l][i]=n[l][i+1]; } else { n[l][i]=O; } } } } document.sudoku.operafix.focus(); } else { if ((d==-1)&&(selnote>0)) {selnote--} if ( n[l][selnote]!=O ) { pm--; }//alert('Deleting a pencil mark'); while (((selnote+i)<6)&&(selnote>-1)) { if (n[l][selnote+(i+1)]) { n[l][selnote+(i++)]=n[l][selnote+i]; } else { n[l][selnote+i]=O; i++; } } } htmlRef(os).innerHTML=n0a+l+n0b+l+n0c+l+n0d+l+nse+n[l][0]+eas+n1a+l+n1b+l+n1c+l+n1d+l+nse+n[l][1]+eas+n2a+l+n2b+l+n2c+l+n2d+l+nse+n[l][2]+eas+n3a+l+n3b+l+n3c+l+n3d+l+nse+n[l][3]+eas+n4a+l+n4b+l+n4c+l+n4d+l+nse+n[l][4]+eas+n5a+l+n5b+l+n5c+l+n5d+l+nse+n[l][5]+eas; notesel(selnote); if ( pm==0 && m==0 ) { if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } } } else if (mode=='gu') { if (ed[l]!='') {--m;ed[l]='';} if ( lo==m+1) { complete=false; if ( htmlRef('submit_span') ) { htmlRef('submit_span').innerHTML=''; } else if ( htmlRef('check_span') ) { htmlRef('check_span').innerHTML=''; } } htmlRef('no'+l).innerHTML=n0a+l+n0b+l+n0c+l+n0d+l+nse+n[l][0]+eas+n1a+l+n1b+l+n1c+l+n1d+l+nse+n[l][1]+eas+n2a+l+n2b+l+n2c+l+n2d+l+nse+n[l][2]+eas+n3a+l+n3b+l+n3c+l+n3d+l+nse+n[l][3]+eas+n4a+l+n4b+l+n4c+l+n4d+l+nse+n[l][4]+eas+n5a+l+n5b+l+n5c+l+n5d+l+nse+n[l][5]+eas; if (docRef('no'+l)!=null) {docRef('no'+l).color=keycursorbg} else {alert('docref: no'+l+' is null');}//removed docRef('no'+l).backgroundColor='FFE1AE'; htmlRef(os).innerHTML=''; if (d == -1) shifttab(); if (d == 1) tab(); if ( pm==0 && m==0 ) { if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } } } } function left() { var l = os.substring(2)-0; if (mode=='no') { if (selnote) { notedsel(selnote); selnote--; notesel(selnote)} else { var tmpx=gl[l][0]; var tmpy=gl[l][1]; if (tmpx>0) { var otmpx=tmpx;tmpx--;selnote=0; while (c[tmpx][tmpy]=='.') { if (tmpx<1) { rtmp=false;tmpx=otmpx;break} tmpx--} if (tmpx!=otmpx) { notedsel(selnote); while ((n[l-1][selnote]!=O)&&(selnote<5)) {selnote++} } eh(2,mode+c[tmpx][tmpy]) } } } else { var tmpx=gl[l][0]; var tmpy=gl[l][1]; if (tmpx>0) { var otmpx=tmpx;tmpx--; while (c[tmpx][tmpy]=='.') {if (tmpx<1) {tmpx=otmpx;break}tmpx--} if (c[tmpx][tmpy]+1) {eh(2,mode+c[tmpx][tmpy])} } } } function right() { var l = os.substring(2)-0; if (mode=='no') { if ((n[l][selnote]!=O)&&(selnote<5)) { notedsel(selnote); selnote++; notesel(selnote)} else { var tmpx=gl[l][0]; var tmpy=gl[l][1]; if (tmpx<8) { var otmpx=tmpx;tmpx++; while (c[tmpx][tmpy]=='.') { if (tmpx>7) {tmpx=otmpx;break}tmpx++} if (tmpx!=otmpx) { notedsel(selnote); selnote=0} rtmp=false; eh(2,mode+c[tmpx][tmpy]) } } } else { var tmpx=gl[l][0]; var tmpy=gl[l][1]; if (tmpx<8) {var otmpx=tmpx;tmpx++; while (c[tmpx][tmpy]=='.') { if (tmpx>7) {tmpx=otmpx;break} tmpx++ } if (c[tmpx][tmpy]+1) {eh(2,mode+c[tmpx][tmpy])} } } } function up() { var l = os.substring(2)-0; var tmpx=gl[l][0]; var tmpy=gl[l][1]; if(mode=='gu') {while ((n[l][selnote]!=O)&&(selnote<5)) {selnote++} eh(2,'no'+(l))} else { while (c[tmpx][tmpy-1]=='.') {tmpy--} if (c[tmpx][tmpy-1]+1) {eh(2,'gu'+c[tmpx][tmpy-1])}} } function down() { var l = os.substring(2)-0; var tmpx=gl[l][0]; var tmpy=gl[l][1]; if(mode=='no') {eh(2,'gu'+(l))} else { while ((n[l][selnote]!=O)&&(selnote<5)) {selnote++} while (c[tmpx][tmpy+1]=='.') {tmpy++} if (c[tmpx][tmpy+1]+1) {eh(2,'no'+c[tmpx][tmpy+1])}} } function tab() { var l = os.substring(2)-0; notedsel(selnote); if (l<(ed.length-1)) eh(2,mode+((l)+1)); } function shifttab() { var l = os.substring(2)-0; notedsel(selnote); if (l > 0) eh(2,mode+((l)-1)); } function num(nmt) { var l=os.substring(2)-0; if (mode=='no') { if ((nmt!=n[l][0])&&(nmt!=n[l][1])&&(nmt!=n[l][2])&&(nmt!=n[l][3])&&(nmt!=n[l][4])&&(nmt!=n[l][5])) { if ( n[l][selnote]==O ) { pm++; } n[l][selnote]=nmt; htmlRef(os).innerHTML=n0a+l+n0b+l+n0c+l+n0d+l+nse+n[l][0]+eas+n1a+l+n1b+l+n1c+l+n1d+l+nse+n[l][1]+eas+n2a+l+n2b+l+n2c+l+n2d+l+nse+n[l][2]+eas+n3a+l+n3b+l+n3c+l+n3d+l+nse+n[l][3]+eas+n4a+l+n4b+l+n4c+l+n4d+l+nse+n[l][4]+eas+n5a+l+n5b+l+n5c+l+n5d+l+nse+n[l][5]+eas; selnote++; if (selnote>5) {selnote=5} notesel(selnote); if ( pm==1 && m==0 ) { if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } } } } else if (mode=='gu') { //alert('calling num gu: ' + l); htmlRef('no'+l).innerHTML=n0a+l+n0b+l+n0c+l+n0d+l+nse+O+eas+n1a+l+n1b+l+n1c+l+n1d+l+nse+O+eas+n2a+l+n2b+l+n2c+l+n2d+l+nse+O+eas+n3a+l+n3b+l+n3c+l+n3d+l+nse+O+eas+n4a+l+n4b+l+n4c+l+n4d+l+nse+O+eas+n5a+l+n5b+l+n5c+l+n5d+l+nse+O+eas; if (ed[l]=='') {++m; ed[l]=nmt;} else {ed[l]=nmt;} htmlRef(os).innerHTML=''+nmt+'<'+'/span>'; tab(); if ( pm==0 && m==1 ) { if ( htmlRef('save_span') ) { htmlRef('save_span').innerHTML=''; } } } if (m==lo) {complete=true; playMOver();} } function notesel(n) { // displays pencil marks in current cell if (os) { var l = os.substring(2)-0; if (docRef('n'+n+l)!=null) { docRef('n'+n+l).color=mouseovercolour; docRef('n'+n+l).backgroundColor=keycursorbg } } } function notedsel(n) { // move focus to pencil marks in new cell if (os) { var l = os.substring(2)-0; if (docRef('n'+n+l)!=null) { docRef('n'+n+l).color=keycursorbg; docRef('n'+n+l).backgroundColor=''; document.sudoku.operafix.focus(); } } } function se(e) { if (os) { var l = os.substring(2)-0; if (docRef('no'+l)!=null) { if ( bg_shaded[l] ) { docRef('no'+l).backgroundColor=bg_shaded_colour; } else { docRef('no'+l).backgroundColor='#ffffff'; } } if (docRef('gu'+l)!=null) { if ( bg_shaded[l] ) { docRef('gu'+l).backgroundColor=bg_shaded_colour; } else { docRef('gu'+l).backgroundColor='#ffffff'; } } if (docRef(os)!=null) {docRef(os).color=keycursorbg} } if (e.substring(0,2)=='gu') { notedsel(selnote); mode='gu'; if (docRef(e)!=null) {docRef(e).backgroundColor=selected_colour; docRef(e).color=keycursorbg; laste = e;} var l = (e.substring(2)-0); if (docRef('no'+l)!=null) { docRef('no'+l).backgroundColor=selected_colour; //docRef('no'+l).color=selected_colour; docRef('no'+l).color=keycursorbg; } os = e } else if (e.substring(0,2)=='no') { var l = (e.substring(2)-0); if ( ed[l]!='' ) { htmlRef('no'+l).innerHTML=n0a+l+n0b+l+n0c+l+n0d+l+nse+n[l][0]+eas+n1a+l+n1b+l+n1c+l+n1d+l+nse+n[l][1]+eas+n2a+l+n2b+l+n2c+l+n2d+l+nse+n[l][2]+eas+n3a+l+n3b+l+n3c+l+n3d+l+nse+n[l][3]+eas+n4a+l+n4b+l+n4c+l+n4d+l+nse+n[l][4]+eas+n5a+l+n5b+l+n5c+l+n5d+l+nse+n[l][5]+eas; } notedsel(selnote); mode='no'; if (docRef(e)!=null) {docRef(e).backgroundColor=selected_colour; docRef(e).color=keycursorbg} if (docRef('gu'+l)!=null) {docRef('gu'+l).backgroundColor=mouseovercolour} if (docRef('no'+l)!=null) {docRef('no'+l).color=keycursorbg} os = e; if (rtmp) { while ((n[os.substring(2)-0][selnote]==O)&&(selnote>0)) {selnote--} while ((n[os.substring(2)-0][selnote]!=O)&&(selnote<5)) {selnote++} } else { rtmp=true } notesel(selnote); } } function hidehighlight() { if (oh == '') return; var l = oh.substring(2); var sb_element = new String(sb[sb.length-1]); if ( sb_element.substring(4)!=oh.substring(2) ) { if (docRef('no'+l)!=null) blank(l); if (docRef(oh)!=null) {docRef(oh).color=keycursorbg} oh = ''; } } function he(e) { if (e) { var l = oh.substring(2); if (os.substring(2)!=l) { if (docRef('no'+l)!=null) blank(l); if (docRef(oh)!=null) {docRef(oh).color=keycursorbg} } if (os.substring(2)!=e.substring(2)) { if (e.substring(0,2)=='no') { //alert('moving into pencil mark area'); if (docRef(e)!=null) {docRef(e).backgroundColor=mouseovercolour;docRef(e).color=keycursorbg;} if (docRef('no'+e.substring(2))!=null) {docRef('no'+e.substring(2)).backgroundColor=mouseovercolour} if (docRef('gu'+e.substring(2))!=null) {docRef('gu'+e.substring(2)).backgroundColor=lighter_selected_colour} //docRef('no'+e.substring(2)).cursor = 'default'; } else if (e.substring(0,2)=='gu') { if (docRef(e)!=null) {docRef(e).backgroundColor=mouseovercolour;docRef(e).color=keycursorbg} if (docRef('no'+e.substring(2))!=null) {docRef('no'+e.substring(2)).backgroundColor=mouseovercolour} } oh = e; } } } function blank(l) { if ( bg_shaded[l] ) { docRef('no'+l).backgroundColor=bg_shaded_colour; docRef('gu'+l).backgroundColor=bg_shaded_colour; } else if ( !gamepaused ) { docRef('no'+l).backgroundColor='#ffffff'; docRef('gu'+l).backgroundColor='#ffffff'; } } var iskeydown=0; function kl(e){ if(!e) e = window.event; var res = e.keyCode; if(res==9) { if (e.shiftKey) res=-9; } if ((iskeydown == 1) && ((res > 48) && (res < 59))) return false; iskeydown = 1; eh(4,res); return false } function KeyUp(e){ if(!e) e = window.event; iskeydown = 0; return false; } document.onkeydown = kl; document.onkeyup = KeyUp; function pl() { if ( saved_sudoku ) {// or gamefrozen } else if (flagreset != true) { d = new Date() } else { m==lo; complete=true; playMOver(); } if ( !gamesolution ) { gamerunning=true;flagreset = false;st=true; pb(-1,-1,-1); } } function na(a,b,c,d) {} //function updatetrack(data,dest) { // tmpobj=eval('document.sudoku.'+dest); tmpobj.value=data} function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i'; display_submit_message(); } else if ( htmlRef('check_span') ) { htmlRef('check_span').innerHTML=''; display_check_message(); } } } // new function function buttonMOver(button) { if ( button=='pause' ) { if ( gamepaused ) { MM_swapImage('pause','','/images/button-play-small-highlight.gif',1); } else { MM_swapImage('pause','','/images/button-pause-small-highlight.gif',1); } } } function playMDown() { if (unpressed) { pl(); //MM_swapImage('submit2','','images/main/button-submit-grey.gif',1); unpressed=false; document.sudoku.operafix.focus(); //return false; } else if (complete) { //htmlRef('d2').value=d.getTime(); gamerunning=false; //htmlRef('sudoku').submit(); } } // new function function create_cookie_string() { var cookie_string = + "," + '' + ","; //alert('cookie_string: ' + cookie_string); var cookie_string_2 = ''; var i; var j; for (i=0; i'; } } //new function, maybe rename? function session_save(action) { if ( !gamefrozen )//not solution { cookie_string=create_cookie_string(); document.sudoku.saved_sudoku_string.value = cookie_string; } document.sudoku.action.value = action; document.sudoku.submit(); } //new function function remove_flash() { docRef('flash').top='-30px'; htmlRef('flash').innerHTML=''; } //new function function check_answer(action) { var x_var; var y_var; var i; var j; var g_count=0; var ed_count=0; var sudoku_array=[]; for (var i=1;i<=9;i++) {sudoku_array[i]=[]} var sudoku_string=''; for (y_var=0; y_var<=6; y_var=y_var+3) { for (x_var=0; x_var<=6; x_var=x_var+3) { for (j=y_var+1; j<=y_var+3; j++) { for (i=x_var+1; i<=x_var+3; i++) { if ( g[g_count]=='.' ) { sudoku_array[i][j]=String(ed[ed_count]); ed_count++; } else { sudoku_array[i][j]=String(g[g_count]); } g_count++; } } } } for (j=1; j<=9; j++) { for (i=1; i<=9; i++) { sudoku_string=sudoku_string + sudoku_array[i][j]; } } document.sudoku.solved_sudoku_string.value = sudoku_string; document.sudoku.action.value = action; cookie_string=create_cookie_string(); document.sudoku.saved_sudoku_string.value = cookie_string; document.sudoku.submit(); } // new function function reset_confirm() { if ( m>3 || pm>19 ) { if ( confirm('Are you sure that you want to reset the current puzzle?') ) { clear_grid(); return true; } else { return false; } } else { clear_grid(); return true; } } // new function function return_play() { document.sudoku.action.value = 'play'; document.sudoku.submit(); } // new function function create_print_display() { if ( m==0 && pm==0 && !gamefrozen) { docRef('clock').display="none"; } //document.htmlRef('sudoku_game').focus(); //document.htmlRef('sudoku_game').print(); //frames["IframeName"].focus();original //frames["IframeName"].print(); window.print(); if ( m==0 && pm==0 && !gamefrozen ) { setTimeout("remove_print_display()",1000); } } // new function function remove_print_display() { docRef('clock').display="block"; } // new function function display_check_message() { docRef('flash').top='317px'; htmlRef('flash').innerHTML='Press Check'; setTimeout("remove_flash()",1000); } // new function function display_submit_message() { docRef('flash').top='317px'; htmlRef('flash').innerHTML='Press Submit'; setTimeout("remove_flash()",1000); } gb(''); var n0a = ""; var eas = "";