function BrowserInfo()
{
    // Netscape, Explorer, Opera, Mozilla
    this.BrowserName="";
    this.UserAgent="";
    this.BrowserVersion=0;
    // only set if really needed (Opera 6.01)
    this.BrowserSubVersion=0;
}

function GetOperaAliasInfo()
{
	//z.B. UserAgent=="Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.01 [de]"
	BrowserInfo.BrowserVersion=9;
    BrowserInfo.BrowserSubVersion=0; 
    var index=BrowserInfo.UserAgent.indexOf("Opera");
    var versionstring=BrowserInfo.UserAgent.substring(index+6,index+7);
    BrowserInfo.BrowserName="Opera";	        
	if (versionstring == "5")
	{
   		BrowserInfo.BrowserVersion=5;
   		BrowserInfo.BrowserSubVersion=0; 
	}
	if (versionstring == "6")
	{
   		BrowserInfo.BrowserVersion=6;
   		BrowserInfo.BrowserSubVersion=0; 
   		// here we need also the subversion
   		versionstring=BrowserInfo.UserAgent.substring(index+8,index+10);
   		if(versionstring=="01")
   		{
   			BrowserInfo.BrowserSubVersion=1;	
   		}
	}  
	if (versionstring == "7")
	{
   		BrowserInfo.BrowserVersion=7;
   		BrowserInfo.BrowserSubVersion=0; 
   		// here we need also the subversion
   		versionstring=BrowserInfo.UserAgent.substring(index+8,index+10);
   		if(versionstring=="01")
   		{
   			BrowserInfo.BrowserSubVersion=1;	
   		}
	}  	
	if (versionstring == "8")
	{
   		BrowserInfo.BrowserVersion=8;
   		BrowserInfo.BrowserSubVersion=0; 
   		// here we need also the subversion
   		versionstring=BrowserInfo.UserAgent.substring(index+8,index+10);
   		if(versionstring=="01")
   		{
   			BrowserInfo.BrowserSubVersion=1;	
   		}
	}  		
}

function GetOperaInfo()
{
	BrowserInfo.BrowserVersion=9;
    BrowserInfo.BrowserSubVersion=0; 
   		
	//UserAgent=="Opera/6.01 (Windows XP; U) [de]"
        //UserAgent=="Opera/7.0 (Windows NT 5.1; U) [en]"
    if (BrowserInfo.UserAgent.substring(0,7) == "Opera/5")
	{
   		BrowserInfo.BrowserVersion=5;
   		BrowserInfo.BrowserSubVersion=0; 
	}	    
	if (BrowserInfo.UserAgent.substring(0,7) == "Opera/6")
	{
           BrowserInfo.BrowserVersion=6;
           BrowserInfo.BrowserSubVersion=0; 
           // here we need also the subversion
           if(BrowserInfo.UserAgent.substring(0,10) == "Opera/6.01")
           {
        	BrowserInfo.BrowserSubVersion=1;	
           }
	}
	if (BrowserInfo.UserAgent.substring(0,7) == "Opera/7")
	{
           BrowserInfo.BrowserVersion=7;
           BrowserInfo.BrowserSubVersion=0; 
           // here we need also the subversion
           if(BrowserInfo.UserAgent.substring(0,10) == "Opera/7.01")
           {
        	BrowserInfo.BrowserSubVersion=1;	
           }
	}
	if (BrowserInfo.UserAgent.substring(0,7) == "Opera/8")
	{
           BrowserInfo.BrowserVersion=8;
           BrowserInfo.BrowserSubVersion=0; 
           // here we need also the subversion
           if(BrowserInfo.UserAgent.substring(0,10) == "Opera/8.01")
           {
        	BrowserInfo.BrowserSubVersion=1;	
           }
	}	
	if (BrowserInfo.UserAgent.substring(0,7) == "Opera/9")
	{
           BrowserInfo.BrowserVersion=9;
           BrowserInfo.BrowserSubVersion=0; 
           // here we need also the subversion
           if(BrowserInfo.UserAgent.substring(0,10) == "Opera/9.10")
           {
        	BrowserInfo.BrowserSubVersion=10;	
           }
	}		
	
}

function GetNetscapeInfo()
{
    // opera meldet sich auch als: NS
    if(BrowserInfo.UserAgent.indexOf("Opera")!=-1)
    {	        
		GetOperaAliasInfo();      		        
    }
    else
    {	
    	BrowserInfo.BrowserVersion=6;
        BrowserInfo.BrowserSubVersion=0; 
        // ab Gecko
        // Mozilla/5.0 (Windows; U; WinNT4.0; de-DE; rv:0.9.2) Gecko/20010726 Netscape6/6.1
        if(BrowserInfo.UserAgent.indexOf("Netscape")!=-1)
        {
	        var index=BrowserInfo.UserAgent.indexOf("Netscape");
	        var versionstring=BrowserInfo.UserAgent.substring(index+8,index+9);
	        BrowserInfo.BrowserName="Netscape";	        
        	if (versionstring == "6")
        	{
           		BrowserInfo.BrowserVersion=6;
           		BrowserInfo.BrowserSubVersion=0; 
        	}	            
        }
        else
        {
            // netscape classic
        	if (BrowserInfo.UserAgent.substring(0,9) == "Mozilla/3")
        	{
               		BrowserInfo.BrowserVersion=3;
               		BrowserInfo.BrowserSubVersion=0; 
        	}
    		if (BrowserInfo.UserAgent.substring(0,9) == "Mozilla/4")
    		{
           			BrowserInfo.BrowserVersion=4;
           			BrowserInfo.BrowserSubVersion=0; 
    		}	
    		if (BrowserInfo.UserAgent.substring(0,9) == "Mozilla/5")
    		{
           			BrowserInfo.BrowserVersion=5;
           			BrowserInfo.BrowserSubVersion=0; 
    		}			
    		if (BrowserInfo.UserAgent.substring(0,9) == "Mozilla/6")
    		{
           			BrowserInfo.BrowserVersion=6;
           			BrowserInfo.BrowserSubVersion=0; 
    		}
		}
    }			 	
}

function GetExplorerInfo()
{
    // opera meldet sich auch als: Internet Explorer
    if(BrowserInfo.UserAgent.indexOf("Opera")!=-1)
    {	        
		GetOperaAliasInfo();      		        
    }
    else
    {	    
    	BrowserInfo.BrowserVersion=6;
        BrowserInfo.BrowserSubVersion=0; 
        if(BrowserInfo.UserAgent.indexOf("MSIE")!=-1)
        {
            var index=BrowserInfo.UserAgent.indexOf("MSIE");
            var versionstring=BrowserInfo.UserAgent.substring(index+5,index+6);
	        // Internet Explorer
        	if (versionstring == "3")
        	{
           		BrowserInfo.BrowserVersion=3;
           		BrowserInfo.BrowserSubVersion=0; 
        	}	    
        	if (versionstring == "4")
        	{
           		BrowserInfo.BrowserVersion=4;
           		BrowserInfo.BrowserSubVersion=0; 
        	}    	        
        	if (versionstring == "5")
        	{
           		BrowserInfo.BrowserVersion=5;
           		BrowserInfo.BrowserSubVersion=0; 
        	}	    
        	if (versionstring == "6")
        	{
               	BrowserInfo.BrowserVersion=6;
               	BrowserInfo.BrowserSubVersion=0; 
        	}
        	if (versionstring == "7")
        	{
               	BrowserInfo.BrowserVersion=7;
               	BrowserInfo.BrowserSubVersion=0; 
        	}        	
    	}
	}	
}


function GetBrowserInfo()
{
	DebugPrint("GetBrowserInfo() called");
    BrowserInfo.BrowserName=navigator.appName;
    BrowserInfo.UserAgent=navigator.userAgent;   
    BrowserInfo.BrowserVersion=0;
    BrowserInfo.BrowserSubVersion=0;    
    if(BrowserInfo.BrowserName=="Netscape")
	{
		GetNetscapeInfo();   
    }
	if(BrowserInfo.BrowserName=="Microsoft Internet Explorer")
	{  
		GetExplorerInfo();
	}
	if(BrowserInfo.BrowserName=="Opera")
	{     
		GetOperaInfo();
	}
		
    DebugPrint("BrowserName: "+BrowserInfo.BrowserName);
    DebugPrint("Useragent: "+BrowserInfo.UserAgent); 	
	DebugPrint("BrowserVersion: "+BrowserInfo.BrowserVersion); 
}