
/*
Copyright (c) 2006, Systeam Net. All rights reserved.
License: http://members.cox.net/sanela/license.txt
Contact: http://members.cox.net/sanela/contact/
Author: (=)staimanovo kod tebe
*/

function isajax(){
	try{if(window.XMLHttpRequest)return new XMLHttpRequest();}catch(e){};
	try{if(window.ActiveXObject)return new ActiveXObject('MSXML2.XMLHTTP');}catch(e){};
	try{if(window.ActiveXObject)return new ActiveXObject('Microsoft.XMLHTTP');}catch(e){};
	return null;
};
var gbajax=(isajax()!=null);

var gbdom=(document.getElementById && document.getElementsByTagName &&
		document.createElement)?true:false;

function isXML(){
	var xmlDoc=null;
	if(document.implementation && document.implementation.createDocument){
		xmlDoc=document.implementation.createDocument('','',null);
	}else if(window.ActiveXObject){
		xmlDoc=new ActiveXObject('Microsoft.XMLDOM');
	};
	var bret=(xmlDoc!=null);
	xmlDoc=null;
	return bret;
};
var gbxml=(isXML()!=null);




var nua=(navigator.userAgent) ?
		navigator.userAgent.toLowerCase() : 'Undefined';

var browser={};

browser.names={
	msie:     'Microsoft Internet Explorer',
	netscape: 'Gecko Netscape',
	firebird: 'Gecko FireBird',
	firefox:  'Gecko FireFox',
	doczilla: 'Gecko DocZilla',
	safari:   'KDE Safari',
	konqueror:'KDE Konqueror',
	opera:    'Opera',
	omniweb:  'Omniweb',
	webtv:    'WebTV',
	icab:     'iCab',
	pie:      'Pocket Internet Explorer',
	ipn:      'iPanel MicroBrowser',
	nbx:      'Netgem NetBox',
	clu:      'Clue Browser',
	ice:      'ICE Browser',
	hjv:      'HotJava',
	otv:      'OpenTV',
	es5:      'Escape',
	nf3:      'NetFront',
	oth:      'Undefined'
};

browser.msiever=function(){
	var rv=-1;
	if(navigator.appName=='Microsoft Internet Explorer'){
		var ua=navigator.userAgent;
		var re=new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
		if(re.exec(ua)!=null)rv=parseFloat(RegExp.$1);
	};
	return rv;
};

browser.name=function(){
	var sret=nua;
	if(navigator['appCodeName'])sret=navigator.appCodeName;
	if(navigator['appName'])sret=navigator.appName;
	if(navigator['product'])sret=navigator.product;
	for(var v in browser.names){
		if(nua.indexOf(v) > -1)sret=browser.names[v];
	};
	return sret;/*
	agent public name as: [Microsoft Internet Explorer v7.00] */
};

browser.ver=function(){
	if(browser.msiever() > -1)return browser.msiever().toFixed(2);
	var ipos=-1;
	var spos='';
	var iret=0;
	var getpos=function(stest){return nua.indexOf(stest)+1;};
	for(var v in browser.names){
		spos=v;
		ipos=getpos(v);
		if(ipos){
			iret=nua.substr(ipos+spos.length,5);
			iret=iret.replace(';','.').replace('/','.').replace(/ /g,'')+'0';
		};
	};
	iret=parseFloat(iret);
	if(isNaN(iret))iret=0;
	iret=iret.toFixed(2);
	return iret;/* guess agent version as [v7.00] */
};

browser.namever=function(){
	return browser.name() + ' v.' + browser.ver();
};


browser.screensize=function(){
	var sret='';
	try{sret=window.screen.width+'x'+window.screen.height;}catch(e){};
	return sret;/* as [1280 x 1024] */
};

browser.colordepth=function(){
	var sret='';
	if(window['screen']){
		if(window.screen['colordepth'])sret=window.screen.colordepth;
		if(window.screen['pixelDepth'])sret=window.screen.pixelDepth;
	};
	if(sret!=''){
		var iret=parseInt(sret,10);
		if(isNaN(iret))iret=0;
		if      (iret==32) sret+='bit (Highest; 5 Millions Colors; 24bit+8bit for Alpha)';
		else if (iret==24) sret+='bit (High True; 16,777,216 Colors)';
		else if (iret==16) sret+='bit (Medium; 65,536 Colors)';
		else if (iret==8)  sret+='bit (256 Colors)';
		else if (iret==4)  sret+='bit (16 Colors)';
		else if (iret==1)  sret+='bit (Monochrome)';
		else sret+='bit';
	};
	return sret;/*
	as: [32bit (Highest; 5 Millions Colors; 24bit+8bit for Alpha)] */
};

function arrNavigator(){
	var retarray={};
	retarray['agent']='Undefined';
	if(navigator){
		retarray=[];
	 	for(var key in navigator){
			try{
				if(typeof navigator[key]=='unknown'){
					val='';
				}else if(typeof navigator[key]=='object'){
					val='';
				}else if(typeof navigator[key]=='function'){
					val='';
					try{val=navigator[key]();}catch(ee){};
				}else{
					val=navigator[key];
				};
				val+='';
				if(val.toLowerCase()=='undefined')val='';
				if(val.toLowerCase()=='unknown')val='';
				if(key.toLowerCase()=='appversion'){
					val=parseFloat(val);
					if(isNaN(val))val=0;
					val=val.toFixed(2);
				};
				if(key.toLowerCase()=='useragent'){
					val=val.split('/')[0];
				};
			}catch(e){
				val='';
			};
			if(val!=undefined && val!='')retarray[key]=val;
		};
	};
	return retarray;
};

function arrBrowser(){
	var arr={};
	try{arr=arrNavigator();}catch(e){};
	arr['browserString']=navigator.userAgent + '|gray';
	arr['colorDepth']=browser.colordepth(true) + '|gray';
	arr['screenSize']=browser.screensize() + '|gray';
	arr['referrer']=setting.get('referrer') + '|gray';
	arr['user Lang']=gSSILang + '|gray';
	arr['user IP']=gSSIIP + '|gray';
	arr['user ID']=setting.get('sid') + '|gray';
	arr['AJAX']=gbajax + '|gray';
	arr['XML']=gbxml + '|gray';
	arr['DOM2']=gbdom + '|gray';
	if(gbajax && gbdom){
		arr['WEB2']='You have Web2.0 compliant browser' + '|orange';
	}else{
		arr['WEB2']='You need to upgrade your browser' + '|red';
	};
	arr['browser']=browser.namever() + '|darkorange|' + true;
	/*  */
	return arr;
};

function addRow(key,value,tablesid){
	var bbold=false;
	var color='green';
	key=key || '';
	value=value || '';
	if(value!='' ){
		value+='||';
		var arrVal=value.split('|');
		value=arrVal[0] || '';
		color=arrVal[1] || 'green';
		bbold=arrVal[2] || false;
		/*  */
		var htable=document.getElementById(tablesid);if(!htable)return;
		var hrow=htable.insertRow(0);
		var hcell=hrow.insertCell(0);
		hcell.style.color='rgb(102,102,102)';
		hcell.style.fontSize='0.8em';
		hcell.style.whiteSpace='nowrap';
		hcell.style.textAlign='right';
		hcell.style.verticalAlign='top';
		hcell.innerHTML=key;
		var hcell=hrow.insertCell(1);
		hcell.innerHTML=value;
		if(color!='')hcell.style.color=color;
		if(bbold)hcell.style.fontWeight='bold';
	};
};

function agentTest(evt){
	var tablesid='tableAgentTest';
	var htable=document.getElementById(tablesid);if(!htable)return;
	/*  */
	var hrow=htable.rows[0];if(!hrow)return;
	for(var i=0;i<hrow.cells.length;i++){
		var hcell=hrow.cells[i];
		if(hcell)hcell.style.display='none';
	};
	var arr=arrBrowser();
	var keys=[];
 	for(var key in arr){
		var val=arr[key];if(val!=undefined && val!='')addRow(key,val,tablesid);
	};
};if(window['Event'])Event.Add(window,'load',agentTest);




