// UniScript JS Loader (S:01)

/* RESERVED WORDS: uniScript */

uniScript = new Object();
uniScript.events = new Array();

function f01_01(scriptName) {

  var currScript = jsAssembly[scriptName], i = 0;
  
  while (i < currScript.length && !eval(currScript[i].condition))
    ++i;

  if (i < currScript.length)
    document.write("<script language=\"JavaScript\">" + currScript[i].script + "<\/script>")
}

uniScript.addScript = f01_01;

function f01_02(eRegStr, hFunction, priority, retFlag) {

  priority = priority || 0;
  retFlag = retFlag || false;

  var i = 0, j = 0, evArray = uniScript.events;

  while (i < evArray.length && (evArray[i] != eRegStr))
    ++i;

  if (i >= evArray.length) {
    uniScript.events[i] = new String(eRegStr);
    uniScript.events[i].functions = new Array(hFunction, priority, retFlag);
    eval(eRegStr + " = new Function(\"f01_03(" + i +")\")")
  }
  else {
    while (j < evArray[i].functions.length && evArray[i].functions[j + 1] > priority)
      j += 3;

    if (j >= evArray[i].functions.length)
      j = evArray[i].functions.length
    else {
      with (uniScript.events[i]) {
        var k = functions.length;
        while (k > j)
          functions[k + 2] = functions[--k]
      }
    }
    with (uniScript.events[i]) {
      functions[j] = hFunction;
      functions[j+1] = priority;
      functions[j+2] = retFlag
    }
  }
}

uniScript.regEventHandler = f01_02;

function f01_03(evNumber) {

  var retVal, tempVal;

  with (uniScript.events[evNumber]) {
    for (var i = 0; i < functions.length; i += 3) {
      tempVal = eval(functions[i]);
      if (functions[i+2]) retVal = tempVal
    }
  }
  if (typeof retVal != "undefined") return retVal
}