I tried using the curly braces, but they're javascript variables, not php variables, so that opened up a whole other can of worms 🙂
Here's my whole php function, do_html_header(), which uses all the copied and pasted javascript functions from FrontPage. I've marked the offending line with <<<<<<<<. It still strikes me as odd that the other 2 js functions work fine, and this js function works fine when presented as a static html page...I should just be able to include it like I always do with other js scripts, provided I swap double quotes for single ones...
//my function is below
function do_html_header($page_title)
{
$output = "
<html>
<head>
<meta http-equiv='Content-Language' content='en-us'>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1252'>
<title>$page_title</title>
<script language='JavaScript'>
<!--
function FP_swapImg()
{
//v1.0
var doc=document,args=arguments,elm,n;
doc.$imgSwaps=new Array();
for(n=2; n<args.length;n+=2)
{ elm=FP_getObjectByID(args[n]);
if(elm)
{
doc.$imgSwaps[doc.$imgSwaps.length]=elm; <<<<<<This is the offending line>>>>>>>
elm.$src=elm.src;
elm.src=args[n+1];
}
}
}
function FP_preloadImgs() {//v1.0
var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}
function FP_getObjectByID(id,o) {//v1.0
var c,el,els,f,m,n; if(!o)o=document; if(o.getElementById) el=o.getElementById(id);
else if(o.layers) c=o.layers; else if(o.all) el=o.all[id]; if(el) return el;
if(o.id==id || o.name==id) return o; if(o.childNodes) c=o.childNodes; if(c)
for(n=0; n<c.length; n++) { el=FP_getObjectByID(id,c[n]); if(el) return el; }
f=o.forms; if(f) for(n=0; n<f.length; n++) { els=f[n].elements;
for(m=0; m<els.length; m++){ el=FP_getObjectByID(id,els[n]); if(el) return el; } }
return null;
}
// -->
</script>
</head>";
echo $output;
}//close of function