// scriptLoader
// USO: scriptLoader(jsPath)
function scriptLoader(url) {
	try {
		var objScript = document.createElement("script");
		objScript.type = "text/javascript";
		objScript.src = url;
		var objHead = document.getElementsByTagName("head");
		objHead[0].appendChild(objScript);
	}
	catch(e) {
		document.write("<script type=\"text\/javascript\" src=\"" + url + "\"><\/script>");	
	}
}

function abort(e) {
	var w3DOM = window.addEventListener;
	if(w3DOM){
		e.preventDefault();
	}
	else{
		return false;
	}
}

function getSelected(e) {
	var userSelection;
	if (window.getSelection) {
		userSelection = window.getSelection();
	}
	else if (document.selection) { // should come last; Opera!
		userSelection = document.selection.createRange();
	}

	var selectedText = userSelection;
	if(userSelection.text) {
		selectedText = userSelection.text;
	}
	return selectedText;
}

function getTarget(e) {
	var obj = e;
	var w3DOM = window.addEventListener;
	if(w3DOM){
		if(e.currentTarget) {
			obj = e.currentTarget;
		}
	}
	else {
		if(e.srcElement) {
			obj = e.srcElement;
		}
	}
	return obj;
}

// addEvent
// USO: addEvent(objeto, tpEvento, funcao)
function addEvent(obj, evType, fn){
	if(obj) {
		var w3DOM = obj.addEventListener;
		var ieDOM = obj.attachEvent;
		if (w3DOM)  obj.addEventListener(evType, fn, true);
		if (ieDOM)  obj.attachEvent("on"+evType, fn);
	}
}

// removeEvent
// USO: removeEvent(objeto, tpEvento, funcao)
function removeEvent(obj, type, fn) {
	if(obj.detachEvent) {
		obj.detachEvent( 'on'+type, obj[type+fn]);
		obj[type+fn] = null;
	}
	else {
		obj.removeEventListener( type, fn, false);
	}
}

// getParent
// USO: getParent(el, pTagName)
function getParent(el, pTagName) {
	if (el == null) {
		return null;
	}
	else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) {
		return el;
	}
	else {
		return getParent(el.parentNode, pTagName);
	}
}


function removeElement(element){
	if(typeof(element) == "string") {
		element = document.getElementById(element);
	}
	element.parentNode.removeChild(element);
}
