//// util package
util = {
  getPara:function(aParaName, aDefault) {
    var tQueryA = document.URL.split("?");
    if (tQueryA.length > 1 && tQueryA[1] != "") {
      var t = tQueryA[1].split("#")[0];
      var tValuePairA = t.split("&");
      for (var i=0; i<tValuePairA.length; i++) {
        var tVP = tValuePairA[i].split("=");
        if (tVP.length > 1 && tVP[0] == aParaName) return tVP[1];
      }
    }
    return (aDefault == undefined)?"":aDefault;
  }, 
  safeGetProp:function(aObj, aPropNameList, aDefault) {
    var tList;
    if (typeof(aPropNameList) == "string") {
      tList = String(aPropNameList).split(".");
    } else if (aPropNameList.concat != undefined) {
      tList = aPropNameList.concat([]);
    } else {
      tList = [];
    }
    var c = tList.length;
    if (c == 0) {
      return aDefault;
    } else if (c == 1) {
      return (aObj != undefined)?((aObj[tList[0]] != undefined)?aObj[tList[0]]:aDefault):aDefault;
    } else {
      var tObjRef = aObj;
      for (var i=0; i < tList.length; i++) {
        var tPropName = tList[i];
        if (tPropName == "" || tObjRef == null || tObjRef[tPropName] == null) {
          return aDefault;
        } else {
          tObjRef = tObjRef[tPropName];
        }
      }
      return tObjRef;
    }
  },
  safeGet:function(aVal, aDefault) {
    return (aVal == undefined || aVal == null || aVal == "null" || aVal == "")?aDefault:aVal;
  }
};
