var PageDir = "richter"; var loaderpage = "http://clickstats.regalbuilt.com/track.php"; // 2007.01.20 KJD: JavaScript to load and determine user var ClickStatsBoxID = "RegalBuilt_ClickStats"; var ClickStatsLink = "http://www.regalbuilt.com/index.php?page=clickstats&string=" + PageDir; var AltText = "Website ClickStats provided by RegalBuilt - Click Here to find out more"; var BaseImageLocation = "http://www.regalbuilt.com/includes/stats/"; var ImageLocation = BaseImageLocation + "themes/"; // 2008.09.08 KJD: Make Global for testing var loadpage = ""; function LoadClickStats() { var DetectBox = DetectSatsBox(); if( DetectBox ) { // 2007.01.20 KJD: // vars Loaded from PHP: PageDir, loaderpage // 2007.03.17 KJD: Placed into Array var PageVars = new Array(); PageVars['PageDir'] = PageDir; PageVars['browser'] = DetectBrowser(); PageVars['os'] = DetectOS(); PageVars['thisPage'] = DetectPage(); PageVars['resolution'] = DetectResolution(); PageVars['domain'] = DetectDomain( document.domain ); PageVars['referrer'] = DetectReferrer(); PageVars['checkstats'] = DetectCheck( PageVars ); loadpage = loaderpage + "?checkstats=" + PageVars['checkstats']; for( var i in PageVars ) { loadpage += "&" + i + "=" + escape( PageVars[i] ); } // 2007.03.17 KJD: Check if to record if( PageVars['checkstats'] ) { loadScript( loadpage ); } } } // 2007.03.17 KJD: Check if to record function DetectCheck( thisArray ) { var RecordThis = 1; // 2007.04.01 KJD: Check if domain is an IP address if( isIPAddress( thisArray['domain'] ) ) { RecordThis = 0; } if( thisArray['domain'].indexOf( "file://" ) != -1 ) { RecordThis = 0; } // 2007.03.24 KJD: Do not record empty domain if( thisArray['domain'] == "" ) { RecordThis = 0; } // 2007.04.14 KJD: Do not record if referrer is from ClickStar if( thisArray['referrer'] != "" ) { if( thisArray['referrer'].indexOf( '/clickstar/construct.php' ) > -1 ) { RecordThis = 0; } } return RecordThis; } // 2007.04.01 KJD: Check if IP address function isIPAddress( thisString ) { var isIP = 0; // 2007.04.01 KJD: Get the TLD and remove numbers var thisLocation = thisString.lastIndexOf("."); var thisTLD = thisString.substr( thisLocation, thisString.length ); thisTLD = thisTLD.replace( ".", ""); thisTLD = parseInt( thisTLD ); if( thisTLD ) { // 2007.04.01 KJD: is an IP address isIP = 1; } return isIP; } // 2007.01.25 KJD: Debug Info function ClickStatsDebug() { var DetectBox = DetectSatsBox(); if( DetectBox ) { document.getElementById( ClickStatsBoxID ).style.visibility = "visible"; if( window.ClickStats ) { var DebugString = ""; for( var i in ClickStats ) { DebugString += i + "=" + ClickStats[i] + "
"; } DebugString += "userAgent=" + navigator.userAgent + "
"; DebugString += "appName=" + navigator.appName + "
"; document.getElementById( ClickStatsBoxID ).innerHTML = DebugString; } } } // 2007.01.28 KJD: Display stats on page function StatDisplay() { var thisstring = ""; thisstring = "Views Today: " + ClickStats['PageVisits_today']; return thisstring; } // 2007.01.21 KJD: Get the domain name function DetectDomain( thisdomain ) { var domainname = ClickStatsTrim( thisdomain + ""); // 2007.03.01 KJD: Get domains without www, add www var domainnameArray = new Array(); domainnameArray = domainname.split('.'); if( domainnameArray.length == 2 ) { domainname = "www." + domainname; } return domainname; } // 2007.01.21 KJD: How did we get to this page function DetectReferrer() { var thisreferrer = ClickStatsTrim( document.referrer ); return thisreferrer; } // 2007.01.20 KJD: Check the resolution function DetectResolution() { var screenres = screen.width + "x" + screen.height; return screenres; } // 2007.01.20 KJD: Check the Stats Box function DetectSatsBox() { if( document.getElementById( ClickStatsBoxID ) ) { return true; } else { return false; } } // 2007.01.20 KJD: Detect Browser function DetectBrowser() { // 2007.01.15 KJD: Get the Browser and Version var thisbrowser = navigator.appName; var BrowserName = "Unknown"; var BrowserVersion = "Unknown"; if ( navigator.userAgent.indexOf("MSIE") !=-1 ) { BrowserName = navigator.userAgent.split( ';' )[1]; } else if( navigator.userAgent.toLowerCase().indexOf("chrome") !=-1 ) // 2008.09.08 KJD: Added for Google Chrome { BrowserName = "Google Chrome"; } else if ( ( navigator.userAgent.indexOf("Firefox") !=-1 ) || ( navigator.userAgent.indexOf("Netscape") !=-1 ) || ( navigator.userAgent.indexOf("Safari") !=-1 ) ) { var BrowserInfo = navigator.userAgent.split( ' ' ); BrowserName = BrowserInfo[ BrowserInfo.length - 1 ].replace( '/', ' '); } else if ( navigator.userAgent.indexOf("Opera") !=-1 ) { var BrowserInfo = navigator.userAgent.split(' '); BrowserName = BrowserInfo[0].replace( '/', ' '); } else { // 2007.03.03 KJD: Use this for time being. BrowserName = thisbrowser; // BrowserName = navigator.userAgent; } // 2007.03.01 KJD: Check for strangeness BrowserName = ClickStatsTrim( BrowserName ); // 2007.03.03 KJD: Added if( ( BrowserName == "(ax)" ) || ( BrowserName.indexOf("Debian") != -1 ) ) { BrowserName = thisbrowser; } if( BrowserName.indexOf( "Internet Explorer" ) != -1 ) { BrowserName = "MSIE Unknown"; } return BrowserName; } // 2007.01.20 KJD: Detect the Operating System function DetectOS() { // 2007.01.15 KJD: Get the OS var thisOS = navigator.userAgent.toLowerCase(); var OSName = ""; if ( thisOS.indexOf("win") !=-1 ) { if ( ( thisOS.indexOf("win95")!=-1 ) || ( thisOS.indexOf("windows 95")!=-1 ) ) { OSName = "Windows 95"; } if ( ( thisOS.indexOf("win98")!=-1 ) || ( thisOS.indexOf("windows 98")!=-1 ) ) { OSName = "Windows 98"; } if ( thisOS.indexOf("win 9x 4.90") != -1 ) { OSName = "Windows ME"; } if ( ( thisOS.indexOf("winnt")!=-1 ) || ( thisOS.indexOf("windows nt")!=-1 ) ) { OSName = "Windows NT"; } if ( thisOS.indexOf("windows nt 5.0") != -1 ) { OSName = "Windows 2000"; } if ( thisOS.indexOf("windows nt 5.1") != -1 ) { OSName = "Windows XP"; } if ( thisOS.indexOf("windows nt 5.2") != -1 ) { OSName = "Windows Server 2003"; } if ( thisOS.indexOf("windows nt 6") != -1 ) { OSName = "Windows Vista"; } if ( !(OSName) ) { OSName = "Windows Unknown"; } } else if ( thisOS.indexOf("mac") !=-1 ) { if( thisOS.indexOf("mac os x") ) { OSName = "Mac OS X"; } if( !(OSName) ) { OSName = "Mac Unknown"; } } else if ( thisOS.indexOf("x11") !=-1 ) { OSName = "UNIX"; } else if ( thisOS.indexOf("linux") !=-1 ) { OSName = "Linux"; } else { OSName = "Unknown"; } return ClickStatsTrim( OSName ); } // 2007.01.20 KJD: Record the page URL function DetectPage() { var thispage = document.location + ""; thispage = thispage.replace( document.domain, '' ); thispage = thispage.replace( document.location.protocol + '///', '' ); // 2007.03.01 KJD: Added for empty records thispage = ClickStatsTrim( thispage ); thispage = "/" + thispage; return thispage; } // 2007.01.19 KJD: Added to load JS file function loadScript( src, callback ) { var script = document.createElement( 'script' ); script.type = 'text/javascript'; script.src = src; if (callback) { var evl = new Object(); evl.handleEvent = function (e){callback();}; script.addEventListener( 'load', evl, true ); } document.getElementsByTagName("head")[0].appendChild( script ); return; } // 2007.01.25 KJD: Trim info function ClickStatsTrim( mystring ) { mystring = mystring.replace(/^\s*|\s*$/g,""); return mystring; } function SetClickStatsBoxStyle( thisvisibility ) { if( DetectSatsBox() ) { document.getElementById( ClickStatsBoxID ).style.display = "block"; document.getElementById( ClickStatsBoxID ).style.zIndex = 999; // 2007.03.24 KJD: Set the visibility if( thisvisibility ) { document.getElementById( ClickStatsBoxID ).style.visibility = "visible"; } else { document.getElementById( ClickStatsBoxID ).style.visibility = "hidden"; } } } // 2007.03.24 KJD: Display the stats function DisplayClickStats() { var thisString = ""; var numberVisits = "" + parseInt( ClickStats["PageVisits_total"] ); numberVisits = pad0( numberVisits, 7 ) + ""; if( DetectSatsBox() ) { thisString = ClickStatsImages( numberVisits, ClickStats["stattheme"] ); } document.getElementById( ClickStatsBoxID ).innerHTML = thisString; } // 2007.03.24 KJD: Generate the images function ClickStatsImages( thisnumbers, thistheme ) { var thisString = ""; var thisTheme = new Array(); thisTheme = thistheme.split( "####" ); var numberFilename = thisTheme[1]; for( var i = 0; i < thisnumbers.length; i++ ) { thisString += "\"""; } // 2007.04.22 KJD: Center the images thisString = "
" + thisString + "
"; return thisString; } // 2007.03.24 KJD: Pad the visits function pad0(string, newlength) { var pad = ""; var len = newlength-String(string).length; var i; for (i = 0; i\"""; // 2007.04.22 KJD: Center the image thisString = "
" + thisString + "
"; if( DetectSatsBox() ) { document.getElementById( ClickStatsBoxID ).innerHTML = thisString; } else { document.write( thisString ); } } function get_random_number( numberamount ) { var ranNum = Math.floor( Math.random() * numberamount ) + 1; return ranNum; } // 2007.01.20 KJD: INIT LoadClickStats();