var agent, version, opversion;

agent 			= navigator.userAgent.toLowerCase();
var isWin 		= (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var browser 	= new Object();
browser.isOP 	= agent.indexOf('opera')!=-1;

if(browser.isOP){
	var reg1 	   = new RegExp("opera.([0-9]+\.[0-9]+)");
	var foundArray = reg1.exec(agent);
	var reg2 	   = new RegExp("([0-9]+\.[0-9]+)");
	if(foundArray != null){
		opversion  = reg2.exec(foundArray[0]);
		version    = opversion[0];
	}
}
else version 	= 	parseInt(navigator.appVersion);

browser.isOP7	= 	browser.isOP&&version==7;
browser.isOP7UP	= 	browser.isOP&&version>=7;
browser.isNS	= 	(agent.indexOf('mozilla')!=-1) && 
					(agent.indexOf('spoofer')==-1) && 
					(agent.indexOf('compatible') == -1) && 
					(agent.indexOf('opera')==-1) && 
					(agent.indexOf('webtv')==-1) && 
					(agent.indexOf('hotjava')==-1);
browser.isNS4	= 	browser.isNS&&version==4;
browser.isNS60  = 	browser.isNS&&version==5&&(parseInt(navigator.productSub)<20010726);
browser.isNS6	= 	browser.isNS&&version>=5&&!browser.isNS60;
browser.isNS7	= 	browser.isNS6&&parseInt(navigator.vendorSub)==7;
browser.isNS7UP	= 	browser.isNS6&&parseInt(navigator.vendorSub)>=7;
browser.isFF	= 	agent.indexOf('firefox')!=-1;
browser.isFF5UP	= 	browser.isFF&&version>=5;  
browser.isIE	= 	agent.indexOf('msie')!=-1;
browser.isIE4	= 	browser.isIE&&(agent.indexOf('msie 4')!=-1);
browser.isIE5	= 	browser.isIE&&(agent.indexOf('msie 5')!=-1);
browser.isIE55	= 	browser.isIE&&(agent.indexOf('msie 5.5')!=-1);
browser.isIE6	= 	browser.isIE&&(agent.indexOf('msie 6.0')!=-1);
browser.isIE7	= 	browser.isIE&&(agent.indexOf('msie 7')!=-1);
browser.isMac	= 	agent.indexOf('mac')!=-1;
browser.isDOM	= 	document.getElementById?1:0;
browser.isMOZ	= 	geckoGetRv()>=1.0001&&navigator.productSub>=20040910;

function geckoGetRv(){
	if(navigator.product != 'Gecko') return -1;
	var rvValue = 0;
	var ua = navigator.userAgent.toLowerCase();
	var rvStart = ua.indexOf('rv:');
	var rvEnd = ua.indexOf(')', rvStart);
	var rv = ua.substring(rvStart+3, rvEnd);
	var rvParts = rv.split('.');
	var exp = 1;
	for(var i = 0; i < rvParts.length; i++){
		var val = parseInt(rvParts[i]);
		rvValue += val / exp;
		exp *= 100;
	}
	return rvValue;
}