/*	
	================ ANLAY SITECOUNTER TRACKING MODULE ================
	VERSION: 	1.7
	COPYRIGHT: 	Copyright Anlay. All rights reserved.
	WARNING: 	Please do not change the content of this document. 
				Changing will stop Anlay Sitecounter from tracking your 
				website. 
	===================================================================
*/

//	Vars

	var _sc_userId = ""; 				//	set the user id
	var _sc_websiteId = ""; 			//	set the website id
	var _sc_checkSoftware = "0";	 	//	set the check software boolean (1|0)
	var _sc_pageType = "Normal";		//	set the page type (Normal|404)
	var _sc_countLinks	= "1";			//	set the count links boolean (1|0)
	var _sc_searchDomain = new Array();	//	the array of search engine domains
	var _sc_searchQuery = new Array();	//	the array of search query strings
	var _sc_version = "1.7";	//	the array of search query strings

	_sc_searchDomain[0] = ""; 			//	none
	_sc_searchQuery[0] = "";
	_sc_searchDomain[1] = "yahoo";		//	yahoo
	_sc_searchQuery[1] = "p";
	_sc_searchDomain[2] = "msn";		//	msn
	_sc_searchQuery[2] = "q";
	_sc_searchDomain[3] = "aol";		//	aol
	_sc_searchQuery[3] = "query";
	_sc_searchDomain[4] = "lycos";		//	lycos
	_sc_searchQuery[4] = "query";
	_sc_searchDomain[5] = "altavista";	//	altavista
	_sc_searchQuery[5] = "q";
	_sc_searchDomain[6] = "alltheweb";	//	alltheweb
	_sc_searchQuery[6] = "q";
	_sc_searchDomain[7] = "google"; 	//	google
	_sc_searchQuery[7] = "q";
	
//	Functions

	function sc_track() {				//	gather and send all data to Anlay Sitecounter
		var _track = "";
		var _trackImage = new Image(1,1);
		var _referrer = sc_getSearchDomain();
		_track = "v=" + _sc_version;
		_track += "&userId=" + _sc_userId;
		_track += "&websiteId=" + _sc_websiteId;
		if (_sc_pageType == "FrameForDomain") {
			_track += "&url=" + sc_getUrlFrame();
		} else {
			_track += "&url=" + sc_getUrl();
		}
		if (_referrer == "0") {
			_track += "&referrer=" + sc_getReferrer();
		} else {
			_track += "&searchDomain=" + _referrer;
			_track += "&searchQuery=" + sc_getSearchQuery();
		}
		_track += "&title=" + sc_getTitle();
		_track += "&type=" + _sc_pageType;
		_track += "&visitorId=" + sc_getVisitorId();
		_track += "&systemLanguage=" + sc_getSystemLanguage();
		_track += "&userAgent=" + sc_getUserAgent();
		_track += "&cookiesEnabled=" + sc_getCookiesEnabled();
		_track += "&screenResolution=" + sc_getScreenResolution();
		_track += "&usedPercentage=" + sc_getUsedPercentage();
		_track += "&colorDepth=" + sc_getColorDepth();
		if (_sc_checkSoftware == "1") {
			_track += "&flashInstalled=" + sc_getFlashInstalled();
			_track += "&adobeReaderInstalled=" + sc_getAdobeReaderInstalled();
			_track += "&quickTimeInstalled=" + sc_getQuickTimeInstalled();
			_track += "&javaInstalled=" + sc_getJavaInstalled();
			_track += "&mediaPlayerInstalled=" + sc_getMediaPlayerInstalled();
			_track += "&realPlayerInstalled=" + sc_getRealPlayerInstalled();
		}
		if (_sc_checkSoftware == "2" && sc_getUserAgent().indexOf("MSIE") == -1) {
			_track += "&flashInstalled=" + sc_getFlashInstalled();
			_track += "&adobeReaderInstalled=" + sc_getAdobeReaderInstalled();
			_track += "&quickTimeInstalled=" + sc_getQuickTimeInstalled();
			_track += "&javaInstalled=" + sc_getJavaInstalled();
			_track += "&mediaPlayerInstalled=" + sc_getMediaPlayerInstalled();
			_track += "&realPlayerInstalled=" + sc_getRealPlayerInstalled();
		}
		_track += "&random=" + sc_getRandomString();
		_trackImage.src = "http://www.sitecounter.be/counter/count.gif?" + _track;
		_trackImage.onload = function(){return;}
		if (_sc_countLinks == "1") {
			sc_countLinks();
		}
	}
	
	function sc_checkUrl(url) {			//	checks if it is an http or https url
		if (url.substring(0,4) != "http") {
			url = "";
		}
		url = encodeURIComponent(url);
		return url;		
	}
	
	function sc_getUrl() {				//	get the document location
		var _url = document.location.href;
		_url = sc_checkUrl(_url);
		return _url;
	}
	
	function sc_getUrlFrame() {			//	get the document location from the first frame
		var _url = "";
		try {
			_url = document.frames[0].location;
		} catch (e) {
			_url = document.location.href;
		}	
		_url = sc_checkUrl(_url);
		return _url;
	}
		
	function sc_getReferrer() {			//	get the document referrer
		var _referrer = "";
		try {
			_referrer = top.document.referrer;			
		} catch (e) {
			try {
				_referrer = parent.document.referrer;
			} catch (e) {
				_referrer = document.referrer;
			}
		}
		_referrer = sc_checkUrl(_referrer);
		return _referrer;
	}
	
	function sc_getTitle() {			//	get the document title
		var _title = "";
		if (document.title) {
			_title = document.title;
		}
		_title = encodeURIComponent(_title);
		return _title;
	}
	
	function sc_getUserAgent() {		//	get the user agent
		var _userAgent = "";
		if (navigator.userAgent) {
			_userAgent = navigator.userAgent;
		}
		_userAgent = encodeURIComponent(_userAgent);
		return _userAgent;
	}
	
	function sc_getScreenResolution() {	//	get the screen resolution
		var _screenResolution = screen.width;
		_screenResolution += "x";
		_screenResolution += screen.height;
		_screenResolution = encodeURIComponent(_screenResolution);
		return _screenResolution;
	}
	
	function sc_getUsedPercentage() {	//	get the used percentage of the screen (0-100)
		var _screenResolution = screen.width * screen.height;
		var _usedPercentage = "";
		if(window.innerWidth) {
			_usedPercentage = window.innerWidth * window.innerHeight;
		} else if (document.documentElement.clientWidth) {
			_usedPercentage = document.documentElement.clientWidth * document.documentElement.clientHeight;
		} else if (document.body.clientWidth) {
			_usedPercentage = document.body.clientWidth * document.body.clientHeight;
		}
		_usedPercentage = _usedPercentage / _screenResolution;
		_usedPercentage = Math.round(_usedPercentage * 10);
		_usedPercentage = _usedPercentage * 10;
		_usedPercentage = encodeURIComponent(_usedPercentage);
		return _usedPercentage;
	}
	
	function sc_getColorDepth() {		//	get the color depth
		var _colorDepth = screen.colorDepth;		
		_colorDepth = encodeURIComponent(_colorDepth);
		return _colorDepth;
	}
	
	function sc_getSystemLanguage() {	//	get the system language
		var _systemLanguage = "";
		if (navigator.language) {
			_systemLanguage = navigator.language;
		} else {
			_systemLanguage = navigator.browserLanguage;
		}
		_systemLanguage = _systemLanguage.substring(0,2)
		_systemLanguage = _systemLanguage.toLowerCase();
		return (_systemLanguage);
	}
	
	function sc_getRandomString() {		//	generate a random string
		var _randomString = String(Math.round(new Date() / 1000));
		_randomString += String(Math.round(Math.random() * 9999999999));
		return (_randomString);
	}
	
	function sc_getSearchDomain() {		//	get the search domain if the referrer was a search engine
		var _referrer = sc_getReferrer();
		var _searchDomain = "0";
		for (var _i = 1 ; _i < _sc_searchDomain.length; _i ++) {
			var _searchDomain_i = _referrer.indexOf(_sc_searchDomain[_i] + ".");
			if (_searchDomain_i > -1) {
				_searchDomain = _i;
				break;
			}
		}
		return (_searchDomain);
	}
	
	function sc_getSearchQuery() {		//	get the search query if the referrer was a search engine
		var _referrer = sc_getReferrer();
		var _searchDomain = sc_getSearchDomain();
		var _searchQuery = "";
		_referrer = decodeURIComponent(_referrer);
		if (_searchDomain != "0") {
			_searchQuery = _sc_searchQuery[_searchDomain];
		}
		if (_searchQuery != "") {
			_searchQuery += "=";
			_searchQuery = _referrer.split(_searchQuery);
			_searchQuery = _searchQuery[1];
		}
		if (_searchQuery.indexOf("&") > -1) {
			_searchQuery = _searchQuery.substring(0,_searchQuery.indexOf("&"));
		}
		_searchQuery = decodeURIComponent(_searchQuery);
		_searchQuery = _searchQuery.toLowerCase();
		_searchQuery = encodeURIComponent(_searchQuery);
		return (_searchQuery);	
	}
	
	function sc_getFlashInstalled() {		//	get "1" if Adobe flash is installed
		var _flashInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("Shockwave Flash") > -1) {
					_flashInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			for (var _i = 15 ; _i >= 1; _i --) {
				try {
					_flashInstalled = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _i);
					_flashInstalled = null;
					_flashInstalled = "1";
					break;
				} catch (e) {}
			}
		}
		return (_flashInstalled);
	}
	
	function sc_getAdobeReaderInstalled() {	//	get "1" if Adobe Reader is installed
		var _adobeReaderInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("Adobe Acrobat") > -1) {
					_adobeReaderInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			try {
				_adobeReaderInstalled = new ActiveXObject("PDF.PdfCtrl.1");
				_adobeReaderInstalled = "1";
			} catch (e) {}
			if (_adobeReaderInstalled == "0") {
				try {
					_adobeReaderInstalled = new ActiveXObject("AcroPDF.PDF.1");
					_adobeReaderInstalled = null;
					_adobeReaderInstalled = "1";
				} catch (e) {}
			}
		}
		return (_adobeReaderInstalled);
	}
	
	function sc_getQuickTimeInstalled() {	//	get "1" if QuickTime is installed
		var _quickTimeInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("QuickTime") > -1) {
					_quickTimeInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			try {
				_quickTimeInstalled = new ActiveXObject("QuickTimeCheckObject.QuickTimeCheck.1");
				_quickTimeInstalled = null;
				_quickTimeInstalled = "1";
			} catch (e) {}
		}
		return (_quickTimeInstalled);
	}
	
	function sc_getJavaInstalled() {		//	get "1" if Java is installed
		var _javaInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("Java") > -1) {
					_javaInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			try {
				_javaInstalled = new ActiveXObject("JavaPlugin");
				_javaInstalled = null;
				_javaInstalled = "1";
			} catch (e) {}
		}
		return (_javaInstalled);
	}
	
	function sc_getMediaPlayerInstalled() {		//	get "1" if Media Player is installed
		var _mediaPlayerInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("Windows Media Player") > -1) {
					_mediaPlayerInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			try {
				_mediaPlayerInstalled = new ActiveXObject("WMPlayer.OCX");
				_mediaPlayerInstalled = null;
				_mediaPlayerInstalled = "1";
			} catch (e) {}
		}
		return (_mediaPlayerInstalled);
	}
	
	function sc_getRealPlayerInstalled() {		//	get "1" if Real Player is installed
		var _realPlayerInstalled = "0";
		if (navigator.plugins && navigator.plugins.length) {
			for (var _i = 0 ; _i < navigator.plugins.length; _i ++) {
				if (navigator.plugins[_i].name.indexOf("RealPlayer") > -1) {
					_realPlayerInstalled = "1";
					break;
				}
			}
		} else if (window.ActiveXObject) {
			try {
				_realPlayerInstalled = new ActiveXObject("rmocx.RealPlayer G2 Control");
				_realPlayerInstalled = null;
				_realPlayerInstalled = "1";
			} catch (e) {}
		}
		return (_realPlayerInstalled);
	}
	
	function sc_getCookiesEnabled() {		//	get "1" if cookies are enabled
		var _cookiesEnabled = "0";
		document.cookie = "sc_cookiesEnabled=1;";
		if (document.cookie != "") {
			_cookiesEnabled = 1;
		};
		return (_cookiesEnabled);
	}
	
	function sc_getVisitorId() { 			//	get the visitor id or create new one
		var _visitorId = ""
		var _cookieExpireDate = new Date();
		_cookieExpireDate.setFullYear(_cookieExpireDate.getFullYear() + 1 );
		_cookieExpireDate = _cookieExpireDate.toGMTString();
		if (document.cookie != "" && document.cookie.indexOf("sc_VisitorId=") > -1) {
			_visitorId = document.cookie.split("sc_VisitorId=");
			_visitorId = _visitorId[1];
			_visitorId = _visitorId.split(";");
			_visitorId = _visitorId[0];
			document.cookie = "sc_VisitorId=" + _visitorId + "; expires=" + _cookieExpireDate + ";";
		} else {
			_visitorId = sc_getRandomString() + sc_getRandomString();
			document.cookie = "sc_VisitorId=" + _visitorId + "; expires=" + _cookieExpireDate + ";";
		}		
		return (_visitorId);
	}
	
	function sc_addEventListener(_object,_event,_function) {
		if (_object.attachEvent) {
			_object['e'+_event+_function] = _function;
			_object[_event+_function] = function() { _object['e'+_event+_function](window.event); }
			_object.attachEvent('on'+_event,_object[_event+_function]);
		} else
		_object.addEventListener(_event,_function,false);
	}
	
	function sc_countLink(){				//	pass link to Anlay Sitecounter
		var _track = "";
		var _trackImage = new Image(1,1)
		
		_track = "v=" + _sc_version;
		_track += "&userId=" + _sc_userId;
		_track += "&websiteId=" + _sc_websiteId;
		_track += "&referrer=" + sc_getUrl();
		_track += "&target=" + sc_checkUrl(this.href);
		_track += "&text=" + encodeURIComponent(this.innerHTML);
		_track += "&random=" + sc_getRandomString();
		
		_trackImage.src = "http://www.sitecounter.be/counter/links.gif?" + _track;
		_trackImage.onload = function(){return;}
	}
	
	function sc_countLinks() {				//	pass links to Anlay Sitecounter
		var _links = document.getElementsByTagName("a");
		var _origionalLink = "";
		var _text = "";
		for (var _i = 0 ; _i < _links.length; _i ++) {
			_origionalLink = _links[_i].href;
			if (_origionalLink != "" && _origionalLink.substring(0,4) == "http" ) {
				sc_addEventListener(_links[_i],"click", sc_countLink);
			}
		}
	}
