/////////////////////////////////////////////////createXMLHttpRequest/////////////////////////////////////////////////////////////////////////
var  x_request  =  createXMLHttpRequest();

function  createXMLHttpRequest()  {  
    var  xhr;  
    if(window.XMLHttpRequest)  {  //  если  используется  браузер,  отличный  от  Microsoft  Internet  Explorer  
        try  {  
            xhr  =  new  XMLHttpRequest();  
			//alert(xhr);
        }  catch(e)  {  
            xhr  =  false;  
        }  
    }  else  if(window.ActiveXObject)  {  //  если  используется  Microsoft  Internet  Explorer  
        try  {  
            xhr  =  new  ActiveXObject("Microsoft.XMLHTTP");  
        }  catch(e)  {  
            xhr  =  false;  
        }  
    }  
    return  xhr;  
}

///////////////////////////////////////////////sendRequest///////////////////////////////////////////////////////////////////////////

function  sendRequest(frm,  file,  page, section, lim_full)  {  
    var  str  =  "";  
    if(str  =  getForm(frm))  {  
        x_request.open('GET',  file+'?'+str+'&page='+page+'&section='+section+'&lim_full='+lim_full);  
        x_request.onreadystatechange  =  handleResponse;  
        x_request.send(null);  
    }  
    return  false;  
}

/////////////////////////////////////////////////getForm/////////////////////////////////////////////////////////////////////////

function  getForm(fobj)  {  
    var  str  =  "";  
    var  ft  =  "";  
    var  fv  =  "";  
    var  fn  =  "";  
    var  els  =  "";  
    for(var  i  =  0;i  <  fobj.elements.length;i++)  {  
        els  =  fobj.elements[i];  //  текущий  элемент  
        ft  =  els.title;  //  title  элемента  
        fv  =  els.value;  //  value  элемента  
        fn  =  els.name;  //  name  элемента  
        switch(els.type)  {  //  обрабатываем  данные  согласно  типу  элемента  
            case  "textarea":  
            case  "hidden":  
            case  "password": 
			case  "submit":
			case  "button":
            case  "text":  
                //  проверяем,  обязательно  ли  это  поле  для  заполнения  или  нет  
                if(encodeURI(ft)  ==  "required"  &&  encodeURI(fv).length  <  1)  {  
                   // alert(fn+' is  a  required  field,  please  complete.');  
				   //checkBrowserForVersion4();
                    els.focus();  
                    return  false;  
                }  
                str  +=  fn  +  "="  +  encodeURI(fv)  +  "&";  
                break;  
  
            case  "checkbox":  
            case  "radio":  
                if(els.checked)  str  +=  fn  +  "="  +  encodeURI(fv)  +  "&";  
                break;  
  
            case  "select-one":  
                str  +=  fn  +  "="  +  
                els.options[els.selectedIndex].value  +  "&";  
                break;  
        }  //  switch  
    }  //  for  
    str  =  str.substr(0,(str.length  -  1));  
    return  str;  
}

//////////////////////////////////////////////handleResponse////////////////////////////////////////////////////////////////////////////

function  handleResponse()  {  
    if(x_request.readyState  ==  4)  {  
        var  response  =  x_request.responseText;  
        document.getElementById("results").innerHTML  =  response;  
    }  
}
