  // iframe content calls this method
  function callBackFromIFrame(isNewTrade, time) {
    writeActualTime(time);
    if (firstTime) {
      firstTime = false;
      return;
    }
    if (isNewTrade == 'true') { // reload main page - there is a new value
      var playSoundOnReload = getObject('playSoundOnReload').value = 'true';
      getObject('Form1').submit();
    }
  }
  
  // method for timer
  function updateTimer() {
    var refresh = getObject("refresh");
    if (firstTime || refresh.checked) {
      // reload iframe
      reloadIFrame();
    }
    // restart timer
    setTimeout("updateTimer()", refreshRate);
  }

  // Cross browser method to get an object
  function getObject(id) {
    if (document.getElementById) { //IE 5.x or NS 6.x or above
      return document.getElementById(id);
    }
    else if (document.all) { //IE 4.x
      return document.all[id];
    }
    else { //Netscape 4.x
      return document[id];
    }
  }
  
  function writeActualTime(time) {
    var span = getObject("lastactualization");
    if (span != null) {
      span.innerHTML = time;
    }
  }
  
  // show or hide statistics choices
  function updateIsStats() {
    var isStats = getObject("isStats");
    var statsDiv = getObject("statsDiv");
    setVisible(statsDiv, isStats.checked);
  }

  // show or hide object
  function setVisible(what, visible) {
    what.style.display = (visible ? "inline" : "none");
  }
  
  // for update Custom time part
  function updateShowTime() {
    var customTimeDiv = getObject("customTime");
    var timePeriodTypeSelect = getObject("timePeriodType");
    var isCustom = timePeriodTypeSelect.value == "Custom";
    setVisible(customTimeDiv, isCustom);
  }
  
  // opens Help window
  function openHelp() {
    window.open('./help.jsp','_blank','width=500,height=400,resizable=yes,menubar=no,status=no,toolbar=no,scrollbars=yes,dependent=no');
  }

  // click on refresh checkbox
  function refreshClick() {
    if (getObject('refresh').checked) reloadIFrame();
  }
  
  function refreshBidAndAsk(bidBest, askBest, bidQty, askQty) {  
    if (bidBest != "" && getObject('bidBest') != null) updateCellUpDown(bidBest, 'bidBest', 'bidBestTD');
    if (askBest != "" && getObject('askBest') != null) updateCellUpDown(askBest, 'askBest', 'askBestTD');
    if (bidQty != "" && getObject('bidQty') != null) updateCell(bidQty, 'bidQty', 'bidQtyTD');
    if (askQty != "" && getObject('askQty') != null) updateCell(askQty, 'askQty', 'askQtyTD');
    
    if (getObject('triggerCheckBox') != null && getObject('triggerCheckBox').checked) {
      checkBidAskTrigger(bidBest, askBest);
    }
  }

  // SECTION FOR TRIGGER
  function checkBidAskTrigger(bid, ask) {
    var actualBid = parseFloat(bid);
    var actualAsk = parseFloat(ask);
    
    var trValueInput = getObject('triggerValue');
    var trTypeInput = getObject('triggerType');
    var trCondInput = getObject('triggerCond');
    
    var triggerValue = parseFloat(trValueInput.value);
    var triggerType = trTypeInput.value;
    var triggerCond = trCondInput.value;
    
    var isGreater = triggerCond == 'greaterThan';
    var isBid = triggerType == 'Bid';
    var isAsk = triggerType == 'Ask';
    
    if (isBid) {
      if (isGreater && actualBid > triggerValue) {
        getObject('bidBestTD').bgColor = changeColor;
        playTriggerNotice();
      }
      if (!isGreater && actualBid < triggerValue) {
        getObject('bidBestTD').bgColor = changeColor;
        playTriggerNotice();
      }
    }
    if (isAsk) {
      if (isGreater && actualAsk > triggerValue) {
        getObject('askBestTD').bgColor = changeColor;
        playTriggerNotice();
      }
      if (!isGreater && actualAsk < triggerValue) {
        getObject('askBestTD').bgColor = changeColor;
        playTriggerNotice();
      }
    }
  }
  
  function playTriggerNotice() {
    if (getObject('triggerCheckBox').checked) {
      var iframe = getObject("soundNoticeIFrame");
      iframe.src="./triggerNotice.html";
    }
    if (getObject("triggerFocus").checked) {
      self.focus();
    }
  }
  
  function updateAutorefreshCheckboxs() {
    var checked = !getObject("refresh").checked;
    getObject("playSound").disabled = checked;
    getObject("triggerCheckBox").disabled = checked;
    getObject("triggerFocus").disabled = checked;
  }  

  function updateCellUpDown(actualTextValue, spanIdName, tdIdName) {
    var color = bgColor;
    var actualBidQty = parseFloat(actualTextValue);
    var lastBidQty = parseFloat(getObject(spanIdName).innerHTML);
    if (actualBidQty > lastBidQty) color = upColor;
    if (actualBidQty < lastBidQty) color = downColor;
    getObject(tdIdName).bgColor = color;
    getObject(spanIdName).innerHTML = actualTextValue;
  }
  
  function updateCell(actualTextValue, spanIdName, tdIdName) {
    var color = bgColor;
    var actualBidQty = parseFloat(actualTextValue);
    var lastBidQty = parseFloat(getObject(spanIdName).innerHTML);
    if (!isNaN(actualBidQty) && !isNaN(lastBidQty) && actualBidQty != lastBidQty) color = changeColor;
    getObject(tdIdName).bgColor = color;
    getObject(spanIdName).innerHTML = actualTextValue;
  }
