/* $Id: index.js 24627 2011-11-23 06:39:50Z jde $ */
var perOrder = "PER_NAME";
var vorOrder = "ERSTELLT";
var maxCount = 0;
var docOrder = "DOC_ID";
var subnavid = "";
var perBlob = "";
var loginBlob = "";
var VORGANG = "";
var XVORS = new Array();
var importFile = "";
var savePerson="";
var maxKommentarLaenge = "700";
var selIndex = 0;
var AutoLogin = false;

function window.onload() {
  initPlg();
  initNav();
  sbiplg.InitDialogSet("dialogs"+countrysuff+".xml");
  sbiplg.DoProcess("process"+countrysuff+".xml");
  document.attachEvent('oncontextmenu',doc_oncontextmenu);
  maxCount = compute("A_BASE_MaxCount");
  setTitleT1(document.title);
}
function window.onunload(){
  if(!beenden) closeWindow();
}
function initPlg() {
  sbiplg_init(getModel());
  if(!sbiplg_isInitialized) return;
  sbiplg.InitConfiguration("config.xml");
  initSetting();
  setVarsParameter();
  setLanguage(compute("A_BASE_Sprache"));
  // sicherheitshalber komplett raus
  // setTimeout('atlbplugin.ShowPlakette(1, 3, compute("F_BASE_Produkt"), compute("F_BASE_Version"))',600);
}

function initPlg2(data) {
  if (sbiplg2.loadsession(getModel())) {
    if(data.length > 0) {
      sbiplg2.base64data = data;
      sbiplg2.restorexmlsession();
    }
    return true;
  }
  return false;
}

function getModel() {
  return "models/basep.prt";
}

function initNav() {
  frKopfzeile.location.href = "kopfzeile.html";
  frNavInfo.location.href = "nav/navinfo.html";
  frFusszeile.location.href = "fusszeile.html";
}

function getPerson() {
  return compute("A_ASS_Person", "0");
}
function setPerson(person) {
  sbiplg_setvar("A_ASS_Person", person);
}


function isP2() {
  return (compute("A_PERi", "1") == "2" ? true : false);
}
function isFirma() {
  return (compute("A_PER_Type") == "f" ? true : false);
}

function isStiftung() {
  return (compute("A_PER_Type") == "s" ? true : false);
}

function resetBlob() {
  perBlob = "";
}
function saveBlob() {
  perBlob = getPerBlob();
}
function checkBlob() {
  if (perBlob == "") return;
  var perBlobMod = getPerBlob();
  if (perBlob == perBlobMod) return;
  if (!isAllowed("kv_save")) return;
  if(showMessage(translate(this, "Daten speichern?"),2,translate(this, "Ja"),translate(this, "Nein"))) savePer();
  else resetBlob();
}
function getPerBlob() {
  // Es werden absichtlich nicht die Mehrfachinstanzen gelöscht
  // da diese wahrscheinlich auch nie auftreten.  [0..255;0..255] jde
  // sbiplg_writeXmlData("c:\\01_vor.xml");
  sbiplg_clone();
  sbiplg_removevar("A_PER_Erstellt");
  sbiplg_removevar("A_PER_Revidiert");
  sbiplg_removevar("A_BASE*");
  sbiplg_removevar("A_BEA*");
  sbiplg_removevar("A_ORG*");
  sbiplg_removevar("A_BORG*");
  sbiplg_removevar("A_VOR*");
  sbiplg_removevar("A_XVOR*");
  sbiplg_removevar("A_ASS*");
  sbiplg.storexmlsession();
  var out = sbiplg.storeddata; // storeddata base64data
  // sbiplg_writeXmlData("c:\\01_nach.xml");
  sbiplg_closeclones();
  sbiplg.storexmlsession();
  return out;
}
function savePer() {
  if(!isP2()) delP2();
  if (UPDATE_PER()) {
    showMessage(translate(this, "Daten wurden gespeichert."));
  }
}
function delP2() {
  sbiplg_removevar("A_PER*[1]");
  //sbiplg_removevar("A_KND*[1]");
  sbiplg_removevar("A_ZIV*[1]");
  sbiplg_removevar("A_ASL*[1]");
  sbiplg_removevar("A_AIK*[1]");
  sbiplg_removevar("A_HOB*[1]");
  sbiplg_removevar("A_FZI*[1]");
  sbiplg_removevar("A_BVS*[1]");
  sbiplg_removevar("A_PVS*[1]");
  sbiplg_removevar("A_NTZ*[1]");
  sbiplg_removevar("A_IMM*[1]");
  sbiplg_removevar("A_LIQ*[1]");
  sbiplg_removevar("A_DAR*[1]");
  sbiplg_removevar("A_SON*[1]");
  sbiplg_removevar("A_PEE*[1]");
  sbiplg_removevar("A_ZNE*[1]");
  sbiplg_removevar("A_DEA*[1]");
  //sbiplg_removevar("A_HHA*[1]");
  //sbiplg_removevar("A_ASS*[1]");
  sbiplg_removevar("A_VOR*[1]");
  sbiplg_removevar("A_XVOR*[1]");
}

function initBlob() {
  sbiplg_setvar("$nil", "$nil");
  setModelData(loginBlob);
}

function setReg(code) {
  var i = 1;
  var control = frMain.frReg.document.all.item("reg"+String(i++));
  if (!control) control = frMain.frReg.document.all.item("reg"+String(i++));
  while (control) {
    var cl = getCl(control);
    if (control.className==cl+"_a") setEnabled(control);
    if(control.reg.substring(0,2) == code.substring(0,2)) {
      setAktiv(control);
      setRegTitle(control);
    }
    control = frMain.frReg.document.all.item("reg"+String(i++));
  }
  subnavid = code;
}

function setRegTitle(control) {
  if(!control) return;
  var lbl = (control.originText ? control.originText : control.innerText);
  setTitle(null,lbl,"");
}


function setSubNav() {
  if (subnavid == "") return;
  if (frMain.frRegBodyNav.paintSubnav) frMain.frRegBodyNav.paintSubnav(subnavid);
  subnavid = "";
}

function setSubNavTitle(control) {
  if(!control) return;
  var lbl = (control.originText ? control.originText : control.innerText);
  setTitle(null,null,lbl);
}

function showBaustein() {
  sbiplg_debugPrintLine("JS: START showBaustein()");
  var separator = sbiplg.GetConfigString("CONFIG.URLPARAM", "value","&");
  var vorid = getVOR_ID();

  var par = "BORG_ID="+getBORG_ID() + separator+"PER_ID="+getPER_ID() + separator+"VOR_ID="+vorid;
  par = par + separator+"is3C=1" + separator+"lang="+language;
  if(vorid == "") {
    par = par + separator +"BST_ID="+compute("A_VOR_Bstein_ID") + separator+"PER_DATA="+compute("A_Vor_Vorbelegung");
    par = par + separator +"kommentar="+encodeURIComponent(escape(delCR(compute("A_VOR_Kommentar"))));
  }
  if (!config_refreshbeadata()) par = par + separator+"rolle="+escape(getRolle());
  if (config_importfile() && importFile) par = par + separator+"importFile="+importFile;

  if (atlbplugin.Is3CBaseActive() == 1) {
    atlbplugin.Execute3CBase("3CBaseBST?"+par);
  } else {
    CALL_WRITE_LOG(compute("A_VOR_Bstein_ID"));
    par = root+"app/api/index.html?"+par;
    if (showbstdef == "ie") atlbplugin.ExecuteIEplorer(par);
    if (showbstdef == "browser") atlbplugin.OpenNewBrowserWindow(par);
    if (showbstdef == "wsh") sbiplg_execute("wscript.exe \""+sbiplg.GetConfigString("CONFIG.WSHPATH", "value",".")+"\\start.js\" \"" + par+"\"");
    if (showbstdef == "3c") sbiplg_execute("wscript.exe \""+sbiplg.GetConfigString("CONFIG.WSHPATH", "value",".")+"\\start.3c\" \"" + par+"\"");
    //window.open(par,null,"height=600,width=800,directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,titlebar=no,toolbar=no");
    //window.showModalDialog("app/"+bsturl, this, "dialogHeight: 600px; dialogWidth: 800px; help: no; status: no;");
  }
  importFile = "";
  //sbiplg.ExitProcess(2); // Falls showModalDialog
  sbiplg_debugPrintLine("JS: STOP showBaustein()");
}

function showTooltip(obj) {
  showMessage(translateTT(obj.tooltip_text), 2, null, null);
}

function showURL(obj) {
  window.open(obj.targeturl,null,"height=768,width=1024,resizable,scrollbars,menubar,location"); 
  }

function resetSearch(){
  maxCount = 0; 
}

function setLastEditSearch(){
  maxCount = compute("A_BASE_MaxCount"); 
}

function copyDatensatz(obj,subObj){
  if(!showMessage(top.translate(this, "Satz wirklich kopieren?"),2,top.translate(this, "Ja"),top.translate(this, "Nein"))) return;
  
  var p = getPerson();
  var copyto = p == 0 ? 1: 0;
  var cntToObj = compute(obj+"i["+copyto+"]");
  var attrArrObj = getChoiceArrayMessage("$ATTRIBUTES("+obj+"_*)");
  var index = frMain.frSM1.sel.INDEX;
  var herkunft = "IC";
  
  for (var i = 0; i < attrArrObj.length; i++){
    if(attrArrObj[i].indexOf(subObj) == -1)
      if(compute("undefined(\""+attrArrObj[i]+"\";"+p+";"+index+")") == 0){
        if(attrArrObj[i].indexOf("Herkunft") > -1)
          sbiplg_setvar(attrArrObj[i]+"["+copyto+";"+cntToObj+"]",herkunft);
        else
          sbiplg_setvar(attrArrObj[i]+"["+copyto+";"+cntToObj+"]",compute(attrArrObj[i]+"["+p+";"+index+"]"));
      }
  }
  sbiplg_setvar(obj+"i["+copyto+"]",parseInt(cntToObj)+1);
  
  if(subObj != null){
    var cnt = compute(subObj+"i["+p+";"+index+"]");
    var attrArrSubObj = getChoiceArrayMessage("$ATTRIBUTES("+subObj+"_*)");
    var cnti = compute("F_GLB_AnzahlIndizes(\""+subObj+"\";"+p+";"+index+")");
    for (var j = 0; j < attrArrSubObj.length; j++){
      for (var k = 0; k < cnt; k++){
        if(cnti == "3")
          sbiplg_setvar(attrArrSubObj[j]+"["+copyto+";"+cntToObj+";"+k+"]",compute(attrArrSubObj[j]+"["+p+";"+index+";"+k+"]"));
        else if(cnti == "4"){
          var cnt2 = compute(subObj+"ii["+p+";"+index+";"+k+"]");
          for (var m = 0; m < cnt2; m++)
            sbiplg_setvar(attrArrSubObj[j]+"["+copyto+";"+cntToObj+";"+k+";"+m+"]",compute(attrArrSubObj[j]+"["+p+";"+index+";"+k+";"+m+"]"));
        }
      }
      sbiplg_setvar(subObj+"i["+copyto+";"+cntToObj+"]",cnt);
      }
    }
}

function setVarsWithDefaults(sMit) {
  if(sMit != "") {
    var aAttrib = sMit.split('#');
    for(var i = 0; i < aAttrib.length; i++){
      if (aAttrib[i] != "" ) sbiplg_setvar(aAttrib[i], compute( aAttrib[i]+".default", "" ));
    }
  }
  return (sMit != "");
}

function setVars(sMit) {
  if(sMit != "") {
    var aMitPaar = sMit.split('#');
    for(var i = 0; i < aMitPaar.length; i++){
      var aMit = aMitPaar[i].split('=');
      if (aMit[0] != "" && aMit[1] != "") sbiplg_setvar(aMit[0], aMit[1]);
    }
  }
  return (sMit != "");
}

function setSelIndex(sel){
  selIndex=sel;  
}

function getSelIndex(){
  return selIndex;
}



function checkIKData(){ // Initialisierung IK Auszug gemäss Mantis 3779
  
  if(top.compute("F_ASS_CockpitCheckEnabled(1106)")=='0') return;
  	
  var changed = false;
  
  for(var p=0; p < parseInt(top.compute("A_PERi","1")); p++){
   if(top.compute("A_AIKi["+p+"]") == 0) continue;
   
   if (top.compute("A_AIK_Berechnungsart["+p+"].isExakt")=="1"){
     continue;
     
   }else{
     var countIst = parseInt(top.compute("A_AIKi["+p+"]"));
     var countSoll = parseInt(top.compute("F_AHV_AnzahlJahren("+p+")"));
     var lastBetrJahr = parseInt(top.compute("a_AIK_Jahr["+p+";"+eval(countIst-1)+"]"));
     var sollBetrJahr = parseInt(top.compute("F_AHV_MinBetragJahr("+p+")"))+countSoll;
     
     if (top.compute("A_AIK_Berechnungsart["+p+"].isMax")=="1"){
       var actBetrag = top.compute("F_AHV_JahrMaxBetrag");  
       var oldBetrag = "0";
       for(var oldik = 0; oldik < countIst; oldik++){
         oldBetrag = top.compute("A_AIK_Betrag["+p+";"+oldik+"]");
         if(oldBetrag != "0") break;
       }
       if(oldBetrag != "0" && oldBetrag != actBetrag){
         for(var i = 0; i < countIst; i++){
           oldBetrag = top.compute("A_AIK_Betrag["+p+";"+i+"]");
           if(oldBetrag != "0") {
             top.sbiplg_setvar("A_AIK_Betrag["+p+";"+i+"]", actBetrag);
             changed = true;
           }
         }
       }
     }
     
     for (var j = lastBetrJahr+1; j < sollBetrJahr; j++) {
       top.sbiplg_setvar("A_AIKi["+p+"]", countIst+1);
       top.sbiplg_setvar("a_AIK_Jahr["+p+";"+countIst+"]", j);
       changed = true;
       countIst++;
     }
   }
    
  }
  if(changed) showMessage(translate(this, "Der IK-Auszug wurde angepasst."));
}



