View Single Post
Old 21-05-02, 03:20 PM   #4
ssj4_android
Redefining Reality
 
ssj4_android's Avatar
 
Join Date: Feb 2002
Posts: 406
Default

//-------------------------------------
//
// set default variables

var iDownloadsLastWeek = 1278304;
var iUsersOnline = 420846;

// getInit
// =======
// base = initial number
// increment = amount to increment
// rate = how often to increment (in milliseconds)
// style = font attributes in standard pairs (see example below)
// range = the range to flucuate
// baseChanging = the initial number for the changing function
// rateChanging = the initial number for the changing function
// negative = whether to flucuate up and down

var gBase = getInit(21339923,"Nov 20, 2001",500) ;
var gIncrement = 1;
var gRate = 1000;
var gStyle ="color='#FFFFFF'";
var gRange ="50";
var gBaseChanging = getRandom(420000,550000);
var gRateChanging = "5000";
var gNegative =1;

function getValueFrom(v,s,n) {
var a = v.split(s), i, l;
for (i in a)
if (a[i].indexOf(n) != -1)
return a[i].slice(a[i].indexOf("=")+1);
return "";
}



function toInt(number)
{
var sNumber = number.toString();
var iPos = sNumber.indexOf(".");
var sInt = 0;
if(iPos == -1)
sInt= sNumber;
else
sInt= sNumber.slice(0,iPos);

return new Number(sInt);
}

function getRandom(min, max)
{
if(min > max)
return 0;

var iDiff = max-min;
return toInt( (Math.random() * iDiff) + min);
}

function getInit(init, datefrom, rate)
{
//rate is per day

var dNow = new Date();
var iFrom = Date.parse(datefrom);
var iNow = Date.parse(dNow);
var iElapsed = iNow - iFrom;
var milliperday = 24 * 60 * 60 * 1000;
if(iElapsed < 0)
return init;
else
return toInt(init + ( (iElapsed/ milliperday) * rate));
}

function numberString(number)
{
var sNumber = "";
var sTemp = "";
while(number > 0)
{
mod = number % 1000;
number = toInt(number/1000);

if(number > 0)
{
if(mod == 0)
sNumber = "000" + sNumber;
else if(mod < 10)
sNumber = "00" + mod + sNumber;
else if (mod < 100)
sNumber = "0" + mod + sNumber;
else
sNumber = mod + sNumber;

sNumber = "," + sNumber;
}
else
sNumber = mod + sNumber;
}

return sNumber;

}


function displayCounter(base, increment, rate, style)
{
if(displayCounter.arguments.length == 0)
{
base = gBase;
increment = gIncrement;
rate = gRate;
style = gStyle;
}

var newBase = base + increment;
var reg = new RegExp("\"", "g");
var IE4 = (document.all);
style = style.replace(reg,"'");
if(IE4)
{
if(typeof(counterDiv) == 'undefined')
{
document.write("<span id='counterDiv' name='counterDiv'>");
document.write("<font " + style + ">" + numberString(newBase) + "</font>");
document.write("</span>");
if(increment != 0 && rate != 0)
setTimeout("displayCounter(" + newBase + "," + increment + "," + rate + ",\"" + style + "\");", rate);
}
else
{
counterDiv.innerHTML = "<font " + style + ">" + numberString(newBase) + "</font>";
if(increment != 0 && rate != 0)
setTimeout("displayCounter(" + newBase + "," + increment + "," + rate + ",\"" + style + "\");", rate);
}
}
else
{
document.write("<font " + style + ">" + numberString(newBase) + "</font>");
}


return;
}

function displayChanging(base, range, rate, style, negative)
{
if(displayChanging.arguments.length == 0)
{
base = gBaseChanging;
rate = gRateChanging;
style = gStyle;
range = gRange;
negative = gNegative;
}

//--------------------
// retrieve cookie
var iCookieVal = toInt(getValueFrom(document.cookie, ";", "gBaseChanging"));
if(iCookieVal != "")
base = iCookieVal;


var newBase = 0;
var iNum = toInt(Math.random() * range);
if(Math.random() > 0.5)
iNum = iNum * -1;

newBase = base + iNum;

//---------------------
// save the new value
document.cookie = "gBaseChanging=" + newBase + "; path=/;expires=Tue, 31 Dec 2038 23:59:59 UTC;";

var reg = new RegExp("\"", "g");
var IE4 = (document.all);
style = style.replace(reg,"'");
if(IE4)
{
if(typeof(changeDiv) == 'undefined')
{
document.write("<span id='changeDiv' name='changeDiv'>");
document.write("<font " + style + ">" + numberString(newBase) + "</font>");
document.write("</span>");
if(rate != 0)
setTimeout("displayChanging(" + newBase + "," + range + "," + rate + ",\"" + style + "\");", rate);
}
else
{
changeDiv.innerHTML = "<font " + style + ">" + numberString(newBase) + "</font>";
if(rate != 0)
setTimeout("displayChanging(" + newBase + "," + range + "," + rate + ",\"" + style + "\");", rate);
}
}
else
document.write("<font " + style + ">" + numberString(newBase) + "</font>");
return;
}



function displayLastWeek()
{
var style = gStyle;
document.write("<font " + style + ">" + numberString(iDownloadsLastWeek) + "</font>");
return;
}

function displayUsersOnline()
{
//displayChanging();
var style = gStyle;
if(document.URL.indexOf("desktop") == -1)
document.write("<font " + style + "> | Online Now:<b> " + numberString(iUsersOnline) + "</b></font>");
return;
}
ssj4_android is offline   Reply With Quote