function startMenu() {
	if (document.all&&document.getElementById) {
		navRoot = document.getElementById("globalnav");
		for (i=0; i<navRoot.childNodes.length; i++) {
			node = navRoot.childNodes[i];
			if (node.nodeName=="LI") {
				node.onmouseover=function() {
					this.className+=" over";
				}
				node.onmouseout=function() {
					this.className=this.className.replace(" over", "");
				}
			}
		}
	}
}

function startDelete() {
	var a;
	if ((a = getElementsByClassName("delete", document, "a"))) {
		for (var i=0; i<a.length; i++) {
			if (!a[i].onclick) {
				a[i].onclick = function(){
					if(confirm(this.title)) window.location.href = this.href+"/sim";
					return false;
				}
			}
		}
	}
}

function startDate() {
	var d;
	if ((d = getElementsByClassName("data", document, "input"))) {
		for (var i=0; i<d.length; i++) {
			MaskInput(d[i], "99/99/9999");
		}
	}
}

MaskInput = function(f, m){
    function mask(e){
        var patterns = {"1": /[A-Z]/i, "2": /[0-9]/, "4": /[\xC0-\xFF]/i, "8": /./ },
            rules = { "a": 3, "A": 7, "9": 2, "C":5, "c": 1, "*": 8};
        function accept(c, rule){
            for(var i = 1, r = rules[rule] || 0; i <= r; i<<=1)
                if(r & i && patterns[i].test(c))
                    break;
                return i <= r || c == rule;
        }
        var k, mC, r, c = String.fromCharCode(k = e.key), l = f.value.length;
        (!k || (k == 8 || k == 13) ? 1 : (r = /^(.)\^(.*)$/.exec(m)) && (r[0] = r[2].indexOf(c) + 1) + 1 ?
            r[1] == "O" ? r[0] : r[1] == "E" ? !r[0] : accept(c, r[1]) || r[0]
            : (l = (f.value += m.substr(l, (r = /[A|9|C|\*]/i.exec(m.substr(l))) ?
            r.index : l)).length) < m.length && accept(c, m.charAt(l))) || e.preventDefault();
    }
    for(var i in !/^(.)\^(.*)$/.test(m) && (f.maxLength = m.length), {keypress: 0, keyup: 1})
        addEvent(f, i, mask);
};

addEvent = function(o, e, f, s){
    var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
    r[r.length] = [f, s || o], o[e] = function(e){
        try{
            (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
            e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
            e.target || (e.target = e.srcElement || null);
            e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
        }catch(f){}
        for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
        return e = null, !!d;
    }
};

removeEvent = function(o, e, f, s){
    for(var i = (e = o["_on" + e] || []).length; i;)
        if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
            return delete e[i];
    return false;
};

Array.prototype.inArray = function (value){
	for (var i=0; i < this.length; i++){
		if (this[i] == value) return true;
	}
	return false;
}

function getElementsByClassName(searchClass, node, tag){
	var classElements = new Array();

	if (node == null) node = document;

	if (tag == null) tag = '*';

	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)" + searchClass + "(\\s|$)");
	for (var i = 0, j = 0; i < elsLen; i++){
		if (els[i].className && pattern.test(els[i].className)){
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

// changeSelection(this, 'nome do select que vai alterar(mesmo que o do objeto)', 'frase padrão no primeiro option');
// EXEMPLO: changeSelection(this, 'setor', 'Selecione um Setor:');
function changeSelection(a, b, c) {
    var chooser = a.form.elements[b];
    chooser.options.length = 0;
    var choice = a.options[a.selectedIndex].value;
    var db = eval(b+"[choice]");
	var x = 0;
    if (c != '') chooser.options[x++] = new Option(c, "", true, false);
    if (choice != "") {
        for (var i = 0; i < db.length; i++) chooser.options[x++] = new Option(db[i].text, db[i].value);
    }
}

// selectOption("nome do formulario", ("b,c,d" correspondem "a,b,c" da função "changeSelection"), "valor da opção para selecionar");
// EXEMPLO selectOption('formFuncionario', 'empresa', 'setor', 'Selecione um Setor:', '2');
function selectOption(a, b, c, d, e) {
	var form, element, i;

	if (!(form = document.getElementById(a))) return;
	if (!(element = form.elements[c])) return;

	changeSelection(form.elements[b], c, d);
	
	for(i = 0; i < element.length; i++){
		if ((typeof(e) == 'object' && e.inArray(element[i].value)) || element[i].value == e) element[i].selected = true;
	}
}


