/*----------------------------------------------------------------------------------------------------------------------*/
//generate a XMLHttpRequest object used for AJAX request
function FactoryXMLHttpRequest(){
    if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    }else if(window.ActiveXObject){
        var msxmls = new Array(
            'Msxml2.XMLHTTP.5.0',
            'Msxml2.XMLHTTP.4.0',
            'Msxml2.XMLHTTP.3.0',
            'Msxml2.XMLHTTP',
            'Microsoft.XMLHTTP'
        );
        
        for(var i=0; i<msxmls.length; i++){
            try{
                return new ActiveXObject(msxmls[i]);
            }catch(e){}
        }
    }
    throw new Error("Could not instantiate XMLHTTPRequest");
}

/*----------------------------------------------------------------------------------------------------------------------*/
//asynchronously get content from specified url and put it into the element with specified id	
function loadContent(url, id){

   var that=this; 
   this.callback = function() {} ;   
   
	//var XMLHttpRequestObject = FactoryXMLHttpRequest();
	var XMLHttpRequestObject =getHTTPObject1();
	if(XMLHttpRequestObject){
		var obj = document.getElementById(id);
		XMLHttpRequestObject.open('GET', url,true);
		//XMLHttpRequestObject.setRequestHeader("Content-Type","text/html; charset=cp1251;");
		//XMLHttpRequestObject.setRequestHeader("Content-Type","text/html; charset=utf8;");
		XMLHttpRequestObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		XMLHttpRequestObject.onreadystatechange = 
			function(){
			//alert('ok');
				if(XMLHttpRequestObject.readyState == 4)
				{
				
				// begin check if Error Message 
				var err_str=/^A fatal/;
				var err_check=err_str.exec(XMLHttpRequestObject.responseText);
				// end check if Error Message 
				
				if(err_check)
				{
					obj.innerHTML="...";
				}
				else
				{
					//document.getElementById(div_place1).innerHTML=http1.responseText;
					var str_http=XMLHttpRequestObject.responseText;		
					//var str_1=str_http.replace(/.*<(\/)?script.*>/gi,"");
					//var str_1=str_http.replace(/.*<.*>/gi,"");		
					delete XMLHttpRequestObject;
					that.callback(); 
					obj.innerHTML = XMLHttpRequestObject.responseText;
					//eval(str_1);
					//document.getElementById(div_place1).innerHTML="";
					//appendText(document.getElementById('blockjs'),str_1);
				
				}
					
				}			
			}
			
			XMLHttpRequestObject.send(null);
	}
}


function getHTTPObject1(){

    var http_request = false;
    if(window.XMLHttpRequest){ // Mozilla, Safari,...
	http_request = new XMLHttpRequest();
    }else if(window.ActiveXObject){ // IE
	try{ http_request = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
	    try{ http_request = new ActiveXObject("Microsoft.XMLHTTP");
	    }catch(e){}
	}
    } else if(window.createRequest){ //other browsers
	try { http_request = window.createRequest();
	} catch (e) {}
    }

    //for testing
    if (!http_request) {
//	alert("Your browser does not permit the use of all of this site/application's features!");
	load_calendar1 = false;
    } 

    return http_request;
}

