function btn_print(btnFileName)
{
  document.write("<input type='image' src='gfx/but_"+btnFileName+"_off.png' onmouseover='this.src=\"gfx/but_"+btnFileName+"_on.png\";' onmouseout='this.src=\"gfx/but_"+btnFileName+"_off.png\";' />");
}

function btn_a_print(btnFileName, linkURL)
{
  document.write("<a href='"+linkURL+"'><img src='gfx/but_"+btnFileName+"_off.png' onmouseover='this.src=\"gfx/but_"+btnFileName+"_on.png\";' onmouseout='this.src=\"gfx/but_"+btnFileName+"_off.png\";' border='0' /></a>");
}

function preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

preloadImages('Images/pse_qe_headtitle-bg.gif');

var sSavedQuickEditColor = '';
function chgColorOn(oThis) {
  sSavedQuickEditColor = oThis.style.backgroundColor;
  oThis.style.backgroundColor = '#83C9DC';
}
function chgColorOff(oThis) {
  oThis.style.backgroundColor = sSavedQuickEditColor;
  oThis.style.color = '#000000';
}


function getWindowNormalWidth() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return myWidth;
}

function getWinWidth()
{
  //http://bytes.com/forum/thread146955.html
  isNav = (document.all) ? false : true;
  isIE = (document.all) ? true : false;
  if (isNav && !isIE)
    return(window.innerWidth);
  else if (isIE && !isNav)
    return(document.body.clientWidth);
  else
    return(100);
}

function getWinHeight()
{
  isNav = (document.all) ? false : true;
  isIE = (document.all) ? true : false;
  if (isNav && !isIE)
    return(window.innerHeight);
  else if (isIE && !isNav)
    return(document.body.clientHeight);
  else
    return(100);
}

function mouseX(evt) {return evt.clientX ? evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) : evt.pageX;}
function mouseY(evt) {return evt.clientY ? evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop) : evt.pageY;}

// Detect if the browser is IE or not.
// If it is not IE, we assume that the browser is NS.
var IE = document.all?true:false;

// If NS -- that is, !IE -- then set up for mouse capture
if (!IE) document.captureEvents(Event.MOUSEMOVE)

// Set-up to use getMouseXY function onMouseMove
document.onmousemove = getMouseXY;

// Temporary variables to hold mouse x-y pos.s
var tempX = 0;
var tempY = 0;

function resizeEvent() {
  if (oResizeObj) {
    oResizeObj.style.height = parseInt(oResizeStartHeight) + (parseInt(iMouse_y) - parseInt(oResizeStartMouseY));
    tResizeTimer = setTimeout(' resizeEvent(); ', 100);
  } else {
    oResizeStartMouseY = iMouse_y;
  }
}

// Main function to retrieve mouse x-y pos.s
function getMouseXY(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
    tempY = event.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
  } else {  // grab the x-y pos.s if browser is NS
    tempX = mouseX(e);
    tempY = mouseY(e);
  }
  // catch possible negative values in NS4
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}

  iMouse_x = tempX;
  iMouse_y = tempY;

  return true;
}

var arPseQEMenu = new Array();

var sOpenedObj = null;
var sBtnObj = null;
var sLastOpenedObj = null;
var sLastBtnObj = null;
var tPseQEDivTimer = null;
var tPseQEDivPosTimer = null;
var iMouse_x = 0;
var iMouse_y = 0;
var iSavedWindowWidth = 0;

var sOpenedObj_sub = null;
var sBtnObj_sub = null;
var tPseQEDivTimer_sub = null;
var tPseQEDivPosTimer_sub = null;
var iSavedWindowWidth_sub = 0;

function getPos(obj) {
	var output = new Object();
  var mytop=0, myleft=0;
  while(obj) {
  	mytop+= obj.offsetTop;
    myleft+= obj.offsetLeft;
    obj= obj.offsetParent;
  }
	output.left = myleft;
  output.top = mytop;
  return output;
}//getPos

function close_pseQEDiv() {
  if (sOpenedObj!=null) {
    var oThis = sBtnObj;
    var arPos = getPos(oThis);
    var startX = arPos.left;
    var startY = arPos.top;
    var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
    var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
    var posE_x = parseInt(startX)+parseInt(sOpenedObj.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
    var posE_y = parseInt(startY)+parseInt(sOpenedObj.offsetHeight)+parseInt(oThis.offsetHeight)+4;

    if (sOpenedObj.style.left!='') {
      posB_x = parseInt(posB_x)+parseInt(sOpenedObj.style.left); //posB_x + (-left)
      posE_x = parseInt(posE_x)+parseInt(sOpenedObj.style.left); //posE_x + (-left)
    }
  }

  if (sOpenedObj!=null && sOpenedObj.style.display!='none') {
    if ( iMouse_x<posB_x || iMouse_x>posE_x || iMouse_y<posB_y || iMouse_y>posE_y) {

          if (sOpenedObj!=null && sOpenedObj.style.display!='none') {
            //sOpenedObj.style.opacity = '0.0';
            sOpenedObj.style.display = 'none';
            sOpenedObj.style.opacity = '1.0';
            sOpenedObj.style.filter = 'alpha(opacity=100)';
            sOpenedObj = null;
          }
          tPseQEDivTimer = null;
          tPseQEDivPosTimer = null;

    } else {
      tPseQEDivTimer = setTimeout(' listenOuterEvent(); ', 250);
    }
  }
}

function listenOuterEvent() {
  if (sOpenedObj!=null) {
    var oThis = sBtnObj;
    var arPos = getPos(oThis);
    var startX = arPos.left;
    var startY = arPos.top;
    var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
    var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
    var posE_x = parseInt(startX)+parseInt(sOpenedObj.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
    var posE_y = parseInt(startY)+parseInt(sOpenedObj.offsetHeight)+parseInt(oThis.offsetHeight)+4;

    if (sOpenedObj.style.left!='') {
      posB_x = parseInt(posB_x)+parseInt(sOpenedObj.style.left); //posB_x + (-left)
      posE_x = parseInt(posE_x)+parseInt(sOpenedObj.style.left); //posE_x + (-left)
    }
  }

  if (sOpenedObj!=null && sOpenedObj.style.display!='none') {
    if ( iMouse_x<posB_x || iMouse_x>posE_x || iMouse_y<posB_y || iMouse_y>posE_y) {
      /* sOpenedObj.style.opacity = ''; */
      tPseQEDivTimer = setTimeout(' close_pseQEDiv(); ', 2000);
    } else {
      tPseQEDivTimer = setTimeout(' listenOuterEvent(); ', 250);
    }
  }
}

function listenPositionEvent() {
  if (sOpenedObj!=null) {
    var oThis = sBtnObj;
    var arPos = getPos(oThis);
    var startX = arPos.left;
    var startY = arPos.top;
    var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
    var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
    var posE_x = parseInt(startX)+parseInt(sOpenedObj.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
    var posE_y = parseInt(startY)+parseInt(sOpenedObj.offsetHeight)+parseInt(oThis.offsetHeight)+4;
  }

  if (sOpenedObj!=null && sOpenedObj.style.display!='none') {
    if (sOpenedObj.style.left=='')
      sOpenedObj.style.left = '0px';
    else
      posE_x = parseInt(posE_x)+parseInt(sOpenedObj.style.left);
    if ( (parseInt(posE_x)+27)>parseInt(iSavedWindowWidth) ) {
      posX = parseInt(sOpenedObj.style.left)-40;
      sOpenedObj.style.left = posX+'px';
      tPseQEDivPosTimer = setTimeout(' listenPositionEvent(); ', 40);
    } else {
      tPseQEDivPosTimer = null;
    }
  }
}//listenPositionEvent

function pseQE_open(oMenu,oThis) {
  iSavedWindowWidth = getWindowNormalWidth();
  oMenu.style.zIndex = 99;

  if (sOpenedObj!=null /*&& sOpenedObj!=oMenu*/)
    sOpenedObj.style.display = 'none';

  if (sOpenedObj_sub!=null) {
    sOpenedObj_sub.style.display = 'none';
    sOpenedObj_sub = null;
    tPseQEDivTimer_sub = null;
  }
  
  if (oMenu.style.display=='none') {
    oMenu.style.display = 'block';
  }
    
  sLastOpenedObj = sOpenedObj = oMenu;
  sLastBtnObj = sBtnObj = oThis;

  var arPos = getPos(oThis);
  var startX = arPos.left;
  var startY = arPos.top;
  var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
  var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
  var posE_x = parseInt(startX)+parseInt(sOpenedObj.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
  var posE_y = parseInt(startY)+parseInt(sOpenedObj.offsetHeight)+parseInt(oThis.offsetHeight)+4;

  if (IE) {
    getMouseXY();
  }

  tPseQEDivTimer = setTimeout(' listenOuterEvent(); ', 2000);
  tPseQEDivPosTimer = setTimeout(' listenPositionEvent(); ', 60);
}

function pseQE_close(oThis) {
  if (sOpenedObj!=null)
    sOpenedObj.style.display = 'none';
  if (sLastOpenedObj!=null)
    sLastOpenedObj.style.display = 'none';

  sOpenedObj = null;
  sLastOpenedObj = null;
  
  tPseQEDivTimer = null;
  tPseQEDivPosTimer = null;

  sOpenedObj_sub = null;
  
  tPseQEDivTimer_sub = null;
  tPseQEDivPosTimer_sub = null;
}

function listenPositionEvent_sub() {

  if (sOpenedObj_sub!=null) {
    var oThis = sOpenedObj_sub;
    var arPos = getPos(oThis);
    var startX = arPos.left;
    var startY = arPos.top;
    var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
    var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
    var posE_x = parseInt(startX)+parseInt(sOpenedObj_sub.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
    var posE_y = parseInt(startY)+parseInt(sOpenedObj_sub.offsetHeight)+parseInt(oThis.offsetHeight)+4;
  }

  if (sOpenedObj_sub!=null && sOpenedObj_sub.style.display!='none') {
    if (sOpenedObj_sub.style.left=='')
      sOpenedObj_sub.style.left = '0px';
    else
      posE_x = parseInt(posE_x)+parseInt(sOpenedObj_sub.style.left);

    if ( (parseInt(posE_x)+27)>parseInt(iSavedWindowWidth_sub) ) {
      posX = parseInt(sOpenedObj_sub.style.left)-40;
      sOpenedObj_sub.style.left = posX+'px';
      tPseQEDivPosTimer_sub = setTimeout(' listenPositionEvent_sub(); ', 40);
    } else {
      tPseQEDivPosTimer_sub = null;
    }
  }
}

function pseQE_open_sub(oMenu,oThis) {

  iSavedWindowWidth_sub = getWindowNormalWidth();
  oMenu.style.zIndex = 100;

  if (sOpenedObj_sub!=null /*&& sOpenedObj_sub!=oThis*/)
    sOpenedObj_sub.style.display = 'none';
  sOpenedObj_sub = oMenu;

  //hide parent menu
  if (sOpenedObj!=null)
    sOpenedObj.style.display = 'none';

  var arPos = getPos(oThis);
  var startX = arPos.left;
  var startY = arPos.top;
  var posB_x = parseInt(startX)-parseInt(oThis.offsetLeft);
  var posB_y = parseInt(startY)-parseInt(oThis.offsetTop);
  var posE_x = parseInt(startX)+parseInt(sOpenedObj_sub.offsetWidth)-parseInt(oThis.offsetLeft); //-parseInt(oThis.offsetWidth)
  var posE_y = parseInt(startY)+parseInt(sOpenedObj_sub.offsetHeight)+parseInt(oThis.offsetHeight)+4;

  //oMenu.style.opacity = '0.9';
  //oMenu.style.filter = 'alpha(opacity=90)';

  if (IE) {
    getMouseXY();
  }

  tPseQEDivPosTimer_sub = setTimeout(' listenPositionEvent_sub(); ', 60);

}

function pseQE_close_sub() {

  if (sOpenedObj!=null && sOpenedObj.style.display=='none')
    sOpenedObj.style.display = 'block';

  if (sOpenedObj==null) {
    sLastOpenedObj.style.display = 'block';
    pseQE_open(sLastOpenedObj,sLastBtnObj);
  }
  
  sOpenedObj_sub = null;
  tPseQEDivTimer_sub = null;
}

/* resize functions */
var oResizeObj = false;
var oResizeStartHeight = 420;
var oResizeStartMouseY = 0;
var tResizeTimer = false;
function psediv_resize_on(oID) {
  oResizeObj = document.getElementById(oID);
  oResizeStartHeight = parseInt(oResizeObj.offsetHeight);
  oResizeStartMouseY = parseInt(iMouse_y);
  tResizeTimer = setTimeout(' resizeEvent(); ', 150);
}
function psediv_resize_off(thisObj) {
  oResizeObj = false;
  tResizeTimer = false;
  oResizeStartHeight = 420;
  oResizeStartMouseY = 0;
}
function psediv_resize(oID) {
  if (oResizeObj===false)
    psediv_resize_on(oID);
  else
    psediv_resize_off(oID);
}
