/* HelpLoader.js */
/*global document, window, XMLHttpRequest, ActiveXObject, scroll */


var helpbuilderXMLHttpRequest; 
var html=document.documentElement;
var modalStatus=(html.className == 'modal');


/* ajaxinit */
function ajaxinit() {
  if ( window.XMLHttpRequest ) {
    helpbuilderXMLHttpRequest = new XMLHttpRequest();
  } else {
    helpbuilderXMLHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
  }
}


/* readyStateListener */
function readyStateListener() {
  var helppanelcontent_holder = document.getElementById('helppanelcontent');
  if ( helpbuilderXMLHttpRequest.readyState == 1 ) {
    helppanelcontent_holder.innerHTML = '<p>Loading...</p><img src="Images/spinner.gif" />';
  } else if ( helpbuilderXMLHttpRequest.readyState == 4 ) {
    if ( helpbuilderXMLHttpRequest.status == 200 ) {
      helppanelcontent_holder.innerHTML = helpbuilderXMLHttpRequest.responseText;
    }
  }
}


/* ajaxloadfile */
function ajaxloadfile(helpURL) {
  helpbuilderXMLHttpRequest.onreadystatechange = readyStateListener;
  helpbuilderXMLHttpRequest.open('GET', helpURL, true);
  helpbuilderXMLHttpRequest.send(null);
}


/* togglehelp */
function togglehelp(helpURL) {
  var SelectElementsArray = document.getElementsByTagName('select');

  if ( helpURL == 'NULL' ) {
    html.className=modalStatus?'':'modal';
    modalStatus=!modalStatus;
    for ( var i = 0; i < SelectElementsArray.length; i++ ) {
      SelectElementsArray[i].className = SelectElementsArray[i].className.replace('hide','');
    }
  } else {
    scroll(0,0);
    html.className=modalStatus?'':'modal';
    modalStatus=!modalStatus;
    ajaxinit();
    ajaxloadfile(helpURL);
    for ( var j = 0; j < SelectElementsArray.length; j++ ) {
      SelectElementsArray[j].className += 'hide';
    }
  }
}


function changehelp(helpURL) {
  ajaxinit();
  ajaxloadfile(helpURL);
}

