var SUhilfe =new Array();  //Ziffer merken
var SUhilfe2 =new Array();  //Ziffer ausschließen
var SUhilfe3 =new Array();  //Ziffer ausschließen AUTO
var SUuser =new Array();
var SUfehler =new Array();
var Stunden =0;  var Minuten =0; var Sekunden =0; var Sekundentotal =0;
var StatusBuFeh =0; var FehlGesamt =0; var Ftests =0;
var level =2;

var Sp7 =1000;
function SUSprachChange(Sp1){
  Sp7 = Sp1 *1000;
  STILE('SuSta2', 'iH', ''+SuText[(Sp7 +999)]);
  SuSprache1();
}

var SuText =new Array();
SuText[1001] ='Startziffer';
SuText[2001] ='starting digit';

SuText[1002] ='Klick = Ziffer spielen';
SuText[2002] ='click = play digit';

SuText[1003] ='Klick = gespielte Ziffer löschen';
SuText[2003] ='click = erase played digit';

SuText[1004] ='Klick = Ziffer merken <u>oder</u> nicht mehr merken<br>Doppel-Klick = Ziffer spielen';
SuText[2004] ='click = memorize digit <u>or</u> don\'t memorize digit<br>double-click = play digit';

SuText[1005] ='Klick = Ziffer ausschließen <u>oder</u> Ziffer wieder einschließen<br>Doppel-Klick = Ziffer spielen';
SuText[2005] ='click = exclude digit <u>or</u> include digit again<br>double-click = play digit';

SuText[1006] ='Klick = Ziffer spielen<br>(auch ausgeschlossene Ziffern sind spielbar = Fehler)';
SuText[2006] ='click = play digit<br>(you can play excluded digit, too = mistake)';

SuText[1100] ='Klick = alle Fehler anzeigen';
SuText[2100] ='click = show all mistakes';

SuText[1101] ='Klick = alle Fehler entfernen';
SuText[2101] ='click = erase all mistakes';

SuText[1102] ='Keine Fehler';
SuText[2102] ='no mistakes';

SuText[1200] ='Anfänger';
SuText[2200] ='beginners';

SuText[1201] ='einfach';
SuText[2201] ='simple';

SuText[1202] ='mittel';
SuText[2202] ='medium';

SuText[1203] ='schwer';
SuText[2203] ='hard';

SuText[1204] ='sehr schwer';
SuText[2204] ='extremely hard';

SuText[1205] ='Lupe';
SuText[2205] ='magnifier';

SuText[1206] ='keine Lupe';
SuText[2206] ='no magnifier';

SuText[1207] ='Schummeln ?';
SuText[2207] ='want to cheat ?';

SuText[1208] ='neues Sudoku';
SuText[2208] ='new Sudoku';

SuText[1209] ='Fehler ?';
SuText[2209] ='mistakes ?';

SuText[1210] ='Fehler entfernen';
SuText[2210] ='erase mistakes';

SuText[1211] ='Pause';
SuText[2211] ='pause';

SuText[1212] ='weiter';
SuText[2212] ='go on';

SuText[1213] ='Drucken';
SuText[2213] ='print';

SuText[1214] ='mal geschummelt';
SuText[2214] ='times cheated';

SuText[1215] ='Millisekunden';
SuText[2215] ='milliseconds';

SuText[1216] ='mal auf Fehler geprüft';
SuText[2216] ='times checked for mistakes';

SuText[1217] ='Fehler';
SuText[2217] ='mistakes stated';

SuText[1218] ='Merkziffern';
SuText[2218] ='candidates';

SuText[1219] ='keine';
SuText[2219] ='no';

SuText[1220] ='merken';
SuText[2220] ='memorize';

SuText[1221] ='ausschließen';
SuText[2221] ='exclude';

SuText[1222] ='ausschließen AUTO';
SuText[2222] ='automatic exclusion';

SuText[1223] ='Herzlichen<br>Glückwunsch!';
SuText[2223] ='Congratulations!';

SuText[1224] ='Sie<br>haben<br>alles<br>richtig<br>gelöst.';
SuText[2224] ='You<br>have<br>solved<br>the Sudoku<br>brilliantly.';

SuText[1225] ='Bitte warten!';
SuText[2225] ='Please wait!';

SuText[1226] ='Ihr Sudoku wird errechnet.';
SuText[2226] ='Your Sudoku loading.';

SuText[1300] ='Klick = <u>ohne</u> Lupe spielen';
SuText[2300] ='click = play <u>without</u> magnifier';

SuText[1301] ='Klick = <u>mit</u> Lupe spielen';
SuText[2301] ='click = play <u>with</u> magnifier';

SuText[1302] ='Die Lupe zeigt die kleinen Spielziffern vergrößert,<br>wenn Sie auf einem Spielfeld sind.';
SuText[2302] ='Magnifier displays small digit,<br>if you are on a field.';

SuText[1400] ='Klick = alle Lösungen werden angezeigt<br>Button verlassen = schummeln beenden';
SuText[2400] ='click = displays all solutions<br>leave button = stop cheating';

SuText[1600] ='Klick = Pause';
SuText[2600] ='click = pause';

SuText[1601] ='Klick = weiter spielen';
SuText[2601] ='click = go on playing';

SuText[1602] ='Zum Weiterspielen<br>klicken Sie auf die Kaffeetasse!';
SuText[2602] ='To go on playing<br>click on coffee cup!';

SuText[1700] ='Klick = erstellt ein neues Sudoku<br>mit der gewählten Schwierigkeitsstufe';
SuText[2700] ='click = creates a new Sudoku<br>on chosen level';

SuText[1701] ='Auswahländerung = erstellt ein neues Sudoku<br>mit der gewählten Schwierigkeitsstufe';
SuText[2701] ='change of level = creates a new Sudoku<br>on chosen level';

SuText[1710] ='Auswahl des Merkziffertyps (Kandidatenliste)<br>Sie können Ihre Auswahl immer ändern.';
SuText[2710] ='choose type of candidates<br>You can change your choice anytime.';

SuText[1990] ='Klick = dieses Sudoku zum Ausdrucken';
SuText[2990] ='click = prints out this Sudoku';

SuText[1999] ='Gehen Sie auf ein Spielfeld oder einen Button !<br>Weitere Spielhinweise finden Sie immer hier.';
SuText[2999] ='You go on a field or button!<br>You can always find clues here.';

function SuSprache1(){
 STILE('SuOp200::SuOp201::SuOp202::SuOp203::SuOp204', 'iH::iH::iH::iH::iH', SuText[(Sp7 +200)]+'::'+SuText[(Sp7 +201)]+'::'+SuText[(Sp7 +202)]+'::'+SuText[(Sp7 +203)]+'::'+SuText[(Sp7 +204)] );
 STILE('BuLu::BuSchu::BuNSu::BuFev::PAUSESU::DRUCKSU', 'iH::iH::iH::iH::iH::iH', SuText[(Sp7 +206)]+'::'+SuText[(Sp7 +207)]+'::'+SuText[(Sp7 +208)]+'::'+SuText[(Sp7 +209)]+'::'+SuText[(Sp7 +211)]+'::'+SuText[(Sp7 +213)]);
 STILE('SuSta41a::SuSta42a::SuSta51a::SuSta52a', 'iH::iH::iH::iH', SuText[(Sp7 +214)]+'::'+SuText[(Sp7 +215)]+'::'+SuText[(Sp7 +216)]+'::'+SuText[(Sp7 +217)]);
 STILE('SuMZ0::BukM::BuZm::BuZa::BuZaA', 'iH::iH::iH::iH::iH', SuText[(Sp7 +218)]+'::'+SuText[(Sp7 +219)]+'::'+SuText[(Sp7 +220)]+'::'+SuText[(Sp7 +221)]+'::'+SuText[(Sp7 +222)]);
 STILE('SuHiddenA2p1::SuHiddenA2p2', 'iH::iH', SuText[(Sp7 +225)]+'::'+SuText[(Sp7 +226)]);
 STILE('FEUERW1::FEUERW2', 'iH::iH', SuText[(Sp7 +223)]+'::'+SuText[(Sp7 +224)]);
}


function neuesSudokuStart(){
  STILE('SuHiddenA::SuHiddenA1::SuHiddenA2::SuHiddenA3', 'v::v::v::v', '');
  STILE('tabMerkzausw::DRUCKSU::imgDRUCKSU::PAUSESU::BuSchu::BuNSu::BuFev', 'h::h::h::h::h::h::h', '');
  STILE('SuSta51::SuSta52::ZEITSU1::FEUERW', 'iH::iH::iH::h', '0::0::0:00:00');
  window.clearTimeout(Zeitintv);

//if(SUSolverNr ==''){ }else { }
loadnewSudoku1(Nuid, level, SUSolverNr);
}


var level;
var Su_Ziel;
var Su_Start;
var SuStart=new Array();
var SuZiel=new Array();

function loadnewSudoku1(NuidL, levelL, SUSolverNrL){
   $(document).ready(function(){
      $.post('/index.php/Sudoku1aja.html', {a1: NuidL, b1: levelL, b2: SUSolverNrL, ajarequest: '1' },

        function(data) {
           var data_split = new Array();
               data_split = data.split("|||");

               level1 = parseInt (data_split[1]);
               Su_Ziel = data_split[2];
               Su_Start = data_split[3];

               SuStart =Su_Start.split('');
               SuZiel = Su_Ziel.split('');
               neuesSudoku();
                  document.LEVELausw.LEVELAUSW.selectedIndex = level1 -1;
                  //FromSolver ='0';
                  SUSolverNr = 0;
                  level = level1;

        }
      );
   });

}


function neuesSudoku(){
 AlleStartziffern();
 STILE('T3', 'v', '');
}
function neuesSudokuP2(){
 for (var i=0; i<81; i++ ){
  SUuser[i]=0;
  SUfehler[i]=0;
  SUhilfe[i] =new Array();
  SUhilfe2[i] =new Array();
  SUhilfe3[i] =new Array();
  for (var x=1; x<10; x++ ){
       SUhilfe[i][x]=0;
       SUhilfe2[i][x]=1;
       SUhilfe3[i][x]=0;
   }
 }

 AlleStartziffernP2();
 STILE('SuHiddenA1', 'h', '');
 Zeitintv2 =window.setTimeout("AuswZiAutoStart()", 100);
 //AuswZiAutoStart();
 StatusBuFeh =0; FehlGesamt =0; Ftests =0;
 BuFehler(0);
 Schummel =0; SchummelZahl =0; Schummelneu =0; SchummelZeitGesamt =0;
 STILE('SuSta41::SuSta42', 'iH::iH', '0::0');
 STILE('DSUJS::DSUJS1::LEVEL', 'val::val::val', Su_Ziel+'::'+Su_Start+'::'+level);
 MausueberF(999);

 Stunden =0;  Minuten =0; Sekunden =-1; Sekundentotal =0;
 Zeitintv =window.setTimeout("Zeitsu1S()", 1000);
}

function Tasteview(Ta, Na, buid, oben, links, oncl, onov, onou, ondcl){
  if(oncl !=''){ var oncle ='onclick="'+oncl+'"' }else{ var oncle =''; }
  if(onov !=''){ var onove ='onmouseover="'+onov+'"' }else{ var onove =''; }
  if(onou !=''){ var onoue ='onmouseout="'+onou+'"' }else{ var onoue =''; }
  if(ondcl !=''){ var ondcle ='ondblclick="'+ondcl+'"' }else{ var ondcle =''; }
  document.write('<TABLE class="Bu'+Ta+'s" BORDER=0 CELLSPACING=0 CELLPADDING=0 style="position:absolute; top:'+oben+'px; left:'+links+'px; z-index:2;"><TR><TD ID="'+buid+'" class="Bu'+Ta+'">'+Na+'</TD></TR></TABLE>');
  document.write('<img src="tl_files/img/sudoku/clearPX.gif" class="Bu'+Ta+'s" style="position:absolute; top:'+oben+'px; left:'+links+'px; z-index:3;" '+oncle+' '+onove+' '+onoue+' '+ondcle+'>');
}

 var preI =999;
function MausueberF(i,k){
  if(i <81 && SuStart[i] ==0 && SUuser[i] ==0 ){

      if(MerkZiTyp <2){ STILE('SeZi'+i, 'v', ''); }
       else{ STILE('SeZi'+i, 'h', ''); }
    }

    Statusanz(i,k);
   if( preI !=i && preI <81){MauswegF(preI);}
    preI =i;
}
function MauswegF(i){
     if(SuStart[i] ==0 && SUfehler[i] ==0){

        STILE('SeZi'+i, 'h', ''); }
}

function click1(i, Zi){
 if(MerkZiTyp ==1 && SUuser[i] ==0){
  if(SUhilfe[i][Zi] ==0){
     SUhilfe[i][Zi] =1;
     STILE('MeZiM2'+i+Zi+'::SeZiV'+i+Zi, 'bco::co', '48A78D::FFFFFF');
   }else{
     SUhilfe[i][Zi] =0;
     STILE('MeZiM2'+i+Zi+'::SeZiV'+i+Zi, 'bco::co', 'FFFFFF::4B4B4B');
    }

 }else if(MerkZiTyp ==2 && SUuser[i] ==0){

   if(SUhilfe2[i][Zi] ==0){
      SUhilfe2[i][Zi] =1;
      STILE('MeZiM1'+i+Zi, 'co', '4B4B4B');
    }else{
      SUhilfe2[i][Zi] =0;
      STILE('MeZiM1'+i+Zi, 'co', 'FFFFFF');
     }

  }else{
   Dclick1(i, Zi)
 }
}
function Dclick1(i, Zi){
  if(SUuser[i] ==0){
     if(MerkZiTyp <2){ STILE('SeZi'+i, 'h', ''); }
     SUuser[i] =Zi;
     iHLupe('');
     row1(i, Zi, 'A');
     col1(i, Zi, 'A');
     box1(i, Zi, 'A');

   } else{
    if(MerkZiTyp <2){STILE('SeZi'+i, 'v', ''); }
    if(MerkZiTyp ==1){ SUhilfe[i][SUuser[i]]=0; STILE('MeZiM2'+i+SUuser[i]+'::SeZiV'+i+SUuser[i], 'bco::co', 'FFFFFF::4B4B4B');}
    if(MerkZiTyp ==2){ SUhilfe2[i][SUuser[i]]=0; STILE('MeZiM1'+i+SUuser[i], 'co', 'FFFFFF');}
    row1(i, SUuser[i], 'E');
    col1(i, SUuser[i], 'E');
    box1(i, SUuser[i], 'E');
    SUuser[i] =0;
    iHLupe(Zi);

     }

    if(SUfehler[i] >0){
     SUfehler[i]=0;
       var a =0;
       for( var m=0; m <81; m++){
         if(SUfehler[m] >0){ a++; }
       }
     if(a ==0){
       StatusBuFeh =0;
       BuFehler(0);
     }
    }

    Userziffer(i,1);
    nochLeerFelder();
    Statusanz(i,Zi);
}

var FnL =1;
function nochLeerFelder(){
var FELDERnoLEER=0;
var ANZAHLfehler=0;
  for (i=0; i<81; i++ ){
   if(SUuser[i]>0 || SuStart[i]>0){FELDERnoLEER++;}
   if(SUuser[i]>0 && SUuser[i]!=SuZiel[i]){ ANZAHLfehler++;}
  }

 if(FELDERnoLEER ==81 && ANZAHLfehler ==0){
   FnL =0;
   window.clearTimeout(Zeitintv);
   STILE('FEUERW::PAUSESU::BuSchu::BuFev', 'v::h::h::h', '');
 }
 if(FELDERnoLEER ==81 && ANZAHLfehler !=0){
   Fehler();
 }
 if(FnL ==0 && FELDERnoLEER <81){
   FnL =1;
   Zeitintv =window.setTimeout("Zeitsu1S()", 1000);
   STILE('FEUERW::PAUSESU::BuSchu::BuFev', 'h::v::v::v', '');
 }
}

 var FehlDieserTest;
function Fehler(){
 FehlDieserTest =0;
 if(StatusBuFeh ==0){Ftests++;}

  for( var i=0; i <81; i++){
   if(SuStart[i] ==0 && SUuser[i] >0){
     if(SUuser[i] !=SuZiel[i]){
       if(StatusBuFeh >0){
          row1(i, SUuser[i], 'E');
          col1(i, SUuser[i], 'E');
          box1(i, SUuser[i], 'E');
          SUfehler[i] =0;
          SUuser[i] =0;
          Userziffer(i,0);
          BuFehler(0);
       }else{
          FehlDieserTest++;
          SUfehler[i]=1;
          SUhilfe[i][SUuser[i]]=0;
          SUhilfe2[i][SUuser[i]]=1;
          Userziffer(i,0);
        }
     }
   }
  }

 if(FehlDieserTest ==0){ StatusBuFeh =0; FEHLER0(1);}else{ StatusBuFeh =1; }
 FehlGesamt =FehlGesamt +FehlDieserTest;
 STILE('SuSta51::SuSta52', 'iH::iH', ''+Ftests+'::'+FehlGesamt+'');
}
var Fehler0 =0;
var Fz01 =0;
function FEHLER0(F){
  Fehler0 =F;
  if(F==0){Fz01 =0;}else{Fz01++;}
  if(Fz01 ==1){
    Fehler0 =1;
    window.setTimeout("FEHLER0(0)", 2000);
  }
  Statusanz(100);
}
var BuFT =0;
function BuFehler(S){
  var BuText = SuText[(Sp7 +209)];
  var Buco ='003463';
  BuFT =0;
  if(S >0){ BuText = SuText[(Sp7 +210)];  Buco ='FF0000'; BuFT =1;}
  STILE('BuFev::BuFev', 'iH::co', BuText+'::'+Buco);
  Statusanz(100);
}

var MerkZiTyp; //0=ohne 1=Ziffer merken 2=Ziffer auschließen
function MERKZITYP(t){
  var BMzt0 =BMzt1 =BMzt2 =BMzt3='sudoku/radiobutton1';
 if(t ==1){
   MerkZiTyp =1;
   BMzt1 ='sudoku/radiobutton1a';
   STILE('T3::T2', 'h::v', '');
  }else if(t ==2){
    MerkZiTyp =2;
    BMzt2 ='sudoku/radiobutton1a';
    STILE('T3::T2::T1', 'h::h::v', '');
   }else if(t ==3){
    MerkZiTyp =3;
    BMzt3 ='sudoku/radiobutton1a';
    STILE('T3::T2::T1::T0', 'h::h::h::v', '');

   }else{
    MerkZiTyp =0;
    BMzt0 ='sudoku/radiobutton1a';
    STILE('T3', 'v', '');
    }
 STILE('BukM::BuZm::BuZa::BuZaA', 'bim::bim::bim::bim', BMzt0+'::'+BMzt1+'::'+BMzt2+'::'+BMzt3);

}



//Beginn Auswahlziffer AUTO
function row1(Feld, Zahl, AoE){
  var r =Math.floor(Feld/9);
  for (var ri=0; ri<9; ri++){
    var i = 9*r + ri;
    if(SuStart[i] ==0){
     if(AoE =='A'){ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]+1; }else{ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]-1;}
     var col ='FFFFFF';
     if(SUhilfe3[i][Zahl] <1){ col ='4B4B4B';}
     STILE('MeZiM0'+i+Zahl, 'co', col);
	 }
  }
}
function col1(Feld, Zahl, AoE){
  var r = Math.floor(Feld/9);
  var s = Feld -9*r;
  for (var ri=0; ri<9; ri++){
   var i = s + 9*ri;
   if(SuStart[i] ==0){
     if(AoE =='A'){ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]+1; }else{ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]-1;}
     var col ='FFFFFF';
     if(SUhilfe3[i][Zahl] <1){ col ='4B4B4B';}
     STILE('MeZiM0'+i+Zahl, 'co', col);
   }
  }
}
function box1(Feld, Zahl, AoE){
  var r = Math.floor(Feld/9);
  var s = Feld -9*r;
  var t = Math.floor(r/3);
  var u = Math.floor(s/3);
  var v = 27*t + 3*u;

  for (var ri=0; ri<3; ri++){
    for (var j=0; j<3; j++) {
      var i = v + 9*ri + j;
      if(SuStart[i] ==0){
        if(AoE =='A'){ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]+1; }else{ SUhilfe3[i][Zahl] =SUhilfe3[i][Zahl]-1;}
        var col ='FFFFFF';
        if(SUhilfe3[i][Zahl] <1){ col ='4B4B4B';}
        STILE('MeZiM0'+i+Zahl, 'co', col);
     }
    }
  }
}

function AuswZiAutoStart() {
 for (var i=0; i<81; i++ ){
 if(SuStart[i] >0){
    row1(i, SuStart[i], 'A');
    col1(i, SuStart[i], 'A');
    box1(i, SuStart[i], 'A');
  }
 }

  STILE('tabMerkzausw::DRUCKSU::imgDRUCKSU::PAUSESU::BuSchu::BuNSu::BuFev::SuHiddenA2::SuHiddenA3', 'v::v::v::v::v::v::v::h::h', '');
  if(MerkZiTyp !=0){ STILE('T3', 'h', ''); }
}
//Ende Auswahlziffer AUTO



function Statusanz(i,k){
    if(Lupev =='v'){
     var kv = '';
     if(i <81 && SuStart[i] ==0 && SUuser[i]==0){ kv =''+k+'';}
     iHLupe(kv);
    }
var T =999;
if(i <81){
 if(SuStart[i] >0){T=1;}
  else{
    if(MerkZiTyp ==0 && SUuser[i]==0){T=2;}
    if(MerkZiTyp ==3 && SUuser[i]==0){T=6;}
    if(MerkZiTyp ==1 && SUuser[i]==0){T=4;}
    if(MerkZiTyp ==2 && SUuser[i]==0){T=5;}
    if(SUuser[i]>0){T=3;}
  }
}
if(i ==100 && BuFT ==0 && Fehler0 ==0){T=100;}
if(i ==100 && BuFT ==0 && Fehler0 >0){T=102;}
if(i ==100 && BuFT >0){T=101;}
if(i ==300 && Lupev =='v'){T=300;}
if(i ==300 && Lupev =='h'){T=301;}
if(i ==302 && Lupev =='v'){T=302;}
if(i ==400){T=400;}
if(i ==600 && PauseSu==0){T=600;}
if(i ==600 && PauseSu==1){T=601;}

if(i >699){T =i;}
if(PauseSu==1 && i !=600){T=602;}

 STILE('SuSta2', 'iH', ''+SuText[(Sp7 + T)]+'');
    //STILE('SuSta2', 'iH', ''+i+'|'+k+'');
}

function iHLupe(kv){
  STILE('inLupe::inLupe::inLupe', 'iH::co::fS', kv+'::000000::50');
}


var Lupev ='h'
function LupeV(){
   if(Lupev == 'h'){
      Lupev = 'v';
      STILE('BuLu', 'iH', SuText[(Sp7 +206)]);
    }else{
      Lupev ='h';
      STILE('BuLu', 'iH', SuText[(Sp7 +205)]);
     }
   STILE('LUPE', Lupev, '');
   Statusanz(300);
}

var Schummel =0;
var SchummelZahl =0;
var SchummelBeginn;
var Schummelneu =0;
function Schummeln(){
  if(Schummelneu ==0){
    SchummelZahl++;
    SchummelBeginn=new Date();
  }
  Schummelneu =1;
  STILE('SuSta41', 'iH', ''+SchummelZahl+'');
  STILE('T5', 'v', '');
  Schummel =1;
  Statusanz(400);
}
var SchummelZeitGesamt =0;
function SchummelnNo(){
 if(Schummelneu >0){
  var SchummelEnde=new Date();
  var SchummelZeit = SchummelEnde.getTime() - SchummelBeginn.getTime();
  SchummelZeitGesamt =SchummelZeitGesamt + SchummelZeit;
  STILE('SuSta42', 'iH', ''+SchummelZeitGesamt+'');
  STILE('T5', 'h', '');
 }
  Schummelneu =0;
}


function Zeitsu1(){
  if(Sekunden==60){ Sekunden = 0; Minuten++;}
  if(Minuten==60){ Minuten = 0; Stunden++;}
     ZeitString = Stunden;
     ZeitString += ((Minuten < 10) ? ":0" : ":") + Minuten;
     ZeitString += ((Sekunden < 10) ? ":0" : ":") + Sekunden;
     document.getElementById("ZEITSU1").innerHTML = ZeitString;
  if(PauseSu==0){
     Zeitintv =window.setTimeout("Zeitsu1S()", 1000);
  }
}
function Zeitsu1S(){
 if(PauseSu==0){
  Sekunden++;
  Sekundentotal++;
  Zeitsu1();
 }
}
var PauseSu=0;
function PAUSESU(){
  if(PauseSu == '0'){
    PauseSu = '1';
     STILE('SuHiddenP::PAUSESU::ABDECKL::ABDECKR::UEBERSCHR::ABDECKDr', 'v::iH::zin::zin::h::v', '::'+SuText[(Sp7 +212)]+'::5::5:: ::');
     Statusanz(600);
     interval = setInterval('changePosKaffee()', 30);
   }else{
     PauseSu ='0';
     STILE('SuHiddenP::PAUSESU::ABDECKL::ABDECKR::UEBERSCHR::ABDECKDr', 'h::iH::zin::zin::v::h', '::'+SuText[(Sp7 +211)]+'::1::1:: ::');
     Zeitsu1();
     Statusanz(600);
     clearInterval(interval);
    }
}


var xPos = 20;
var yPos = 392;
var step = 1;
var delay = 30;
var height = 0;
var Hoffset = 62;
var Woffset = 49;
var yon = 0;
var xon = 0;
var interval;
function changePosKaffee(){
width = 392;
height = 392;
STILE('Kaffeep::Kaffeep', 'to::le', yPos+'::'+xPos);

if(yon) { yPos = yPos + step; }
else{ yPos = yPos - step; }
if (yPos < 0) {
 yon = 1;
 yPos = 0;
}
if(yPos >= (height - Hoffset)){
 yon = 0;
 yPos = (height - Hoffset);
}
if(xon) { xPos = xPos + step +1; }
else{ xPos = xPos - step; }
if(xPos < 0) {
 xon = 1;
 xPos = 0;
}
if(xPos >= (width - Woffset)) {
 xon = 0;
 xPos = (width - Woffset);
}
}

//Ende Head******************

document.write('<DIV STYLE="position:absolute; top:0px; left:0px; width:755px; height:480px;">');
document.write('<DIV STYLE="position:absolute; top:25px; left:175px; width:401px; height:401px; background-color:#003463;">');
var Toben =4;
var Tlinks =4;
var Feldnr;

  for( var h=0; h <9; h++){
    document.write('<DIV ID="T'+h+'">');
for( var i=0; i <3; i++){
  for( var k=0; k <3; k++){
   document.write('<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=0 STYLE="position:absolute; top:'+Toben+'px; left:'+Tlinks+'px;">');
     for(var m=0; m <3; m++){
       document.write('<TR>');
          for(var n=0; n <3; n++){
   Feldnr =(i*3+k*27+m*9+n);
                var Fh0bco ='';
                document.write('<TD ID="F'+h+Feldnr+'" STYLE="width:42px; height:42px;"></TD>');
          }
       document.write('</TR>');
     }
   document.write('</TABLE>');
  Toben =Toben+132;
  }
  Toben =4;
 Tlinks =Tlinks+132;
}
 Tlinks =4;
 document.write('</DIV>');
}
document.write('</DIV>');


var suhidden =
'<DIV ID="SuHiddenP" STYLE="position:absolute; top:30px; left:180px; width:392px; height:392px; visibility:hidden; background-color:#FFFFFF; cursor:pointer;" onclick="PAUSESU();" onMouseOver="MausueberF(600);">'
+'<img id="Kaffeep" SRC="tl_files/img/sudoku/kaffee1.gif" STYLE="position:absolute;"></DIV>'
+'<DIV ID="SuHiddenA" STYLE="position:absolute; top:30px; left:180px; width:392px; height:392px; background-color:#FF9500; visibility:hidden;"></DIV>'
+'<DIV ID="SuHiddenA1" STYLE="position:absolute; top:73px; left:223px; width:306px; height:306px; background-color:#FF9500; visibility:hidden;"></DIV>'
+'<DIV ID="SuHiddenA3" STYLE="position:absolute; top:116px; left:266px; width:220px; height:220px; background-color:#FF9500; visibility:hidden;"></DIV>'
+'<TABLE ID="SuHiddenA2" STYLE="position:absolute; top:116px; left:266px; width:220px; height:220px; background-color:#FF9500; visibility:hidden;"><TR>'
+'<TD><p ID="SuHiddenA2p1">'+SuText[(Sp7 +225)]+'</p><img ID="AJL" SRC="/tl_files/img/sudoku/ajax-loader.gif"><br><p ID="SuHiddenA2p2">'+SuText[(Sp7 +226)]+'</p></TD>'
+'</TR></TABLE>';
document.write(suhidden);


var AuswLevel='';
for(var i=1; i<6; i++){
 var sel1 ='';
 if(i ==level){sel1 ='selected';}
 switch (i){
    case 1: var Leveltext= SuText[(Sp7 + 200)];
            break;
    case 2: var Leveltext= SuText[(Sp7 + 201)];
            break;
    case 3: var Leveltext= SuText[(Sp7 + 202)];
            break;
    case 4: var Leveltext= SuText[(Sp7 + 203)];
            break;
    case 5: var Leveltext= SuText[(Sp7 + 204)];
            break;
 }
AuswLevel =AuswLevel+'<option ID="SuOp20'+(i-1)+'" '+sel1+'>'+i+'</option>';
}


function NewLevel(){
  var newlevel = document.LEVELausw.LEVELAUSW.selectedIndex ;
  level =newlevel+1;
  neuesSudokuStart(level);
}

var DIV999 =
'<DIV ID="ABDECKO" STYLE="position:absolute; top:0px; left:175px; width:401px; height:25px; z-index:1;" onMouseOver="MausueberF(999);"></DIV>'
+'<DIV ID="ABDECKL" STYLE="position:absolute; top:0px; left:0px; width:175px; height:520px; z-index:1;" onMouseOver="MausueberF(999);"></DIV>'
+'<DIV ID="ABDECKR" STYLE="position:absolute; top:0px; left:576px; width:179px; height:520px; z-index:1;" onMouseOver="MausueberF(999);"></DIV>'
+'<DIV STYLE="position:absolute; top:426px; left:175px; width:401px; height:94px;" onMouseOver="MausueberF(999);"></DIV>'
+'<form name="LEVELausw"><SPAN ID="UEBERSCHR" class="SuP1" style="position:absolute; top:0px; left:175px; width:401px; z-index:2;" onMouseOver="MausueberF(999);"><B>SUDOKU - </B><select name="LEVELAUSW" size=1 onchange="NewLevel();" onmousemove="MausueberF(701);" style="font-size:12px;">'+AuswLevel+'</select></SPAN></form>'
+'<DIV STYLE="position:absolute; top:0px; left:630px; z-index:2;"><span class="SuTD3" STYLE="cursor:pointer;" onclick="SUSprachChange(2);">English</span> &#160; <span class="SuTD3" STYLE="cursor:pointer;" onclick="SUSprachChange(1);">Deutsch</span></DIV>';
document.write(DIV999);


SuStatus =
'<DIV STYLE="position:absolute; top:440px; left:175px; width:401px; height:70px; background-color:#003463;">'
+'<TABLE class="fos10" BORDER=0 CELLSPACING=1 CELLPADDING=0 WIDTH=395 STYLE="position:absolute; top:1px; left:1px; background-color:#FFFFFF; color:#3F3F3F; table-layout:fixed;" onMouseOver="MausueberF(999);"><TR height=36>'
+'<FORM NAME="SuDruck" ACTION="/Sudoku_pdf.php" METHOD=POST target="_blank">'
+'<INPUT ID="DSUJS" TYPE="hidden" NAME="DSuJS">'
+'<INPUT ID="DSUJS1" TYPE="hidden" NAME="DSuJS1">'
+'<INPUT ID="LEVEL" TYPE="hidden" NAME="level">'
+'<INPUT TYPE="hidden" NAME="Nuid" value="'+Nuid+'">'
+'<TD ID="SuSta1" WIDTH=55 style="background-color:#FFFFFF; cursor:pointer;">'
+'<img ID="imgDRUCKSU" src="tl_files/img/sudoku/r21drucker19.gif" width=21 height=19 border=0 onclick="self.document.SuDruck.submit();" onmousemove="MausueberF(990);">'
+'<DIV ID="DRUCKSU" class="SuTD3" onclick="self.document.SuDruck.submit();" onmousemove="MausueberF(990);"> </DIV>'
+'</TD></FORM>'
+'<TD ID="SuSta2" colspan=2 WIDTH=284 style="background-color:#FFE35A;">'+SuText[(Sp7 +999)]+'</TD>'
+'<TD ID="SuSta3" WIDTH=55 style="background-color:#FFFFFF;">'
+'<DIV ID="ZEITSU1">0:00:00</DIV>'
+'<DIV ID="PAUSESU" class="SuTD3" style="cursor:pointer;" onclick="PAUSESU();" onmousemove="MausueberF(600);"> </DIV>'
+'</TD>'
+'</TR><TR height=29>'
+'<TD colspan=2 style="color:#000000; background-color:#48A78D;"><SPAN ID="SuSta41">0</SPAN> <SPAN ID="SuSta41a">mal geschummelt</SPAN><br><SPAN ID="SuSta42">0</SPAN> <SPAN ID="SuSta42a">Millisekunden</SPAN></TD>'
+'<TD colspan=2 style="color:#000000; background-color:#48A78D;"><SPAN ID="SuSta51">0</SPAN> <SPAN ID="SuSta51a">mal auf Fehler geprüft</SPAN><br><SPAN ID="SuSta52">0</SPAN> <SPAN ID="SuSta52a">Fehler</SPAN></TD>'
+'</TR></TABLE>'
+'<DIV ID="ABDECKDr" style="position:absolute; top:2px; left:2px; width:55px; height:36px; visibility:hidden; background-color:#FFFFFF;"></DIV>'
+'</DIV>';
document.write(SuStatus);

Tasteview('130', '', 'BuNSu', 445, 586, 'neuesSudokuStart();', 'MausueberF(700);');
Tasteview('130', '', 'BuFev', 478, 586, 'Fehler();', 'MausueberF(100);');

var Lupe =
  '<DIV ID="LUPE" style="position:absolute; top:296px; left:66px; z-index:2;">'
 +'<img src="tl_files/img/sudoku/lupe16.gif" width=89 height=122 style="position:absolute; top:0px; left:0px;" onMouseOver="MausueberF(302);">'
 +'<DIV ID="inLupe" style="position:absolute; top:4px; left:41px;"></DIV>'
 +'</DIV>';
document.write(Lupe);
Tasteview('130', '', 'BuLu', 445, 35, 'LupeV();', 'MausueberF(300);');
Tasteview('130', '', 'BuSchu', 478, 35, 'Schummeln();', 'MausueberF(400);', 'SchummelnNo();');


var Surbu1 ='style="background-image: url(tl_files/epauk_img/radiobutton1.gif);"';
var MerkZiausw =
'<TABLE ID="tabMerkzausw" CELLSPACING=0 CELLPADDING=0 width=130 height=95 style="position:absolute; top:309px; left:586px; background-color:#E9E4DE;  border-color:#003463; border-width:1px 1px; border-style:solid; table-layout:fixed; z-index:2;" onMouseOver="MausueberF(710);">'
+'<TR class="TR1su" style="background-color:#4e4e4e;"><TD ID="SuMZ0" style="color:#ffffff; cursor:default;"> </TD></TR>'
+'<TR class="TR1su" onclick="MERKZITYP(0);">'
+'<TD ID="BukM" class="TD1asu" '+Surbu1+'> </TD>'
+'</TR><TR class="TR1su" onclick="MERKZITYP(1);">'
+'<TD ID="BuZm" class="TD1asu" '+Surbu1+'> </TD>'
+'</TR><TR class="TR1su" onclick="MERKZITYP(2);">'
+'<TD ID="BuZa" class="TD1asu" '+Surbu1+'> </TD>'
+'</TR><TR class="TR1su" onclick="MERKZITYP(3);">'
+'<TD ID="BuZaA" class="TD1asu" '+Surbu1+'> </TD>'
+'</TR></TABLE>';
document.write(MerkZiausw);

document.write('</DIV>');
//Ende Body******************


function Ebene3(){
  for( var i=0; i <81; i++){
    STILE('F3'+i, 'bco', 'FFFFFF');
  }
}
 Ebene3();

function AlleStartziffern(){
     STILE('T5', 'h', '');
  for( var i=0; i <81; i++){
         SENSZI14(i);
      STILE('F8'+i, 'iH', SensZi14);  //Senszifferebene

   if(SuStart[i] >0){
       STILE('F7'+i, 'iH', '');   //SenszifferViewebene
          INHALTZI42(SuStart[i], '000000', 'C1D8F2');
       STILE('F6'+i, 'iH', InhaltZi42 );  //Startzifferebene
   }else{
         SENSZI14V(i);
      STILE('F7'+i, 'iH', SensZi14V );
      STILE('F6'+i, 'iH', '');
    }
  }
  STILE('SuHiddenA', 'h', '');
  Zeitintv1 =window.setTimeout("neuesSudokuP2()", 100);
}
function AlleStartziffernP2(){

  for( var i=0; i <81; i++){

   if(SuStart[i] >0){
       //STILE('F5'+i, 'iH', '');           //Schummelzifferebene
       //STILE('F4'+i, 'iH', '');           //Ebene Userziffern
       //STILE('F3'+i, 'iH', '');           //Ebene keine Merkziffern
       //STILE('F2'+i, 'iH', '');           //Ebene merken
       //STILE('F1'+i, 'iH', '');           //Ebene ausschließen
       //STILE('F0'+i, 'iH', '');           //Ebene ausschließen AUTO

   }else{
        INHALTZI42(SuZiel[i], '009900', 'FFFF66');
      STILE('F5'+i, 'iH', InhaltZi42 );
      STILE('F4'+i, 'iH', '');

        MERKZI14(i, 2, 'FFFFFF');
      STILE('F2'+i, 'iH', MerkZi14 );
        MERKZI14(i, 1, '4B4B4B');
      STILE('F1'+i, 'iH', MerkZi14 );
        MERKZI14(i, 0, '4B4B4B');
      STILE('F0'+i, 'iH', MerkZi14 );
    }
  }
}

var InhaltZi42;
function INHALTZI42(Zi, col, bcol){
  InhaltZi42 =
  '<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=42 HEIGHT=42 STYLE="font-size:30px; font-weight:bold; color:#'+col+'; background-color:#'+bcol+'; table-layout:fixed;"><TR>'
 +'<TD>'+Zi+'</TD>'
 +'</TR></TABLE>';
}
function AlleUserziffern(){
   Schummel =0;
   Statusanz(400);
   for( var i=0; i <81; i++){ Userziffer(i,0); }
}
function Userziffer(i,o){
   if(SuStart[i] ==0){
     if(SUuser[i] >0){

        if(SUfehler[i] ==0){
          INHALTZI42(SUuser[i], '000000', 'FFFFFF');
          STILE('F4'+i, 'iH', InhaltZi42 );    //Userzifferebene
        }else{
          INHALTZI42(SUuser[i]+'!', 'FF0000', 'FFFFFF');
          STILE('F4'+i, 'iH', InhaltZi42 );
          BuFehler(1);
         }

     }else{
        STILE('F4'+i, 'iH', '' );
      }
   }
}


var SensZi14;
function SENSZI14(i){
  SensZi14 ='<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=42 HEIGHT=42 STYLE="table-layout:fixed;"><TR>';
  for (var k=1; k<10; k++ ){
         if(k ==4  || k ==7){SensZi14 =SensZi14 +'<TR>';}
         SensZi14 =SensZi14 +'<TD  class="SuTD1" onMouseOver="MausueberF('+i+','+k+');" onclick="click1('+i+','+k+');" ondblclick="Dclick1('+i+','+k+');"></TD>';
         if(k ==3  || k ==6){SensZi14 =SensZi14 +'</TR>';}
  }
 SensZi14 =SensZi14 +'</TR></TABLE>';
}
var SensZi14V;
function SENSZI14V(i){
  SensZi14V ='<TABLE ID="SeZi'+i+'" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=42 HEIGHT=42 STYLE="visibility:hidden; table-layout:fixed;"><TR>';
  for (var k=1; k<10; k++ ){
         if(k ==4  || k ==7){SensZi14V =SensZi14V +'<TR>';}
         SensZi14V =SensZi14V +'<TD ID="SeZiV'+i+k+'" class="SuTD2" STYLE="color:#4B4B4B;">'+k+'</TD>';
         if(k ==3  || k ==6){SensZi14V =SensZi14V +'</TR>';}
  }
 SensZi14V =SensZi14V +'</TR></TABLE>';
}


var MerkZi14;
function MERKZI14(i, Ebene, col){
  MerkZi14 ='<TABLE ID="MeZi'+Ebene+i+'" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=42 HEIGHT=42 STYLE="table-layout:fixed;"><TR>';
  for (var k=1; k<10; k++ ){
         if(k ==4  || k ==7){MerkZi14 =MerkZi14 +'<TR>';}
         MerkZi14 =MerkZi14 +'<TD ID="MeZiM'+Ebene+i+k+'" class="SuTD2" STYLE="color:#'+col+'; background-color:#FFFFFF;"">'+k+'</TD>';
         if(k ==3  || k ==6){MerkZi14 =MerkZi14 +'</TR>';}
  }
 MerkZi14 =MerkZi14 +'</TR></TABLE>';
}


var feuerw=
'<DIV ID="FEUERW" STYLE="position:absolute; top:25px; left:0px; visibility:hidden; z-index:2;">'
+'<TABLE class="SuTD4" BORDER=0 STYLE="position:absolute; top:0px; left:7px; width:162px; height:268px;"><TR><TD ID="FEUERW1" STYLE="width:162px; height:268px; background-image:url(\'tl_files/img/sudoku/feuerwerk.gif\');">Herzlichen<br>Glückwunsch!</TD></TR></TABLE>'
+'<TABLE class="SuTD4" BORDER=0 STYLE="position:absolute; top:0px; left:576px; width:162px; height:268px;"><TR><TD ID="FEUERW2" STYLE="width:162px; height:268px; background-image:url(\'tl_files/img/sudoku/feuerwerk.gif\');">Sie<br>haben<br>alles<br>richtig<br>gelöst.</TD></TR></TABLE>'
+'</DIV>';
document.write(feuerw);


Zeitsu1();
MERKZITYP(0);
LupeV();
MausueberF(999);
SuSprache1();
neuesSudokuStart();
