
function onJSONResp( originalReq )
{
  var obj = JSON.parse(originalReq.responseText);
  if ( obj.success == 0 && obj.message.length > 0 ) {
    alert(obj.message);
  }

  if ( obj.command_stack.length > 0 )
  {
      var i;
      for(i=0; i<obj.command_stack.length; i++) {
          eval( obj.command_stack[i] );
      }
  }
}




var game_window;
PopupHelper = 
{	
	open_window:function(url, width, height)
	{
		if ( width == undefined ) width = screen.width;
		if ( height == undefined ) height = screen.height;
		
		var windowBulk = 0;
		
		switch( BrowserDetect.OS )
		{
			case "Windows":
			case "Linux":
			case "iPhone/iPod":
			case "Mac":
		}
		
		
		switch( BrowserDetect.browser )
		{
			case "Explorer":
				windowBulk = 46;
			break;
			
			case "Netscape": // discontinued
			case "Mozilla": // discontinued
			case "Firefox":
				windowBulk = 55;
			break;
			
			case "Safari":
				windowBulk = 30;
			break;
			
			case "Chrome":
				windowBulk = 50;
			break;
			
			case "Opera":
				windowBulk = 90; // not really, it runs in a tab even though I specify pop up
			break;
			
			case "OmniWeb":
				windowBulk = 0; // unknown - mac
			break;
			
			case "iCab":
				windowBulk = 0; // unknown - mac
			break;
			
			case "Konqueror":
				windowBulk = 0; // unknown - linux
			break;
			
			case "Camino":
				windowBulk = 0; // unknown - mac
			break;
		}
		
		if ( windowBulk == 0 ) windowBulk = 50;
		
		height -= windowBulk;
		
		if ( game_window ) game_window.close();
		game_window = window.open(url, 'game_window', 'width=' + width + ',height=' + height + ',left=0,top=0,resizable=true,scrollbars=false,toolbar=false,menubar=false,location=false,status=false');
		if (game_window.focus) game_window.focus();
	}
}

function gameClose()
{
	if ( window && window.close ) window.close();
	if ( document && document.window && document.window.close ) document.window.close();
}


var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
