
/*@cc_on@*/

var p3_body   = document.body,
	p3_html   = p3_body.parentNode,
	p3_window = window;

     if ('preloadEvent'   in p3_window) listenFor(p3_window, 'load',         preloadEvent);
else if ('loadEvent'      in p3_window) listenFor(p3_window, 'load',         loadEvent);
     if ('preunloadEvent' in p3_window) listenFor(p3_window, 'beforeunload', preunloadEvent);
else if ('unloadEvent'    in p3_window) listenFor(p3_window, 'beforeunload', unloadEvent);


// Hit Counter Needs
//==============================================================================

function cookiesEnabled () { return navigator.cookieEnabled ? 1 : 0; }
function htmlSizeX      () { return p3_html.clientWidth; }   // usable space: decreases if window scrollbar exists
function htmlSizeY      () { return p3_html.clientHeight; }; // dumb opera 8.51 clientHeight does not change; clientWidth changes correctly
function screenSizeX    () { return screen.width; }
function screenSizeY    () { return screen.height; }

	/*@if (4 < @_jscript_version)
function browserLanguage() { return navigator.browserLanguage.toLowerCase(); }
	@else@*/
function browserLanguage() { return navigator.language.toLowerCase(); }
	/*@end@*/


// Http
//==============================================================================

var p3_http = http_create(); // here: scripts load in any order

	/*@if (4 < @_jscript_version)
function http_create()
{
	try              { return new ActiveXObject('MSXML2.XMLHTTP'); }    // `.3.0`  http://msdn.microsoft.com/library/default.asp?url-/library/en-us/xmlsdk/html/xmobjxmlhttprequest.asp ; new ActiveXObject('Microsoft.XMLHTTP')
	catch(exception) { return new ActiveXObject('Microsoft.XMLHTTP'); } // http://jibbering.com/2002/4/httprequest.html
}
	@else@*/
function http_create() { return new XMLHttpRequest(); }
	/*@end@*/

function httpGet_new_noReturn     (sLink) { var http = http_create(); http.open('get', sLink, false); http.send(null); }
function httpGet_callback_noReturn(sLink) { var http = http_create(); http.open('get', sLink);        http.send(null); }


// Utility
//==============================================================================

function $(name) { return document.getElementById(name); }

	/*@if (4 < @_jscript_version)
function listenFor(o, sEvent, fListener) { o.attachEvent('on' + sEvent, fListener); }
	@else@*/
function listenFor(o, sEvent, fListener) { o.addEventListener(sEvent, fListener, false); }
	/*@end@*/
