 /**
 * AJAX (front-script)
 * (C) ICSoft, http://www.icsoft.ru
 *
 * author Egor Stremousov
 * version 1.0
 */


 /** global variables **/
 var defaultName = "/lookup/lookup.asp";



 /** Load XMLDoc function **/
 function doLoad(url, id) {
      var request = null;
      try { //
          request=new ActiveXObject('Msxml2.XMLHTTP');
      } catch (e) {
          try {
              request=new ActiveXObject('Microsoft.XMLHTTP'); //
          } catch (e) {
              if(window.XMLHttpRequest){ //
                 request=new XMLHttpRequest();
              }
          }
      }

      if (request) {
                 request.onreadystatechange = function processRequestChange(){

                          if (request.readyState == 4) {


                                   if (request.status == 200) {
                                               lookupSetData(request, id);
                                   } else {
                                               //alert("Not load: " + request.statusText);
                                   }
                          }

                 }
                 request.open("GET", url, true);
                 request.send(null);
       }
 }


 /** set answer data to container **/
 function lookupSetData(data, id){
         var result_request_id = data.getResponseHeader("requestid");
         var result_id		   = data.getResponseHeader("id");
         var result_count 	   = data.getResponseHeader("count");
         var result_data       = data.responseText;

		 if (result_request_id == lookupLastRequestId(id) ){

		 	if ((result_data!="")&&(result_count>0)){
		    	lookupSetCount(result_id, result_count);
            	lookupSetList(result_id, result_data);
            	lookupShowList(result_id);
            	}
            	else{
		 	 		lookupHideList(result_id);
		 		}		 }

		 lookupLoader(id).className = "lookup-hidden";
 }


 /** get data for container **/
 function getDataFor(id){

          if ( lookupIsVisibleList(id) ) { lookupSelectListItem(id, 0);  }

          var query = lookupInput(id).value;
          var d = new Date;
          var request_id = getrandom(0,1000) + d.toGMTString();
          lookupSetLastRequestId(id, request_id);

          var max_count = 15;

		  var backURL = defaultName;
		  if (lookupURL(id)!=""){ backURL = lookupURL(id); }

          var request = 'query=' + escape( query ) + '&requestID=' + escape( request_id ) + '&id=' + escape( id ) + '&maxcount=' + escape( max_count );

          doLoad(backURL + '?' + request, id);

          lookupLoader(id).className = "lookup-load-visible"+lookupCSS(id);

 }


