function __getElementById( id )
{
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

function ajaxRecieve(httpRequest, target, onreadyFunct) {
  if (httpRequest.readyState == 4) {
      if (httpRequest.status == 200) {
        if (target != null && target != '')
          __getElementById(target).innerHTML = httpRequest.responseText;
      } else
          alert('Error: XMLHttpRequest() could not retrieve data.');
  }
}
    
function ajaxMakeRequest(url, target, animation, onreadyFunct) {
    var httpRequest;
    if (animation != 0 && target != null)
      __getElementById(target).innerHTML = '<table border="0" width="100%" height="100%"><tr><td valign="middle" align="center"><img src="resources/loading'+animation+'.gif"/></td></tr></table>';
    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType)
            httpRequest.overrideMimeType('text/plain');
    } 
    else if (window.ActiveXObject) {
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                       try {
                            httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                           }
                         catch (e) {}
                      }
    }
    if (!httpRequest)
        return false;
    httpRequest.onreadystatechange = function() { ajaxRecieve(httpRequest, target, onreadyFunct); };
    httpRequest.open('GET', url, true);
    httpRequest.send('');
}

function ajaxBwfwRequest(params, target, animation) {
  ajaxMakeRequest('index.php?method=ajax&'+params, target, animation, null);
}

function ajaxBwfwRequestWithFunct(params, onreadyFunct) {
  ajaxMakeRequest('index.php?method=ajax&'+params, null, 0, onreadyFunct);
}

function loadMenuChanges(menu_id) {
  ajaxBwfwRequest('secContentFromMenu='+menu_id, 'mainContent', 1);
  ajaxBwfwRequest('secNameFromMenu='+menu_id, 'sectionName', 0);
  ajaxBwfwRequest('getMainmenuHtml='+menu_id, 'navigation', 0);
}

function menuChange(menu_id) {
  loadMenuChanges(menu_id);
  dhtmlHistory.add("mid:"+menu_id);
}

function historyChange(newLocation, historyData) {
  var parameters = newLocation.split(";");
  var mid = -1;
  for (i=0; i<parameters.length; i++) {
    var split = parameters[i].split(":");
    if (split[0] == 'mid')
      mid = split[1];
  }
  if (mid != -1)
    loadMenuChanges(mid);
}

function ajaxOnLoad() {
  // preload animations
  loader = new Image();
  loader.src = "loading1.gif";
  delete loader;
  // RSH
  dhtmlHistory.initialize();
  dhtmlHistory.addListener(historyChange);
  if (dhtmlHistory.isFirstLoad()) {
    var curLoc = dhtmlHistory.getCurrentLocation();
    if (curLoc != '')
      historyChange(curLoc, '');
  }
}

womAdd('ajaxOnLoad()');

