/************************************************************************************************************
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 = false;
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;

    var fonc = dynamicContent_ajaxObjects[ajaxIndex].onCompleteUserFunc;

    ajax_parseJs(targetObj);
}


function ajax_loadContent(divId,url, fOnLoaded)
{
    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;	// Specifying which file to get
    dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url); };	// Specify function that will be executed after file has been found
    if (fOnLoaded) {
	dynamicContent_ajaxObjects[ajaxIndex].onCompleteUserFunc = fOnLoaded;
    }
    dynamicContent_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(DHTMLSuite.clientInfoObj.isOpera){
//		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){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
	
	
