/****************************************************/
/*           OpenPath PageBuilder                   */
/*       WRITTEN BY Chih-Shyang Chang               */
/*           2000/12/13                             */
/*      本程式受著作權法保護，侵權必究              */
/****************************************************/
// Purpose: Implement common utility
if (eval('mAssistingFrameWidth') == null)
  var mAssistingFrameWidth = 114;

if (eval('mAssistingButtonHeight') == null)
  var mAssistingButtonHeight = 21;

if (eval('mMessageDivHeight') == null)
  var mMessageDivHeight = 24;

if (eval('mMenuItemHeight') == null)
  var mMenuItemHeight = 23;

if (eval('mMenuItemWidth') == null)
  var mMenuItemWidth = 82;

if (eval('mMenuItemSetNumber') == null)
  var mMenuItemSetNumber = 8;


var __gAryFrameset = null;
var __gAryFramesetSetting = null;
var __gAssistingFrameIndex = 0;


function fnResetWindowSize(offsetW, offsetH)
{
  if (mContainer == null) return;
  if (offsetW == null) offsetW = 0;
  if (offsetH == null) offsetH = 0;
  try {
    var ww;
    var myH=0, myW=0;

    if (window.parent == null)
      ww = window;
    else
      ww = window.parent;
  	if (mContainer.className.indexOf("WithMenu") >=0 ) {
      myH = 25+70;
      myW = 6;
  	} else {
      myH = 25;
      myW = 6;
  	}
    ww.dialogHeight = "" + (mContainer.style.pixelHeight + myH + offsetH) + "px";
    ww.dialogWidth  = "" + (mContainer.style.pixelWidth  + myW + offsetW) + "px";
  }
  catch (e)
  {
    // do nothing
  }
}

function fnSetCursorStyle(stle)
{
  // set the capature to a dummy control to igonre mouse event
  // for other controls while the mouse pointer is in wiating status;
  // otherwiaw, if the mouse pointer is set to the normal status (default status)
  // , it must be to release the capture

  /*
  if (stle.toLowerCase() == "wait")
      mDummyDiv.setCapture();
  else
      document.releaseCapture();
  */
  for (var i=0; i<document.all.length; i++)
    //if (document.all[i].style != null)
    document.all[i].style.cursor = stle;
}


/*
  align: 'left', 'center', 'right', or 'justify'
 */
function fnDisplayMessage(type, msg, align, color)
{
  if (mMessageDiv == null) return;

  switch (type.toUpperCase()) {
    case "T":
      if (color == null)
        mMessageDiv.style.color = "black";
      else
        mMessageDiv.style.color = color;
      break;
    case "W":
      if (color == null)
        mMessageDiv.style.color = "yellow";
      else
        mMessageDiv.style.color = color;
      break;
    case "E":
      if (color == null)
        mMessageDiv.style.color = "red";
      else
        mMessageDiv.style.color = color;
      break;
    case "I":
      if (color == null)
        mMessageDiv.style.color = "blue";
      else
        mMessageDiv.style.color = color;
      break;
    default:
  }
  if (align != null)
    mMessageDiv.style.textAlign = align;
  mMessageDiv.innerHTML = msg;
}

function fnHideTopArea(hideMenuArea, hideGlobalArea, hideMsgArea)
{
  var ll = 0;
  if (hideMenuArea == null || hideMenuArea == true) {
    if (document.all("mTopMenu") != null) document.all("mTopMenu").style.display = "none";
    if (document.all("mMenus") != null) document.all("mMenus").style.display = "none";
    ll = 23;
  }

  if (hideGlobalArea == null || hideGlobalArea == true) {
    if (document.all("mGMenu") != null) document.all("mGMenu").style.display = "none";
    ll = ll + 21;
  }

  if (hideMsgArea == null || hideMsgArea == true) {
    if (document.all("mMessageDiv") != null) document.all("mMessageDiv").style.display = "none";
    ll = ll + 26;
  }

  if (document.all("mContainer") != null)
  {
    var con = document.all("mContainer");
    fnResetWindowSize(null, -1 * ll);
    switch (con.className)
    {
      case 'cSYS_ContainerWithMenu':
        con.className = 'cSYS_ContainerNoMenu';
        break;
      case 'cSYS_ContainerTransparencyWithMenu':
        con.className = 'cSYS_ContainerTransparencyNoMenu';
        break;
      default:
        break;
    }
  }
}

function fnFrameExists(name)
{
  if (! window.parent.document.body["cols"]) return false;

  for (var i=0; i < window.parent.frames.length; i++) {
    if (name == window.parent.frames(i).name) return true;
  }

  return false;
}

function fnLoadUrlToFrame(url, frameName)
{
  if (! window.parent.document.body["cols"]) return;

  if (fnFrameExists(frameName)) {
    window.parent.frames(frameName).src = url;
  }
}

function fnGetFramesetSetting(targetFrame)
{
  __getSetting();
  var targetFrameIdx = -1;
  var str = '';
  for (var i = 0; i < __gAryFrameset.length; i++) {
    if (__gAryFrameset[i] == targetFrame) {
        targetFrameIdx = i;
        break;
    }
  }

  if (targetFrameIdx < __gAryFrameset.length && targetFrameIdx >= 0) {
    for (var j=0; j < __gAryFramesetSetting.length; j++)
      if (__gAryFramesetSetting[j] == "*") __gAryFramesetSetting[j] = "0";

    __gAryFramesetSetting[targetFrameIdx] = "*";
  }

  for (var i=0; i < __gAryFramesetSetting.length; i++) {
    if (i == 0) str = "" + __gAryFramesetSetting[i];
    else str += "," + __gAryFramesetSetting[i];
  }

  return str;
}

function toggleAssistingFrame()
{
  if (! window.parent.document.body["cols"]) return;

  __getSetting();
  var assistFrameIdx = -1;

  var str = '';
  for (var i = 0; i < __gAryFrameset.length; i++) {
    if (__gAryFrameset[i] == "AssistingFrame") {
      __gAssistingFrameIndex = i;
      assistFrameIdx = i;
    }
  }

  if (assistFrameIdx < __gAryFrameset.length && assistFrameIdx >= 0) {
    if (__gAryFramesetSetting[assistFrameIdx] == "0")
      __gAryFramesetSetting[assistFrameIdx] = new String(mAssistingFrameWidth);
    else
      __gAryFramesetSetting[assistFrameIdx] = "0";
  }

  for (var i=0; i < __gAryFramesetSetting.length; i++) {
    if (i == 0) str = "" + __gAryFramesetSetting[i];
    else str += "," + __gAryFramesetSetting[i];
  }

  parent.document.body["cols"] = str;
}

function __getSetting()
{
  // no parent window
  if (! window.parent.document.body["cols"]) return;

  if (__gAryFrameset == null || __gAryFramesetSetting == null) {
    __gAryFrameset = new Array(window.parent.frames.length);
    __gAryFramesetSetting = new Array(__gAryFrameset.length);

    var ss = parent.document.body["cols"].split(",");
    for (var i=0; i < __gAryFrameset.length; i++) {
      __gAryFrameset[i] = window.parent.frames(i).name;
      if (i < ss.length)
        __gAryFramesetSetting[i] = ss[i];
      else
        __gAryFramesetSetting[i] = "0";
    }
  }
}


