/************************************************************************************************************
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,callbackOnComplete)
{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);if(callbackOnComplete){executeCallback(callbackOnComplete);}}
function executeCallback(callbackString){if(callbackString.indexOf('(')==-1){callbackString=callbackString+'()';}
try{eval(callbackString);}catch(e){}}
function ajax_loadContent(divId,url,callbackOnComplete)
{if(enableCache&&jsCache[url]){document.getElementById(divId).innerHTML=jsCache[url];ajax_parseJs(document.getElementById(divId))
evaluateCss(document.getElementById(divId))
if(callbackOnComplete){executeCallback(callbackOnComplete);}
return;}
var ajaxIndex=dynamicContent_ajaxObjects.length;document.getElementById(divId).innerHTML='Loading content - please wait';dynamicContent_ajaxObjects[ajaxIndex]=new sack();if(url.indexOf('?')>=0){dynamicContent_ajaxObjects[ajaxIndex].method='GET';var string=url.substring(url.indexOf('?'));url=url.replace(string,'');string=string.replace('?','');var items=string.split(/&/g);for(var no=0;no<items.length;no++){var tokens=items[no].split('=');if(tokens.length==2){dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);}}
url=url.replace(string,'');}
dynamicContent_ajaxObjects[ajaxIndex].requestFile=url;dynamicContent_ajaxObjects[ajaxIndex].onCompletion=function(){ajax_showContent(divId,ajaxIndex,url,callbackOnComplete);};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.toLowerCase().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);}}
function evaluateCss(obj)
{var cssTags=obj.getElementsByTagName('STYLE');var head=document.getElementsByTagName('HEAD')[0];for(var no=0;no<cssTags.length;no++){head.appendChild(cssTags[no]);}}
