﻿function PopOnBeforeShowDetail(sender, eventArgs)
{
	LastTargetControlID = sender.get_targetControlID();

	sender.set_targetControlID("imgGrid");

	if (!BrowserDetect.browser)
	{
		BrowserDetect.init();
	}

	switch (BrowserDetect.browser.toUpperCase())
	{
		case "IE":
			break;
		case "FIREFOX":
			sender.set_offsetX(-3);
			break;
		case "OPERA":
			sender.set_offsetX(20);
			break;
		default:
			break;
	}
}

function PopOnBeforeHideDetail(sender, eventArgs)
{
	sender.set_targetControlID(LastTargetControlID);
}

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: "OmniWeb",
  	versionSearch: "OmniWeb/",
  	identity: "OmniWeb"
  }
  ,
  {
  	string: navigator.vendor,
  	subString: "Apple",
  	identity: "Safari"
  }
  ,
  {
  	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: "IE",
  	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.platform,
  	subString: "Linux",
  	identity: "Linux"
  }
  ]

}
;
