/**************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2006
Owner of DHTMLgoodies.com


*************************************************************************/	

var enableCache=true;var jsCache=new Array();var dynamicContent_ajaxObjects=new Array();

function ajax_showContent(divId,ajaxIndex,url){
	var targetObj=document.getElementById(divId);
	targetObj.innerHTML=dynamicContent_ajaxObjects[ajaxIndex].response;
	if(enableCache){jsCache[url]=dynamicContent_ajaxObjects[ajaxIndex].response;}
	dynamicContent_ajaxObjects[ajaxIndex]=false;

	ajax_parseJs(targetObj);
}

function ajax_loadContent(divId,url){
	if(enableCache&&jsCache[url]){
		document.getElementById(divId).innerHTML=jsCache[url];
		return;
	}
	var ajaxIndex=dynamicContent_ajaxObjects.length;
	document.getElementById(divId).innerHTML='Loading content - please wait';
	dynamicContent_ajaxObjects[ajaxIndex]=new sack();
	dynamicContent_ajaxObjects[ajaxIndex].requestFile=url;
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion=function(){ajax_showContent(divId,ajaxIndex,url);};
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();	
}

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_installScript(script){
	if (!script)return;    
	if (window.execScript){window.execScript(script)
	}else if(window.jQuery && jQuery.browser.safari){window.setTimeout(script,0);}else{window.setTimeout(script,0);}
}

