var popupCheckText = 'No text given';function swapMenu(id, show){
  var menu                 = document.getElementById(id);
  var innerMenu            = document.getElementById(id + 'Inner');
  var ifShim               = document.getElementById(id + 'Shim');
  if(show){
    menu.style.display   = 'block';
    
  }
  else{
    menu.style.display   = 'none';
    
  }
}
var SID = 'PHPSESSID=u288r9fepk9nu0rek5s2ifjlh5';

function byId(id){
  return dojo.byId(id);
}

function show(id){
  document.getElementById(id).style.display = 'block';
}

function hide(id){
  document.getElementById(id).style.display = 'none';
}

function imgRollover(id, newImg){
  document.getElementById(id).src = newImg;
}

function focusFirstInput(){
  if(document.forms){
    formsLabel:
    for(var i = 0; i < document.forms.length; i++){
      if(document.forms[i].elements){
        elements = document.forms[i].elements
        for(var j = 0; j < elements.length; j++){
          if(elements[j].style.display != 'none' &&
            !elements[j].disabled &&
             (elements[j].type == 'text' || elements[j].type == 'password' || elements[j].type == 'textarea') &&
             elements[j].value == ''){
             var focus = true;
             var node = elements[j];
             while((node = node.parentNode) !== window.document){
               if(node.style.display == 'none'){
                 var focus = false;
               }
             }
             if(focus){
               elements[j].focus();
               break formsLabel;
             }
          }
        }
      }
    }
  }
}

function wOpenHlp(url){
	var win = window.open(url, "winHlp", "left=125,top=110,width=535,height=590,resizable=yes,scrollbars=yes");
}

function wOpenNws(url){
	var win = window.open(url, "winNws", "left=125,top=110,width=535,height=590,resizable=yes,scrollbars=yes");
}

function wOpenOrd(url)
{
	var win = window.open(url,"winOrd","height=575,width=675,left=40,top=110,scrollbars=yes,resizable=yes,staus=no,location=no,menubar=no,toolbar=no");
}

function wOpenOrdPartner(url)
{
	var win = window.open(url,"winPartnerOrd","height=515,width=750,left=40,top=110,scrollbars=yes,resizable=yes,staus=no,location=no,menubar=no,toolbar=no");
}

function wOpenDet(url)
{
	var win = window.open(url,"winDet","height=600,width=600,left=40,top=110,scrollbars=yes,resizable=yes,staus=no,location=no,menubar=no,toolbar=no");
}

function wOpenPrint(url)
{
	var win = window.open(url,"winPrint","height=600,width=800,left=40,top=110,scrollbars=yes,resizable=yes,staus=no,location=no,menubar=no,toolbar=no");
}

function wOpenInvCheck(url)
{
	var win = window.open(url,"winInvCheck","height=600,width=800,left=40,top=110,scrollbars=yes,resizable=yes,staus=no,location=no,menubar=no,toolbar=no");
}

function swapImg(target, href){
  if(target.src){
    target.src = href;
  }
  else{
    document.getElementById(target).src = href;
  }
}

function loadLang(){
  dojo.io.bind({url: "lang/de.js",
                sync: true,
                mimetype: "text/javascript"
               });
}

function popupCheck(){
  return;
  var win = window.open('about:blank','win', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=100,height=100,top=0,left=0');
  if(win){
      win.close();
  }
  else{
    alert(lang['Sys']['popupCheck']);
  }
}

function hand(o){
  o.style.cursor = 'pointer';
}

function get_current_date(){
  var d = new Date();
  var day = d.getDate();
  if(day < 10){
    day = '0' + day;
  }
  var month = d.getMonth() + 1;
  if(month < 10){
    month = '0' + month;
  }
  var sDate = day + '.' + month + '.' + d.getFullYear();
  return sDate;
}

/*
function getWinWidth(){
  if(document.body.clientWidth){
    winWidth  = document.body.clientWidth;
  }
  else if(document.documentElement.clientWidth){
    winWidth  = document.documentElement.clientWidth;
  }
  else{
    winWidth  = window.innerWidth;
  }
  return winWidth;
}

function getWinHeight(){
  if(document.body.clientHeight){
    winWidth  = document.body.clientHeight;
  }
  else if(document.documentElement.clientHeight){
    winHeight = document.documentElement.clientHeight;
  }
  else{
    winHeight = window.innerHeight;
  }
  return winHeight;
}
*/


var srcProfileWidget = null;
var profileDialog;

function showSrcProfileDialog(){
  if(srcProfileWidget == null){
    var realUrl = "julit.php?page=Sys_SrcProfilesDialogRemote";
    if(SID){
      realUrl += '&' + SID;
    }
    dojo.io.bind({url: realUrl,
                  sync: true,
                  load: handleShowSrcProfileDialog,
                  error: function(){alert('An ajax error occured');},
                  //formNode: dojo.byId('catMainForm'),
                  mimetype: "text/html"
                 });
  }
  srcProfileWidget.show();
}

function handleShowSrcProfileDialog(type, data, evt){
  var oOptions = {id:               "profileDialog",
                  toggle:           "fade"
                 };
  srcProfileWidget = dojo.widget.createWidget("dialog", oOptions, byId('dojoSrcProfileDialogContainer'));
  srcProfileWidget.setContent(data);
  srcProfileWidget.setCloseControl('btnCancelProfileDialog');
  srcProfileWidget.setCloseControl('windowProfileCloserX');
  byId("ctrlsSrcProfilesUser").onclick = function(){setSrcProfileErrMsg("")};
  byId("ctrlsSrcProfilesSystem").onclick = function(){setSrcProfileErrMsg("")};
  byId("ctrlsSrcProfilesAdmin").onclick = function(){setSrcProfileErrMsg("")};
  byId("btnDeleteProfile").onclick = deleteUserSrcProfile;
  byId("btnLoadProfile").onclick = loadUserSrcProfile;
  byId("btnExecuteProfile").onclick = executeSrcProfile;
  byId("ctrlsSrcProfilesMode").onchange = checkSrcProfilesFields;
  profileDialog = srcProfileWidget.domNode;
  new dojo.dnd.HtmlDragMoveSource(profileDialog);
  profileDialog.onmouseover = function(){
    profileDialog.style.cursor = "move";
  }
  checkSrcProfilesFields();
}

var goToWidget = null;
var goToDialog;

function showGoToDialog(){
  if(goToWidget == null){
    var realUrl = "julit.php?page=Sys_GoToDialogRemote";
    if(SID){
      realUrl += '&' + SID;
    }
    dojo.io.bind({url: realUrl,
                  sync: true,
                  load: handleGoToDialog,
                  error: function(){alert('An ajax error occured');},
                  mimetype: "text/html"
                 });
  }
  goToWidget.show();
  window.setTimeout(function(){
    byId("goToNumber").focus();
  }, 100);
}

function handleGoToDialog(type, data, evt){
  var oOptions = {id:               "goToDialog",
                  toggle:           "fade"
                 };
  goToWidget = dojo.widget.createWidget("dialog", oOptions, byId('dojoGoToDialogContainer'));
  goToWidget.setContent(data);
  goToWidget.setCloseControl('btnGoToCancel');
  goToWidget.setCloseControl('windowGoToCloserX');
  byId("btnGoToOk").onclick = goTo;
  byId("goToNumber").onkeyup = function(e) {
    if (!e) var e = window.event;
    var key = e.keyCode ? e.keyCode : e.charCode;
    if (13 == key) {
      goTo();
      e.preventDefault();
    }
  }
  goToDialog = goToWidget.domNode;
  new dojo.dnd.HtmlDragMoveSource(goToDialog);
  goToDialog.onmouseover = function(){
    goToDialog.style.cursor = "move";
  }
}

function goTo(){
  byId('goToErrMsg').innerHTML = '';
  var realUrl = "julit.php?page=Sys_GoToDialogRemote";
  if(SID){
    realUrl += '&' + SID;
  }
  dojo.io.bind({url: realUrl,
                sync: true,
                load: handleGoTo,
                error: function(){alert('An ajax error occured');},
                mimetype: "text/json",
                method: 'post',
                content: {
                  goToNumber: byId('goToNumber').value
                }
               });
}

function handleGoTo(type, data, evt){
  if (data.error) {
    byId('goToErrMsg').innerHTML = data.error;
  } else if (data.url) {
    location.href = data.url;
  } else {
    alert('Unknown error');
  }
}


var chPassWidget = null;
var chPassDialog;

function showChPassDialog(){
  if(chPassWidget == null){
    var realUrl = "julit.php?page=Sys_ChPassDialogRemote";
    if(SID){
      realUrl += '&' + SID;
    }
    dojo.io.bind({url: realUrl,
                  sync: true,
                  load: handleChPassDialog,
                  error: function(){alert('An ajax error occured');},
                  mimetype: "text/html"
                 });
  }
  chPassWidget.show();
}

function handleChPassDialog(type, data, evt){
  var oOptions = {id:               "chPassDialog",
                  toggle:           "fade"
                 };
  chPassWidget = dojo.widget.createWidget("dialog", oOptions, byId('dojoChPassDialogContainer'));
  chPassWidget.setContent(data);
  chPassWidget.setCloseControl('btnChPassCancel');
  chPassWidget.setCloseControl('windowChPassCloserX');
  byId("btnChPassExecute").onclick = chPass;
  chPassDialog = chPassWidget.domNode;
  new dojo.dnd.HtmlDragMoveSource(chPassDialog);
  chPassDialog.onmouseover = function(){
    chPassDialog.style.cursor = "move";
  }
}

function chPass(){
  var realUrl = "julit.php?page=Sys_ChPassDialogRemote";
  if(SID){
    realUrl += '&' + SID;
  }
  dojo.io.bind({url: realUrl,
                sync: true,
                load: handleChPass,
                formNode: dojo.byId('chPassForm'),
                error: function(){alert('An ajax error occured');},
                mimetype: "text/json",
                method: 'post'
               });
}

function handleChPass(type, data, evt){
  if (data.error) {
    byId('chPassErrMsg').innerHTML = data.error;
  } else if (data.chPwOk) {
    byId('chPassCurrentPw').value = '';
    byId('chPassNewPw').value = '';
    byId('chPassNewPwAgain').value = '';
    byId('chPassErrMsg').innerHTML = '';
    chPassWidget.hide();
    alert(data.chPwOk);
  } else {
    alert('Unknown error');
  }
}


var inventoryCheckWidget = null;
var inventoryCheckDialog;

function showInventoryCheckDialog(){
  if(inventoryCheckWidget == null){
    var realUrl = "julit.php?page=Sys_InventoryCheckDialogRemote";
    if(SID){
      realUrl += '&' + SID;
    }
    dojo.io.bind({url: realUrl,
                  sync: true,
                  load: handleShowInventoryCheckDialog,
                  error: function(){alert('An ajax error occured');},
                  mimetype: "text/html"
                 });
  }
  inventoryCheckWidget.show();
}

function handleShowInventoryCheckDialog(type, data, evt){
  var oOptions = {id:               "inventoryCheckDialog",
                  toggle:           "fade"
                 }
  inventoryCheckWidget = dojo.widget.createWidget("dialog", oOptions, byId('dojoInventoryCheckDialogContainer'));
  inventoryCheckWidget.setContent(data);
  inventoryCheckWidget.setCloseControl('btnCancelInvCheckDialog');
  inventoryCheckWidget.setCloseControl('windowInvCheckCloserX');
  byId("btnExecuteInvCheckDialog").onclick = executeInvCheck;
  inventoryCheckDialog = inventoryCheckWidget.domNode;
  new dojo.dnd.HtmlDragMoveSource(inventoryCheckDialog);
  inventoryCheckDialog.onmouseover = function(){
    inventoryCheckDialog.style.cursor = "move";
  }
}

function executeInvCheck(){
  viewMode = byId("ctrlsInvCheck").value;
  switch(viewMode){
    case 'sysInvCheckResult':
      var realUrl = "julit.php?page=Src_NewSrc&srcProfileKey=" + encodeURIComponent(viewMode);
      break;
    case 'invCheckReportHtml':
      wOpenInvCheck("julit.php?page=Pop_InvCheckHtml");
      return;
      break;
    case 'invCheckReportPdf':
      //wOpenInvCheck("julit.php?page=Sys_InvCheckPdf");
      window.location.href = "julit.php?page=Sys_InvCheckPdf";
      return;
      break;
    default:
      alert('Error: Invalid inventory check view');
      return;
  }
  if(SID){
    realUrl += '&' + SID;
  }
  self.location.href = realUrl;
}

function doInventoryUpdate(reset){
  var div = document.createElement('div');
  document.getElementsByTagName('body')[0].appendChild(div);
  var oOptions = {id: "inventoryUpdateWidget"
                 };
  var inventoryUpdateWidget;
  inventoryUpdateWidget = dojo.widget.createWidget("dialog", oOptions, div);
  inventoryUpdateWidget.setContent('<p>' + ((reset) ? lang.Adm.invUpdateResetRunning : lang.Adm.invUpdateRunning) + '</p><p id="invUpdateLoading"></p>');
  inventoryUpdateWidget.show();
  var loader = window.setInterval(function(){
    var invUpdateLoading = byId('invUpdateLoading');
    invUpdateLoading.innerHTML = invUpdateLoading.innerHTML + '&middot; ';
  }, 500);
  var realUrl = "julit.php?page=Sys_InventoryUpdateRemote";
  if(reset){
    realUrl += '&reset=1';
  }
  if(SID){
    realUrl += '&' + SID;
  }
  dojo.io.bind({url: realUrl,
                load: function(type, data, evt){
                  window.clearInterval(loader);
                  //var btnClose = '<p><input class="button" type="button" onclick="dojo.widget.byId(\'inventoryUpdateWidget\').destroy()" value="' + lang.Adm.invUpdateClose + '" /></p>';
                  var btnClose = '<p><input class="button" type="button" onclick="location.reload()" value="' + lang.Adm.invUpdateClose + '" /></p>';
                  if(data.error){
                    content = '<p><strong>' + ((reset) ? lang.Adm.invUpdateResetFailed : lang.Adm.invUpdateFailed) + '</strong><br />' + data.error + '</p>';
                  } else {
                    content = '<p><strong>' + ((reset) ? lang.Adm.invUpdateResetSuccessful : lang.Adm.invUpdateSuccessful) +'</strong></p>';
                  }
                  content = content + btnClose;
                  inventoryUpdateWidget.setContent(content);
                },
                error: function(){
                  window.clearInterval(loader);
                  dojo.widget.byId('inventoryUpdateWidget').destroy();
                  alert('An ajax error occured');
                },
                mimetype: "text/json"
               });
}

function showSuccessMsgDialog(msg){
  var successMsgWidget;
  if(successMsgWidget = dojo.widget.byId('successMsgWidget')){
    successMsgWidget.show();
    return;
  }
  var div = document.createElement('div');
  document.getElementsByTagName('body')[0].appendChild(div);
  //div.innerHTML = msg;
  var oOptions = {id: "successMsgWidget"
                 };
  successMsgWidget = dojo.widget.createWidget("dialog", oOptions, div);
  successMsgWidget.setContent(msg);
  successMsgWidget.setCloseControl('btnSuccessMsgDialogClose');
  successMsgWidget.show();
}

function checkSrcProfilesFields(){
    var mode = byId("ctrlsSrcProfilesMode").value;
    switch(mode){
      case 'user':
        dojo.html.addClass(byId("ctrlsSrcProfilesSystem"), "hidden");
        dojo.html.addClass(byId("ctrlsSrcProfilesAdmin"), "hidden");
        dojo.html.removeClass(byId("ctrlsSrcProfilesUser"), "hidden");
        dojo.byId("btnDeleteProfile").style.visibility = 'visible';
        dojo.byId("btnLoadProfile").style.visibility = 'visible';
        break;
      case 'system':
        dojo.html.addClass(byId("ctrlsSrcProfilesUser"), "hidden");
        dojo.html.addClass(byId("ctrlsSrcProfilesAdmin"), "hidden");
        dojo.html.removeClass(byId("ctrlsSrcProfilesSystem"), "hidden");
        dojo.byId("btnDeleteProfile").style.visibility = 'hidden';
        dojo.byId("btnLoadProfile").style.visibility = 'hidden';
        break;
      case 'admin':
        dojo.html.addClass(byId("ctrlsSrcProfilesUser"), "hidden");
        dojo.html.addClass(byId("ctrlsSrcProfilesSystem"), "hidden");
        dojo.html.removeClass(byId("ctrlsSrcProfilesAdmin"), "hidden");
        dojo.byId("btnDeleteProfile").style.visibility = 'hidden';
        dojo.byId("btnLoadProfile").style.visibility = 'hidden';
        break;
    }
    setSrcProfileErrMsg("");
}

function deleteUserSrcProfile(){
  if(byId("ctrlsSrcProfilesMode").value != 'user'){
    setSrcProfileErrMsg("onlyUserProfileDelete");
    return null;
  }
  var selectedCnt = 0;
  for(i = 0; i < byId("ctrlsSrcProfilesUser").options.length; i++){
    if(byId("ctrlsSrcProfilesUser").options[i].selected == true){
      selectedCnt++;
    }
  }
  if(selectedCnt != 1){
    setSrcProfileErrMsg("chooseOneProfile");
    return null;
  }
  var realUrl = "julit.php?page=Sys_SrcProfileAdministrationRemote";
  if(SID){
    realUrl += '&' + SID;
  }
  ctrlsSrcProfilesUser = byId("ctrlsSrcProfilesUser");
  id = ctrlsSrcProfilesUser.options[ctrlsSrcProfilesUser.selectedIndex].value;
  realUrl += '&action=delete&id=' + parseInt(id);
  dojo.io.bind({url: realUrl,
                load: function(type, data, evt){
                  if(data[0] == 'OK'){
                    ctrlsSrcProfilesUser.options[ctrlsSrcProfilesUser.selectedIndex] = null;
                    setSrcProfileErrMsg('srcProfileDeleteSuccess');
                  }
                  else{
                    setSrcProfileErrMsg(data[1]);
                  }
                },
                error: function(){alert('An ajax error occured: Request failed');},
                mimetype: "text/json"
               });
}

function loadUserSrcProfile(){
  if(byId("ctrlsSrcProfilesMode").value != 'user'){
    setSrcProfileErrMsg("onlyUserProfileLoad");
    return null;
  }
  var selectedCnt = 0;
  for(i = 0; i < byId("ctrlsSrcProfilesUser").options.length; i++){
    if(byId("ctrlsSrcProfilesUser").options[i].selected == true){
      selectedCnt++;
    }
  }
  if(selectedCnt != 1){
    setSrcProfileErrMsg("chooseOneProfile");
    return null;
  }
  var realUrl = "julit.php?page=Sys_SrcProfileAdministrationRemote";
  if(SID){
    realUrl += '&' + SID;
  }
  var ctrlsSrcProfilesUser = byId("ctrlsSrcProfilesUser");
  id = ctrlsSrcProfilesUser.options[ctrlsSrcProfilesUser.selectedIndex].value;
  realUrl += '&action=load&id=' + parseInt(id);
  dojo.io.bind({url: realUrl,
                load: function(type, data, evt){
                  if(data[0] == 'OK'){
                    location.href = "julit.php?page=Src_NewSrc";
                  }
                  else{
                    setSrcProfileErrMsg(data[1]);
                  }
                },
                error: function(){alert('An ajax error occured: Request failed');},
                mimetype: "text/json"
               });
}

function executeSrcProfile(){
  var selectedCnt = 0;
  var mode = byId("ctrlsSrcProfilesMode").value;
  var profileSelectID;
  switch(mode){
    case 'user':
      profileSelectID = "ctrlsSrcProfilesUser";
      break;
    case 'system':
      profileSelectID = "ctrlsSrcProfilesSystem";
      break;
    case 'admin':
      profileSelectID = "ctrlsSrcProfilesAdmin";
      break;
    default:
      profileSelectID = "ctrlsSrcProfilesSystem";
      break;
  }
  for(i = 0; i < byId(profileSelectID).options.length; i++){
    if(byId(profileSelectID).options[i].selected == true){
      selectedCnt++;
    }
  }
  if(selectedCnt != 1){
    setSrcProfileErrMsg("chooseOneProfile");
    return null;
  }
  var srcProfileKey = 'unknown';
  switch(mode){
    case 'user':
      srcProfileKey = byId("ctrlsSrcProfilesUser").options[byId("ctrlsSrcProfilesUser").selectedIndex].value;
      break;
    case 'system':
      srcProfileKey = byId("ctrlsSrcProfilesSystem").options[byId("ctrlsSrcProfilesSystem").selectedIndex].value;
      break;
    case 'admin':
      srcProfileKey = byId("ctrlsSrcProfilesAdmin").options[byId("ctrlsSrcProfilesAdmin").selectedIndex].value;
      break;
  }
  var realUrl = "julit.php?page=Src_NewSrc&srcProfileKey=" + encodeURIComponent(srcProfileKey);
  if(SID){
    realUrl += '&' + SID;
  }
  self.location.href = realUrl;
}


function submitSrcForm(){
  byId("srcForm").submit();
}

function submitSrcSimpleForm(){
  byId("srcSimpleForm").submit();
}

function setSrcProfileErrMsg(msgID){
  byId("srcProfileErrMsg").innerHTML = (msgID == "") ? "" : byId(msgID).innerHTML;
}

function addToFavorites(menuParam){
      alert('not supported');
  }

function checkAllCheckboxesByClassName(toggler, className){
  var cbs = dojo.html.getElementsByClass(className);
  for(var i=0; i < cbs.length; ++i){
    cbs[i].checked = toggler.checked;
  }
}

