
// AJAX REQUEST CLASS
function makeHttpRequest(url, callback_function, return_xml) 
{
    var http_request = false; 

     if (window.XMLHttpRequest) 
     { 
        // Mozilla, Safari,... 
        http_request = new XMLHttpRequest(); 
        
        if (http_request.overrideMimeType) 
        { 
           http_request.overrideMimeType('text/xml'); 
        } 
     }
     else if (window.ActiveXObject) 
     { 
        // IE 
        try 
        { 
           http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
        } 
        catch (e) 
        { 
           try 
           { 
               http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
           }
           catch (e) {} 
        } 
     } 
   
     if (!http_request) 
     { 
        alert('Unfortunately you browser doesn\'t support this feature.'); 
        return false; 
     } 

        
       http_request.onreadystatechange = function() 
       { 
         if (http_request.readyState == 4) 
         { 
           if (http_request.status == 200) 
           { 
               if (return_xml) 
               { 
                   eval(callback_function + '(http_request.responseXML)'); 
               } 
               else 
               { 
                   eval(callback_function + '(http_request.responseText)'); 
               } 
           }
           else 
           { 
               alert('There was a problem with the request.(Code: ' + http_request.status + ')'); 
           } 
        }
      }
      
      http_request.open('GET', url, true); 
      http_request.send(null); 
}

/********************
 AJAX for a POST 
*********************/
function makePostRequest(url, parameters, callback_function, return_xml) {
      var http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,... 
       http_request = new XMLHttpRequest(); 
       if (http_request.overrideMimeType) { 
           http_request.overrideMimeType('text/xml'); 
       } 
      } else if (window.ActiveXObject) { // IE 
       try { 
           http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
       } catch (e) { 
           try { 
               http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
           } catch (e) {} 
       } 
      }
         
      if (!http_request) { 
            alert('Unfortunately you browser doesn\'t support this feature.'); 
            return false; 
      } 
      
       http_request.onreadystatechange = function() { 
       if (http_request.readyState == 4) { 
           if (http_request.status == 200) { 
               if (return_xml) { 
                   eval(callback_function + '(http_request.responseXML)'); 
               } else { 
                   eval(callback_function + '(http_request.responseText)'); 
               } 
           } else { 
               alert('There was a problem with the request.(Code: ' + http_request.status + ')'); 
           } 
       } 
      } 
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}

function hideSelects(selects)
{
    var selectsList = selects.split(',');
    
    for (var i = 0; i < selectsList.length; i++)
    {
        document.getElementById(selectsList[i]).style.display = 'none';
    }
}

function showSelects(selects)
{
    var selectsList = selects.split(',');
    
    for (var i = 0; i < selectsList.length; i++)
    {
        document.getElementById(selectsList[i]).style.display = 'block';
    }
}

