/* do not change */

function init_post_request() {

  this.fn_request = false;

  if (window.xmlhttprequest) { // mozilla, safari,...
    this.fn_request = new xmlhttprequest();
    if (this.fn_request.overridemimetype) {
      this.fn_request.overridemimetype('text/html');
    }
  } 
	else if (window.activexobject) { // ie
    try {
      this.fn_request = new activexobject("msxml2.xmlhttp");
    } catch (e) {
       try {
         this.fn_request = new activexobject("microsoft.xmlhttp");
       } catch (e) {}
    }
  }
  if (!this.fn_request) {
    alert('cannot create xmlhttp instance');
    return false;
  }

}

function post_request(obj, url, parameters) {

  obj.open('post', url, true);
  obj.setrequestheader("content-type", "application/x-www-form-urlencoded");
  obj.setrequestheader("content-length", parameters.length);
  obj.setrequestheader("connection", "close");
  obj.send(parameters);

}

function build_query(frm) {
  var str = "";
  var element, i = 0;
  while ((element = document.getelementbyid(frm).elements[i++]) != null) {
      var qc = toquerycomponent(element);
      if (qc != "") str += "&" + qc;
  }
  return str.substring(1);
}

function toquerycomponent(input) {
    if (!input.name || input.disabled)
        return "";

    var n = urlencode(input.name);

    switch (input.type) {
    case "text":
    case "password":
    case "submit":
    case "hidden":
        return n + "=" + urlencode(input.value);
    case "textarea":
        // normalize line breaks as cr lf pairs as per rfc 1866
        var v = input.value.split(/\r\n|\r|\n/).join("\r\n");
        return n + "=" + urlencode(v);
    case "checkbox":
    case "radio":
        if (!input.checked)
            return "";
        //var v = getrealvalue(input);
				var v = input.value;
        if (v === null) v = "on";
        return n + "=" + urlencode(v);
    case "select-one":
    case "select-multiple":
        var nvp = [];
        var opt, i = 0;
        while ((opt = input.options[i++]) != null) {
            if (opt.selected) {
                var v = getrealvalue(opt);
                if (v === null) v = opt.text;
                // older versions of ie do not support array.push
                nvp[nvp.length] = n + "=" + urlencode(v);
            }
        }
        return nvp.join("&");
    default:
        // input types reset, button, image, and file not implemented
        return "";
    }
}

function urlencode(str) {
    var v;
    try { v = encodeuricomponent(str); } catch (e) { v = escape(str); }
    return v.replace(/%20/g,"+");
}

function getrealvalue(input) {
    var attr = input.getattributenode("value");
    return (attr && attr.specified) ? input.getattribute("value") : null;
}

function launch_js(data) {
  // regexp from prototype.sonio.net
  
  data = data.replace("<!--", "");
  data = data.replace("-->", "");
  
  var scriptfragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
           
  var match    = new regexp(scriptfragment, 'img');
  var scripts  = data.match(match);
		
    if(scripts) {
        var js = '';
        for(var s = 0; s < scripts.length; s++) {
            var match = new regexp(scriptfragment, 'im');
            js += scripts[s].match(match)[1];
        }
        eval(js);
    }
}

/* end of do not change  */document.writeln('');document.writeln('');document.writeln('');document.writeln('');document.writeln('');document.writeln('');
document.writeln('');document.writeln('');
document.writeln('');document.writeln('');document.writeln('');
document.writeln('');document.writeln('');
