var language, game_width, game_height, game_size, game_room;
var plugin, resizable, lowres, postfix, chat_arg, fullscreen;
var ref;
var gameCounter = new Array();

gameCounter["mindduel"] = 0;
gameCounter["klaver_kraak"] = 18;
gameCounter["bridge"] = 5;
gameCounter["kalookie"] = 7;
gameCounter["darts"] = 1;
gameCounter["pesten"] = 1;
gameCounter["scat"] = 0;
gameCounter["ludo"] = 2;
gameCounter["openklaverjas"] = 2;
gameCounter["memory"] = 0;
gameCounter["hearts"] = 1;
gameCounter["crapette"] = 7;
gameCounter["rummy"] = 12;
gameCounter["klaver_ams"] = 11;
gameCounter["klaver_rot"] = 7;
gameCounter["klaver_spades"] = 1;
gameCounter["spades"] = 0;
gameCounter["four"] = 2;

function gameCount(game) {
  game = normalizeGame(game);
  count = gameCounter[game];

  if (count == null) {
    count = 0;
  }

  return count;
}

function normalizeGame(game) {
  if (game == "thirtyone") {
    game = "scat";
  } else if (game == "klaverams") {
    game = "klaver_ams";
  } else if (game == "klaverrot") {
    game = "klaver_rot";
  } else if (game == "kraken") {
    game = "klaver_kraak";
  } else if (game == "klaverspades") {
    game = "klaver_spades";
  }

  return game;
}

function startForPartner(game, testmode, partner)
{
  game = "new-" + normalizeGame(game);

  if (typeof postfix == "undefined") {
    post = "";
  } else {
    post = "&postfix=" + postfix;
  }
  
  if (typeof language == "undefined") {
  language = "d";
  }

  if (typeof game_size == "undefined") {
    game_size = "medium";
  }

  if (typeof game_width == "undefined") {
    if (game_size == "small") {
      game_width = 632;
    } else {
      game_width = 756;
    }
  }

  if (typeof game_height == "undefined") {
    if (game_size == "small") {
      game_height = 450;
    } else {
      game_height = 540;
    }
  }

  game_room = game + "_1";

  if (typeof plugin == "undefined") {
    plugin = "no";
  }

  if (typeof resizable == "undefined") {
    resizable = "1";
  }

  if (typeof ref == "undefined") {
    ref = 'p' + partner;
  }

  var query = "partner=" + partner + "&size=" + game_size
    + (testmode ? "&testmode=1" : "") + chat_arg
    + "&width=" + game_width + "&height=" + game_height
    + '&lang=' + language + "&game=" + game + "&room=" + game_room
    + post + "&plugin=" + plugin + "&ref=" + ref;
  // was: + escape(document.referer);
  var page = "http://www.gamesquare.nl/doc/game/frames_" + language + ".php";

  //var url = page + "?" + escape(query);
  var url = page + "?" + query;
    var winname = (testmode ? "gstest" : "gsgame");
  
  if (fullscreen) {
    fs = ",fullscreen=yes";
  } else {
    fs = "";
  }

  var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() ); 

  if (is_chrome) {
    game_height += 58;
    game_width += 10;
  }

  win=window.open(url, winname, "width=" + game_width + ",height=" + game_height
	      + ",toolbar=0,location=0,directories=0,menubar=0,scrollbar=0"
	      + ",status=0,resizable=" + resizable + fs);
  
  return false;
}

function startTheGame(game, testmode)
{
  var partner = escape('1517');

  chat_arg = "";

  startForPartner(game, testmode, partner);
}

function startTestGame(game)
{
  startTheGame(game, true);
}

function startGame(game)
{
  startTheGame(game, false);
}

function startPartnerGame(game, partner)
{
  chat_arg = "";
  startForPartner(game, false, partner);
}

function startChatGame(game, width, height) {
  var partner = escape('1517');

  startPartnerChatGame(game, partner, width, height);

}

function startPartnerChatGame(game, partner, width, height)
{
  chat_arg = "&chatbox=true";
  game_width = width;
  game_height = height;

  startForPartner(game, false, partner);
}

function launchGame(game) {
  startGame("new-" + game);
}

