//var cache = new Array();
var nLoading=0;

function getData(element,dataSource){
	var XMLHttpRequestObject = false;
	dataSource+=Math.random()+'/'
//alert(dataSource);
/*	if(cache[element]){
		if(element!='script'){
//			document.getElementById('debug').innerHTML='<pre>Cache hit: '+element+'</pre>'+document.getElementById('debug').innerHTML;
			document.getElementById(element).innerHTML=cache[element];
			return;
		}//else{
//			eval(cache[element]);
//		}
//		return;
	}*/
//	document.getElementById(element).innerHTML='<b>Loading ..</b>';
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else {
		if (window.ActiveXObject) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
		}
	}
	if(XMLHttpRequestObject) {
//		document.getElementById('loading').style.display="block";
//		nLoading++;
		XMLHttpRequestObject.open("GET", dataSource);
		XMLHttpRequestObject.onreadystatechange = function(){
			if (XMLHttpRequestObject.readyState == 4){
				if(XMLHttpRequestObject.status == 200) {
					if(element!='script'){
//						alert(element);
						if(element.innerHTML!=null){
							element.innerHTML = XMLHttpRequestObject.responseText;
//alert(XMLHttpRequestObject.responseText);
//alert(dataSource);
						}else{
							document.getElementById(element).innerHTML = XMLHttpRequestObject.responseText;
							// if(document.getElementById('js_init_'+element) && document.getElementById('js_init_'+element).innerHTML!=''){
								// eval(document.getElementById('js_init_'+element).innerHTML);
								// document.getElementById('js_init_'+element).innerHTML='';
							// }
							if(document.getElementById(element).getElementsByTagName('script') && document.getElementById(element).getElementsByTagName('script').length){
								eval(document.getElementById(element).getElementsByTagName('script')[0].innerHTML);
							}
						}
//						alert(document.getElementById('flash_sml').innerHTML);
//						alert(XMLHttpRequestObject.responseText);
//							cache[element]=XMLHttpRequestObject.responseText; //Засунуть в кэш
					}else{
//							document.getElementById('debug').innerHTML='<pre>'+XMLHttpRequestObject.responseText+'</pre>'+document.getElementById('debug').innerHTML;
//alert(XMLHttpRequestObject.responseText);
						eval(XMLHttpRequestObject.responseText);	//Run if JavaScipt
					}
				}else{
					//ERROR!!
//					alert('Error');
				}
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
//				nLoading--;
//				if(nLoading<=0){
//					document.getElementById('loading').style.display="none";
//				}
			}
		}
		XMLHttpRequestObject.send(null);
		return true;
	}else{
		return false;
	}
}

function postData(element,dataSource,data){
//	document.getElementById('debug').innerHTML='<pre>'+dataSource+'</pre>'+document.getElementById('debug').innerHTML;
//	document.getElementById('debug').innerHTML='<pre>'+data+'</pre>'+document.getElementById('debug').innerHTML;
	var XMLHttpRequestObject = false;
	dataSource+=Math.random()+'/'
	if (window.XMLHttpRequest) {
		XMLHttpRequestObject = new XMLHttpRequest();
	} else {
		if (window.ActiveXObject) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
		}
	}
	if(XMLHttpRequestObject) {
//		document.getElementById('loading').style.display="block";
//		nLoading++;
		XMLHttpRequestObject.open("POST", dataSource, true);
		XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHttpRequestObject.onreadystatechange = function(){
			if (XMLHttpRequestObject.readyState == 4){
				if(XMLHttpRequestObject.status == 200) {
					if(element!='script'){
						if(element.tagName){
							oEl=element;
						}else{
							oEl=document.getElementById(element);
						}
						oEl.innerHTML=XMLHttpRequestObject.responseText;
						if(oEl.getElementsByTagName('script')){
							for(i=0;i<oEl.getElementsByTagName('script').length;i++){
								eval(oEl.getElementsByTagName('script')[i].innerHTML);
							}
						}
					}else{
//							document.getElementById('debug').innerHTML='<pre>'+XMLHttpRequestObject.responseText+'</pre>'+document.getElementById('debug').innerHTML;
						eval(XMLHttpRequestObject.responseText);	//Run if JavaScipt
					}
				}else{
//						alert('ERROR!!');
//						alert(XMLHttpRequestObject.status);
				}
				delete XMLHttpRequestObject;
				XMLHttpRequestObject = null;
//				nLoading--;
//				if(nLoading<=0){
//					document.getElementById('loading').style.display="none";
//				}
			}
		}
		XMLHttpRequestObject.send(data);
		return true;
	}else{
		return false;
	}
}


