/**
 * @used IE, FF, Opera
 *
 * @example
 *        alert(Browser.appName);
 *
 * @version 1.5 2006/03/15
 */

/**
 * @constructor
 */
function Browser(){
	var browsers = {};
	browsers[Browser.browsers.MOZ]		= 'mozilla';
	browsers[Browser.browsers.IE]		= 'msie';
	browsers[Browser.browsers.OPERA]	= 'opera';
	browsers[Browser.browsers.FF]		= 'firefox';
	browsers[Browser.browsers.NN]		= 'netscape';
	browsers[Browser.browsers.KONQ]		= 'konqueror';

	var platforms = {};
	platforms[Browser.platforms.WIN_98] = ['windows 98', 'win98', 'win 98'];
	platforms[Browser.platforms.WIN_NT] = 'windows nt';
	platforms[Browser.platforms.LINUX]	= 'linux';
	platforms[Browser.platforms.MAC]	= 'mac';

	//--- set appName
	for(var i in browsers){
		if(Browser.search(browsers[i])){
			Browser.appName = browsers[i];
			Browser.type = i;
		}
	}

	//--- set platform
	for(var i in platforms){
		if(Browser.search(platforms[i])){
			//Browser.platform = platforms[i];
			Browser.platform = i;
		}
	}

	//--- set version
	//var temp = userAgent.split(/[ ;\)\/]+/);
	var temp = Browser.userAgent.split(/[\( ;\)\/]+/);
	for(var i = 0; i < temp.length; i++){
		//  || (Browser.appName == 'mozilla' && temp[i] == 'rv:')
		if(temp[i] == Browser.appName.toLowerCase()){
			Browser.version = parseFloat(temp[++i]);
			break;
		}
	}

	//--- set language
	//if(Browser.appName == 'mozilla' || Browser.appName == 'firefox' || Browser.appName == 'netscape'){
	if(Browser.type & (Browser.browsers.MOZ | Browser.browsers.FF | Browser.browsers.NN)){
		Browser.language = navigator.language.substr(0, 2).toLowerCase();
	}
	else{
		Browser.language = navigator.userLanguage;
	}

	//return Browser;
};

Browser.userAgent = navigator.userAgent.toLowerCase();

Browser.search = function(values){
	if(typeof(values) != 'object'){
		return (Browser.userAgent.search(values) >= 0);
	}
	else{
		for(var i = 0; i < values.length; i++){
			if(Browser.userAgent.search(values[i]) >= 0){
				return true;
			}
		}
	}
	return false;
};

Browser.browsers = {
	MOZ:	1,
	IE:		2,
	OPERA:	4,
	FF:		8,
	NN:		16,
	KONQ:	32
};

Browser.platforms = {
	WIN_98:	1,
	WIN_NT:	2,
	LINUX:	4,
	MAC:	8
};

/**
 * @type	String
 * @public
 */
Browser.appName = '';

/**
 * @type	Number
 * @public
 */
Browser.platform = 0;

/**
 * @type	Number
 * @public
 */
Browser.version = 0;

/**
 * @type	String
 * @public
 */
Browser.language = '';

/**
 * @type	Number	Bit.
 * @public
 */
Browser.type = 0; // bitset

//--- wywolanie funkcji
Browser();
