function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}
function attachEventListener(target,eventType,functionRef,capture){
	if(target==null){return}
	if (typeof(target.attachEvent) != "undefined") {
		//Man, I hate IE
		var functionString=eventType+functionRef;
		target["e"+functionString]=functionRef;
		target[functionString]=function(event){
			if(typeof event=='undefined'){
				event=window.event;
			}
			target["e"+functionString](event);
		};
		target.attachEvent("on"+eventType,target[functionString]);
	} else if (typeof target.addEventListener != "undefined") {
		target.addEventListener(eventType,functionRef,capture);
	}
}
String.prototype.ucFirst = function () {
   return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
}
function cancelEvent(event){
	if (event.cancelable){
		event.preventDefault();// DOM style
	}
	event.returnValue=false;//IE
}
function getEventTarget(event){
	var targetElement=null;
	if(typeof event.target!="undefined"){
		targetElement=event.target;
	}else{
		targetElement=event.srcElement;
	}
	while(targetElement.nodeType==3 && targetElement.parentNode!=null){
		targetElement=targetElement.parentNode;
	}
	return targetElement;
}