/* JavaScript Document
Autor: Edy Segura - infoedy@gmail.com
Descrição: Scripts comuns
*/

//adiciona evento ao elemento especificado
function fnAddEvent(oElement, sType, oFunction) {
	if(oElement.attachEvent) {
		oElement['e' + sType + oFunction] = oFunction;
		oElement[sType + oFunction] = function(){ oElement['e' + sType + oFunction](window.event); };
		oElement.attachEvent('on' + sType, oElement[sType + oFunction]);
	}
	else if(oElement.addEventListener) {
		oElement.addEventListener(sType, oFunction, false);
		return true;
	}
	else return false;
}

//shortcut for document.getElementById()
function $(sElementId) {
  return document.getElementById(sElementId);
}

//script para no focus
function fnNoFocus() {
	var oElements = document.getElementsByTagName('*');
	var rePattern = /button|submit|reset|image|checkbox|radio/;
	var fnSetBlur = new Function("if(this.blur)this.blur();");
	
	for(var i=0; i<oElements.length; i++) {
		var oElement = oElements[i];
		
		switch(oElement.nodeName.toLowerCase()) {
			case 'a'      :
			case 'button' :
				oElement.onfocus = fnSetBlur;
			break;
			
			case 'input'  :
				if(rePattern.test(oElement.type)) oElement.onfocus = fnSetBlur;
			break;
			
		}//fim do switch
	}//fim do for
}
fnAddEvent(window, 'load', fnNoFocus);

//pega os elementos pela className
document.getElementsByClassName = function(sClassName, oElementParent) {
	var oChildren = ($(oElementParent) || document.body).getElementsByTagName('*');
	var aElements = new Array;
	var rePattern = new RegExp("(^|\\s)" + sClassName + "(\\s|$)");
  
	for(var i=0; i<oChildren.length; i++) {
		if(rePattern.test(oChildren[i].className)) {
			aElements.push(oChildren[i]);
		}
	}//fim for
	
	return aElements;
}//fim document.getElementsByClassName