

var enableCache = true;
var jsCache = new Array();
var basedir="http://"+window.location.hostname; 
var ajaxObjects = new Array();

function ajax_showContent(divId,ajaxIndex,url)
{
	//alert ("div"+divId+"; url:"+url);  
    var targetObj = document.getElementById(divId);
	targetObj.innerHTML = ajaxObjects[ajaxIndex].response;
	if(enableCache){
		jsCache[url] = 	ajaxObjects[ajaxIndex].response;
	}
	ajaxObjects[ajaxIndex] = false;
	ajax_parseJs(targetObj)
}

function showWaitMessage(divId)  {
    document.getElementById(divId).innerHTML = '<center><table width=100% height=100%><tr><td align=center><h1 class=smallgreen>Загрузка содержимого...<br>Ждите .....</h2><img src='+ basedir + '/img/loader.gif border=0 width=32 height=32></td></tr></table></center>';
}

function ajax_loadContent(divId,url, lan)
{
    url = basedir+url+'.php';
    if (lan) {
        url += '?lan='+lan;
    }
    if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		return;
	}
	//alert ("div:"+divId+"; url:"+url); 
    var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	
    ajaxObjects[ajaxIndex].onLoading = function() {showWaitMessage(divId); }; 
    ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url); };	// Specify function that will be executed after file has been found
	ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
}

function ajax_parseJs(obj)
{
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.indexOf('Opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}

function ajax_loadImage(divId,url)
{
    if(enableCache && jsCache[url]){
        document.getElementById(divId).innerHTML = jsCache[url];
        return;
    }
    
    var ajaxIndex = ajaxObjects.length;
    ajaxObjects[ajaxIndex] = new sack();
    
    ajaxObjects[ajaxIndex].onLoading = function() {showWaitMessage(divId); }; 
    ajaxObjects[ajaxIndex].requestFile = url;    // Specifying which file to get
    ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url); };    // Specify function that will be executed after file has been found
    ajaxObjects[ajaxIndex].runAJAX();        // Execute AJAX function    
}

function ajax_installScript(script)
{		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    }; 
}	
	
	
