// customer.js

// copyright  bpm consult ag, CH-Birsfelden
// contact    webdev@bpm.ch
// license    restricted

// version history:
// 2.7.1-0  16.02.2010  sb  initial release
// 2.7.2-0  05.07.2010  sb  checkall fixed [BEE-4544]
// 2.7.2-1  07.07.2010  sb  alert message bos added [DRD-412]
// 3.0.0-0  17.12.2010  sb  beeline 3 compatibility added
// 3.0.0-1  09.05.2011  sb  replace max450 with textarea counter
// 3.0.0-2  12.05.2011  sb  show text window enhanced [DRD-660]
// 3.0.3-0  07.09.2011  sb  notepad edit added [DRD-713]
// 3.0.3-1  30.09.2011  sb  clearCheck added [DRD-713]

// execute on domReady and on ajaxChanges
beeline.web.afterInit = function(El){

  // detail: show text in window
  El.select('.showText').each(function(ShowText){
    ShowText.on('click', function(EventObj, TargetObj){
      EventObj.stopEvent();
      var text = Ext.get(TargetObj).parent('p').select('.hiddenText').item(0).dom.innerHTML;
      new beeline.web.Alert({
        title: El.select('.excerpt').item(0).first().dom.innerHTML,
        content: text + '<p class="alertboxButton"><span class="button"><input class="alertboxClose" type="reset" name="close" value="OK"/></span></p>'
      });
      return false;
    });
  });
 
  // result: expand hover item
  El.select('.resultContent').each(function(Result){
    Result.select('p.list').each(function(ResultItem){
      ResultItem.on('mouseover', function(event, target){
        Current = Ext.get(target);
        if ((Current.hasClass('list')) && (Current.hasClass('biginfo') == false)) {
          Result.select('p.list').setStyle('display', 'block');
          Result.select('p.biginfo').setStyle('display', 'none');
          Current.setStyle('display', 'none');
          Current.next().setStyle('display', 'block');
        }
      });
    });
  });

  // hide top section
  El.select('.top').each(function(Top){
    MinusPlus = Top.select('img').item(0);
    function topExpand(){
      Top.removeClass('reduced');
      MinusPlus.removeClass('plus');
      MinusPlus.addClass('minus');
    }
    function topReduce(){
      Top.addClass('reduced');
      MinusPlus.removeClass('minus');
      MinusPlus.addClass('plus');
    }
    if (Top.hasClass('reduced')) {
      topReduce();
    }
    else {
      topExpand();
    }
    MinusPlus.on('click', function(){
      if (Top.hasClass('reduced')) {
        topExpand();
      }
      else {
        topReduce();
      }
    });
  });

  // alert message box [DRD-412]
  if (Ext.isObject(Ext.get('alert'))) {
    if (Ext.get('alert').dom.innerHTML.replace(/^\s+|\s+$/g, '') != '') {
      new beeline.web.Alert({
        content: Ext.get('alert').dom.innerHTML + '<p class="alertboxButton"><span class="button"><input class="alertboxClose" type="reset" name="close" value="OK"/></span></p>',
        shadeBg: false
      });
      Ext.get('alert').dom.innerHTML = '';
    }
  }

  // notepad slider
  El.select('.showNotepadSlider').each(function(ShowSlider){
    ShowSlider.on('click', function(ev, html, opt){
      var NotepadSlider = Ext.get(ev.target.id);
      var Quicknotepad = NotepadSlider.prev().first();
      if (Quicknotepad.first().first().hasClass != 'empty') {
        var QuicknotepadInfo = Quicknotepad.first();
        var QuicknotepadSlider = Quicknotepad.last();
        if ((NotepadSlider.hasClass('exit') === false)) {
          NotepadSlider.addClass('exit');
          QuicknotepadInfo.setStyle('display', 'none');
          QuicknotepadSlider.setStyle('display', 'block');
          QuicknotepadSlider.slideIn('t', { useDisplay: true });
        }
        else {
          NotepadSlider.removeClass('exit');
          QuicknotepadInfo.setStyle('display', 'block');
          QuicknotepadSlider.setStyle('display', 'none');
          QuicknotepadSlider.slideOut('t', { useDisplay: true });
        }
      }
    });
  });

  // notepad edit
  El.select('.notepadEdit').each(function(El){
   El.select('.edit').item(0).on('click', function(){
     El.select('.notepadEditInfo').item(0).setStyle('display', 'none');
     El.select('.notepadEditChange').item(0).show();
   });
   El.select('.cancel').item(0).on('click', function(){
     El.select('.notepadEditChange').item(0).setStyle('display', 'none');
     El.select('.notepadEditInfo').item(0).show();
   });
  });
  
  // show more text (detailContent)
  El.select('.summaryShow').each(function(ShowSummary){
    ShowSummary.on('click', function(){
      var Summary = El.select('.summaryContent').item(0);
      if (Summary.getStyle('display') == 'none') {
        Summary.slideIn();
      }
      else {
        Summary.slideOut('t', { useDisplay: true });
      }
    });
  });

  // staff selection
  El.select('.staffSelect').each(function(StaffSelection){
    var StaffSelect = StaffSelection.select('span');
    var StaffContent = StaffSelection.parent().select('div');
    var char = 'A';
    StaffContent.each(function(ContentItem){
      if (ContentItem.select('p').item(0).dom.innerHTML[0] == char) {
        ContentItem.setStyle('display', 'block');
      }
    });
    StaffSelect.each(function(SelectItem){
      SelectItem.on('click', function(event, target){
        char = target.innerHTML[0];
        StaffSelect.each(function(StaffChar){
          StaffChar.addClass('hidden');
        });
        Ext.get(target).removeClass('hidden');
        Ext.get(target).addClass('current');
        StaffContent.each(function(DspStaffs){
          if (DspStaffs.select('p').item(0).dom.innerHTML[0] == char) {
            DspStaffs.setStyle('display', 'block');
          }
          else {
            DspStaffs.setStyle('display', 'none');
          }
        });
      });
    });
  });

  // reduce and expand
  El.select('.boxslide').each(function(BoxSlider){
    BoxSlider.on('click', function(event, target){
      var Slider = Ext.get(target);
      if (Slider.hasClass('close')) {
        Slider.removeClass('close');
        Slider.addClass('open');
        Slider.parent().next().slideOut('t', { useDisplay: true });
      }
      else {
        Slider.removeClass('open');
        Slider.addClass('close');
        Slider.parent().next().slideIn();
      }
    });
  });
  
}

// clear advanced search
function clearAdvancedSearch(El){
  beeline.web.clearForm(El);
}

// approval plan
function copyDefaults(id){
   beeline.web.Approvalplan.copyDefaults(id);
}

// approval plan: check all positions
function checkallAP(val){
  beeline.web.Approvalplan.checkAll(val)
}

// check all positions
function checkall(val){
  beeline.web.checkAll(val);
}

// clear checked positions on export
function clearCheck(){
 beeline.web.clearCheck();
}

// refresh opener page on client close
function closeWindow(){
  opener.document.location.reload();
}

// detail: create window for additional ajax content
function createWindow(EventObj, content, src){
  EventObj.stopEvent();
  var Overlay = Ext.select('.overlay',true).item(0);  
  if (Ext.isObject(Overlay)) {
    var OverlayContent = Overlay.select('.overlayContent').item(0);
    var id = Ext.id(OverlayContent);
    OverlayContent.dom.innerHTML = '';
    beeline.web.loadsrc(content, id, src);
    new beeline.web.alert({
      title: Overlay.select('.overlayTitle').item(0).dom.innerHTML,
      content: OverlayContent.dom.innerHTML + '<p class="alertboxButton"><span class="button"><input class="alertboxClose" type="reset" name="close" value="OK"/></span></p>'
    });
  }
  return false;
}

