//var IE = document.all?true:false;
//if (!bIE) document.captureEvents(Event.MOUSEMOVE)
//document.onmousemove = getMouseXY;
//var iPosX,iPosY;
var bInfoAutoHide = 0;
function getMouseXY(e) {
  if(bIE){
    iPosX = event.clientX + document.documentElement.scrollLeft;
    iPosY = event.clientY + document.documentElement.scrollTop;
  } else {
    iPosX = e.pageX;
    iPosY = e.pageY;
  }
  if (bInfoAutoHide){
    viewInfo();
  }
  return true;
}
function viewInfo(){
  var aArg   = viewInfo.arguments;
  var oLayer = document.getElementById('_info');
  if (aArg.length){
    bInfoAutoHide = (aArg.length < 5) ? 1 : 0;
    var sBasePic= aArg[0];
    var sHtml  = '';
    oLayer.innerHTML = '';
    oLayer.style.width = '';
    if (aArg[1] == 'info'){
      if (aArg[2].substr(0,3) == '_a;'){
        oLayer.style.width = 'auto';
        aArg[2] = aArg[2].substr(3);
      }
      sHtml+= '<span class="smallfont">'+aArg[2]+'</span>';
    }
    if (aArg[1] == 'limit'){
      sHtml+= '<table class="table_plain" width="100%">';
      sHtml+= '<tr class="tr_underline">';
      sHtml+= '<td width="1%"><img src="'+sBasePic+aArg[3]+'.gif" class="ico16"></td>';
      sHtml+= '<td width="99%" class="smallfont bold">';
      if (aArg[3] == 'bool'){
        sHtml+= '"Ja / Nein" - Feature';
      }else if (aArg[3] == 'max'){
        sHtml+= 'Der höchste Wert gewinnt';
      }else if (aArg[3] == 'min'){
        sHtml+= 'Der kleinste Wert gewinnt';
      }else if (aArg[3] == 'sum'){
        sHtml+= 'Addierendes Feature';
      }
      sHtml+= '</td>';
      sHtml+= '</tr>';
      sHtml+= '<tr>';
      sHtml+= '<td colspan="2" class="smallfont">'+aArg[2]+'</td>';
      sHtml+= '</tr>';
      sHtml+= '</table>';
    }
    var iWidth = 204;
    oLayer.innerHTML = sHtml;
    if (iPosX + iWidth > (document.documentElement.offsetWidth + jsHelper.getBodyScrollLeft())){

      oLayer.style.left = (iPosX - 0 - iWidth) - ((aArg[4] != null) ? aArg[4] : 0);
    }else{
      oLayer.style.left = (iPosX - 20) + ((aArg[4] != null) ? aArg[4] : 0);
    }
    if (iPosY + oLayer.clientHeight > (document.documentElement.offsetHeight + document.documentElement.scrollTop)){
      oLayer.style.top  = (iPosY - 0 - oLayer.clientHeight);
    }else{
      oLayer.style.top  = (iPosY - 20);
    }
    oLayer.style.display = 'block';
  }else{
    if (iPosY < oLayer.offsetTop - 5 || iPosY > oLayer.offsetTop + oLayer.clientHeight ||
        iPosX < oLayer.offsetLeft || iPosX > oLayer.offsetLeft + oLayer.clientWidth + 5){
      oLayer.style.display = 'none';
      oLayer.style.width = '';
    }
  }
}
function showHelp(sName){
  if (document.body.style.cursor == 'help'){
    var sTyp = document.getElementById('_help.'+sName).lang;
    var sAlt = document.getElementById('_help.'+sName).getAttribute('alt');
    var sHtml = sName+' '+sTyp;
    var sHtml = '<img src="'+_iconset+'obj/hourglass.gif'+'" class="ico16">';
    viewInfo(null,'info',sHtml,null,24);
    function getHelpData(){
      if (sTyp == 'limit'){
        var doc = xmlCall('/'+getSid()+'/data/getDscr/typ:'+sTyp+'/fld:'+sName);
        var entry = getHashFromChilds(doc.getElementsByTagName('xml')[0].childNodes);
        //fld typ name descr unit
        viewInfo(_iconset+'obj/limit_',sTyp,entry['descr'],entry['typ'],24);
      }else if (sTyp == 'info'){
        var aTmp = sAlt.split(':');
        var doc = xmlCall('/'+getSid()+'/data/getDscr/typ:'+sTyp+'/fld:'+sName+'/tmpl:'+aTmp[0]+'/mod:'+aTmp[1]);
        var entry = getHashFromChilds(doc.getElementsByTagName('xml')[0].childNodes);
        var oLayer = document.getElementById('_info');
        oLayer.innerHTML = '<span class="smallfont">'+entry['dscr']+'</span>';
      }
    }
    setTimeout(getHelpData,100);
    setTimeout(captureOnclick,500);
    switchHelpMode();
  }
}
function captureOnclick(){
  document.onclick = unshowHelp;
}
function unshowHelp(e){
  document.getElementById('_info').style.display = 'none'; 
  document.onclick = null;
}
function getRGB(sColor){
  if (sColor.indexOf('rgb') == 0){
    var aiRGB = sColor.match(/[0-9]{1,3}/g);
    var iSys = 10;
  }else{
    var aiRGB = sColor.match(/[0-9a-f]{2}/g);
    var iSys = 16;
  }
  for (var i=0;i<aiRGB.length;i++){
    aiRGB[i] = parseInt(aiRGB[i],iSys);
  }
  return aiRGB;
}
function switchHelpMode(){
  if (document.body.style.cursor=='help'){
    var bHelp = 0;
    document.body.style.cursor = 'default';
  }else{
    var bHelp = 1;
    document.body.style.cursor = 'help';
  }
  var oDia = document.getElementById('_dialog'+sActDialogSuf);
  if (oDia){
    oDia.style.cursor = document.body.style.cursor;
  }
  if (oDia && ahOpenDialogs && ahOpenDialogs.length){
    var aoSpan = oDia.getElementsByTagName('span');
  }else{
    var aoSpan = document.getElementById('_main').getElementsByTagName('span');
  }
  if (typeof(aoSpan.length) != 'undefined'){
    for (var i=0;i<aoSpan.length;i++){
      if (aoSpan[i].id && aoSpan[i].id.indexOf('_help.') == 0){
        var oShadow = aoSpan[i].parentNode.getElementsByTagName('span')[0];
        if (!bHelp){
          oShadow.style.display = 'none';
        }else{
          var aiRGB = getRGB(getRealStyle(aoSpan[i],'color',0));
          var dBrightness = 0.3 * aiRGB[0] + 0.59 * aiRGB[1] + 0.11 * aiRGB[2];
          oShadow.style.display = 'block';
          oShadow.style.color = (dBrightness > 128) ? '#333333' : '#FFFFFF';
          oShadow.style.position = 'absolute';
          oShadow.style.top = '-1px';
          if (oShadow.parentNode.parentNode.className.match(/(^| )right( |$)/)){
            oShadow.style.right = '1px';
          }else{
            oShadow.style.left = '-1px';
          }
        }
      }
    }
  }
}
function showLegendText(oCaller,bOut){
  bfInfo.showLegendText(oCaller,bOut);
}
function getLegendTextByImg(sSrc){
  var oTbl = document.getElementById('_tbl_legend');
  var hRet = {'title':'','descr':''};
  for (var i=2; i<oTbl.rows.length; i++){
    if (oTbl.rows[i].cells.length > 2){
      if (oTbl.rows[i].cells[0].getElementsByTagName('img')[0].src == sSrc){
        hRet['title'] = oTbl.rows[i].cells[1].innerHTML;
        hRet['descr'] = oTbl.rows[i].cells[2].innerHTML;
        break;
      }
    }
  }
  return hRet;
}
function restoreOpHref(oCaller){
  oCaller.setAttribute('href',oCaller.lang);
  oCaller.onmousedown = '';
}
