var oFocus;
var hHover;
var ahOpenDialogs = new Array();
var sIconset;
var sActDialogSuf = '';
var sActDialog = '';
var bIE = (navigator.appName=='Microsoft Internet Explorer'||navigator.appName=='Internet Explorer')?1:0;
var bOpera = (document.defaultView && typeof(eval('window.opera')) != "undefined") ? 1 : 0;
var sRules = (document.styleSheets[0]['cssRules'])?'cssRules':'rules';
var hReg = null;
function showDialog(bGhost,sDialog){
  showGhost(bGhost);
  sActDialogSuf = ((sDialog) ? '_'+sDialog : '');
  sActDialog    = ((sDialog) ? sDialog : '');
  var oDialog = document.getElementById('_dialog'+sActDialogSuf);
  if(bGhost){
    oDialog.style.display= '';
    oDialog.style.top = 100 + document.documentElement.scrollTop;
    oDialog.style.left = ((document.documentElement.offsetWidth - oDialog.offsetWidth)/2);
    if (dialogHasXClose(oDialog)){
      document.onkeydown = dialogCloseByEsc;
    }
    ahOpenDialogs.push(oDialog);
  }else{
    oDialog.style.display = 'none';
    document.onkeydown = '';
    ahOpenDialogs.pop();
    if (document.body.style.cursor=='help'){
      switchHelpMode();
    }
  }
}
function showGhost(bYepp){
  bfDialog.showGhost(bYepp);
}
function getCookieVal(sName){
  var sCookie = document.cookie;
  var sPrefix = sName + "=";
  var iBegin = sCookie.indexOf("; " + sPrefix);

  if ( iBegin == -1 ) {
    iBegin = sCookie.indexOf(sPrefix);
    if (iBegin != 0) {
      return null;
    }
  } else {
    iBegin += 2;
  }
  var iEnd = document.cookie.indexOf(";", iBegin);
  if ( iEnd == -1 ) {
    iEnd = sCookie.length;
  }
  return unescape(sCookie.substring(iBegin + sPrefix.length, iEnd));
}
function setCookieVal(sName,sValue,sPath,sDomain){
  var bSecure = false;
  sPath = "/";
  document.cookie= sName + "=" + escape(sValue) +
  ((sPath) ? "; path=" + sPath : "") +
  ((sDomain) ? "; domain=" + sDomain : "") +
  ((bSecure) ? "; secure" : "");
}
function setCookieSessionVal(sName,sValue){
  var bSecure = false;
  sPath = "/"+getSid()+"/";
  document.cookie= sName + "=" + escape(sValue) +
  ((sPath) ? "; path=" + sPath : "") +
  ((bSecure) ? "; secure" : "");
}
function switchDisplay(oCaller,sIds){
  // ausmustern
  var aIds = sIds.split(':');
  for (var i=0; i<aIds.length; i++){
    var oElement = document.getElementById(aIds[i]);
    oElement.style.display = (oElement.style.display == "") ? "none" : "";
    setCookieVal('default_display_id_'+aIds[i],oElement.style.display);
  }
}
function menuGotoEntry(hParams){
  if (hParams['typ'] == 'url_popup'){
    setCookieSessionVal('active_meid','');
    window.open(hParams['link'],'_blank');
  }else{
    setCookieSessionVal('active_meid',hParams['meid']);
    var sLocation = (hParams['typ'] == 'module')
      ? hParams['link']
      : (hParams['typ'] == 'content')
        ? '/default//'+hParams['link']+'/'
        : (hParams['typ'] == 'url_div')
          ? '/_system/viewDiv/'+hParams['meid']
          : '';
    location = '/'+getSid()+sLocation;
  }
}
function menuReExpand(sId){
  var aoMenu = document.getElementById(sId).getElementsByTagName('ul');
  for (var i=0; i<aoMenu.length; i++){
    var oLi = aoMenu[i].getElementsByTagName('li')[0];
    if (typeof(oLi.lang) != 'undefined' && oLi.innerHTML.indexOf('expander') >= 0 && i<aoMenu.length-1){
      bOpen = (oLi.lang == '1') ? 1 : 0;
      i++;
      aoMenu[i].style.display = (bOpen) ? '' : 'none';
      var aoLi = aoMenu[i].getElementsByTagName('li');
      for (var j=0; j<aoLi.length; j++){
        aoLi[j].style.display = (bOpen) ? '' : 'none';
      }
    }
  }
}
function switchMenu(oCaller){
  if (oCaller.nodeName != 'LI'){
    oCaller = jsHelper.getNodeTag(oCaller,'LI');
  }
  var bOn   = (oCaller.lang == '1')  ? 0 : 1;
  var aHide = new Array;
  oCaller.lang = bOn;
  var hArgs = {};
  hArgs['menu[node]['+oCaller.id+']'] = bOn;
  shRpc.setSessionVal(hArgs);
  var oNode = oCaller.parentNode.nextSibling;
  while (oNode && !oNode.tagName || oNode.tagName != 'UL'){
    oNode = oNode.nextSibling;
  }
  oNode.style.display = (bOn) ? '' : 'none';
  var aoLi = oNode.getElementsByTagName('li');
  for (var j=0; j<aoLi.length; j++){
    aoLi[j].style.display = (bOn) ? '' : 'none';
  }
}
function switchNode(oCaller,noRecycle){
  oRoot = oCaller.parentNode.parentNode;
  bOn   = (oRoot.lang == '1')  ? 0 : 1;
  aHide = new Array;
  oRoot.lang = bOn;
  var hArgs = {};
  hArgs[_mod+'[node]['+oRoot.id+']'] = bOn;
  shRpc.setSessionVal(hArgs);
  var sOld = bOn?'ico_tree_open':'ico_tree_close';
  var sNew = bOn?'ico_tree_close':'ico_tree_open';
  oCaller.className = oCaller.className.replace(sOld,sNew);
  bLast = 0
  oNode = oRoot.nextSibling
  while(oNode != null ){
    if (oNode.tagName == 'TR' && !oNode.id.match(/\/hide\/$/)){
      if (oNode.id.substr(0,oRoot.id.length) != oRoot.id){
        oNode = null;
      }else{
        isNode = 0;
        aDivs = oNode.getElementsByTagName('div');
        for (var i=0; i<aDivs.length && !isNode; i++){
          if (aDivs[i].title == 'expander'){
            isNode = 1;
            break;
          }
        }
        if (isNode){
         // alert(oNode.lang);
         // oNode.lang = (oNode.lang == '') ? 1 : oNode.lang;
        }
        if (bOn && isNode && oNode.lang == 0){
          aHide[aHide.length] = oNode.id;
        }
        bHide = 0;
        for (var x=0;x<aHide.length;x++){
          if (oNode.id != aHide[x] && oNode.id.substr(0,aHide[x].length) == aHide[x]){
            bHide = 1;
            break;
          }
        }
        if (!bHide){
          oNode.style.display = (!bOn) ? 'none' : '';
        }
      }
    }
    if (oNode != null){
      oNode = oNode.nextSibling;
    }
  }
  tblReCycle(getTable(oCaller).id);
}
function switchTab(oCaller){
  shTab.switchTab(oCaller);
}
function bfCheckBoxSwitch(oCaller,sName,sValue){
  var oInput = oCaller.nextSibling;
  var bChecked = (oCaller.src.search(/check_off/) != -1) ? 1 : 0;
  oCaller.src = (bChecked) ? oCaller.src.replace(/check_off/,'check_on') : oCaller.src.replace(/check_on/,'check_off');
  oInput.value = (bChecked) ? sValue : '';
  if (oInput.name.substr(oInput.name.length-2,2) == '[]'){
    oInput.disabled = (bChecked) ? '' : 'disabled';
  }
}
function hoverOn(oCaller,sClass){
}
function hoverOff(oCaller,sClass){
}
function tblEnabled(table,bEnabled,bImg){
  var types = new Array('input','select','textarea');
  for(var i=0;i<types.length;i++){
    var inputs = table.getElementsByTagName(types[i]);
    for(var j=0;j<inputs.length;j++){
      if (inputs[j].style.display != 'none'){
        inputs[j].disabled = (bEnabled) ? false : true;
        inputs[j].readOnly = (bEnabled) ? false : true;
      }
    }
  }
  var tds = table.getElementsByTagName('td');
  for(var i=0;i<tds.length;i++){
    if (bEnabled){
      tds[i].className = tds[i].className.replace(/ disabled/,'');
      if (tds[i].className == 'disabled'){
        tds[i].className = '';
      }
    }else{
      if (!tds[i].className.match(/disabled/)){
        tds[i].className = (bEnabled) ? tds[i].className.replace(/ disabled/,'') : tds[i].className+' disabled';
      }
    }
  }
  if (bImg){
    var imgs = table.getElementsByTagName('img');
    for(var i=0;i<imgs.length;i++){
      if (imgs[i].className=='ico16' || imgs[i].className=='ico1012'){
        var iLength = imgs[i].src.length;
        imgs[i].src = (bEnabled) ? imgs[i].src.replace(/_off/,'') : ((imgs[i].src.search(/_off/) == -1) ? imgs[i].src.substr(0,iLength-4)+'_off'+imgs[i].src.substr(iLength-4) : imgs[i].src);
      }
    }
  }
}
function objEnabled(oObj,bEnabled,sType){
  if (oObj.tagName == 'TABLE'){
    if (sType == undefined){
      var inputs = oObj.getElementsByTagName('input');
    }else if (sType == 'text' || sType == 'checkbox'){
      var inputs = oObj.getElementsByTagName('input');
    }else if (sType == 'select-one'){
      var inputs = oObj.getElementsByTagName('select');
    }
  }else{
    var inputs = new Array();
    inputs[0] = oObj;
  }
  for(var x=0;x<inputs.length;x++){
    if (sType == undefined || (sType != undefined && inputs[x].type == sType)){
      if (bEnabled){
        inputs[x].disabled = false;
        inputs[x].readOnly = false;
      }else{
        inputs[x].disabled = true;
        inputs[x].readOnly = true;
      }
    }
  }
}
function tblReExpand(sId){
  var oRows = document.getElementById(sId).rows;
  var hOpen = {};
  var aTmp;
  var sTmp = '';
  var oDivs;
  var sMsg = '';
  for (var i=0; i<oRows.length; i++){
    if (oRows[i].id && !oRows[i].id.match(/\/hide\/$/)){
      if ((bOpen = (oRows[i].lang == '1') ? 1 : 0)){
        if ((sTmp = getParentId(oRows[i].id)) && hOpen[sTmp+'/'] == 1 || sTmp == ''){
          hOpen[oRows[i].id] = 1;
        }
      }else{
        oDivs = oRows[i].getElementsByTagName('div');
        for (var j=0; j<oDivs.length; j++){
          if (oDivs[j].title == 'expander'){
            oDivs[j].className = oDivs[j].className.replace('ico_tree_close','ico_tree_open');
          }
        }
      }
      sTmp = getParentId(oRows[i].id)+'/';
      if (hOpen[sTmp] == 1){
        oRows[i].style.display = '';
      }else if(sId == '_menu' && sTmp != '/'){
        oRows[i].style.display = 'none';
      }
    }
  }
}
function tblReCycle(sId){
  var sClass=' data_entry_stripe';
  bSwitch = 0;
  oChld = document.getElementById(sId).childNodes;
  for (var i=0; i<oChld.length; i++){
    if (oChld[i].tagName == "TBODY"){
      oRows = oChld[i].rows;
      for (var x=0; x<oRows.length; x++){
        if (oRows[x].style.display != 'none'){
          if(bSwitch){
            if(oRows[x].className.search(sClass)==-1){
              oRows[x].className+=sClass;
            }
          }else{
            oRows[x].className=oRows[x].className.replace(sClass,'');
          }
          bSwitch = (bSwitch) ? 0 : 1;
        }
      }
    }
  }
  
}
function countSubIdRows(oTr){
  var z = 0;
  oNode = oTr.nextSibling;
  while (oNode != null){
    if (oNode.tagName == 'TR'){
      if (oNode.id.substr(0,oTr.id.length) != oTr.id){
        oNode = null;
      }else{
        z ++;
      }
    }
    if (oNode != null){
      oNode = oNode.nextSibling;
    }
  }
  return z;
}
function getParentId(sId){
  aTmp = sId.split("/");
  var tmp = aTmp.pop();
  while(!tmp){
    tmp = aTmp.pop();
  }
  return aTmp.join("/");
}
function getTable(oCaller){
  var oNode = oCaller;
  while (oNode != null && oNode.tagName != 'TABLE'){
    oNode = oNode.parentNode;
  }
  return oNode;
}
function getTr(oCaller){
  var oNode = oCaller;
  while (oNode != null && oNode.tagName != 'TR'){
    oNode = oNode.parentNode;
  }
  return oNode;
}
function getTd(tr,num){
  var n = 0;
  for(var i=0;i<tr.childNodes.length;i++){
    if (tr.childNodes[i].tagName == 'TD'){
      n++;
      if (n==num){
        return tr.childNodes[i];
        break;
      }
    }
  }
}
function getSid(){
  /*
  var aTmp = document.URL.split('/');
  return aTmp[3];
  */
  return _sid;
}
function getDocUrl(bNoClosingSlash){
  return _mod+((bNoClosingSlash) ? '' : '/');
}
function inArray(sNeedle,aHigh){
  bExist = 0;
  for(var i=0;i<aHigh.length;i++){
    if (aHigh[i] == sNeedle){
      bExist = 0;
      break;
    }
  }
  return bExist;
}
function cmbOpen(oCaller){
  bfSmarty.cmbOpen(oCaller);
}
function cmbOpenSub(oTbl,sKey,oCaller){
  bfSmarty.cmbOpenSub(oTbl,sKey,oCaller);
}
function cmbChange(oCaller){
  return bfSmarty.cmbChange(oCaller);
}
function changeDscrbox(oCaller){
  oTbl = getTable(getTable(getTable(oCaller).parentNode).parentNode);
  aInputs = (oTbl.getElementsByTagName('input').length) ? oTbl.getElementsByTagName('input') : oTbl.getElementsByTagName('textarea');
  x = 0;
  sKey = cmbChange(oCaller);
  for(var i=0;i<aInputs.length;i++){
    aTmp = aInputs[i].name.split('[');
    aInputs[i].style.display = (aTmp[aTmp.length-1] == sKey+']') ? '' : 'none';
    if (aTmp[aTmp.length-1] == sKey+']'){
      x = i;
    }
  }
  oFocus = aInputs[x];
  setTimeout('setFocus();',10);
}
function getSelectedSrcIcobox(sName){
  var oTbl = document.getElementById('bfIcoSel_'+sName);
  var oImg = oTbl.rows[0].cells[0].getElementsByTagName('img')[0];
  return oImg.src
}
function setSelectedIcobox(sName,sFile){
  if (typeof(sFile) == 'undefined' || sFile == ""){
    sFile = "main/blank.gif";
  }
  var oTbl = document.getElementById('bfIcoSel_'+sName);
  var oImg = oTbl.rows[0].cells[0].getElementsByTagName('img')[0];
  var oImgTbl = oTbl.rows[1].cells[0].getElementsByTagName('table')[0];
  var oInp = oTbl.getElementsByTagName('input')[0];
  var oImgs = oImgTbl.getElementsByTagName('img');
  for(var i=0; i< oImgs.length; i++){
    jsHelper.setClass(oImgs[i],0,'tab_sel');
  }
  for(var i=0; i< oImgs.length; i++){
    if (oImgs[i].src.search(sFile) != -1){
      jsHelper.setClass(oImgs[i],1,'tab_sel');
      oImg.src = oImgs[i].src;
    }
  }
  oInp.value = sFile;
}
function changeIcobox(oCaller){
  var oImgTbl = getTable(oCaller);
  var oTbl = getTable(oImgTbl.parentNode);
  var oImg = oTbl.rows[0].cells[0].getElementsByTagName('img')[0];
  var oInp = oTbl.getElementsByTagName('input')[0];
  oImg.src = oCaller.src;
  var oImgs = oImgTbl.getElementsByTagName('img');
  for(var i=0; i< oImgs.length; i++){
    if (oImgs[i].src.search(oInp.value) != -1){
      oImgs[i].className = oImgs[i].className.replace(/ tab_sel/,'');
      break;
    }
  }
  oCaller.className+= ' tab_sel';
  var aTmp = oCaller.src.split('/');
  oInp.value = aTmp[aTmp.length-2]+'/'+aTmp[aTmp.length-1];
}
function changeImgbox(oCaller){
  bfSmarty.changeImgbox(oCaller);
}
function resetImgbox(oCaller){
  bfSmarty.resetImgbox(oCaller);
}
function setFocus(){
  oFocus.select();
  oFocus.focus();
}
function insertPlaceholder(table,txt,sPH){
  if (!document.selection || typeof(txt.selectionStart) != 'undefined'){
    var iPos = txt.selectionStart;
    txt.value = txt.value.substring(0,txt.selectionStart) + sPH + txt.value.substring(txt.selectionEnd);
    txt.selectionStart = iPos + sPH.length;
    txt.selectionEnd = txt.selectionStart;
    iPos = txt.selectionStart;
  }else{
    txt.value += sPH;
    var iPos = txt.value.length;
  }
  if (document.selection){
    var oRange = txt.createTextRange();
    oRange.moveStart('character',iPos);
    oRange.collapse();
    oRange.select();
  }
  txt.focus();
  cmbOpen(table);
}
function getOptionValue(obj){
  for(var i=0; i< obj.length; i++){
    if (obj[i].checked){
      return obj[i].value;
      break;
    }
  }
}
function toggleLegend(oCaller){
  var oTbl = getTable(oCaller);
  for(var i=2; i<oTbl.rows.length; i++){
    oTbl.rows[i].style.display = (!oTbl.rows[i].style.display) ? 'none' : '';
  }
}
function toggleManual(oCaller){
  //var oTbl = getTable(oCaller);
  var bHead = 0;
  var oParent = oCaller.parentNode;
  var oTbody = oParent.nextSibling;
  while (oTbody != null && oTbody.tagName != 'TBODY'){
    oTbody = oTbody.nextSibling;
  }
  var bWasLast = (oTbody.rows[0].style.display == '') ? 1 : 0;
  /*
  for(var i=1; i<oTbl.rows.length; i++){
    bHead = (bHead) ? 0 : 1;
    if (!bHead && oTbl.rows[i].style.display == ''){
      oTbl.rows[i].style.display = 'none';
    }
  }
  */
  oTbody.rows[0].style.display = (bWasLast) ? 'none' : '';
}
function getLegendIcon(oCaller,bOut){
  if (bOut != null && bOut){
    bfInfo.close();
    oCaller.timeCounter = '';
  }else{
    oCaller.timeCounter = 'on';
    function doWork(){
      if (oCaller.timeCounter == 'on'){
        var oTbl = document.getElementById('_tbl_legend'); 
        var sHtml;
        for (var i=2; i<oTbl.rows.length; i++){
          if (oTbl.rows[i].cells.length>2){
            if (oTbl.rows[i].cells[1].innerHTML == oCaller.innerHTML){
              sHtml = '_a;<table class="table_plain" style="width:300px;"><tr class="tr_td_left_padding tr_td_top"><td width="1%">';
              sHtml+= oTbl.rows[i].cells[0].innerHTML+'</td><td width="20%" class="smallfont bold">'+oTbl.rows[i].cells[1].innerHTML;
              sHtml+= '</td><td width="79%" class="smallfont">'+oTbl.rows[i].cells[2].innerHTML;
              sHtml+= '</td></tr></table>';
              break;
            }
          }
        }
        bfInfo.show(null,'info',sHtml,null,15);
      }
    }
    setTimeout(doWork,1000);
  }
}
function dialogStatusReset(){
  shStatus.reset();
}
function getStruct(data){
  var sRet = '';
  var sPre = (getStruct.arguments.length>1) ? getStruct.arguments[1] : '';
  if (typeof(data) == "object"){
    for (x in data){
      var entry = data[x];
      sRet+= sPre+'['+x+'] => ';
      if (typeof(entry) == "object"){
        sRet+= '<br>';
        entry = getStruct(entry,sPre+'  ');
      }
      sRet+= entry+'<br>';
    }
  }else{
    sRet = data;
  }
  return sRet;
}
function getDscr(sKey){
  var sReturn = hCacheFldDscr['main'][sKey];
  var i = 0;
  while((sMatch = sReturn.match(/\%s/))){
    i++;
    if (getDscr.arguments.length>i){
      sReturn = sReturn.replace(sMatch,getDscr.arguments[i]);
    }
  }
  return sReturn;
}
function dialogHasXClose(oDialog){
  var aoTables = oDialog.getElementsByTagName('table');
  var oTable = null;
  for (var i=0;i < aoTables.length;i++){
    if (aoTables[i].lang && aoTables[i].lang == 'dialog_head'){
      oTable = aoTables[i];
      break;
    }
  }
  if (oTable){
    var aoDiv = oTable.getElementsByTagName('div');
    for (var i=0;i<aoDiv.length;i++){
      if (aoDiv[i].className && aoDiv[i].className.match(/close_button/)){
        return 1;
      }
    }
  }
  return 0;
}
function dialogSetTitel(sDialog,sTitel){
  var oDialog = document.getElementById('_dialog'+((sDialog) ? '_'+sDialog : ''));
  var aoTables = oDialog.getElementsByTagName('table');
  var oTable = null;
  for (var i=0;i < aoTables.length;i++){
    if (aoTables[i].lang && aoTables[i].lang == 'dialog_head'){
      oTable = aoTables[i];
      break;
    }
  }
  if (oTable){
    var oTd = oTable.getElementsByTagName('td')[0];
    var oCntr = (oTd.getElementsByTagName('span').length)
      ? oTd.getElementsByTagName('span')[0]
      : oTd;
    oCntr.innerHTML = sTitel;
  }
}
function dialogStatusAddPrintr(data){
  dialogStatusAdd('notice','<pre>'+getStruct(data)+'</pre>');
}
function dialogStatusAdd(sTyp,sMsg){
  shStatus.add(sTyp,sMsg);
}
function setEvent(oDst,sEvent,sEval){
  jsHelper.setEvent(oDst,sEvent,sEval);
}
function setClass(oTarget,bAdd,sName){
  if (bAdd){
    if (oTarget.className.indexOf(sName) < 0){
      oTarget.className += ' '+sName;
    }
  }else{
    if (oTarget.className.indexOf(sName) >= 0){
      if (hReg == null){
        hReg = new Object();
      }
      if (typeof(hReg[sName]) == 'undefined'){
        hReg[sName] = new RegExp(" ?\\b"+sName+"\\b",'g');
      }
      oTarget.className = oTarget.className.replace(hReg[sName],'');
    }
  }
}
function getRealStyle(oTgt,sCssRule,bToInt){
  if (typeof(bToInt) == 'undefined'){
    bToInt = 0;
  }
  var sValue = "";
  if (document.defaultView && document.defaultView.getComputedStyle){
    sValue = document.defaultView.getComputedStyle(oTgt,'').getPropertyValue(sCssRule);
  }else if (oTgt.currentStyle){
    sCssRule = sCssRule.replace(/\-(\w)/g, function (sMatch, sSub1){
      return sSub1.toUpperCase();
    });
    sValue = oTgt.currentStyle[sCssRule];
  }
  if (bToInt){
    var iRet = parseInt(sValue.replace(/[^0-9]*/g,''));
    return (isNaN(iRet)) ? 0 : iRet;
  }else{
    return sValue;
  }
}
function dialogTitleDrag(oEl, oEvent){
  var startX = oEvent.clientX;
  var startY = oEvent.clientY;
  var origX  = oEl.offsetLeft;
  var origY  = oEl.offsetTop;
  var deltaX = startX - origX;
  var deltaY = startY - origY;
  var iPageHeight      = document.documentElement.scrollHeight;
  var iPageWidth       = document.documentElement.scrollWidth;
  var iPageInnerHeight = document.documentElement.offsetHeight;
  var iPageInnerWidth  = document.documentElement.offsetWidth;
  var iPageScrollTop   = jsHelper.getBodyScrollTop();
  var iPageScrollLeft  = jsHelper.getBodyScrollLeft();
  var iHeadHeight = oEl.getElementsByTagName('td')[0].offsetHeight 
    + getRealStyle(oEl,'padding-top',1)
    + getRealStyle(oEl.getElementsByTagName('table')[0],'margin-top',1);
  if (document.addEventListener){
    document.addEventListener("mousemove", dialogMoveHandler, true);
    document.addEventListener("mouseup", dialogUpHandler, true);
  }else if (document.attachEvent){
    oEl.setCapture();
    oEl.attachEvent("onmousemove", dialogMoveHandler);
    oEl.attachEvent("onmouseup", dialogUpHandler);
    oEl.attachEvent("onlosecapture", dialogUpHandler);
  }
  if (oEvent.stopPropagation){
    oEvent.stopPropagation();
  }else{
    oEvent.cancelBubble = true;
  }
  if (oEvent.preventDefault){
    oEvent.preventDefault();
  }else{
    oEvent.returnValue = false;
  }
  function dialogMoveHandler(e){
    if (!e) {
      e = window.event;
    }
    var iLeft = e.clientX - deltaX;
    var iTop  = e.clientY - deltaY;
    if (iLeft < iPageScrollLeft){
      iLeft = iPageScrollLeft;
    }else if ((iLeft + oEl.offsetWidth) >= (iPageScrollLeft + iPageInnerWidth)){
      iLeft = iPageScrollLeft + iPageInnerWidth - oEl.offsetWidth;
    }else if (iLeft < 0){
      iLeft = 0;
    }else if ((iLeft + oEl.offsetWidth) >= iPageWidth){
      iLeft = iPageWidth - oEl.offsetWidth;
    }
    if (iTop < iPageScrollTop){
      iTop = iPageScrollTop;
    }else if ((iTop + iHeadHeight) >= (iPageScrollTop + iPageInnerHeight)){
      iTop = iPageScrollTop + iPageInnerHeight - iHeadHeight;
    }else if (iTop < 0){
      iTop = 0;
    }else if ((iTop + oEl.offsetHeight) >= iPageHeight){
      iTop = iPageHeight - oEl.offsetHeight;
    }
    oEl.style.left  = (iLeft) + "px";
    oEl.style.top   = (iTop) + "px";
    if (e.stopPropagation){
      e.stopPropagation();
    }else{
      e.cancelBubble = true;
    }
  }
  function dialogUpHandler(e){
    if (!e) {
      e = window.event;
    }
    if (document.removeEventListener){
      document.removeEventListener("mouseup", dialogUpHandler, true);
      document.removeEventListener("mousemove", dialogMoveHandler, true);
    }else if (document.detachEvent){
      oEl.detachEvent("onlosecapture", dialogUpHandler);
      oEl.detachEvent("onmouseup", dialogUpHandler);
      oEl.detachEvent("onmousemove", dialogMoveHandler);
      oEl.releaseCapture();
    }
    if (e.stopPropagation){
      e.stopPropagation();
    }else{
      e.cancelBubble = true;
    }
  }
}
function getParentDialog(oSrc){
  var oDialog = oSrc;
  while (oDialog != null && (oDialog.id == null || oDialog.id.substr(0,7) != '_dialog')){
    oDialog = oDialog.parentNode;
  }
  return oDialog;
}
function getTopDialog(){
  return ahOpenDialogs[ahOpenDialogs.length-1];
}
function dialogCloseByEsc(e){
  if (!e && window.event) {
    e = window.event;
  }
  if (e.type == 'keydown' && (e.which == 27 || e.keyCode == 27)){
    if (e.preventDefault) {
      e.preventDefault();
    } else {
      e.returnValue = false;
    }
    showDialog(0,sActDialog);
  }
}
function formatNumber(xIn){
  xIn = xIn.toString();
  var iNum = Number(xIn.replace(/,/,'.'));
  iNum = iNum.toFixed(2);
  var sRet = iNum.toString();
  return sRet.replace(/\./,',');
}
