function addEvent(objElement, strEventType, ptrEventFunc) {
	if (objElement.addEventListener) objElement.addEventListener(strEventType, ptrEventFunc, false);
		else if (objElement.attachEvent) objElement.attachEvent('on' + strEventType, ptrEventFunc);
}

function removeEvent(objElement, strEventType, ptrEventFunc) {
	if (objElement.removeEventListener) objElement.removeEventListener(strEventType, ptrEventFunc, false);
		else if (objElement.detachEvent) objElement.detachEvent('on' + strEventType, ptrEventFunc);
}

function matchClass(element, className) {

	return element.className.match(new RegExp('(^|\\s+)' + className + '($|\\s+)'));		

}

function addClass(element, className) {

	if(!matchClass(element, className)) {
		element.className += ' ' + className;
	}

}

function removeClass(element, className) {
	
	element.className = element.className.replace(new RegExp('(.*)(^|\\s+)(' + className + ')($|\\s+)(.*)'), '$1$4$5').replace(/(^)\s/, '$1');	

}

function replaceClass(element, oldClassName, newClassName) {

	element.className = element.className.replace(new RegExp('(.*)(^|\\s+)(' + oldClassName + ')($|\\s+)(.*)'), '$1$2' + newClassName + '$4$5');

}

function getPageY( oElement ) {
	var iPosY = oElement.offsetTop;
	while ( oElement.offsetParent != null ) {
		oElement = oElement.offsetParent;
		iPosY += oElement.offsetTop;
		if (oElement.tagName == 'BODY') break;
	}
	return iPosY;
}

function getPageX( oElement ) {
	var iPosX = oElement.offsetLeft;
	while ( oElement.offsetParent != null ) {
		oElement = oElement.offsetParent;
		iPosX += oElement.offsetLeft;
		if (oElement.tagName == 'BODY') break;
	}
	return iPosX;
}

function getPositionedEventCoord(evt)
{
      var elem = evt.target ? evt.target : evt.srcElement;
      var coords = {left: 0, top: 0};
      if(evt.offsetX) {
        coords.left = evt.offsetX;
        coords.top = evt.offsetY;
      } else if(evt.layerX) {
        coords.left = evt.layerX;
        coords.top = evt.layerY;

      }
      evt.cancelBubble = true;
      return coords;
}


function openWindow(href, name, width, height, scrollbars, toolbar) {
				
	var width = width? width : 300;
	var height = height? height : 300;
	var scrollbars = scrollbars? 'yes' : 'no';
	var toolbar = toolbar? 'yes' : 'no';
	var leftOffset = screen.availWidth/2 - width/2;
	var topOffset = screen.availHeight/2 - width/2;	

					
	newWindow = window.open(href, name, 'left=' + leftOffset + ', top = ' + topOffset + ', width=' + width + ' , height=' + height + ', resizeable=no, toolbar=' + toolbar + ',  scrollbars=' + scrollbars);
	newWindow.focus();		

	return false;

}
