<!--
//*****************************************************************************
//*       P l a n o   I n d e p e d e n t   S c h o o l   D i s t r i c t     *
//*                                                                           *
//*                           Global Functions                                *
//*                      GlbFunctions.js version 1.0                          *
//*                                                                           *
//*     Date                      M o d i f i c a t i o n                     *
//*                                                                           *
//*   05/20/2009     Created.                                                 *
//*                                                                           *
//*****************************************************************************

 var arrCharConversion = new Array();
 arrCharConversion[0]  = "130~,";
 arrCharConversion[1]  = "131~NLG";
 arrCharConversion[2]  = "132~\"";
 arrCharConversion[3]  = "133~...";
 arrCharConversion[4]  = "134~**";
 arrCharConversion[5]  = "135~***";
 arrCharConversion[6]  = "136~^";
 arrCharConversion[7]  = "137~o/oo";
 arrCharConversion[8]  = "138~Sh";
 arrCharConversion[9]  = "139~<";
 arrCharConversion[10] = "140~OE";
 arrCharConversion[11] = "145~'";
 arrCharConversion[12] = "146~'";
 arrCharConversion[13] = "147~\"";
 arrCharConversion[14] = "148~\"";
 arrCharConversion[15] = "149~-";
 arrCharConversion[16] = "150~-";
 arrCharConversion[17] = "151~--";
 arrCharConversion[18] = "152~";
 arrCharConversion[19] = "153~ (TM) ";
 arrCharConversion[20] = "154~sh";
 arrCharConversion[21] = "155~>";
 arrCharConversion[22] = "156~oe";
 arrCharConversion[23] = "159~Y";
 arrCharConversion[24] = "169~(C)";
 arrCharConversion[25] = "174~(R)";
 arrCharConversion[26] = "8211~-";
 arrCharConversion[27] = "8212~--";
 arrCharConversion[28] = "8216~'";
 arrCharConversion[29] = "8217~'";
 arrCharConversion[30] = "8218~--";
 arrCharConversion[31] = "8220~\"";
 arrCharConversion[32] = "8221~\"";
 arrCharConversion[33] = "8222~\"";
 arrCharConversion[34] = "8224~**";
 arrCharConversion[35] = "8225~***";
 arrCharConversion[36] = "8226~-";
 arrCharConversion[37] = "8230~...";
 arrCharConversion[38] = "8240~o/oo";
 arrCharConversion[39] = "8364~ ";
 arrCharConversion[40] = "8482~ (TM) ";

//****************************************************************************
//*                     F o r m a t   T e x t   A r e a                      *
//****************************************************************************

  function FormatTextArea(inputObj, inputLength)
   {
    var theValue = inputObj;
    var theTextLength = inputLength;
    var arrTextAreaWords = new Array();
    var intMaxEntries = 0;
    var idxTextAreaLoop = 0;
    var strReturnTextArea = "";
    var strTempTextArea = "";
    var strTemp = "";
    arrTextAreaWords = theValue.split(" ");
    intMaxEntries = arrTextAreaWords.length;
    while (idxTextAreaLoop < intMaxEntries)
     {
      strTemp += arrTextAreaWords[idxTextAreaLoop];
      if (strTemp.length > theTextLength)
       {
        strReturnTextArea = strReturnTextArea + strTempTextArea + "\n";
        strTemp = arrTextAreaWords[idxTextAreaLoop];
        strTempTextArea = "";
       }
      strTempTextArea = strTemp;
      strTemp = strTemp + " ";
      ++idxTextAreaLoop;
     }
     if (strTemp != "")
     {
      strReturnTextArea = strReturnTextArea + strTempTextArea;
     }
     return strReturnTextArea;
   }

//****************************************************************************
//*                        L e n g t h   C h e c k                           *
//****************************************************************************

  function glbLengthCheck(parmFormField, parmFormMaxLength)
   {
    var intMaxLength = parmFormMaxLength;
    var objFormField = parmFormField;
    var strFormFieldValue = objFormField.value;
    var intCurrentLength = strFormFieldValue.length;

    if (intCurrentLength > intMaxLength)
     {
      var strTemp = "You have exceeded the maximum length allowed for the Text Area.\n Current Length = " + intCurrentLength + ".\n Maximum Allowed is " + intMaxLength + ".";
      alert(strTemp);
     }
   }

//****************************************************************************
//*              B u i l d   S e l e c t   F i r s t   E n t r y             *
//****************************************************************************

  function glbBuildSelectFirstEntry(parmSelectList, parmDisplayField)
   {
    var objSelectList = parmSelectList;
//    var objDisplayField = parmDisplayField;

    objSelectList.length = 0;
    objSelectList.options[0] = new Option("Select");
    objSelectList.options[0].value = strGlbNull;
   }

//****************************************************************************
//*                    S e t   S e l e c t i o n   L i s t                   *
//****************************************************************************

  function glbSetSelectionIndex(parmSelectList, parmMatchValue)
   {
    var objSelectList = parmSelectList;
    var strGlbMatchValue = parmMatchValue;

    var intGlbMaxEntries = objSelectList.length;
    var intGlbLoopCount = 0;

    while (intGlbLoopCount < intGlbMaxEntries)
     {
      if (strGlbMatchValue == objSelectList.options[intGlbLoopCount].value)
       {
        objSelectList.selectedIndex = intGlbLoopCount;
        intGlbLoopCount = intGlbMaxEntries;
       }
      ++intGlbLoopCount;
     }
   }

//****************************************************************************
//*                          W i n d o w   T i m e r                         *
//****************************************************************************

  function glbWindowTimer(parmTime)
   {
    var intGlbTimeOfDisplay = parmTime;
    setTimeout ( "glbCloseWindow()", intGlbTimeOfDisplay);
   }

//****************************************************************************
//*                         S u b m i t   T i m e r                          *
//****************************************************************************

  function glbSubmitTimer(parmTime, parmForm)
   {
    var intGlbTimeOfDisplay = parmTime;
    var intFormNumber = parmForm;
    setTimeout ( "document.forms[0].submit()", intGlbTimeOfDisplay);
   }

//****************************************************************************
//*                   D i s p l a y   F i e l d   T i m e r                  *
//****************************************************************************

  function glbDisplayFieldTimer(parmTime, parmDisplayField)
   {
    var objFormDisplayField = parmDisplayField;
    setTimeout("glbClearDisplayFunction(objFormDisplayField)", parmTime);
   }

//****************************************************************************
//*                 D i s p l a y   D e l a y   T i m e r                    *
//****************************************************************************

  function glbDisplayDelayTimer(parmTime, parmDisplayField, parmDisplayText)
   {
    var objFormDisplayField = parmDisplayField;
    strGlbHoldText = parmDisplayText;
    setTimeout("glbDisplayDataFunction(objFormDisplayField)",parmTime);
   }

//****************************************************************************
//*                           G e t   E l e m e n t                          *
//****************************************************************************

  function glbGetElement(parmElementId)
   {
    var intIndex = 0;

    if (document.all)
     {
      return document.all[parmElementId];
     }
    else if (document.getElementById)
     {
      return document.getElementById(parmElementId);
     }
    else
     {
      for (intIndex = 1; intIndex < document.layers.length; intIndex++)
       {
        if (document.layers[intIndex].id == parmElementId)
         {
          return document.layers[intIndex];
         }
       }
     }
   }

//****************************************************************************
//*                   R e m o v e   T r a i l i n g   Z e r o e s            *
//****************************************************************************

  function glbRemoveTrailingZeroes(parmString)
   {
    var objGlbString = parmString + strGlbNull;
    var intGlbStringLength = objGlbString.length;
    var intGlbLoopMax = intGlbStringLength;

    for (var intGlbLoopCount = 0; intGlbLoopCount < intGlbLoopMax; intGlbLoopCount++)
     {
      if (objGlbString[intGlbStringLength - 1] != strGlbZero)
       {
        intGlbLoopMax = 0;
       }
      else
       {
        --intGlbStringLength;
       }
     }

    objGlbString = objGlbString.substr(0,intGlbStringLength);
    return objGlbString;
   }

//**********************************************************************************
//*                       S e t   M i n i m u m   D e c i m a l s                  *
//**********************************************************************************

 function glbSetMinimumDecimals(parmString,parmDecimalCount)
  {
   var objGlbString = parmString + strGlbNull;
   var intGlbDecimalCount = parseInt(parmDecimalCount);
   var intGlbPosition = objGlbString.indexOf(strGlbPeriod);
   var intGlbObjectLength = objGlbString.length;

   if ((intGlbPosition + intGlbDecimalCount) >= intGlbObjectLength)
    {
     objGlbString = glbSetDecimals(objGlbString, intGlbDecimalCount);
    }

   return objGlbString;
  }

//****************************************************************************
//*                         S e t   D e c i m a l s                          *
//****************************************************************************

  function glbSetDecimals(parmObject, parmNumberOfDecimals)
   {
    var objGlbValue = parmObject;
    var intGlbSubStringLength = 0;
    var intGlbHoldNumberDecimals = parseInt(parmNumberOfDecimals);
    var intGlbDecimalPosition = objGlbValue.indexOf(strGlbPeriod);
    var strGlbDecimalString = "";

    for (var intGlbLoopCount = 0; intGlbLoopCount < intGlbHoldNumberDecimals; intGlbLoopCount++)
     {
      strGlbDecimalString = strGlbDecimalString + strGlbZero;
     }

    if (intGlbHoldNumberDecimals > 0)
     {
      if (intGlbDecimalPosition < 1)
       {
        objGlbValue = objGlbValue + strGlbPeriod + strGlbDecimalString;
       }
      else
       {
        objGlbValue = objGlbValue + strGlbDecimalString;
        intGlbDecimalPosition = objGlbValue.indexOf(strGlbPeriod);
        intGlbSubStringLength = intGlbDecimalPosition + (intGlbHoldNumberDecimals + 1);
        objGlbValue = objGlbValue.substr(0,intGlbSubStringLength);
       }
     }
    else
     {
      if (intGlbDecimalPosition > 0)
       {
        objGlbValue = objGlbValue.substr(0,intGlbDecimalPosition);
       }
     }

    return objGlbValue;
   }

//****************************************************************************
//*                    S e t   C u r r e n c y   D i s p l a y               *
//****************************************************************************

  function glbSetCurrencyDisplay(inputObj)
   {
    var theValue = inputObj;
    var theValueLen = theValue.length;

    var intGlbStartLocation = 0;
    var intGlbEndLocation;
    var strGlbDecimalDigits = "";
    var strGlbWholeDigits = "";

    var strGlbFormattedSubString = "";
    var strGlbHoldFormattedString = "";
    var strGlbFormattedString = "";

    intGlbEndLocation = theValue.indexOf(strGlbPeriod);
    if (intGlbEndLocation > -1)
     {
      arrValues = theValue.split(strGlbPeriod);
      strGlbWholeDigits = arrValues[0];
      strGlbDecimalDigits = arrValues[1];
     }
    else
     {
      strGlbWholeDigits = theValue;
     }

    intGlbStartLocation = strGlbWholeDigits.length;

    if (intGlbStartLocation < 4)
     {
      strGlbFormattedString = strGlbDollarSign + strGlbWholeDigits;
     }
    else
     {
      for (var lenidx = intGlbStartLocation; lenidx > 0; lenidx -= 3)
       {
        intGlbEndLocation = intGlbStartLocation;
        intGlbStartLocation -= 3;

        if (intGlbStartLocation > 0)
         {
          strGlbFormattedSubString = strGlbComma + strGlbWholeDigits.substring(intGlbStartLocation,intGlbEndLocation);
         }
        else
         {
	  strGlbFormattedSubString = strGlbDollarSign + strGlbWholeDigits.substring(0,intGlbEndLocation);
         }

        strGlbHoldFormattedString = strGlbFormattedString;
        strGlbFormattedString = strGlbFormattedSubString + strGlbHoldFormattedString;
       }
     }

    if (strGlbDecimalDigits == strGlbNull)
     {
      theValue = strGlbFormattedString;
     }
    else
     {
      theValue = strGlbFormattedString + strGlbPeriod + strGlbDecimalDigits;
     }

    return theValue;
   }

//****************************************************************************
//*                    S e t   C u r r e n c y   F o r m a t                 *
//****************************************************************************

  function glbSetCurrencyFormat(inputObj)
   {
    var theValue = inputObj;
    var theValueLen = theValue.length;
    var glbAddTemp = "";

    for (var lenidx = 0; lenidx < theValueLen; lenidx++)
     {
      aByte = theValue.substring(lenidx, lenidx+1);

      if (aByte == strGlbPeriod)
       {
        lenidx = theValueLen;
       }
      else
       {
        if (lenidx == (theValueLen - 1))
         {
          theValue = theValue + strGlbPeriod;
         }
       }
     }

    theValue = theValue + "00";
    arrValues = theValue.split(strGlbPeriod);
    glbAddTemp = arrValues[1];
    theValue = arrValues[0] + strGlbPeriod + glbAddTemp.substring(0,2);
    return theValue;
   }

//****************************************************************************
//*                    D e c i m a l   N u m e r i c   E d i t               *
//****************************************************************************

  function glbDecimalNumericEdit(inputObj)
   {
    var theValue = inputObj;
    var theValueLen = inputObj.length;
    var intGlbDecimalCount = 0;
    strReturnGlobalEditVal = true;

    for (var lenidx = 0; lenidx < theValueLen; lenidx++)
     {
      aByte = theValue.substring(lenidx, lenidx+1);
      if (aByte < "0" || aByte > "9")
       {
        if (aByte == strGlbPeriod)
         {
          ++intGlbDecimalCount;
         }
        else
         {
          strReturnGlobalEditVal = false;
         }
       }
     }

    if (intGlbDecimalCount > 1)
     {
      strReturnGlobalEditVal = false;
     }

    return strReturnGlobalEditVal;
   }

//*****************************************************************************
//*                         W h o l e   D i g i t   C o u n t                 *
//*****************************************************************************

  function glbWholeDigitCount(parmObject)
   {
    var intGlbObjectLength = parmObject.length;
    var intGlbReturnCount = 0;
    var intGlbLoopCount = 0;

    var strGlbTemp = strGlbNull;

    if (intGlbObjectLength == 0)
     {
      return intGlbReturnCount;
     }

    if (parmObject.indexOf(strGlbPeriod) < 0)
     {
      return intGlbObjectLength;
     }

    arrGlbTemp = parmObject.split(strGlbPeriod);
    strGlbTemp = arrGlbTemp[0];

    intGlbObjectLength = strGlbTemp.length;
    intGlbLoopCount = 0;

    while (intGlbLoopCount < intGlbObjectLength)
     {
      if (strGlbTemp[intGlbLoopCount] >= "0" && 
          strGlbTemp[intGlbLoopCount] <= "9")
       {
        ++intGlbReturnCount;
       }

      ++intGlbLoopCount;
     }

    return intGlbReturnCount;
   }

//*****************************************************************************
//*                     D e c i m a l   P l a c e s   C o u n t               *
//*****************************************************************************

  function glbDecimalPlacesCount(parmObject)
   {
    var intGlbObjectLength = parmObject.length;
    var intGlbReturnCount = 0;
    var intGlbLoopCount = 0;

    var strGlbTemp = strGlbNull;

    if (intGlbObjectLength == 0)
     {
      return intGlbReturnCount;
     }

    if (parmObject.indexOf(strGlbPeriod) < 0)
     {
      return intGlbReturnCount;
     }

    arrGlbTemp = parmObject.split(strGlbPeriod);
    strGlbTemp = arrGlbTemp[1];

    intGlbObjectLength = strGlbTemp.length;

    while (intGlbLoopCount < intGlbObjectLength)
     {
      if (strGlbTemp[intGlbLoopCount] >= "0" && 
          strGlbTemp[intGlbLoopCount] <= "9")
       {
        ++intGlbReturnCount;
       }

      ++intGlbLoopCount;
     }

    return intGlbReturnCount;
   }

//****************************************************************************
//*                           R o u n d   A   V a l u e                      *
//****************************************************************************

  function glbRoundValue(parmValue,parmDecimalCount)
   {
    var strInputValue = parmValue;
    var strInputCount = parmDecimalCount;

//glbDecimalNumericEdit(strInputValue);

    if (isNaN(strInputCount) || strInputCount > 10)
     {
      return strInputValue;
     }

    var intLoopCount = 0;
    var intInputCount = parseInt(strInputCount);
    var fltInputValue = parseFloat(strInputValue);
    var fltRoundFactor = .5;

    while (intLoopCount < intInputCount)
     {
      fltRoundFactor = fltRoundFactor / 10;
      ++intLoopCount;
     }

    fltInputValue = fltInputValue + fltRoundFactor;
    strInputValue = fltInputValue + strGlbNull;

    return strInputValue;
   }

//****************************************************************************
//*                           R e p l a c e   S t r i n g                    *
//****************************************************************************

  function glbReplaceString(parmInputString,parmMatchString,parmReplacementString)
   {
    var intGlbIndexOf;
    var intGlbLength;

    var strGlbInput;
    var strGlbMatch;
    var strGlbReplacement;
    var strGlbTemp;
    var strGlbNewString;

    strGlbInput = parmInputString;
    strGlbMatch = parmMatchString;
    strGlbReplacement = parmReplacementString;

    intGlbIndexOf = strGlbInput.indexOf(strGlbMatch);
    intGlbLength = strGlbMatch.length;

    strGlbNewString = strGlbInput.substr(0,intGlbIndexOf);
    strGlbNewString += strGlbReplacement;
    intGlbIndexOf = intGlbIndexOf + intGlbLength;

    strGlbNewString += strGlbInput.substr(intGlbIndexOf);

    return strGlbNewString;
   }

//****************************************************************************
//*                           E s c a p e   S t r i n g                      *
//****************************************************************************

  function glbEscapeString(parmInputString)
   {
    var strGlbEscapedString;
    strGlbEscapedString = parmInputString;

    strGlbEscapedString = strGlbEscapedString.replace(strGlbValDoubleQuote,strGlbHex22);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValAmpersand,strGlbHex26);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValSingleQuote,strGlbHex27);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValSemiColon,strGlbHex3B);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValEqual,strGlbHex3D);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValTilde,strGlbHex7E);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValNewline1,strGlbHex0D0A);
    strGlbEscapedString = strGlbEscapedString.replace(strGlbValNewline2,strGlbHex0D0A);

    return strGlbEscapedString;
   }

//****************************************************************************
//*                           C l e a r   D i s p l a y                      *
//****************************************************************************

  function glbClearDisplayFunction(parmDisplayField)
   {
    var objFormDisplayField = parmDisplayField;
    objFormDisplayField.innerHTML = strGlbNull;
   }

//****************************************************************************
//*                           D i s p l a y   D a t a                        *
//****************************************************************************

  function glbDisplayDataFunction(parmDisplayField,parmDisplayText)
   {
    var objFormDisplayField = parmDisplayField;
    objFormDisplayField.innerHTML = strGlbHoldText;
   }

//****************************************************************************
//*                           C l o s e   W i n d o w                        *
//****************************************************************************

  function glbCloseWindow()
   {
    var retval = true;
    window.close();
    return retval;
   }

//****************************************************************************
//*                           H i s t o r y   G o   B a c k                  *
//****************************************************************************

  function glbHistoryGoBack()
   {
    var retval = true;
    window.history.go(-1);
    return retval;
   }

//*****************************************************************************
//*                      G e t   C h e c k b o x   V a l u e                  *
//*****************************************************************************

  function glbGetCheckboxValue(parmObject,parmFieldName)
   {
    var intGlbMaxEntries = parmObject.elements.length;
    var idxGlbLoopCount = 0;
    var strGlbTemp = "";

    while (idxGlbLoopCount < intGlbMaxEntries)
     {
      if (parmObject.elements[idxGlbLoopCount].name == parmFieldName &&
          parmObject.elements[idxGlbLoopCount].checked == true)
       {
        strGlbTemp = parmObject.elements[idxGlbLoopCount].value;
        idxGlbLoopCount = intGlbMaxEntries;
       }
      ++idxGlbLoopCount;
     }

    return strGlbTemp;
   }

//*****************************************************************************
//*                             S e t   C h e c k b o x                       *
//*****************************************************************************

  function glbSetCheckbox(parmObject,parmFieldValue)
   {
    var intGlbMaxEntries = parmObject.elements.length;
    var idxGlbLoopCount = 0;
    var strGlbTemp = "";

    while (idxGlbLoopCount < intGlbMaxEntries)
     {
      if (parmObject.elements[idxGlbLoopCount].type == strGlbCheckbox &&
          parmObject.elements[idxGlbLoopCount].value == parmFieldValue)
       {
        parmObject.elements[idxGlbLoopCount].checked = true;
        idxGlbLoopCount = intGlbMaxEntries;
       }
      ++idxGlbLoopCount;
     }
   }

//****************************************************************************
//*                   C h a r a c t e r   C o n v e r s i o n                *
//****************************************************************************

  function glbCharacterConversion(parmString)
   {
    var objGlbString = parmString + strGlbNull;
    var intGlbStringLength = objGlbString.length;
    var intGlbLoopMax = intGlbStringLength;
    var objGlbReturnString = '';
    var strChar = "";
    var strReturnChar = "";
    var intCharNum = 0;

    for (var intGlbLoopCount = 0; intGlbLoopCount < intGlbLoopMax; intGlbLoopCount++)
     {
      strChar = objGlbString.substr(intGlbLoopCount,1);
      intCharNum = objGlbString.charCodeAt(intGlbLoopCount);
//      alert(intCharNum);

      if ((intCharNum > 127 && intCharNum < 159) || (intCharNum > 8210))
       {
        strReturnChar = glbConvertChar(intCharNum);
        if (strReturnChar != '')
         {
          strChar = strReturnChar;
         }
//        alert(strChar);
//        alert(strChar.charCodeAt());
       }

// alert(strChar);

      objGlbReturnString += strChar;
     }

// alert(objGlbReturnString);
    return objGlbReturnString;
   }

//****************************************************************************
//*                   C h a r a c t e r   C o n v e r s i o n                *
//****************************************************************************

  function glbConvertChar(parmCharValue)
   {
    var intCharValue = parseInt(parmCharValue,10);

// alert("glbConvertChar - " + intCharValue);

    var intGlbMaxEntries = arrCharConversion.length;
    var intGlbLoopCount = 0;
    var intMatchValue = 0;
    var strGlbReturnChar = "";

    while (intGlbLoopCount < intGlbMaxEntries)
     {
      strGlbTemp = arrCharConversion[intGlbLoopCount];
      arrGlbTemp = strGlbTemp.split(strGlbFieldDelimiter);

      intMatchValue = parseInt(arrGlbTemp[0],10);
      if (intMatchValue == intCharValue)
       {
        if (intMatchValue != 152)
         {
          strGlbReturnChar = arrGlbTemp[1];
         }
        else
         {
          strGlbReturnChar = '~';
         }

        intGlbLoopCount = intGlbMaxEntries;
       }

      ++intGlbLoopCount;
     }

    return strGlbReturnChar;
   }

//*****************************************************************************
//*                        D i s p l a y   F i e l d s                        *
//*****************************************************************************

  function glbDisplayFormFields(parmObject)
   {
    var intGlbMaxEntries = parmObject.elements.length;
    var idxGlbLoopCount = 0;
    var strGlbTemp = "";

alert("glbDisplayFormFields: " + intGlbMaxEntries);

    while (idxGlbLoopCount < intGlbMaxEntries)
     {
      strGlbTemp = parmObject.elements[idxGlbLoopCount].name +
                   "=" +
                   parmObject.elements[idxGlbLoopCount].value;
      alert(strGlbTemp);
      ++idxGlbLoopCount;
     }
   }

// -->
