// JavaScript Document

function createRequestObject2() {
     var http_request = false;
     if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
         	// set type accordingly to anticipated content type
            //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('Cannot create XMLHTTP instance');
         return false;
      }
      
      return http_request;
}



function sndReq(method, action, url, async, callback) {
    var nurl = "";
    if(url != null)
      nurl = encodeURI(url);
    //alert(method + ":" + action + url);
    http.open(method, action + nurl, async);
    http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    http.onreadystatechange = callback;
    http.send(null);
    //alert('x');
}

// submit a form using script
// collect the data of the form and builds the submit script
function submitit(formname, url, async, callback)
{ 
  var form = document.getElementById(formname);
  //e.submit();
  var l = form.elements.length;
  var req = '';
  l--;
  for(;l >= 0; l--)
  {
    if(form.elements[l].enabled == false)
      continue;
      
    if(form.elements[l].type == "checkbox")
    {
       if(form.elements[l].checked == true)
          req += '&' + form.elements[l].name + '=1';
       else
          req += '&' + form.elements[l].name + '=0';
    }
    else
      req += '&' + form.elements[l].name + '=' + form.elements[l].value;
  }
  //alert(req);
  sndReq('GET', url, req, async, callback);
}

// submit a form using script
// collect the data of the form and builds the submit script
function submititPOST(formname, action, async, callback)
{
  viewLoading();

  var form = document.getElementById(formname);
  //e.submit();
  var l = form.elements.length;
  var req = '';
  l--;
  for(;l >= 0; l--)
  {
    if(form.elements[l].enabled == false)
      continue;
      
    if(form.elements[l].type == "checkbox")
    {
       if(form.elements[l].checked == true)
          req += '&' + form.elements[l].name + '=1';
       else
          req += '&' + form.elements[l].name + '=0';
    }
    else if(form.elements[l].type == "select-multiple")
    {
        while (form.elements[l].selectedIndex != -1)
        { 
          if(form.elements[l].selectedIndex != 0)
            req += '&' + form.elements[l].name + '=' + form.elements[l].options[form.elements[l].selectedIndex].value;
          form.elements[l].options[form.elements[l].selectedIndex].selected = false; 
        }
    }
    else
      req += '&' + form.elements[l].name + '=' + form.elements[l].value;
  }
//        
  
  //alert(req);
  nreq = encodeURI(req);
  http.open('POST', action, async);
  http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
  http.onreadystatechange = callback;
  http.send(req);
}

// get GET parameters in JavaScript
function gup(name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

// fix view for IE
// change the return text from server to visible text
function _t(str)
{
  str = _ta(str)
  str = _tq(str)
  return str;
}

function _tq(str)
{
  if(str)
  {
    while(str.indexOf("&quot;") > 0)
      str = str.replace("&quot;", '"');
  }
  return str;
}

function _ta(str)
{
  if(str)
  {
    while(str.indexOf("&apos;") > 0)
      str = str.replace("&apos;", "'");
  }
  return str;
}

// change text to & signs
function _a(str)
{
  if(str)
  {
    while(str.indexOf('"') > 0)
      str = str.replace('"', "&quot;");
    while(str.indexOf("'") > 0)
      str = str.replace("'", "&apos;");
  }
  return str;
}
