/*******************************************************************************
FILE NAME    :browser.js
DEPENDENCIES :none
********************************************************************************
____________________________ API DOCUMENTATION BEGIN ___________________________
````````````````````````````````````````````````````````````````````````````````
Sniffs browser.

````````````````````````````````````````````````````````````````````````````````
_____________________________ API DOCUMENTATION END ____________________________
*******************************************************************************/

//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) && !(navUserAgent.indexOf("firefox")>=0)) //if Netscape 
 {
	if(parseInt(navigator.appVersion) == 5) //Netscape 6 or 7
	{
   if(!(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(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 == 8) this.ns8 = true; //using Netscape 8
	else 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("firefox")>=0)) //if Firefox
 {
  this.firefox = true;
	var start_pos = navUserAgent.indexOf("firefox/") + 8;
	this.majorVersion = parseInt(navUserAgent.substring(start_pos));
	if(navUserAgent.indexOf("1.0.6")>=0) this.majorMinorVersion = "1.0.6";
  else if(navUserAgent.indexOf("1.0.7")>=0) this.majorMinorVersion = "1.0.7";
	else if(navUserAgent.indexOf("1.5.0.1")>=0) this.majorMinorVersion = "1.5.0.1";
	else if(navUserAgent.indexOf("1.5.0.2")>=0) this.majorMinorVersion = "1.5.0.2";
	else if(navUserAgent.indexOf("1.5.0.3")>=0) this.majorMinorVersion = "1.5.0.3";
	else if(navUserAgent.indexOf("1.5.0.4")>=0) this.majorMinorVersion = "1.5.0.4";
	else if(navUserAgent.indexOf("1.5.0.5")>=0) this.majorMinorVersion = "1.5.0.5";
	else if(navUserAgent.indexOf("1.5.0.6")>=0) this.majorMinorVersion = "1.5.0.6";

  if(this.majorVersion == 1) this.firefox1 = true; //using firefox 1
 }
 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.0.3(v85.8)
  else if(this.majorVersion == 125) this.safari1 = true; //using safari 1.2.4(v125.11)
  else if(this.majorVersion == 312) this.safari1 = true; //using safari 1.3(v312)
  else if(this.majorVersion == 412) this.safari2 = true; //using safari 2.0(v412.2.2) or 2.0.1(v412.5)
  else if(this.majorVersion == 416) this.safari2 = true; //using safari 2.0.2(v416.13)
	else if(this.majorVersion == 417) this.safari2 = true; //using safari 2.0.3(v417.8, v417.9.2)
	else if(this.majorVersion == 419) this.safari2 = true; //using safari 2.0.4(v419.3)
 }
 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
	else if(this.opera && this.majorVersion == 7) this.opera7 = true; //using Opera 7
 }
 
 //AOL browser
 if(navUserAgent.indexOf("aol")>=0) this.aol = true;
 else this.aol = false;

 //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 ------------------------------------------------------

//---END