uScript = new Object();
uScript.path = "js/";
uScript.events = new Array();

function f01_01() {

  var scriptHTML = "", currSet;

  for (var i = 0; i < arguments.length; ++i) {

    currSet = uScriptData[arguments[i]];

    for (var j = 0; j < currSet.length; ++j)
      if (uScriptData.conditions[currSet[j][0]])
        for (var k = 1; k < currSet[j].length; ++k)
          scriptHTML += "<script language=\"JavaScript\" type=\"text\/javascript\" src=\"" + uScript.path + currSet[j][k] + "\"><\/script>"
  }

  document.write(scriptHTML)

}

uScript.addScripts = f01_01;

function f01_02(eRegStr, hFunction, priority, retFlag) {

  var i = 0, j = 0, evArray = uScript.events;

  priority = priority || 0;
  retFlag = retFlag || false;

  while (i < evArray.length && (evArray[i] != eRegStr))
    ++i;

  if (i >= evArray.length) {
    uScript.events[i] = new String(eRegStr);
    uScript.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 (uScript.events[i]) {
        var k = functions.length;
        while (k > j)
          functions[k + 2] = functions[--k]
      }
    }
    with (uScript.events[i]) {
      functions[j] = hFunction;
      functions[j+1] = priority;
      functions[j+2] = retFlag
    }
  }
}

uScript.regEventHandler = f01_02;

function f01_03(evNumber) {

  var retVal, tempVal;

  with (uScript.events[evNumber]) {
    for (var i = 0; i < functions.length; i += 3) {
      tempVal = eval(functions[i]);
      if (functions[i+2]) retVal = tempVal
    }
  }
  if (retVal || retVal+1) return retVal
}

