// Ajax 1.0
function Ajax(url,id) {
    if (document.getElementById) {
        var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
    }
    if (x) {
        x.onreadystatechange = function() {
        if (x.readyState == 4 && x.status == 200) {
        el = document.getElementById(id);
        el.innerHTML = x.responseText;
      }
    }
        x.open("GET", url, true);
        x.send(null);
    }
    }

// Auto-Tab 1.0
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
    var keyCode = (isNN) ? e.which : e.keyCode; 
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
}
function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
    }
    return true;
}

// Enter to Tab 1.0
function handleEnter (field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
    if (keyCode == 13) {
    var i;
    for (i = 0; i < field.form.elements.length; i++)
    if (field == field.form.elements[i])
    	break;
    i = (i + 1) % field.form.elements.length;
    field.form.elements[i].focus();
    return false;
    } 
    else
    return true;
    }
    
// General Image Pre-Load 1.0
function PreLoadImg() {
	var lo_documentImages = document.images;
	var ll_loop = eval(0);
	var lo_currentImage = new Image();
	var lo_newImage = new Image();
	for( ll_loop = 0; ll_loop < lo_documentImages.length; ll_loop ++ )
	{
	lo_currentImage = lo_documentImages[ ll_loop ];
	lo_newImage = new Image();
	lo_newImage.src = lo_currentImage.src;
	}
}

// Ajax 2
var AjaxTimer = null;

function open_url(url, target) {
    if (!document.getElementById) {
        return false;
    }

    if (AjaxTimer != null) {
        document.getElementById(target).innerHTML = AjaxTimer;
    }

    if (window.ActiveXObject) {
        link = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        link = new XMLHttpRequest();
    }

    if (link == undefined) {
        return false;
    }
    link.onreadystatechange = function() { response(url, target); }
    link.open("GET", url, true);
    link.send(null);
}

function response(url, target) {
    if (link.readyState == 4) {
        document.getElementById(target).innerHTML = (link.status == 200) ? link.responseText : "Erro: " + link.status;
    }
}

function set_loading_message(msg) {
    AjaxTimer = msg;
}

set_loading_message("<img src=hourglass.gif border=0 hspace=10 vspace=10>");

// Menu
var ie5 = (document.getElementById && document.all);
var n6 = (document.getElementById && !document.all);
var x, y, el, pageW, pageH;

function showMenu(x, y, menu) {
    //document.getElementById('FileMenu').style.visibility='hidden';
    document.getElementById('PageContext').style.visibility = 'hidden';

    //if (ie5) {
    //var ss = document.body.offsetHeight
    //x = event.clientX;
    //y = event.clientY;
        //y = document.getElementById('xxx').scrollHeight - 80;
    //window.status = x + 'x' + y
    //}

    document.getElementById(menu).style.top = y + "px";
    document.getElementById(menu).style.left = x + "px";
    document.getElementById(menu).style.visibility = 'visible';
}