/* * jsBrwSniff v0.5 * * A browser sniffer library * http://jsbrwsniff.sf.net * * Released under the GNU LGPL license * Author: Pau Garcia i Quiles * */ var _BROWSER = function(){ this.identifier = "unknown"; this.version = 0; this.name = "Unknown"; this.max_version = 0; this.min_version = 0; this.engine = "unknown"; this.engine_version = 0; this.user_agent = navigator.userAgent.toLowerCase(); this.has_flash_plugin = false; this.flash_version = 0; this.lang = "unknown"; if (this.user_agent.search(/omniweb[\/\s]v?(\d+([\.-]\d)*)/) != -1) { // Omniweb this.identifier="omniweb"; this.name = "Omniweb"; this.version=this.user_agent.match(/omniweb[\/\s]v?(\d+([\.-]\d)*)/)[1]; this.engine = (this.version > 4.5 ? "khtml" : "omniweb"); if(this.user_agent.search(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/) == -1) { this.engine_version=this.user_agent.match(/omniweb[\/\s](\d+([\.-]\d)*)/)[1]; } else { this.engine_version=this.user_agent.match(/omniweb[\/\s]((\d+([\.-]\d)*)-)?v(\d+([\.-]\d)*)/)[4]; } } else if (this.user_agent.search(/opera[\/\s](\d+(\.?\d)*)/) != -1) { // Opera this.identifier="opera"; this.name = "Opera"; this.version=this.user_agent.match(/opera[\/\s](\d+(\.?\d)*)/)[1]; this.engine="opera"; this.engine_version=this.version; } else if (this.user_agent.search(/crazy\s?browser\s(\d+(\.?\d)*)/) != -1) { // Crazy Browser this.identifier="crazy"; this.name="Crazy Browser"; this.version=this.user_agent.match(/crazy\s?browser\s(\d+(\.?\d)*)/)[1]; this.engine="msie"; this.engine_version = this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; } else if (this.user_agent.search(/myie2/) != -1) { // MyIE2 this.identifier="myie2"; this.name = "MyIE2"; this.engine="msie"; this.engine_version=this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; } else if (this.user_agent.search(/netcaptor/) != -1) { // NetCaptor this.identifier="netcaptor"; this.name = "NetCaptor"; this.version=this.user_agent.match(/netcaptor\s(\d+(\.?\d)*)/)[1]; this.engine="msie"; b[3]=getMSIEVersion(); } else if (this.user_agent.search(/avant\sbrowser/) != -1) { // Avant Browser this.identifier="avantbrowser"; this.name = "Avant Browser"; this.version = 0; this.engine="msie"; this.engine_version = this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; } else if (this.user_agent.search(/msn\s(\d+(\.?\d)*)/) != -1) { // MSN Explorer this.identifier="msn"; this.name = "MSN Explorer"; this.version=this.user_agent.match(/msn\s(\d+(\.?\d)*)/)[1]; this.engine="msie"; this.engine_version = this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; } else if (this.user_agent.search(/msie\s(\d+(\.?\d)*)/) != -1) { // MS Internet Explorer this.identifier="msie"; this.name = "MS Internet Explorer"; this.version = this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; this.engine="msie"; this.engine_version=this.version; } else if (this.user_agent.search(/powermarks\/(\d+(\.?\d)*)/) != -1) { // PowerMarks this.identifier="powermarks"; this.name = "PowerMarks"; this.version=this.user_agent.match(/powermarks\/(\d+(\.?\d)*)/)[1]; this.engine="msie"; try { this.engine_version = this.user_agent.match(/msie\s(\d+(\.?\d)*)/)[1]; } catch (e) { } } else if (this.user_agent.search(/konqueror[\/\s](\d+([\.-]\d)*)/) != -1) { // Konqueror this.identifier="konqueror"; this.name = "Konqueror" this.version=this.user_agent.match(/konqueror[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="khtml"; } else if (this.user_agent.search(/safari\/(\d)*/) != -1) { // Safari this.identifier="safari"; this.name = "Safari"; this.version=this.user_agent.match(/safari\/(\d+(\.?\d*)*)/)[1]; this.engine="khtml"; this.engine_version=this.user_agent.match(/applewebkit\/(\d+(\.?\d*)*)/)[1]; } else if(this.user_agent.search(/zyborg/) != -1) { // Zyborg (SSD) this.identifier="zyborg"; this.name = "Zyborg (SSD)"; this.version=this.user_agent.match(/zyborg\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine_version=0; } else if (this.user_agent.search(/galeon[\/\s](\d+([\.-]\d)*)/) != -1) { // Galeon this.identifier="galeon"; this.name = "Galeon"; this.version=this.user_agent.match(/galeon[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version = this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/nautilus[\/\s](\d+([\.-]\d)*)/) != -1) { // Nautilus this.identifier="nautilus"; this.name = "Nautilus"; this.version=this.user_agent.match(/nautilus[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version = this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/firefox[\/\s](\d+([\.-]\d)*)/) != -1) { // Firefox this.identifier="firefox"; this.name = "Firefox"; this.version=this.user_agent.match(/firefox[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/k-meleon[\/\s](\d+([\.-]\d)*)/) != -1) { // K-Meleon this.identifier="kmeleon"; this.name = "K-Meleon"; this.version=this.user_agent.match(/k-meleon[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (brs.search(/playstation\s3/) != -1) { // Playstation 3 this.identifier="netfront"; this.name="Playstation 3"; this.version="2.81"; // Taken from the Wikipedia article this.engine="playstation3" this.engine_version=this.user_agent.match(/playstation\s3;\s(\d+\.\d+)/)[1]; } else if (this.user_agent.search(/firebird[\/\s](\d+([\.-]\d)*)/) != -1) { // Firebird this.identifier="firebird"; this.name = "Firebird"; this.version=this.user_agent.match(/firebird[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/phoenix[\/\s](\d+([\.-]\d)*)/) != -1) { // Phoenix this.identifier="phoenix"; this.name = "Phoenix"; this.version=this.user_agent.match(/phoenix[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/camino[\/\s](\d+([\.-]\d)*)/) != -1) { // Camino this.identifier="camino"; this.name = "Camino"; this.version=this.user_agent.match(/camino[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/epiphany[\/\s](\d+([\.-]\d)*)/) != -1) { // Epiphany this.identifier="epiphany"; this.name = "Epiphany"; this.version=this.user_agent.match(/epiphany[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/chimera[\/\s](\d+([\.-]\d)*)/) != -1) { // Chimera this.identifier="chimera"; this.name = "Chimera"; this.version=this.user_agent.match(/chimera[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/icab[\s\/]?(\d+(\.?\d)*)/) !=-1) { // iCab this.identifier="icab"; this.name = "iCab"; this.version=this.user_agent.match(/icab[\s\/]?(\d+(\.?\d)*)/)[1]; this.engine="icab"; this.engine_version=this.version; } else if (this.user_agent.search(/netfront\/(\d+([\._]\d)*)/) != -1) { // NetFront this.identifier="netfront"; this.name = "NetFront"; this.version=this.user_agent.match(/netfront\/(\d+([\._]\d)*)/)[1]; this.engine="netfront"; this.engine_version=this.version; } else if ((this.user_agent.search(/mozilla\/5.0/) != -1) && (this.user_agent.search(/gecko\//) != -1)) { // Mozilla Seamonkey this.identifier="mozsea"; this.name = "Mozilla Seamonkey"; this.version=this.user_agent.match(/rv\x3a(\d+(\.?\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/elinks/) != -1) { // ELinks this.identifier="elinks"; this.name = "ELinks"; if(this.user_agent.search(/elinks\/(\d+(\.?\d)*)/) == -1) { this.version = this.user_agent.match(/elinks\s\x28(\d+(\.?\d)*)/)[1]; } else { this.version = this.user_agent.match(/elinks\/(\d+(\.?\d)*)/)[1]; } this.engine="elinks"; this.engine_version=this.version; } else if (this.user_agent.search(/w3m\/(\d+(\.?\d)*)/) != -1) { // w3m this.identifier="w3m"; this.name = "w3m"; this.version=this.user_agent.match(/(^w3m|\sw3m)\/(\d+(\.?\d)*)/)[2]; this.engine="w3m"; this.engine_version=this.version; } else if (this.user_agent.search(/links/) != -1) { // Links this.identifier="links"; this.name = "Links"; if(brs.search(/links\/(\d+(\.?\d)*)/) == -1) { this.version=this.user_agent.match(/links\s\x28(\d+(\.?\d)*)/)[1]; } else { this.version = this.user_agent.match(/links\/(\d+(\.?\d)*)/)[1]; } this.engine="links"; this.engine_version=this.version; } else if (this.user_agent.search(/java[\/\s]?(\d+([\._]\d)*)/) != -1) { // Java (as web-browser) this.identifier="java"; this.name = "Java as Web-Browser"; this.version=this.user_agent.match(/java[\/\s]?(\d+([\._]\d)*)/)[1]; this.engine="java"; this.engine_version=this.version; } else if(this.user_agent.search(/lynx/) != -1) { // Lynx (SSD) this.identifier="lynx"; this.name = "Lynx (SSD)"; this.version=this.user_agent.match(/lynx\/(\d+(\.?\d)*)/)[1]; this.engine="libwww-fm"; this.engine_version=this.user_agent.match(/libwww-fm\/(\d+(\.?\d)*)/)[1]; } else if(this.user_agent.search(/dillo/) != -1) { // Dillo (SSD) this.identifier="dillo"; this.version=this.user_agent.match(/dillo\s*\/*(\d+(\.?\d)*)/)[1]; this.engine="dillo"; this.engine=this.engine_version; } else if(this.user_agent.search(/wget/) != -1) { // wget (SSD) this.identifier="wget"; this.name = "WGET (SSD)"; this.version=this.user_agent.match(/wget\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine_version=0; } else if(this.user_agent.search(/googlebot\-image/) != -1) { // GoogleBot-Image (SSD) this.identifier="googlebotimg"; this.name = "GoogleBot-Image"; this.version=this.user_agent.match(/googlebot\-image\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine_version=0; } else if(this.user_agent.search(/googlebot/) != -1) { // GoogleBot (SSD) this.identifier="googlebot"; this.name = "GoogleBot (SSD)"; this.version=this.user_agent.match(/googlebot\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine_version=0; } else if(this.user_agent.search(/msnbot/) != -1) { // MSNBot (SSD) this.identifier="msnbot"; this.name = "MSNBot (SSD)"; this.version=this.user_agent.match(/msnbot\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine_version=0; } else if(this.user_agent.search(/turnitinbot/) != -1) { // Turnitin (SSD) this.identifier="turnitinbot"; this.name = "Turnitin (SSD)"; this.version=this.user_agent.match(/turnitinbot\/(\d+(\.?\d)*)/)[1]; this.engine="robot"; this.engine=0; } else if (this.user_agent.search(/netscape6[\/\s](\d+([\.-]\d)*)/) != -1) { // Netscape 6.x this.identifier="netscape"; this.name = "Netscape"; this.version=this.user_agent.match(/netscape6[\/\s](\d+([\.-]\d)*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/netscape\/(7\.\d*)/) != -1) { // Netscape 7.x this.identifier="netscape"; this.name = "Netscape"; this.version=this.user_agent.match(/netscape\/(7\.\d*)/)[1]; this.engine="gecko"; this.engine_version=this.user_agent.match(/gecko\/([0-9]+)/)[1]; } else if (this.user_agent.search(/netscape4\/(\d+([\.-]\d)*)/) != -1) { // Netscape 4.x this.identifier="netscape"; this.name = "Netscape"; this.version=this.user_agent.match(/netscape4\/(\d+([\.-]\d)*)/)[1]; this.engine="mozold"; this.engine_version = this.version; } else if ( (this.user_agent.search(/mozilla\/(4.\d*)/) != -1) && (this.user_agent.search(/msie\s(\d+(\.?\d)*)/) == -1) ) { this.identifier="netscape"; this.name = "Netscape"; this.version=this.user_agent.match(/mozilla\/(4.\d*)/)[1]; this.engine="mozold"; this.engine_version = this.version; } else {} if (navigator.plugins && navigator.plugins.length) { x = navigator.plugins["Shockwave Flash"]; if (x) { this.has_flash_plugin = true; if (x.description) { y = x.description; this.flash_version = y.charAt(y.indexOf('.')-1); } } if (navigator.plugins["Shockwave Flash 2.0"]) { this.has_flash_plugin = true; this.flash_version = 2; } } else if (navigator.mimeTypes && navigator.mimeTypes.length) { x = navigator.mimeTypes['application/x-shockwave-flash']; if (x && x.enabledPlugin) { this.has_flash_plugin = true; } } else if (this.engine=="msie") { for(var i=15; i>0; i--) { try { var flash = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i); this.flash_version = i; break; //return; } catch(e) { } } if (this.flash_version>0) { this.has_flash_plugin=true; } } if(navigator.language) { this.lang = navigator.language; } else if(navigator.userLanguage) { this.lang = navigator.userLanguage; } this.lang = this.lang.substr(0,2).toUpperCase(); this.max_version = this._calcMaxV(); this.min_version = this._calcMinV(); } _BROWSER.prototype = { _calcMinV : function() { if(!this._isEmpty(this.version)) { if(!this._hasDot(this.version)){ return this.version.match(/\.(\d*([-\.]\d*)*)/)[1]; } else{ return 0; } } else{ return 0; } }, _calcMaxV : function() { if(this._isEmpty(this.version)){ return 0; } else if(this._hasDot(this.version)){ return this.version; } else{ return this.version.match(/(\d*)(\.\d*)*/)[1]; } }, _hasDot : function(str) { return (str.search(/\./) == -1); }, _isEmpty : function(str) { return (str==null || str ==""); } } var _OS = function() { this.type = "unknown"; this.identifier = "unknown"; this.name = "Unknown"; this.platform = navigator.platform; this.user_agent = navigator.userAgent.toLowerCase(); try { if (this.user_agent.search(/windows\sce/) != -1) { this.identifier="wince"; this.type=this.user_agent.match(/windows\sce\/(\d+(\.?\d)*)/)[1]; this.name = "Windows CE"; } else if ( (this.user_agent.search(/windows/) !=-1) || ((this.user_agent.search(/win9\d{1}/) !=-1))) { this.identifier="win"; this.name = "Windows "; if (this.user_agent.search(/nt\s6\.0/) != -1){ this.type="Vista"; this.name += this.type; } else if (this.user_agent.search(/nt\s5\.1/) != -1){ this.type="xp"; this.name += this.type.toUpperCase(); } else if (this.user_agent.search(/nt\s5\.0/) != -1) { this.type="2000"; this.name += this.type; } else if ((this.user_agent.search(/win98/) != -1) || (this.user_agent.search(/windows\s98/)!=-1 ) ){ this.type="98"; this.name += this.type; } else if (this.user_agent.search(/windows\sme/) != -1) { this.type="me"; this.name += "Me"; } else if (this.user_agent.search(/nt\s5\.2/) != -1){ this.type="win2k3"; this.name += "Server 2003"; } else if ( (this.user_agent.search(/windows\s95/) != -1) || (this.user_agent.search(/win95/)!=-1 ) ){ this.type="95"; this.name += this.type; } else if ( (this.user_agent.search(/nt\s4\.0/) != -1) || (this.user_agent.search(/nt4\.0/) ) !=-1){ this.type="nt4"; this.name += "NT 4"; } } else if (this.user_agent.search(/mac\sos\sx/) !=-1) { this.identifier="macosx"; this.type = "macosx"; this.name = "Mac OS X"; } else if (this.user_agent.search(/fedora/) !=-1) { this.identifier="linux"; this.type = "fedora"; this.name = "Fedora"; } else if (this.user_agent.search(/freebsd/) !=-1) { this.identifier="freebsd"; this.type = this.user_agent.match(/freebsd\s(\d(\.\d)*)*/)[1]; this.name = "FreeBSD"; } else if (this.user_agent.search(/sunos/) !=-1) { this.identifier="sunos"; this.type=this.user_agent.match(/sunos\s(\d(\.\d)*)*/)[1]; this.name = "Solaris"; } else if (this.user_agent.search(/irix/) !=-1) { this.identifier="irix"; this.type=this.user_agent.match(/irix\s(\d(\.\d)*)*/)[1]; this.name = "Irix"; } else if (this.user_agent.search(/openbsd/) !=-1) { this.identifier="openbsd"; this.type = this.user_agent.match(/openbsd\s(\d(\.\d)*)*/)[1]; this.name = "OpenBSD"; } else if ( (this.user_agent.search(/macintosh/) !=-1) || (this.user_agent.search(/mac\x5fpowerpc/)!= -1) ) { this.identifier="macclassic"; this.type = "macclassic"; this.name = "Mac Classic"; } else if (this.user_agent.search(/os\/2/) !=-1) { this.identifier="os2"; this.type=this.user_agent.match(/warp\s((\d(\.\d)*)*)/)[1]; this.name = "OS/2"; } else if (this.user_agent.search(/openvms/) !=-1) { this.identifier="openvms"; this.type=this.user_agent.match(/openvms\sv((\d(\.\d)*)*)/)[1]; this.name = "OpenVMS"; } else if ( (this.user_agent.search(/amigaos/) !=-1) || (this.user_agent.search(/amiga/) != -1) ) { this.identifier="amigaos"; this.type=this.user_agent.match(/amigaos\s?(\d(\.\d)*)*/)[1]; this.name = "AmigaOS"; } else if (this.user_agent.search(/hurd/) !=-1) { this.identifier="unix"; this.type = "hurd"; this.name = "Hurd"; } else if (this.user_agent.search(/hp\-ux/) != -1) { this.identifier="hpux"; this.type=this.user_agent.match(/hp\-ux\sb\.[\/\s]?(\d+([\._]\d)*)/)[1]; this.name = "HP-UX"; } else if ( (this.user_agent.search(/unix/) !=-1) || (this.user_agent.search(/x11/) != -1 ) ) { this.identifier="unix"; this.type = "unix"; this.name = "Unix"; } else if (this.user_agent.search(/cygwin/) !=-1) { this.identifier="unix"; this.type = "cygwin"; this.name ="Cygwin"; } else if (this.user_agent.search(/java[\/\s]?(\d+([\._]\d)*)/) != -1) { this.identifier="java"; this.type=this.user_agent.match(/java[\/\s]?(\d+([\._]\d)*)/)[1]; this.name = "Java"; } else if (this.user_agent.search(/palmos/) != -1) { this.identifier="palmos"; this.type = "palmos"; this.name = "PalmOS"; } else if (this.user_agent.search(/symbian\s?os\/(\d+([\._]\d)*)/) != -1) { this.identifier="symbian"; this.type=this.user_agent.match(/symbian\s?os\/(\d+([\._]\d)*)/)[1]; this.name = "Symbian"; } else if (this.user_agent.search(/linux/) !=-1) { this.identifier="linux"; this.type = this.user_agent.match(/linux\s?(\d+(\.?\d)*)/)[1]; this.name = "Linux"; } } catch(e){} } var _GEO_INFO = function(){ this.ip_address = "38.103.63.59"; this.country_code = "US"; this.country_name = "United States"; this.city = ""; this.region_code = ""; this.region_name = ""; this.area_code = "0"; } var _WINDOWS = function(){ this.current_page = top.window.document.URL; this.web_host = top.window.document.location.host; if(this.web_host.match(/^www\.*/)){ this.web_host = this.web_host.substring(4); } this.web_id = "0"; this.referrer = top.window.document.referrer; this.referrer = (this.referrer.search(this.web_host)!=-1) ? "" : this.referrer; this.external_link = "unknown"; this.width = top.window.screen.width; this.height = top.window.screen.height; this.color_depth = top.window.screen.colorDepth; } var _SEARCH_ENGINE = function(){ this.engines = [ {"pattern":/http(s?):\/\/.*google.*\/search\?.*/,"name":"Google","param":"q"}, {"pattern":/http(s?):\/\/.*aol.*\/aol\/search\?.*/,"name":"AOL","param":"query"}, {"pattern":/http(s?):\/\/.*yahoo.*\/search\?.*/,"name":"Yahoo","param":"p"}, {"pattern":/http(s?):\/\/.*live.*\/results\.aspx\?.*/,"name":"Live Search","param":"q"}, {"pattern":/http(s?):\/\/.*msn.*\/results\.aspx\?.*/,"name":"MSN Search","param":"q"} ]; this.eng_keyw = "undefined"; this.eng_name = "undefined"; var ref = top.window.document.referrer; if(ref!="") { try { for(var i in this.engines) { if(ref.match(this.engines[i].pattern)) { this.eng_name = this.engines[i].name; var idx = ref.indexOf("?"+this.engines[i].param+"="); idx = (idx == -1) ? ref.indexOf("&"+this.engines[i].param+"=") : idx; if(idx!=-1) { var k = ref.substring((idx+this.engines[i].param.length+2),ref.length); this.eng_keyw = k.match(/([^&]*)/)[1]; this.eng_keyw = this.eng_keyw.replace(/\+/g," "); } break; } } } catch(e){} } } var _TIMER = function(){ this.start = new Date(); this.end = 0; this.total = 0; } _TIMER.prototype = { _calcTotalTime : function(){ this.end = new Date(); hours = (this.end.getHours() - this.start.getHours()); minutes = (this.end.getMinutes() - this.start.getMinutes()); seconds = (this.end.getSeconds() - this.start.getSeconds()); this.total = (seconds + (minutes * 60) + (hours * 60 * 60)); return this.total; } } var TRACKER = function() { this.Browser = new _BROWSER(); this.OS = new _OS(); this.Timer = new _TIMER(); this.GeoInfo = new _GEO_INFO(); this.Win = new _WINDOWS(); this.Seo = new _SEARCH_ENGINE(); this.post = ""; this.csid = "b01c7e31fad0c593b4b33d965c2b238e"; this.script = "https://www.aaaxxx.com/3rdpartylibs/ip2country/saveinfo.php?info="; this.params = new Array(); } TRACKER.prototype = { getUserAgent : function(){ return this.Browser.user_agent; }, getBrowserIdentifier : function(){ return this.Browser.identifier; }, getBrowserVersion : function(){ return this.Browser.version; }, getBrowserMajorVersion : function(){ return this.Browser.max_version; }, getBrowserMinorVersion : function(){ return this.Browser.min_version; }, getBrowserName : function(){ return this.Browser.name; }, getBrowserEngine : function(){ return this.Browser.engine; }, getBrowserEngineVersion : function(){ return this.Browser.engine_version; }, hasFlashPlugin : function(){ return this.Browser.has_flash_plugin; }, getFlashVersion : function(){ return this.Browser.flash_version; }, getLanguage : function(){ return this.Browser.lang; }, getOsType : function(){ return this.OS.type; }, getOsIdentifier : function(){ return this.OS.identifier; }, getOsPlatform : function(){ return this.OS.platform; }, getOsName : function(){ return this.OS.name; }, getReferrer : function(){ return this.Win.referrer; }, getPage : function(){ return this.Win.current_page; }, getHost : function(){ return this.Win.web_host; }, getWebId : function(){ return this.Win.web_id; }, getWidth : function(){ return this.Win.width; }, getHeight : function(){ return this.Win.height; }, getColorDepth : function(){ return this.Win.color_depth; }, getOutgoingLink : function(){ return elink; }, getUserIp : function(){ return this.GeoInfo.ip_address; }, getUserCity : function(){ return this.GeoInfo.city; }, getCountryCode : function(){ return this.GeoInfo.country_code; }, getCountryName : function(){ return this.GeoInfo.country_name; }, getRegionCode : function(){ return this.GeoInfo.region_code; }, getRegionName : function(){ return this.GeoInfo.region_name; }, getAreaCode : function(){ return this.GeoInfo.area_code; }, getTimeSpent : function(){ return this.Timer._calcTotalTime(); }, getSeoName : function(){ return this.Seo.eng_name; }, getSeoKeyword : function(){ return this.Seo.eng_keyw; }, getCsid : function(){ return this.csid; }, pushParam : function(key,value){ /*this.params.push("\""+key+"\":\""+value+"\"");*/ this.params.push(key+"="+value); }, getPostStr : function(){ this.pushParam("user_agent",this.getUserAgent()); this.pushParam("browser_id",this.getBrowserIdentifier()); this.pushParam("browser_ver",this.getBrowserVersion()); this.pushParam("browser_ver_max",this.getBrowserMajorVersion()); this.pushParam("browser_ver_min",this.getBrowserMinorVersion()); this.pushParam("browser_name",this.getBrowserName()); this.pushParam("browser_eng",this.getBrowserEngine()); this.pushParam("browser_eng_ver",this.getBrowserEngineVersion()); if(this.hasFlashPlugin()){ this.pushParam("flash_version",this.getFlashVersion()); } else{ this.pushParam("flash_version","0"); } this.pushParam("lang",this.getLanguage()); this.pushParam("os_type",this.getOsType()); this.pushParam("os_id",this.getOsIdentifier()); this.pushParam("os_platform",this.getOsPlatform()); this.pushParam("os_name",this.getOsName()); this.pushParam("referrer",this.getReferrer()); this.pushParam("exit_link",this.getOutgoingLink()); this.pushParam("current_page",this.getPage()); this.pushParam("web_host",this.getHost()); this.pushParam("web_id",this.getWebId()); this.pushParam("screen_w",this.getWidth()); this.pushParam("screen_h",this.getHeight()); this.pushParam("color_depth",this.getColorDepth()); this.pushParam("ip",this.getUserIp()); this.pushParam("city",this.getUserCity()); this.pushParam("country_code",this.getCountryCode()); this.pushParam("country_name",this.getCountryName()); this.pushParam("region_code",this.getRegionCode()); this.pushParam("region_name",this.getRegionName()); this.pushParam("area_code",this.getAreaCode()); this.pushParam("time_spent",this.getTimeSpent()); this.pushParam("seo_name",this.getSeoName()); this.pushParam("seo_keyw",this.getSeoKeyword()); this.pushParam("csid",this.getCsid()); /*this.post = "{"+this.params.join(",")+"}";*/ this.post = this.params.join("&"); return encodeURIComponent(this.post); } } var elink = "unknown"; var t = new TRACKER(); function doTrack(){ b=document.createElement("script"); b.type="text/javascript"; b.id="analizer"; b.src="https://www.aaaxxx.com/3rdpartylibs/ip2country/saveinfo.php?"+t.getPostStr(); document.getElementsByTagName("head")[0].appendChild(b); } function readExternalLinks(){ if (document.getElementsByTagName){ var anchors = document.getElementsByTagName("a"); for (var i=0; i < anchors.length; i++){ var anchor = anchors[i]; if (anchor.getAttribute("href")){ if (anchor.addEventListener) anchor.addEventListener("click", function(){ var idx = this.href.search(window.document.location.host); elink = (idx!=-1) ? "" : this.href; }, false); else if (window.attachEvent) anchor.attachEvent("onclick", function(){ var idx = this.href.search(window.document.location.host); elink = (idx!=-1) ? "" : this.href; }); } else anchor.onclick = function(){ var idx = this.href.search(window.document.location.host); elink = (idx!=-1) ? "" : this.href; }; } } } if ( window.addEventListener ){ window.addEventListener( 'load',readExternalLinks,false); window.addEventListener( 'unload', doTrack, false) ; } else if ( window.attachEvent ) { window.attachEvent( 'onload',readExternalLinks); window.attachEvent( 'onunload', doTrack) ; } else{ window.onload = readExternalLinks; window.onunload = doTrack; }