var doload=false;var level_playfield="0";var level="0";var puzzle;var solution;var title=eval({"3":{"1":"1","2":"2","3":"3 12","4":"4 13","5":"5 14 23","6":"6 15 24 123","7":"7 16 25 34 124","8":"17 26 35 125 134","9":"27 36 45 126 135 234","10":"37 46 127 136 145 235 1234","11":"47 56 137 146 236 245 1235","12":"57 147 156 237 246 345 1236 1245","13":"67 157 247 256 346 1237 1246 1345","14":"167 257 347 356 1247 1256 1346 2345","15":"267 357 456 1257 1347 1356 2346 12345","16":"367 457 1267 1357 1456 2347 2356 12346","17":"467 1367 1457 2357 2456 12347 12356","18":"567 1467 2367 2457 3456 12357 12456","19":"1567 2467 3457 12367 12457 13456","20":"2567 3467 12467 13457 23456","21":"3567 12567 13467 23457 123456","22":"4567 13567 23467 123457","23":"14567 23567 123467","24":"24567 123567","25":"34567 124567","26":"134567","27":"234567","28":"1234567"},"2":{"1":"1","2":"2","3":"3 12","4":"4 13","5":"5 14 23","6":"6 15 24 123","7":"16 25 34 124","8":"26 35 125 134","9":"36 45 126 135 234","10":"46 136 145 235 1234","11":"56 146 236 245 1235","12":"156 246 345 1236 1245","13":"256 346 1246 1345","14":"356 1256 1346 2345","15":"456 1356 2346 12345","16":"1456 2356 12346","17":"2456 12356","18":"3456 12456","19":"13456","20":"23456","21":"123456"},"1":{"1":"1","2":"2","3":"3 12","4":"4 13","5":"5 14 23","6":"15 24 123","7":"25 34 124","8":"35 125 134","9":"45 135 234","10":"145 235 1234","11":"245 1235","12":"345 1245","13":"1345","14":"2345","15":"12345"}});function make_clear(name,keycode){keycode=parseInt(keycode);if(keycode!=9&&keycode!=13){document.getElementsByName(name)[0].value="";}}function check_black(name){if(document.getElementsByName(name)[0].value=="X"||document.getElementsByName(name)[0].value=="x"||document.getElementsByName(name)[0].value=="0"){document.getElementsByName(name)[0].style.color="#ffffff";var tdname="tds"+name.substr(2,2);document.getElementById(tdname).style.backgroundColor="#000000";}else{document.getElementsByName(name)[0].style.color="#000000";var tdname="tds"+name.substr(2,2);document.getElementById(tdname).style.backgroundColor="#ffffff";}}function examine(){if(!doload){var test=true;var vari;for(var x=0;x<(6+parseInt(level_playfield)-1);x++){for(var y=0;y<(6+parseInt(level_playfield)-1);y++){if(document.getElementsByName("is"+x+""+y)[0].value=="x"||document.getElementsByName("is"+x+""+y)[0].value=="X"||document.getElementsByName("is"+x+""+y)[0].value=="0"){vari="0";}else{vari=document.getElementsByName("is"+x+""+y)[0].value;}if(vari!=solution[x][y]){test=false;}}}if(test){alert("Die Lösung ist richtig.");}else{alert("Das Sudoku ist nicht richtig gelöst");}}}function restart(){for(var x=0;x<10;x++){for(var y=0;y<10;y++){document.getElementsByName("is"+x+""+y)[0].value="";document.getElementsByName("is"+x+""+y)[0].style.color="#000000";document.getElementById("tds"+x+""+y).style.backgroundColor="#ffffff";}}}function size_schwer(){if(level_playfield!="3"){document.getElementById("game").style.paddingRight="144px";document.getElementById("trs9").style.display="none";document.getElementById("trs8").style.display="none";document.getElementById("trs7").style.display="";document.getElementById("trs6").style.display="";document.getElementById("trp4").style.display="none";document.getElementById("trp3").style.display="";for(var i=0;i<10;i++){document.getElementById("tdp4"+i).style.display="none";document.getElementById("tdp3"+i).style.display="";document.getElementById("tds6"+i).style.display="";document.getElementById("tds7"+i).style.display="";document.getElementById("tds8"+i).style.display="none";document.getElementById("tds9"+i).style.display="none";if(i<5){document.getElementById("e3"+i).style.display="";document.getElementById("e4"+i).style.display="none";document.getElementById("vtdp6"+i).style.display="";document.getElementById("vtdp7"+i).style.display="";document.getElementById("vtdp8"+i).style.display="none";document.getElementById("vtdp9"+i).style.display="none";}}document.getElementById("ziffern").firstChild.nodeValue="1 ~ 7";level_playfield="3";}}function size_mittel(){if(level_playfield!="2"){document.getElementById("game").style.paddingRight="144px";document.getElementById("trs9").style.display="none";document.getElementById("trs8").style.display="none";document.getElementById("trs7").style.display="none";document.getElementById("trs6").style.display="";document.getElementById("trp4").style.display="none";document.getElementById("trp3").style.display="";for(var i=0;i<10;i++){document.getElementById("tdp4"+i).style.display="none";document.getElementById("tdp3"+i).style.display="";document.getElementById("tds6"+i).style.display="";document.getElementById("tds7"+i).style.display="none";document.getElementById("tds8"+i).style.display="none";document.getElementById("tds9"+i).style.display="none";if(i<5){document.getElementById("e3"+i).style.display="";document.getElementById("e4"+i).style.display="none";document.getElementById("vtdp6"+i).style.display="";document.getElementById("vtdp7"+i).style.display="none";document.getElementById("vtdp8"+i).style.display="none";document.getElementById("vtdp9"+i).style.display="none";}}level_playfield="2";document.getElementById("ziffern").firstChild.nodeValue="1 ~ 6";}}function size_leicht(){if(level_playfield!="1"){document.getElementById("game").style.paddingRight="108px";document.getElementById("trs9").style.display="none";document.getElementById("trs8").style.display="none";document.getElementById("trs7").style.display="none";document.getElementById("trs6").style.display="none";document.getElementById("trp4").style.display="none";document.getElementById("trp3").style.display="none";for(var i=0;i<10;i++){document.getElementById("tdp4"+i).style.display="none";document.getElementById("tdp3"+i).style.display="none";document.getElementById("tds6"+i).style.display="none";document.getElementById("tds7"+i).style.display="none";document.getElementById("tds8"+i).style.display="none";document.getElementById("tds9"+i).style.display="none";if(i<5){document.getElementById("e3"+i).style.display="none";document.getElementById("e4"+i).style.display="none";document.getElementById("vtdp6"+i).style.display="none";document.getElementById("vtdp7"+i).style.display="none";document.getElementById("vtdp8"+i).style.display="none";document.getElementById("vtdp9"+i).style.display="none";}}level_playfield="1";document.getElementById("ziffern").firstChild.nodeValue="1 ~ 5";}}function make_game(ajaxreponse){var japsum=eval('('+ajaxreponse+')');puzzle=japsum['japsum_puzzle'];solution=japsum['japsum_solution'];switch(level_playfield){case"1":for(var i=0;i<6;i++){for(var j=0;j<3;j++){if(puzzle[i][j]!=0){document.getElementById("tdp"+j+""+i).firstChild.nodeValue=puzzle[i][j];document.getElementById("tdp"+j+""+i).title=title[level_playfield][puzzle[i][j]];}else{document.getElementById("tdp"+j+""+i).firstChild.nodeValue="";document.getElementById("tdp"+j+""+i).title="";}}}for(var j=0;j<3;j++){for(var i=0;i<6;i++){if(puzzle[i+6][j]!=0){document.getElementById("vtdp"+i+""+j).firstChild.nodeValue=puzzle[i+6][j];document.getElementById("vtdp"+i+""+j).title=title[level_playfield][puzzle[i+6][j]];}else{document.getElementById("vtdp"+i+""+j).firstChild.nodeValue="";document.getElementById("vtdp"+i+""+j).title="";}}}break;case"2":for(var i=0;i<7;i++){for(var j=0;j<4;j++){if(puzzle[i][j]!=0){document.getElementById("tdp"+j+""+i).firstChild.nodeValue=puzzle[i][j];document.getElementById("tdp"+j+""+i).title=title[level_playfield][puzzle[i][j]];}else{document.getElementById("tdp"+j+""+i).firstChild.nodeValue="";document.getElementById("tdp"+j+""+i).title="";}}}for(var j=0;j<4;j++){for(var i=0;i<7;i++){if(puzzle[i+7][j]!=0){document.getElementById("vtdp"+i+""+j).firstChild.nodeValue=puzzle[i+7][j];document.getElementById("vtdp"+i+""+j).title=title[level_playfield][puzzle[i+7][j]];}else{document.getElementById("vtdp"+i+""+j).firstChild.nodeValue="";document.getElementById("vtdp"+i+""+j).title="";}}}break;case"3":for(var i=0;i<8;i++){for(var j=0;j<4;j++){if(puzzle[i][j]!=0){document.getElementById("tdp"+j+""+i).firstChild.nodeValue=puzzle[i][j];document.getElementById("tdp"+j+""+i).title=title[level_playfield][puzzle[i][j]];}else{document.getElementById("tdp"+j+""+i).firstChild.nodeValue="";document.getElementById("tdp"+j+""+i).title="";}}}for(var j=0;j<4;j++){for(var i=0;i<8;i++){if(puzzle[i+8][j]!=0){document.getElementById("vtdp"+i+""+j).firstChild.nodeValue=puzzle[i+8][j];document.getElementById("vtdp"+i+""+j).title=title[level_playfield][puzzle[i+8][j]];}else{document.getElementById("vtdp"+i+""+j).firstChild.nodeValue="";document.getElementById("vtdp"+i+""+j).title="";}}}break;default:alert("Ein Fehler bei make_game().");break;}doload=false;}function new_game(){if(!doload){doload=true;restart();level=(document.getElementsByName("level")[0].value==0)?"2":document.getElementsByName("level")[0].value;if(level!=level_playfield){switch(level){case"1":size_leicht();break;case"2":size_mittel();break;case"3":size_schwer();break;default:alert("Ein Fehler bei new_game().");break;}}AjaxRequest.get({'url':'get_japsum.php?level='+level,'onSuccess':function(req){make_game(req.responseText);},'onError':function(req){japsum_error();}});}}function dosolve(){if(!doload){restart();for(var x=0;x<(6+parseInt(level_playfield)-1);x++){for(var y=0;y<(6+parseInt(level_playfield)-1);y++){if(solution[x][y]==0){document.getElementsByName("is"+x+""+y)[0].value="x";check_black("is"+x+""+y);}else{document.getElementsByName("is"+x+""+y)[0].value=solution[x][y];}}}}}function japsum_error(){alert("Konnte Spieldaten nicht laden. Entweder es besteht keine Internetverbindung oder der Server ist im Moment nicht erreichbar.");}function init(){size_mittel();document.getElementById("game_table").style.display="";new_game();}
