var blankx = 4;
var blanky = 4;
var finish = 0;
var tah = 0;
var napln = "";
var micham = 0;
var ns6 = document.getElementById && !document.all; // pro kontrolu zda jse o FF,NS6 nebo o IE
var puzzleinfo = document.getElementById("puzzleinfo");
var cas1 = 50;
var obrX = 0;
var obrY = 40;

function zamichejrychle(sada) {
var pocmich = 500;
tah = 0;
document.getElementById("puzzleinfo").innerText = "Tasujê ...";
for (var i=1;i<=pocmich;i++) {
var nahx = Math.floor((Math.random()*4)+1);
var nahy = Math.floor((Math.random()*4)+1);
  var nahpoz = "p"+nahx+nahy;
  zamenRychle(nahpoz, sada);
  var stavmich = Math.floor(i*100/pocmich);
  window.status = "Tasujê: "+stavmich+"%";
  document.getElementById("puzzleinfo").innerText = "Tasujê: "+stavmich+"%";
  }
document.getElementById("puzzleinfo").innerText = "Ferdigbladet - du kan spille!";
tah = 0;
document.getElementById("puzzleinfo").innerText = "Antall poeng: "+tah;
return true;
}


function naplnit(sada) {
napln = "<table><tr><td><img src=images/games/puzzle/"+sada+"/obr1.jpg name=p11 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr2.jpg name=p12 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr3.jpg name=p13 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr4.jpg name=p14 OnClick=\"zamen(name, '"+sada+"');\"></td></tr>";
napln += "<tr><td><img src=images/games/puzzle/"+sada+"/obr5.jpg name=p21 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr6.jpg name=p22 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr7.jpg name=p23 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr8.jpg name=p24 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "</tr><tr><td><img src=images/games/puzzle/"+sada+"/obr9.jpg name=p31 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr10.jpg name=p32 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr11.jpg name=p33 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr12.jpg name=p34 OnClick=\"zamen(name, '"+sada+"');\"></td></tr>";
napln += "<tr><td><img src=images/games/puzzle/"+sada+"/obr13.jpg name=p41 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr14.jpg name=p42 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/obr15.jpg name=p43 OnClick=\"zamen(name, '"+sada+"');\"></td>";
napln += "<td><img src=images/games/puzzle/"+sada+"/blank.jpg name=p44 OnClick=\"zamen(name, '"+sada+"');\"></td></tr></table>";
return napln;
}

function pause(millis) 
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); } 
while(curDate-date < millis);
} 

function zamichej(sada) {
blankx = 4;
blanky = 4;
var pocmich = 3000;
tah = 0;
document.getElementById("puzzle").innerHTML = "";
document.getElementById("puzzle").innerHTML = naplnit(sada);
document.getElementById("puzzleinfo").innerHTML = "Tasujê ...";
//pause(2000);
micham = 1;
for (var i=1;i<=pocmich;i++) {
var nahx = Math.floor((Math.random()*4)+1);
var nahy = Math.floor((Math.random()*4)+1);
  var nahpoz = "p"+nahx+nahy;
  zamen(nahpoz, sada);
  var stavmich = Math.floor(i*100/pocmich);
  window.status = "Antall poeng: "+stavmich+"%";
  document.getElementById("puzzleinfo").innerHTML = "Tasujê: "+stavmich+"%";
  }
document.getElementById("puzzleinfo").innerHTML = "KartyFerdigbladet - du kan spille";
tah = 0;
document.getElementById("puzzleinfo").innerHTML = "Antall poeng: "+tah;
micham = 0;
return true;
}

function zamenRychle(pozice, sada){
var tentox = pozice.substring(1,2)*1;
var tentoy = pozice.substring(2,3)*1;
var rozdilx = Math.abs(tentox-blankx);
var rozdily = Math.abs(tentoy-blanky);
if ((rozdilx==1 && rozdily==0) || (rozdilx==0 && rozdily==1) ) {
  var klikobr = document.images[pozice].src
  document.images[pozice].src = "images/games/puzzle/"+sada+"/blank.jpg";
  var newpozice = "p"+blankx+blanky;
  document.images[newpozice].src = klikobr;
  blankx = tentox*1;
  blanky = tentoy*1;
  tah = tah+1;
  window.status = "Antall poeng : "+tah;
  document.getElementById("puzzleinfo").innerHTML = "Antall poeng : "+tah;
  }
return true;
}

function zamen(pozice, sada){
//if (finish==1) {finish=0;zamichej(sada);}
var tentox = pozice.substring(1,2)*1;
var tentoy = pozice.substring(2,3)*1;
var rozdilx = Math.abs(tentox-blankx);
var rozdily = Math.abs(tentoy-blanky);
if ((rozdilx==1 && rozdily==0) || (rozdilx==0 && rozdily==1) ) {
  var klikobr = document.images[pozice].src;
  document.images[pozice].src = "images/games/puzzle/"+sada+"/blank.jpg";
  var newpozice = "p"+blankx+blanky;
  document.images[newpozice].src = klikobr;
  blankx = tentox*1;
  blanky = tentoy*1;
  tah = tah+1;
  window.status = "Antall poeng : "+tah;
  document.getElementById("puzzleinfo").innerHTML = "Antall poeng: "+tah;
  if (micham == 0) {check(sada);}
  }
return true;
}

function transition()
	{
		var timerID2=window.setTimeout("transition()",cas1);
		var opacE = obrX+"%";
		var opacF = obrX/10;
		if (ns6) {document.getElementById("full").style.opacity = opacF;}
		else {document.getElementById("full").style.filter = 'alpha(opacity='+obrX+')';}
//		document.getElementById("full").style.marginTop = obrY+"%";
		if (obrX == 100)
			{
				obrX=0;
				obrY=40;
				clearTimeout(timerID2);
			}
			else
				{
					if (ns6) {obrX+=1;} else {obrX+=5;}
					obrY-=2;
				}
	}

//

function finale(sada)
{
document.getElementById("puzzle").innerHTML = "<img src=\"images/games/puzzle/"+sada+"/vyhra.jpg\" id=\"full\" alt=\"Nytt spill\" width=\"400\" hegiht=\"400\" border=\"0\" onclick=\"zamichej('"+sada+"');\" />";
transition();
}

function check(sada) {
var counter = 1;
for (var x=1;x<=4;x++)
 	{
	 for (var y=1;y<=4;y++)
	 	{
			var actObrPos = document.images["p"+""+x+""+""+y].src.lastIndexOf("/");
			var actObrPath = document.images["p"+""+x+""+""+y].src;
			var actObr = actObrPath.substring(actObrPos+1);
			var actPath = "obr"+counter+".jpg";
			if (x==4 && y==4) {actPath = "blank.jpg";}
			if (actObr == actPath) {finish = 1;} else {finish = 0;break;}
			counter++;
			}
		
		}
if (finish == 1) {finish=0;finale(sada);return;}
	}