var http;
var curClicked;
var browser  = navigator.appName;
var ie       = (browser == 'Microsoft Internet Explorer');
var version = navigator.appVersion;
var ie7 = ie && parseFloat(version.split("MSIE")[1]) >= 7.0;
var reset = optimizedIndex;
var searchArea = null;

/* http request object */
function createRequestObject() {
  var requestObject = (ie)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();
  return requestObject;
}


/* send the request */
function sndReq(action) {
   //alert(action);
  // if requestobject can not be created display error message
   if(optimizedIndex)
   {
      if(reset)
      {
         action += '&reset=true';
         reset = false;
      }

      if(searchArea != null)
      {
         action += '&switchto=' + searchArea;
         searchArea = null;
      }
   }

  try {
    http = createRequestObject();
    http.open('get', action);
    http.onreadystatechange = handleResponse;
    http.send(null);
  } catch(e) {
    alert('Geen XML parser gevonden: ' + e);
  }
}

function getXmlDoc() {
   if (ie) {
     //IE does not take the responseXML as a dom document
     xmldoc = new ActiveXObject("Microsoft.XMLDOM");
     xmldoc.async=false;
     xmldoc.loadXML(http.responseText);
   } else if(document.implementation && document.implementation.createDocument) {
     xmldoc = (new DOMParser()).parseFromString(http.responseText, "text/xml");
   } else {
     xmldoc = http.responseXML;
   }
   return xmldoc;
}

/* create xml object */
function handleResponse() {
  try {

      tags = new Array('province',
                     'city',
                     'model',
                     'district',
                     'neighbourhood'
                     );

    if (http.readyState == 4) {
       xmldoc = getXmlDoc();

//       debugXml(xmldoc);

      /* determine type rent/sale/piv */
      if (xmldoc.getElementsByTagName('lnpsearch')[0].getAttribute('type')) {
        var searchType = xmldoc.getElementsByTagName('lnpsearch')[0].getAttribute('type');
        switchType(searchType);
      }

      /* show number of houses found */
      var housecount = xmldoc.getElementsByTagName('housecount')[0].firstChild.nodeValue;
      var projectcount = 0;

      if(searchType == 'piv')
      {
         projectcount = xmldoc.getElementsByTagName('projectcount')[0].firstChild.nodeValue;
      }

      createIndicator(housecount, projectcount, searchType);

	   /* get kind of realestate */
		//var koreTrueFalse=xmldoc.getElementsByTagName('kindofrealestate')[0].getAttribute('enabled');
		//setKindOfRealEstate(koreTrueFalse, searchType);

      /* create search boxes */
      for (j=0; j < tags.length; j++)
      {
         createElements(j);
      }
    }
  } catch(e) {
  }
}

function debugXml(xmldoc)
{
   var models1 = xmldoc.getElementsByTagName('model');
   var modelstring = '.';

   for (i=0; i<models1.length; i++)
   {
      modelstring += models1[i].firstChild.nodeValue + '.';
   }

   alert(modelstring);
}
