var _sUA=navigator.userAgent.toUpperCase();
function getEngine()
{
  var aEngines=new Array(/OPERA/,/GECKO\/./,/MSIE/,/KHTML/,/HOTJAVA/,/@#$%&/);
  for(var x=0;x<aEngines.length;x++)
    if(_sUA.match(aEngines[x])!=null)
      break;
  //return x==aEngines.length-1?navigator.appName=='Netscape'?1:-1:x; 
  return x==aEngines.length-1?navigator.appName=='Netscape'?1:-1:x==0?x=2:x==2?x=0:x;
}

function getEngineName()
{
  var aEngineNames=new Array('Internet Explorer','Gecko','Opera','KHTML','Hot Java');
  return getEngine()==-1?'Unknown':aEngineNames[getEngine()];
}
function getBrowserEx()
{
  var aBrowsers=new Array(/OPERA/,/NETSCAPE/,/FIREFOX.{5,10}$/,/GECKO\/.{5,10}$/,/FLOCK/,/CAMINO/,/MSIE/,/SAFARI/,/KONQUEROR/,/HOTJAVA/,/MINIMO/,/@#$%&/);
  for(var x=0;x<aBrowsers.length;x++)
    if(_sUA.match(aBrowsers[x])!=null)
      break;
  //return x==aBrowsers.length-1?navigator.appName=='Netscape'?1:-1:x;
  return x==aBrowsers.length-1?navigator.appName=='Netscape'?1:-1:x==0?x=6:x==6?x=0:x;
}
function getBrowserName()
{
  var aBrowserNames=new Array('Microsoft Internet Explorer','Netscape Navigator','Firefox','Mozilla','Flock','Camino','Opera','Safari','Konqueror','Hot Java','Minimo');
  return getBrowserEx()==-1?'Unknown':aBrowserNames[getBrowserEx()];
}
function getVersionEx()
{
	var aVersions=new Array(/MSIE\s([0-9\.]*);/,/(MOZILLA\/5.0.*NETSCAPE[0-9]{0,1}\/|MOZILLA\/)([0-9\.]{1,10})/,/FIREFOX\/([0-9\.]*)$/,/RV:([0-9\.]*)\)/,/FLOCK\/([0-9\.]*)$/,/CAMINO\/([0-9\.]*)$/,/OPERA[\s|\/]([0-9\.]*)(\s|\s\(|$)/,/SAFARI\/([0-9\.]*)$/,/KHTML\/([0-9|\.]*)/,/MOZILLA\/([0-9\.]*)\[/,/MINIMO\/([0-9\.]*)/);
	_sUA.match(aVersions[getBrowserEx()]);
	var sExp1=RegExp.$1,sExp2=RegExp.$2;
	return getBrowserEx()==1?sExp2:sExp1;
}
function getGenVer()
{
	getVersionEx().match(/([0-9]*)/);
	return RegExp.$1;
}
function getPlatform()
{
  var aPlatforms=new Array(/WINDOWS\sCE/,/IPHONE/,/LINUX/,/WINDOWS/,/MAC/,/@#$%&/);
 	//_sUA='Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A538a Safari/419';
  for(var x=0;x<aPlatforms.length;x++)
    if(_sUA.toUpperCase().match(aPlatforms[x])!=null)
    	break;
  return x==aPlatforms.length-1?-1:x==0?x=3:x==3?x=0:x==1?4:x==4?x=1:x;
}
function getPlatformName()
{
  var aPlatformNames=new Array('Win32','Macintosh','Linux','Pocket PC');
  return getPlatform()==-1?'Unknown':aPlatformNames[getPlatform()];
}

//****** ATENCION SI AŅADEN NUEVOS SISTEMAS OPERATIVOS HAY QUE MODIFICAR getSO(), getSOName() y getSOsupport() (esta ultima esta en ntr_ids.js). Tambien hay que modificar ntr_browsers.ASP
//***** OJO: getSO() devuelve la posicion de un array. Verificar cualquier llamada que use los indices de array como condicion.
function getSO(sUserAgent)
{
    //var aSO=new Array(/WINDOWS\s3\.1/,/WINDOWS\s95/,/WIN\s9X/,/WINDOWS\s98|WIN98/,/NT\s5\.1/,/NT\s5\.2/,/NT\s5/,/NT\s6/,/NT\s4/,/MAC\sOS\s9/,/MAC\sOS\sX/,/LINUX/,/SunOS/,/WINDOWS\sCE/,/@#$%&/);
    //APF. 20091026 TFS 5604 Added Windows 7 detection
    var aSO = new Array(/WINDOWS\s3\.1/, /WINDOWS\s95/, /WIN\s9X/, /WINDOWS\s98|WIN98/, /NT\s5\.1/, /NT\s5\.2/, /NT\s5/, /NT\s6\.0/, /NT\s6\.1/, /NT\s4/, /MAC\sOS\s9/, /MAC\sOS\sX/, /LINUX/, /SunOS/, /WINDOWS\sCE/, /@#$%&/);
  for(var x=0;x<aSO.length;x++)
    if((typeof(sUserAgent)=='undefined'?_sUA:sUserAgent.toUpperCase()).match(aSO[x])!=null)
      break;
  return x==aSO.length-1?-1:x;
}
//***** OJO: getSOName() devuelve la posicion de un array y se base en getSO() que hace lo mismo. Verificar cualquier llamada que use los indices de array como condicion.
function getSOName()
{
    //var aSOName = new Array('Windows 3.1', 'Windows 95', 'Windows Millenium', 'Windows 98', 'Windows XP', 'Windows Server 2003', 'Windows 2000', 'Windows Vista', 'Windows NT', 'MAC OS 9', 'MAC OS X', 'Linux', 'SunOS', 'Windows CE');
    //APF. 20091026 TFS 5604 Added Windows 7 detection
    var aSOName = new Array('Windows 3.1', 'Windows 95', 'Windows Millenium', 'Windows 98', 'Windows XP', 'Windows Server 2003', 'Windows 2000', 'Windows Vista', 'Windows 7', 'Windows NT', 'MAC OS 9', 'MAC OS X', 'Linux', 'SunOS', 'Windows CE');
  return getSO()==-1?'Unknown':aSOName[getSO()];
}
function bActX()
{
	return window.ActiveXObject;
}
var _gE=getEngine(),_gEN=getEngineName(),_gB=getBrowserEx(),_gBN=getBrowserName(),_gV=getVersionEx(),_gGV=getGenVer(),_gP=getPlatform(),_gPN=getPlatformName(),_gSO=getSO(),_gSON=getSOName(),_gX=bActX();
function NTR_Browsers(oFrame)
{
  var aScripts=new Array('var _gE=top._gE,_gEN=top._gEN,_gB=top._gB,_gBN=top._gBN,_gV=top._gV,_gGV=top._gGV,_gP=top._gP,_gPN=top._gPN,_gSO=top._gSO,_gSON=top._gSON,_gX=top._gX;');
  evalScripts(oFrame,aScripts);
}