	var decodeText=false;	
	var activeImage='<br><img src="/sisim/ajax_active.gif">';
	var verboseMode=true;

	function getEl(el){
		if(document.getElementById){
			return document.getElementById(el);
		} else {
			return document.all[el];
		}
	}

    function regObject(){
        // Try to use built-in loaders.
        var req = null;
        if (window.XMLHttpRequest){
            try { 
            	req=new XMLHttpRequest(); // Opera Firefox (может новые IE)
            } catch(e) {}
        } else if (window.ActiveXObject) {
            try { 
            	req=new ActiveXObject("Microsoft.XMLHTTP"); // Експлорер 5.0
            	decodeText=true;
            } catch(e) {}
            if(!req){
            	try { 
            		req=new ActiveXObject("Msxml2.XMLHTTP");
            	} catch (e) {}
            }
        }

        return req;
    }

    function ldr(query,name,postdata){
    	var lod=regObject();
    	
    	if(name==null) var infoPanel='info';
    	else var infoPanel=name;
    	
        lod.onreadystatechange = function(){
        	if(lod.readyState==4){
        		if(lod.status==200){
        			// Показывать ли текст
        			if(verboseMode==true) var txtInfo="Готово";
        			else var txtInfo='';
        			
	        		showInfo(txtInfo+activeImage,false,infoPanel);

                    var responseText=lod.responseText;
                    try {
                           // Call associated dataReady().
                           eval(responseText);
                    } catch (e) {
                           showInfo("Error\n",null,infoPanel);
                    }
	        	} else {
	        		showInfo('Info not loaded: '+lod.statusText,null,infoPanel);
	        	}
        	} else {
        		switch (lod.readyState){
        			case 0:
	        			// Показывать ли текст
	        			if(verboseMode==true) var txtInfo='Идет загрузка...';
	        			else var txtInfo='';
	        			
        				showInfo(txtInfo+activeImage,null,infoPanel);
        				break;
        			case 1:
        				// Показывать ли текст
	        			if(verboseMode==true) var txtInfo='Идет загрузка...';
	        			else var txtInfo='';
	        			
        				showInfo(txtInfo+activeImage,null,infoPanel);
        				break;
        			case 2:
        				// Показывать ли текст
	        			if(verboseMode==true) var txtInfo='Информация загружена. Идет обработка.';
	        			else var txtInfo='';
	        			
        				showInfo(txtInfo+activeImage,null,infoPanel);
        				break;
        			case 3:
	        			// Показывать ли текст
		        		if(verboseMode==true) var txtInfo='Обработка закончена.';
		        		else var txtInfo='';
		        		
        				showInfo(txtInfo+activeImage,null,infoPanel);
        				break;
        		}
        	}
        }

        if(postdata==null) lod.open("GET", query, true);
        else lod.open("POST", query, true);

        lod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	    
	    if(postdata==null) lod.send ('');
	    else lod.send(postdata);
    }
    
    function ord(s){
    	var a=s.charCodeAt(0);
		if(a>0xFF) a-=0x350;
		
		return a;
    }

    function showInfo(text,show,info,chposit,append){
    	var iP=getEl(info);

		if(chposit==null) chposit=true;
		if(append!='up' && append!=='down' && append!=null) append='up';

    	// Определяем положение панели
    	var wLeft=screen.availWidth-200;
                
    	iP.innerHTML=(append=="up"?iP.innerHTML+" ":"")+text+(append=="down"?" "+iP.innerHTML:"");
    	iP.style.visibility=((show==true || show==null)?'visible':'hidden');

		if(chposit==true){
			if(document.all!=null) iP.style.pixelTop=document.body.scrollTop;
			else iP.style.top=window.pageYOffset;
			
	    	iP.style.left=wLeft;
		}
		
		if(iP.style.visibility=='hidden'){
			iP.style.top='0';
			iP.style.left='0';
		}
    }
    
    function utf2win1251(s){
 		// Найти рабочий кодировщик!!!
	}
    /*
    HowTo Use
    <a href='#' onclick='ldr("ajax.php")'>Тест</a>
	<div name='info' id='info' style='border: 1px #000 solid; background-color: #fff; color: #000; font-size: 11px; font-family: Arial; width: 200px; height: 50px; visibility: hidden; vertical-align: center; text-align: center; top: 384; left: 612; padding-top: 8%; position: relative;'>InfoText</div>

	<div name='lblText' id='lblText' style='width: 300; height: 200; border: 1px #000 solid; overflow: scroll; background-color: #999999; color: #ffffff; visibility: hidden;'>responseText</div>
	*/