1 function appendscript(src, text, reload, charset) {
2 var id = hash(src + text);
3 if(!reload && in_array(id, evalscripts)) return;
4 if(reload && $(id)) {
5 $(id).parentNode.removeChild($(id));
6 }
7
8 evalscripts.push(id);
9 var scriptNode = document.createElement("script");
10 scriptNode.type = "text/javascript";
11 scriptNode.id = id;
12 scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
13 try {
14 if(src) {
15 scriptNode.src = src;
16 scriptNode.onloadDone = false;
17 scriptNode.onload = function () {
18 scriptNode.onloadDone = true;
19 JSLOADED[src] = 1;
20 };
21 scriptNode.onreadystatechange = function () {
22 if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {
23 scriptNode.onloadDone = true;
24 JSLOADED[src] = 1;
25 }
26 };
27 } else if(text){
28 scriptNode.text = text;
29 }
30 document.getElementsByTagName('head')[0].appendChild(scriptNode);
31 } catch(e) {}
32 }