// This file, domdata.js, creates a domdata object used for browser detection
// and, optionally, client event methods

// Collect essential client properties in the domData object
var domData = new domDetect();

// Set some client event tracking methods and properties
domData.scrollX = getScrollX; // Method to get X scroll offset
domData.scrollY = getScrollY; // Method to get Y scroll offset
domData.chScrollX = 0; // Amount of scrolling, last time checked 
domData.chScrollY = 0; // Amount of scrolling, last time checked

domData.flag = false; // stops some events until page is loaded.

// Create a domData object
function domDetect() {

	// Capture essential client properties
	this.wvlong = parseFloat(navigator.appVersion);
	this.wvshort = parseInt(navigator.appVersion);
	this.wagent = navigator.userAgent;
	this.wplatform = navigator.platform;
	this.wbrowser = navigator.appName;
	
	// Set Browser-Specific branches. Note that the isNN6Up is matched by many DOM browser,
	// including Mozilla, Safari, and Firefox
	this.isNN6Up = (this.wvshort >= 5) && (this.wbrowser == "Netscape");
	this.isIE4Up = (this.wvshort >= 4) && (this.wbrowser.indexOf("Microsoft") != -1);
	this.isIE6 = (this.wagent.indexOf("MSIE 6.0") != -1);
	this.isIE5 = (this.wagent.indexOf("MSIE 5.") != -1);
	this.isOther = (!this.isIE4Up) && (!this.isNN6Up);

} // End domDetect()


// Assigns scrollX method to domData to get current X scroll offset
function getScrollX() {
	if (domData.isOther) { return; }
	if (domData.isIE6) { return document.all.canvas.scrollLeft; 
	} else if (domData.isIE4Up) { return document.body.scrollLeft; 
	} else if (domData.isNN6Up) { return window.pageXOffset; }
} // end getScrollX()


// Assigns scrollY method to domData to get current Y scroll offset
function getScrollY() {
	if (domData.isOther) { return; }
	if (domData.isIE6) { return document.all.canvas.scrollTop; 
	} else if (domData.isIE4Up) { return document.body.scrollTop; 
	} else if (domData.isNN6Up) { return window.pageYOffset; }
} // end getScrollY()


