var cardOnField = new Array(6*6);
var nPairs = cardOnField.length / 2;

var nTries;
var nPairsFound;
var iFirstField;
var iSecondField;
var clickable = false;

var srcPath = '/img/_/pexeso/';

var i0 = new Image(120, 90); i0.src = srcPath + '0.gif';
var i1 = new Image(120, 90); i1.src = srcPath + '1.jpg';
var i2 = new Image(120, 90); i2.src = srcPath + '2.jpg';
var i3 = new Image(120, 90); i3.src = srcPath + '3.jpg';
var i4 = new Image(120, 90); i4.src = srcPath + '4.jpg';
var i5 = new Image(120, 90); i5.src = srcPath + '5.jpg';
var i6 = new Image(120, 90); i6.src = srcPath + '6.jpg';
var i7 = new Image(120, 90); i7.src = srcPath + '7.jpg';
var i8 = new Image(120, 90); i8.src = srcPath + '8.jpg';
var i9 = new Image(120, 90); i9.src = srcPath + '9.jpg';
var i10 = new Image(120, 90); i10.src = srcPath + '10.jpg';
var i11 = new Image(120, 90); i11.src = srcPath + '11.jpg';
var i12 = new Image(120, 90); i12.src = srcPath + '12.jpg';
var i13 = new Image(120, 90); i13.src = srcPath + '13.jpg';
var i14 = new Image(120, 90); i14.src = srcPath + '14.jpg';
var i15 = new Image(120, 90); i15.src = srcPath + '15.jpg';
var i16 = new Image(120, 90); i16.src = srcPath + '16.jpg';
var i17 = new Image(120, 90); i17.src = srcPath + '17.jpg';
var i18 = new Image(120, 90); i18.src = srcPath + '18.jpg';

var sHiddenImage = i0.src;

function isHiddenCardOnField (i) {
  var name = T_gobj('pex' + i).src;
  var len = name.length;
  return name.substring (len-sHiddenImage.length, len) == sHiddenImage;
}

function showCardOnField (i) {
  T_gobj('pex' + i).src = srcPath + cardOnField[i] + '.jpg';
}

function hideCardOnField (i) {
  T_gobj('pex' + i).src = sHiddenImage;
}

function hide() {
  hideCardOnField(iFirstField);
  hideCardOnField(iSecondField);
  iFirstField = -1;
  iSecondField = -1;
  clickable = true;
}

function clickon(i) {
  if (!clickable) return;
  if (!isHiddenCardOnField (i)) return;

  showCardOnField(i);
  if (iFirstField == -1 || i == iFirstField) {
    iFirstField = i;
    return;
  }

  clickable = false;
  iSecondField = i;
  nTries++;

  if (cardOnField[iFirstField] != cardOnField[iSecondField]) {
    setTimeout("hide()", 1000);
    return;
  }

  nPairsFound++;
  if (nPairsFound == nPairs) alert("Blahopřejeme! Pro zkompletování­ všech dvojic jste potřeboval " + nTries + " pokusů!");

  iFirstField = -1;
  iSecondField = -1;
  clickable = true;
}

function randomise() {
  for (var n = 0; n < cardOnField.length; n++) {
    i = Math.floor(Math.random()*cardOnField.length);

    card = cardOnField[i];
    cardOnField[i] = cardOnField[n];
    cardOnField[n] = card;
  }
}

function initGame() {
  nTries = 0;
  nPairsFound = 0; 
  iFirstField = -1;
  iSecondField = -1;

  for (var n = 0; n < cardOnField.length; n++) {
    cardOnField[n] = Math.floor (n/2) + 1;
    hideCardOnField(n);
  }
  randomise();
  clickable = true;
}
