// 7\6\04 Ross Phillips
// Usage:  document.write(getPageTrackHTML("pagetrack_parent.html"));

// 24\8\04  Allow measurement of Page Load time, assume this file included in HEAD of file
var pagetrackStartTime=new Date();


function getGMTPostiveOffset () {
	// RP local GMT offset in Half-hours normalised t0 24Hour time - Zero to 24
	// 1 / 60 = 0.0166666666.. repeating, causes? single WEB TV broswer 32bit FP to return 
	//			different results each time  e.g. 6.99980555.. 6.999851666..'

	var objDate = new Date();	// 9\6\04	JS1.0
    
	var tzoffset = objDate.getTimezoneOffset() + 720;	// test + 720;

	if (tzoffset > 2000) {
		return 99;	// unreasonable value
	}

	var offset24=-1;	// go back one hour, cater for 24.5,  25
	tzoffset=tzoffset+60;

	while (tzoffset > 30) {
		tzoffset = tzoffset - 60;	// replace FP division with subtraction
		offset24++;
	}

	if (tzoffset > 0)  {
		offset24+=0.5;	// add 30mins
	}


	return (24 - offset24);
    //return (24 - ((objDate.getTimezoneOffset() + 720) / 60));	// e.g. 0,4.5,12,18,24

}


function getUniqueBrowserID () {
// try to create a unique ID for Browser without using Cookies or Java Class to get IP address
	var strUserAgentShort="";
	var strUserAgent=navigator.userAgent;
	var screenproperties=screen.availHeight+screen.availWidth+screen.colorDepth;

	
	strUserAgent=strUserAgent.length+"."+strUserAgent+"."+screenproperties.toString();
    strUserAgent=strUserAgent+"."+getGMTPostiveOffset();	
    
	//var escapechars = " ,;()";	// chars that would require longer Escape sequences
	var numerics=".0123456789";

	for (var n=0; n<strUserAgent.length; n++) {
		// reduce to a numeric dot notation
		if(numerics.lastIndexOf(strUserAgent.charAt(n)) !=-1 )
		{	strUserAgentShort = strUserAgentShort + strUserAgent.charAt(n); }	
		
	}

	return strUserAgentShort;

}


function getPageTrackURL (filename) {
var objDate= new Date();	// time only changes if we reopen IE ??
var EndTime=new Date();
var loadTime=EndTime.getTime()-pagetrackStartTime.getTime();	// 25\8\04 page load times

var localTime=escape(objDate.getHours()+"."+objDate.getMinutes()+"."+objDate.getSeconds());
localTime=escape(localTime+"#"+loadTime);

var GMToffset= escape(getGMTPostiveOffset());
var uniqueID=escape(getUniqueBrowserID());
var myReferrer=parent.document.referrer;
if (myReferrer.length ==0) {
	myReferrer="nil";
}
myReferrer = escape(myReferrer);


var pageTrackURL;
filename=escape(filename);	// just in case we put in funny chars to make filename unique



var pagetrackfile="pagetrack.php";	// for NEW Web Site
//var pagetrackfile="http://127.0.0.1/Hoskings/dhp/webroot/pagetrack.php";	// local testing
//var pagetrackfile="http://www.hoskingspharmacy.com/pagetrack.php";	// from www14 site 
//var pagetrackfile="https://www.hoskingspharmacy.com/pagetrack.php";	// from https site
//var pagetrackfile = "http://www.hoskingspharmacy.com/pagetrack_melbpc.php";	// for Melbpc 
//var pagetrackfile = "http://www.hoskingspharmacy.com/pagetrack_gc.php";	// for www.georgiancourt.com.au 

return pagetrackfile + "?lt="+localTime+"&tz="+GMToffset+"&id="+uniqueID+"&fn="+filename+"&Referrer="+myReferrer;

}

function getPageTrackHTML (filename) {

//return '<iframe src="' + getPageTrackURL(filename) + '"' + ' width="0" height="0"></iframe>';
// 22\12\05  IE6 treating <i frame to external location as a Cookie compact privacy policy blocking it !
// but using IMG instead of IFRAME didn't make a difference
return '<img src="' + getPageTrackURL(filename) + '"' + ' width="0" height="0" border="0">';

//<img src="images/transparent.gif" border="0"> 

//return '<iframe src="' + getPageTrackURL(filename) + '"' + ' width="600" height="200"></iframe>';
}



