<!--
// -----------------------------------------------------------------------------
// Filename   : pdseffects.js
// Description: Definitions of all Browser Effects Related Functions
// -----------------------------------------------------------------------------
// Author     : Gary Javier
// Version    : 1.03.02
// Update History:
//    Date              Description                                   Author
//    ----------------- --------------------------------------------- ----------
//    2002-12-20        Created a Function that makes the Gradual     JGS
//                      Effects to have an underline move and fades
//				        the Image Up.
// -----------------------------------------------------------------------------
// Copyright @ 2000-2003 by Progressive Data Systems
// -----------------------------------------------------------------------------
// This Code is licensed by Progressive Data System and are not for re-use or
// distribution usage unless approved by PDS Software
// -----------------------------------------------------------------------------

function btnMouseClick(iType) {
   switch (Number(iType)) {
       case 0: break;
       case 1: break;
   }
}

function btnMouseDown(iType) {
   switch (Number(iType)) {
       case 0: break;
       case 1: break;
   }
}

function btnMouseOver(iType,cName) {
   switch (Number(iType)) {
      case 0: break;
      case 1:
      case 2:
      case 3:
   }
   if (event.srcElement.className == "imgbutton") {
      document.images[cName].src = imgList2[cName].src;
   }
}

function btnMouseOut(iType,cName) {
   switch (Number(iType)) {
      case 0: break;
      case 1: break;
   }
   if (event.srcElement.className == "imgbutton") {
      document.images[cName].src = imgList3[cName].src;
   }
}

if (!document.layers && !document.all && !document.getElementById) {
   event="test"
}

function fStatus(StatusMessage) {
   if (StatusMessage != undefined) 
      window.status= StatusMessage;
   return true;
}

function ftooltip(current,event_list,tool_text) {
   if (document.all || document.getElementById) {
      if ((tool_text != '') && (tool_text != null)) {
         tool_title = tool_text.split('<br>')
      }
      else {
         if ((event_list.srcElement.name == null) || (event_list.srcElement.name == undefined)) {
            return;
         }
         cString = String(event_list.srcElement.name);
         if ((event_list.srcElement.name == undefined) || (event_list.srcElement.name == null)){
            cString = String(TooltipList['accounts_payable']);
         }
         else {
            cString = String(TooltipList[cString]);
         }
         tool_title = cString.split('<br>');
      }
      if (tool_title.length > 1) {
         tool_titles = '';
         for (i=0; i < tool_title.length; i++) {
             tool_titles += tool_title[i];
         }
         current.title = tool_titles;
      }
      else {
         if ((tool_text != null) && (tool_text != undefined) && (tool_text != '')) {
             current.title = tool_text;
         }
         else if ((cString != null) && (cString != undefined)) {
            current.title = cString;
         }
      }
   }
   else if (document.layers) {
      if ((tool_text != null) && (tool_text != undefined)) {
         document.tooltip.document.write('<layer bgColor="white" style="border:1px solid black;font-size:12px;">' + tool_text +'</layer>');
         document.tooltip.document.close();
         document.tooltip.left       = event_list.pageX + 5;
         document.tooltip.top        = event_list.pageY + 5;
         document.tooltip.visibility = "show";
      }
   }
}

function fhidetip(){
    if (document.layers) {
       document.tooltip.visibility = "hidden";
    }
}


function ftooltip1(current,event_list,tool_text,iType) {
   btnMouseOver(Number(iType),event_list.srcElement.name);
   if (document.all || document.getElementById) {
      if ((tool_text != '') && (tool_text != null)) {
         tool_title = tool_text.split('<br>')
      }
      else {
         if ((event_list.srcElement.name == null) || (event_list.srcElement.name == undefined)) {
            return;
         }
         cString = String(event_list.srcElement.name);
         if ((event_list.srcElement.name == undefined) || (event_list.srcElement.name == null)){
            cString = String(TooltipList['accounts_payable']);
         }
         else {
            cString = String(TooltipList[cString]);
         }
         tool_title = cString.split('<br>');
      }
      if (tool_title.length > 1) {
         tool_titles = '';
         for (i=0; i < tool_title.length; i++) {
             tool_titles += tool_title[i];
         }
         current.title = tool_titles;
      }
      else {
         if ((tool_text != null) && (tool_text != undefined) && (tool_text != '')) {
             current.title = tool_text;
         }
         else if ((cString != null) && (cString != undefined)) {
            current.title = cString;
         }
      }
   }
   else if (document.layers) {
      if ((tool_text != null) && (tool_text != undefined)) {
         document.tooltip.document.write('<layer bgColor="white" style="border:1px solid black;font-size:12px;">' + tool_text +'</layer>');
         document.tooltip.document.close();
         document.tooltip.left       = event_list.pageX + 5;
         document.tooltip.top        = event_list.pageY + 5;
         document.tooltip.visibility = "show";
      }
   }
}

function fhidetip1(iType){
    btnMouseOut(iType,event.srcElement.name);
    if (document.layers) {
       document.tooltip.visibility = "hidden";
    }
}


/* Fadding Source */
objFadeObjects = new Object();
objFadeTimers  = new Object();

/* object - image to be faded (actual object, not name);
 * destop - destination transparency level (ie 80, for mostly solid)
 * rate   - time in milliseconds between trasparency changes (best under 100)
 * delta  - amount of change each time (ie 5, for 5% change in transparency)
 */



function fGradFade(object, destOp, rate, delta, e, cTooltip, iType) {
   if (!document.all) {
      return;
   }
   if (object != "[object]") {
      setTimeout("fGradFade(" + object + "," + destOp + "," + rate + "," + delta + ")",0);
      return;
   }
   if ((cTooltip != "") && (iType >= 0)) {
      ftooltip(object, e, cTooltip, iType);
   }
   else if ((cTooltip == "") && (iType >= 0)) {
      fhidetip(iType);
   }
   clearTimeout(objFadeTimers[object.sourceIndex]);
   diff = destOp-object.filters.alpha.opacity;
   direction = 1;
   if (object.filters.alpha.opacity > destOp) {
      direction = -1;
   }
   delta = Math.min(direction * diff,delta);
   object.filters.alpha.opacity += direction * delta;

   if (object.filters.alpha.opacity != destOp) {
      objFadeObjects[object.sourceIndex] = object;
      objFadeTimers[object.sourceIndex]  = setTimeout("fGradFade(objFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
   }
}

function fGradFade1(object, destOp, rate, delta, e, cTooltip, iType) {
   if (!document.all) {
      return;
   }
   if (object != "[object]") {
      setTimeout("fGradFade(" + object + "," + destOp + "," + rate + "," + delta + ")",0);
      return;
   }
   if ((cTooltip != "") && (iType >= 0)) {
      ftooltip(object, e, cTooltip, iType);
   }
   else if ((cTooltip == "") && (iType >= 0)) {
      fhidetip(iType);
   }
   clearTimeout(objFadeTimers[object.sourceIndex]);
   diff = destOp-object.filters.alpha.opacity;
   direction = 1;
   if (object.filters.alpha.opacity > destOp) {
      direction = -1;
   }
   delta = Math.min(direction * diff,delta);
   object.filters.alpha.opacity += direction * delta;
   if (object.filters.alpha.opacity != destOp) {
      objFadeObjects[object.sourceIndex] = object;
      objFadeTimers[object.sourceIndex]  = setTimeout("fGradFade1(objFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
   }
}

function fGradShow(object, destOp, rate, delta) {
   if (!document.all) {
      return;
   }
   if (object != "[object]") {
      setTimeout("fGradShow1(" + object + "," + destOp + "," + rate + "," + delta + ")",0);
      return;
   }
   clearTimeout(objFadeTimers[object.sourceIndex]);
   diff = destOp-object.filters.alpha.opacity;
   direction = 1;
//   if (object.filters.alpha.opacity > destOp) {
//      direction = -1;
//   }
   delta = Math.min(direction * diff,delta);
   object.filters.alpha.opacity += direction * delta;
   if (object.filters.alpha.opacity != destOp) {
      objFadeObjects[object.sourceIndex] = object;
      objFadeTimers[object.sourceIndex]  = setTimeout("fGradFade1(objFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
   }
}

function fGradShow1(object, destOp, rate, delta, object2, destOp2, rate2, delta2, object3) {
   if (!document.all) {
      return;
   }
   if (object != "[object]") {
      setTimeout("fGradShow1(" + object + "," + destOp + "," + rate + "," + delta + ")",0);
      return;
   }
   clearTimeout(objFadeTimers[object.sourceIndex]);
   diff = destOp-object.width;
   direction = 1;
//   if (object.filters.alpha.opacity > destOp) {
//      direction = -1;
//   }
   delta = Math.min(direction * diff,delta);
   object.width += direction * delta;
   if (object.width != destOp) {
      objFadeObjects[object.sourceIndex] = object;
      iInt = object.sourceIndex + 1;
      iInt1 = iInt + 1;
      objFadeObjects[iInt] = object2;
      objFadeObjects[iInt1] = object3;
      objFadeTimers[object.sourceIndex]  = setTimeout("fGradShow1(objFadeObjects[" +
                                                       object.sourceIndex          +
                                                       "]," 			   +
                                                       destOp                      +
                                                       ","   			   +
                                                       rate                        +
                                                       ","   			   +
                 				       delta			   +
                                                       ","   			   +
                 				       "objFadeObjects["           +
                                                       iInt       		   +
                                                       "],"  			   +
                 				       destOp2			   +
                                                       ","   			   +
                 				       rate2                       +
                                                       ","   			   +
                 				       delta2		           +
                                                       ","                         +
                                                       "objFadeObjects["           +
                                                       iInt1       		   +
                                                       "]"  			   +
                                                       ")",rate);
   }
   else {
      object.width="0%";
      object3.background="images/baseline1.gif";
      document.all.imgcurve.visibility="hidden";
      document.all.imgcurve.src="images/lowcurve.gif";
      document.all.imgback.background="images/pdsback.gif";
      document.all.imgback1.background="images/pdsback.gif";
      fGradShow(object2, destOp2, rate2, delta2);
   }
}

function message(cMessage) {
   alert(cMessage);
}

// fGradFade(this,100,30,5,event,'PDS Software Home Page',0)
// Alternate printing
// Directions:
// Simply copy the below into the <head> section of your web page. Change printversion.doc to the file intended to be used for printing. The file can be of virtually any format (pdf, Word etc). When the user selects "Print", the printer will look for this file and print it instead of the current page. Netscape will simply ignore this tag, and print out the original page.
// <link rel=alternate media=print href="printversion.doc">

// -->