function detect_browser($user_agent) 
{ 
global $BName, $BVersion, $BPlatform, $FceVersion; 
 
//--- Verze procedury/funkce
$FceVersion = '4.1';
 
//--- Browser, Robot, crawler, spider & Download Managers ------------------------------------------------
if(eregi("(Offline Explorer)/([0-9]{1}.[0-9]{1})",$user_agent,$match)) 
{ 
	$BName = "Offline Explorer"; $BVersion=$match[2]; 
} 
if(eregi("(WebCopier v)([0-9]{1}.[0-9]{1}.{0,1}[0-9]{0,1})",$user_agent,$match)) 
{ 
	$BName = "WebCopier"; $BVersion=$match[2]; 
} 
elseif(eregi("(Web Downloader)/([0-9]{1}.[0-9]{1})",$user_agent,$match)) 
{ 
	$BName = "Web Downloader"; $BVersion=$match[2]; 
} 
elseif(eregi("(Mass Downloader)/([0-9]{1}.[0-9]{1})",$user_agent,$match)) 
{ 
	$BName = "Mass Downloader"; $BVersion=$match[2]; 
} 
elseif(eregi("(Ask Jeeves/Teoma)",$user_agent)) 
{ 
	$BName = 'Search Bot Ask Jeeves/Teoma'; 
} 
elseif(eregi("(Googlebot)",$user_agent)) 
{ 
	$BName = 'Search Bot Googlebot'; 
} 
elseif(eregi("(nuhk)",$user_agent)) 
{ 
	$BName = 'Search Bot NUHK'; 
} 
elseif(eregi("(Openbot)",$user_agent)) 
{ 
	$BName = 'Search Bot Openbot'; 
} 
elseif(eregi("(Slurp)",$user_agent)) 
{ 
	$BName = 'Search Bot Slurp'; 
} 
elseif(eregi("(ia_archiver)",$user_agent)) 
{ 
	$BName = 'Search Bot ia_archiver'; 
} 
elseif(eregi("(MSNBot)",$user_agent)) 
{ 
	$BName = 'Search Bot MSNBot'; 
} 
elseif(eregi("(Yammybot)",$user_agent)) 
{ 
	$BName = 'Search Bot Yammybot'; 
} 
elseif(eregi("(Opera Mini)/([0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Opera Mini"; $BVersion=$match[2]; 
} 
elseif(eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}",$user_agent,$match) 
	|| eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}",$user_agent,$match)) 
{ 
	$BName = "Opera"; $BVersion=$match[2]; 
} 
elseif( eregi("(NetCaptor) ([0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3})",$user_agent,$match) 
	|| eregi("(NetCaptor) ([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "NetCaptor"; $BVersion=$match[2]; 
} 
elseif(eregi("(amaya)",$user_agent,$match)) 
{ 
	$BName = "Amaya"; $BVersion="Unknown"; 
} 
elseif(eregi("(Camino)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Camino"; $BVersion=$match[2];
} 
elseif(eregi("(Epiphany)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)
	|| eregi("(Epiphany)/([0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Epiphany"; $BVersion=$match[2];
} 
elseif(eregi("(Flock)/([0-9]{1,2}.[0-9]{1,2}.{0,1}[0-9]{0,3}.{0,1}[0-9]{0,3})",$user_agent,$match)) 
{ 
	$BName = "Flock"; $BVersion=$match[2]; 
} 
elseif(eregi("(Galeon)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Galeon"; $BVersion=$match[2]; 
} 
elseif(eregi("(Chimera)/([0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Chimera"; $BVersion=$match[2];
} 
elseif(eregi("(Chrome)/([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "Chrome"; $BVersion=$match[2];
} 
elseif(eregi("(icab)",$user_agent,$match)) 
{ 
	$BName = "iCab"; $BVersion="Unknown"; 
} 
elseif(eregi("(K-Meleon)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "K-Meleon"; $BVersion=$match[2]; 
} 
elseif(eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "Konqueror"; $BVersion=$match[2]; 
} 
elseif(eregi("(Lunascape) ([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Lunascape"; $BVersion=$match[2]; 
} 
elseif(eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "Links"; $BVersion=$match[2]; 
} 
elseif(eregi("(lotus)",$user_agent,$match)) 
{ 
	$BName = "Lotus "; $BVersion="Unknown"; 
} 
elseif(eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Lynx"; $BVersion=$match[2]; 
} 
elseif(eregi("(Maxthon)",$user_agent,$match)) 
{ 
	$BName = "Maxthon"; $BVersion="Unknown"; 
} 
elseif(eregi("(mosaic)",$user_agent,$match)) 
{ 
	$BName = "Mosaic "; $BVersion="Unknown"; 
} 
elseif( eregi("(Safari)/([0-9]{1,3})",$user_agent,$match) ) 
{ 
	$BName = "Safari";
	if ( eregi("(Version)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)
	|| eregi("(Version)/([0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)
	) $BVersion=$match[2]; 
} 
elseif(eregi("(SeaMonkey)/([0-9]{1,2}.[0-9]{1,2}.{0,1}[0-9]{0,3}.{0,1}[0-9]{0,3})",$user_agent,$match)) 
{ 
	$BName = "SeaMonkey"; $BVersion=$match[2]; 
} 
elseif(eregi("(Sleipnir)/([0-9]{1,2}.[0-9]{1,2}.{0,1}[0-9]{0,3}.{0,1}[0-9]{0,3})",$user_agent,$match)) 
{ 
	$BName = "Sleipnir"; $BVersion=$match[2]; 
} 
elseif(eregi("(Songbird)/([0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Songbird"; $BVersion=$match[2]; 
} 
elseif(eregi("(Sylera)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Sylera"; $BVersion=$match[2]; 
} 
elseif(eregi("(Firefox)/([0-9]{1,2}.[0-9]{1,2}.{0,1}[0-9]{0,3}.{0,1}[0-9]{0,3})",$user_agent,$match)) 
{ 
	$BName = "Firefox"; $BVersion=$match[2]; 
} 
elseif(eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "MSIE"; $BVersion=$match[2]; 
} 
elseif(eregi("(netscape6)/(6.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "Netscape"; $BVersion=$match[2]; 
} 
elseif(eregi("(netscape)/(7\.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BName = "Netscape"; $BVersion=$match[2]; 
} 
elseif(eregi("(Gecko)/([0-9]{1,8})",$user_agent,$match)) 
{ 
	$BName = "Mozilla"; 
	$BVersion=$match[2]; 
	if (eregi("(rv):([0-9]{1,2}.[0-9]{1,3}.[0-9]{1,3})",$user_agent,$match))
	{
		$BVersion=$match[2];
	};
	if (eregi("(rv):([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match))
	{
		$BVersion=$match[2];
	};
} 
elseif(eregi("mozilla/5",$user_agent)) 
{ 
	$BName = "Netscape"; $BVersion="Unknown"; 
} 
elseif(eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})",$user_agent,$match)) 
{ 
	$BName = "Netscape "; $BVersion=$match[2]; 
} 
elseif(eregi("w3m",$user_agent)) 
{ 
	$BName = "w3m"; $BVersion="Unknown"; 
} 
else{$BName = "Unknown"; $BVersion="Unknown";} 
 
//--- Detekce Systému ------------------------------------------------
if((eregi("Windows XP",$user_agent)) 
  || (eregi("(Windows NT 5.1)",$user_agent,$match))) 
{ 
	$BPlatform = "Windows XP"; 
} 
elseif(eregi("win16",$user_agent)) 
{ 
	$BPlatform = "Windows 3.11"; 
} 
elseif((eregi("(Windows 2000)",$user_agent,$match)) 
	|| (eregi("(Windows NT 5.0)",$user_agent,$match))) 
{ 
	$BPlatform = "Windows 2000";
} 
elseif(eregi("(Windows NT 5.2)|(windows 2003)",$user_agent)) 
{ 
	$BPlatform = "Windows Server 2003"; 
} 
elseif(eregi("(Windows NT 6.0)|(Windows Vista)",$user_agent)) 
{ 
	$BPlatform = "Windows Vista"; 
} 
elseif(eregi("(Windows NT 7.0)",$user_agent)) 
{ 
	$BPlatform = "Windows 7"; 
} 
elseif(eregi("Windows.ME",$user_agent)) 
{ 
	$BPlatform = "Windows ME"; 
} 
elseif(eregi("windows.ce",$user_agent)) 
{ 
	$BPlatform = "Windows CE"; 
} 
elseif(eregi("win32",$user_agent)) 
{ 
	$BPlatform = "Windows"; 
} 
elseif((eregi("(win)([0-9]{4})",$user_agent,$match)) 
	|| (eregi("(windows) ([0-9]{4})",$user_agent,$match))) 
{ 
	$BPlatform = "Windows $match[2]";
} 
elseif((eregi("(win)([0-9]{2})",$user_agent,$match)) 
	|| (eregi("(windows) ([0-9]{2})",$user_agent,$match))) 
{ 
	$BPlatform = "Windows $match[2]"; 
} 
elseif(eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}",$user_agent,$match)) 
{ 
	$BPlatform = "Windows NT $match[2]"; 
} 
elseif(eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}",$user_agent,$match)) 
{ 
	$BPlatform = "Windows NT $match[3]"; 
} 
elseif(eregi("(sunos) ([0-9]{1,2}.[0-9]{1,2}){0,1}",$user_agent,$match)) 
{ 
	$BPlatform = "SunOS $match[2]"; 
} 
elseif(eregi("(beos) r([0-9]{1,2}.[0-9]{1,2}){0,1}",$user_agent,$match)) 
{ 
	$BPlatform = "BeOS $match[2]"; 
} 
elseif(eregi("(CentOS)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent)) 
{ 
	$BPlatform = "CentOS"; 
} 
elseif(eregi("freebsd",$user_agent)) 
{ 
	$BPlatform = "FreeBSD"; 
} 
elseif(eregi("(Fedora)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BPlatform = "Fedora $match[2]"; 
} 
elseif(eregi("hp-ux",$user_agent)) 
{ 

	$BPlatform = "HP-Unix"; 
} 
elseif(eregi("(iPhone OS)",$user_agent)) 
{ 
	$BPlatform = "iPhone OS"; 
} 
elseif(eregi("irix",$user_agent)) 
{ 
	$BPlatform = "IRIX"; 
} 
elseif(eregi("netbsd",$user_agent)) 
{ 
	$BPlatform = "NetBSD"; 
} 
elseif(eregi("(Mandriva)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent)) 
{ 
	$BPlatform = "Mandriva"; 
} 
elseif(eregi("openbsd",$user_agent)) 
{ 
	$BPlatform = "OpenBSD"; 
} 
elseif(eregi("osf",$user_agent)) 
{ 
	$BPlatform = "OSF"; 
} 
elseif(eregi("os/2",$user_agent)) 
{ 
	$BPlatform = "OS/2"; 
} 
elseif(eregi("plan9",$user_agent)) 
{ 
	$BPlatform = "Plan9"; 
} 
elseif(eregi("(Red Hat)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent,$match)) 
{ 
	$BPlatform = "Red Hat"; 
} 
elseif(eregi("(SUSE)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})",$user_agent)) 
{ 
	$BPlatform = "SUSE Linux"; 
} 
elseif(eregi("sunos",$user_agent)) 
{ 
	$BPlatform = "SunOS"; 
} 
elseif(eregi("symbian",$user_agent)) 
{ 
	$BPlatform = "Symbian OS"; 
} 
elseif(eregi("ubuntu",$user_agent)) 
{ 
	$BPlatform = "Ubuntu Linux"; 
} 
elseif(eregi("(debian)",$user_agent)) 
{ 
	$BPlatform = "Debian Linux"; 
} 
elseif(eregi("unix",$user_agent)) 
{ 
	$BPlatform = "Unix"; 
} 
elseif(eregi("linux",$user_agent)) 
{ 
	$BPlatform = "Linux"; 
} 
elseif(eregi("(Mac_PowerPC)|(Mac_PPC)|(Macintosh)|(Mac_68000)|(Mac OS X)",$user_agent)) 
{ 
	$BPlatform = "Mac OS"; 
} 
else{$BPlatform = "Unknown";} 
}
