/*******************************************************************************
FILE NAME       :browser.js
DESCRIPTION     :sniffs browser
API DEPENDENCIES:none
********************************************************************************
                        <<----<< DOCUMENTATION >>---->>
````````````````````````````````````````````````````````````````````````````````

*******************************************************************************/

//CLASS CONSTRUCTOR-- builds browser information object-- jsv 1.2
function _browserInfo()
{
 var navAppName = navigator.appName.toLowerCase();
 var navUserAgent = navigator.userAgent.toLowerCase();
 if((navAppName.indexOf("microsoft")>=0) && !(navUserAgent.indexOf("opera")>=0)) //if IE
 {
  this.ie = true;
	var start_pos = navUserAgent.indexOf("msie") + 4;
	this.majorVersion = parseInt(navUserAgent.substring(start_pos));
	this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos));
	
  if(this.majorVersion == 6) this.ie6 = true; //using internet explorer 6
	else if(this.majorVersion == 5) this.ie5 = true; //using internet explorer 5
  else if(this.majorVersion == 4) this.ie4 = true; //using internet explorer 4 
	else if(this.majorVersion == 3) this.ie3 = true; //using internet explorer 3
 }
 else if((navAppName.indexOf("netscape")>=0) && !(navUserAgent.indexOf("opera")>=0) && !(navUserAgent.indexOf("safari")>=0)) //if Netscape 
 {
	if(parseInt(navigator.appVersion) == 5) //Netscape 6 or 7
	{
   if((navAppName.indexOf("netscape")>=0) && !(navUserAgent.indexOf("aol")>=0)) //if Netscape standalone
	 {
	  var start_pos = navUserAgent.indexOf("netscape") + 8; //sets string position
	
	  if(navUserAgent.charAt(start_pos) == "/") //if string Netscape/[n]
	  { 
	   this.majorVersion = parseInt(navUserAgent.substring(start_pos+1));
	   this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos+1));
	  }
	  else if(navUserAgent.charAt(start_pos + 1) == "/") //if string Netscape[n]/[n]
	  { 
	   this.majorVersion = parseInt(navUserAgent.substring(start_pos+2));
	   this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos+2));
		}
	  else //if string Netscape[n]
	  { 
	   this.majorVersion = parseInt(navUserAgent.substring(start_pos)); 
	   this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos)); 
	  }
	 }
	 else if((navAppName.indexOf("netscape")>=0) && (navUserAgent.indexOf("aol")>=0)) //if Netscape AOL
	 {
	  var start_pos = navUserAgent.indexOf("aol") + 3; //sets string position
	
	  if(navUserAgent.charAt(start_pos) == "/") //if string AOL/[n]
	  { 
	   this.majorVersion = parseInt(navUserAgent.substring(start_pos+1));
	   this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos+1));
	  }
	 }
  }
  else if(parseInt(navigator.appVersion) == 4 || parseInt(navigator.appVersion) == 3) //Netscape 3 or 4
  {
	 this.majorVersion = parseInt(navigator.appVersion); 
	 this.majorMinorVersion = parseFloat(navigator.appVersion); 	 
  }
	
	this.ns = true;
	
	if(this.majorVersion == 7) this.ns7 = true; //using Netscape 7
	else if(this.majorVersion == 6) this.ns6 = true; //using Netscape 6
  else if(this.majorVersion == 4) this.ns4 = true; //using Netscape 4
  else if(this.majorVersion == 3) this.ns3 = true; //using Netscape 3
 }
 else if((navUserAgent.indexOf("safari")>=0)) //if Safari
 {
  this.safari = true;
	var start_pos = navUserAgent.indexOf("safari/") + 7;
	this.majorVersion = parseInt(navUserAgent.substring(start_pos));
	this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos));
	
  if(this.majorVersion == 85) this.safari1 = true; //using safari 1
 }
 else if(navUserAgent.indexOf("opera")>=0) //if Opera
 {
  this.opera = true;
	var start_pos = navUserAgent.indexOf("opera") + 6;
	this.majorVersion = parseInt(navUserAgent.substring(start_pos));
	this.majorMinorVersion = parseFloat(navUserAgent.substring(start_pos));
	
  if(this.opera && this.majorVersion == 5) this.opera5 = true; //using Opera 5
 }

 //identify platform
 var browserPlatform = navigator.platform.toLowerCase();
 if(browserPlatform.indexOf("win")>=0) this.isWin = true;
 else if(browserPlatform.indexOf("mac")>=0) this.isMac = true;
 else this.isWin = true; //default to win platform if platform is not identified
}

//-- global variables begin ----------------------------------------------------
gBrowser = new _browserInfo();
//-- global variables end ------------------------------------------------------
