Edit...
The code for some of the functions used in the above code was requested. Here it is:
function ReplaceJSCSSFile(oldfilename, newfilename, filetype){
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none";
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none";
var allElements=document.getElementsByTagName(targetelement);
for (var i=allElements.length; i>=0; i--){
if (allElements[i] && allElements[i].getAttribute(targetattr)!=null && allElements[i].getAttribute(targetattr).indexOf(oldfilename)!=-1){
var newelement=CreateJSCSSFile(newfilename, filetype);
allElements[i].parentNode.replaceChild(newelement, allElements[i]);
}
}
}
function CreateJSCSSFile(filename, filetype){
if (filetype=="js"){
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", filename);
}
else if (filetype=="css"){
var fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
}
return fileref;
}
function AJAX_LoadResponseIntoElement (elementId, fetchFileName, cfunc) {
var XMLHRObj;
if (window.XMLHttpRequest) { XMLHRObj=new XMLHttpRequest(); }
else { XMLHRObj=new ActiveXObject("Microsoft.XMLHTTP"); }
XMLHRObj.onreadystatechange=function()
{
if (XMLHRObj.readyState==4 && XMLHRObj.status==200)
{
document.getElementById(elementId).innerHTML=XMLHRObj.responseText;
cfunc();
}
}
XMLHRObj.open("GET",fetchFileName,true);
XMLHRObj.send();
}