addEvent(window, "resize", resetBrowserDimensions);

function addEvent(sender, eventType, callBackFunction, useCapture)
	{
  	if (sender.addEventListener)
		{
		sender.addEventListener(eventType, callBackFunction, useCapture);
		return true;
		}
	else if (sender.attachEvent)
		{
		var r = sender.attachEvent("on"+eventType, callBackFunction);
		return r;
		}
	}

function getId(byId)
	{
	return document.getElementById(byId);
	}

function getTags(byName)
	{
	return document.getElementsByTagName(byName);
	}

function getSenderByEvent(event)
	{
	var sender = event.target;
	if(!sender) sender = event.srcElement;
	return sender;
	}

function resetBrowserDimensions()
	{
	browserWidth = "";
	browserHeight = "";
	}

var browserWidth = "";
function getBrowserWidth()
	{
	if(browserWidth == "")
		{
		if(window.innerWidth)
			{
			browserWidth = window.innerWidth;
			}
		else if(document.body.clientWidth)
			{
			browserWidth = document.body.clientWidth;
			}
		}
	return browserWidth;
	}

var browserHeight = "";
function getBrowserHeight()
	{
	if(browserHeight == "")
		{
		if(window.innerHeight)
			{
			browserHeight = window.innerHeight;
			}
		else if(document.body.clientHeight)
			{
			browserHeight = document.body.clientHeight;
			}
		}
	return browserHeight;
	}

function ascendToFindNode(sender, nodeName)
	{
	if(sender.parentNode && sender.parentNode.nodeName.toLowerCase() == nodeName)
		{
		return sender.parentNode;
		}
	else if(sender.parentNode)
		{		
		return ascendToFindNode(sender.parentNode, nodeName);
		}
	}


function stopEventPropagation(event)
	{
	event.cancelBubble=true;
	if(event.stopPropagation) event.stopPropagation();
	}

