//   G E N E R A L   F U N C T I O N S 
// --------------------------------------------------------------------------------------------------------------------------------------

// #######################################################
// function doAjaxPost(URL)
// Returns: Post result HTML
// Params: URL : URL to be posted to 
// #######################################################
function doAjaxPost(URL)
{
  var HeadTag = document.getElementsByTagName('head')[0]; 
  var NewScript = document.createElement('script'); 
  NewScript.setAttribute('type', 'text/javascript'); 
  HeadTag.appendChild(NewScript); 
  var loader= (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP"): new XMLHttpRequest(); 

  var d = new Date(); 
  
  //URL += "&p_timestamp=" + d.getTime(); 

  loader.open('POST', URL, false); 
  loader.send('<HTML></HTML>'); 
  var localvar = loader.responseText; 

  NewScript=null;
  loader=null;
  return localvar;  
}

/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **
 
 Should add p_timestamp, Yes?
 
 
 */
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();
    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, false);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type",
          "application/x-www-form-urlencoded;charset=utf-8");
      }
      //xmlhttp.onreadystatechange = function(){
      //  if (xmlhttp.readyState == 4 && !bComplete)
      //  {
      //    bComplete = true;
      //    fnDone(xmlhttp);
      //  }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return xmlhttp.responseText;
  };
  return this;
}

//when the server responds, javascript 
//will trigger this callback function
function fnWhenDone(XML)
{
}

// #######################################################
// function doAjaxGet(URL)
// Returns: Get result HTML
// Params: URL : URL to get 
// #######################################################
function doAjaxGet(URL, Params)
{
  var ajaxConn = new XHConn();

  //post to mypage.php with args foo and baz
  return ajaxConn.connect(URL, "POST", 
  Params,fnWhenDone);
}

function doSetInner(Tag, Content)
{                     
  var DivSrcTag = document.getElementById(Tag);
  DivSrcTag.innerHTML = '';
  DivSrcTag.innerHTML = Content;
  
}


// #######################################################
// function doAddJavascript(ScriptId, Script)  
// Returns: nothing
// Params: ScriptId : Name of script to be created, Script : Script source
// #######################################################     


function doAddJavascript(ScriptId, Script)
{
  var ascr = document.getElementById(ScriptId);

  // Remove old if existing
  if (ascr != null)
    ascr.parentNode.removeChild(ascr);

  // Build update javascript
  var HeadTag= document.getElementsByTagName('head')[0]; 
  var MyScript = document.createElement('script'); 
  MyScript.setAttribute('type', 'text/javascript');
  MyScript.id = ScriptId;
  if (dd.ie) 
  {
    MyScript.text = Script;
  }
  else
  {
    MyScript.innerHTML = Script;
  }
  HeadTag.appendChild(MyScript); 
  return MyScript;
}

// ------------------------------------------------------------------------------------------------------------------------------------------

