

  /* XMLHttpRequest Object! */
  function getXMLHttpRequestObject() {

    var MSXMLversion = 	new Array(
    					"MSXML2.XMLHTTP.6.0",
    					"MSXML2.XMLHTTP.5.0",
    					"MSXML2.XMLHTTP.4.0",
    					"MSXML2.XMLHTTP.3.0",
    					"MSXML2.XMLHTTP",
    					"Microsoft.XMLHTTP"
    					);

    try {
      return new XMLHttpRequest();
    } catch (e) {
      for (var idx in MSXMLversion) {
		try {
		  return new ActiveXObject(MSXMLversion[idx]);
		} catch (er) {

		}
      }

      return null;
    }
  }

  /* Transmition Object! */
  function startGETRequest(url, onComplete, onEnd) {

    var XMLHttpRequestObject = getXMLHttpRequestObject();
    if (XMLHttpRequestObject) {
      XMLHttpRequestObject.open('GET', url);

	  XMLHttpRequestObject.onreadystatechange = function() {
        if (XMLHttpRequestObject.readyState == 4) {
          if (XMLHttpRequestObject.status == 200) {
            var responseXML 	= XMLHttpRequestObject.responseXML;
            var responseText 	= XMLHttpRequestObject.responseText;
            onComplete(responseXML, responseText);
		  }

		  delete XMLHttpRequestObject;
		  XMLHttpRequestObject = null;
		  onEnd();
		}
      }
      XMLHttpRequestObject.send(null);
	}
  }


  // ------------------
  function loadChildsOnComplete(responseXML, responseText) {
    if (document.getElementById('dynContent')) {
	  document.getElementById('dynContent').innerHTML = responseText;
	  document.getElementById('dynContent').className = 'dynContentShow';

	  if (document.getElementById('dynClose')) {
	    document.getElementById('dynClose').onclick = function() {
	      document.getElementById('dynContent').className = 'dynContentHide';
	    }
	  }
    }
  }

  // ------------------
  function loadChildsOnEnd() {}



  /* Dynamic Menu Generator! */
  function dynContent(Id) {

	// ------------------
  	this.load = function(e) {
  	  var eNood;

	  var linki = document.getElementsByTagName('a');
	  for(i=0; i < linki.length; i++) {
		if (linki[i].className=='costam')
			linki[i].onclick = costam;  // nazwa funkcji bez ()!
			/* można też użyć: linki[i].onlick = function() {return costam(para,metry);} */
	  }

	  for (var i=0, n=e.childNodes.length; i<n; i++) {
	    eNood = e.childNodes[i];
	    if (eNood.nodeName.toLowerCase() == 'a') {

	      eNood.onclick 	= function(ev) {
			startGETRequest(this.getAttribute('href'), loadChildsOnComplete, loadChildsOnEnd);
	        return false;
	      }
		}
	  }
	}

 	//startGETRequest(eNood, loadChildsOnComplete, loadChildsOnEnd);
  	if (document.getElementById && document.childNodes) this.load(document.getElementById(Id));
  }













