var http = getHTTPObject();
var httptimer; 
var post = getHTTPObject(); 
var posttimer;  
function getHTTPObject()
{
    var objXMLHttp=null ;
    if (window.XMLHttpRequest)
    { 
        objXMLHttp=new XMLHttpRequest();
    } 
    else if (window.ActiveXObject)
    { 
        objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    return objXMLHttp;
}
function getResponse(page, onResponse){
    if((http.readyState == 0) || (http.readyState == 4)){
        http.open("GET", page, true);
        http.onreadystatechange = function(){
            if (http.readyState == 4){
                onResponse();
            }
        }
        http.send(null); 
    } else {
        httptimer = setTimeout("getResponse('" + page + "'," + onResponse + ");", 250);
    }
}
function sendPost(page, param, onResponse){
    if((post.readyState == 0) || (post.readyState == 4)){ 
        post.open("POST", page, true);
        post.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        if(!(onResponse == null)){
            post.onreadystatechange = function(){
                if (post.readyState == 4){
                    onResponse();
                }
            }            
        }
        post.send(param);
    } else {
        posttimer = setTimeout("sendPost('" + page + "','" + param + "');", 250);
    }    
}
function getNodeValue(tree, node){
    return tree.getElementsByTagName(node)[0].firstChild.nodeValue;
}
function getNodeCount(tree,node){
    return tree.getElementsByTagName(node).length;
}
function changeHTML(id,value,add){
    if(add == false){
        document.getElementById(id).innerHTML = value;
    } else {
        document.getElementById(id).innerHTML += value; 
    }
}
function hide(id){
    document.getElementById(id).style.display = "none";
}
function show(id){
    document.getElementById(id).style.display = "block";
}
function id(id){
    return document.getElementById(id);
}
function fillSelect(){
    response = http.responseXML;
    field = getNodeValue(response,'field');
    fill = response.getElementsByTagName('options')[0].getElementsByTagName('option');
    for(i=0;i<fill.length;i++){ 
        opt = new Option(getNodeValue(fill[i],'name'),getNodeValue(fill[i],'value'));
        id(field).options[i] = opt;
    }
}