
<!-- Common JavaScript Functions

// Default Date Form MM/DD/YYYY
var dateForm    = "MM/DD/YYYY"
var displayDateSep = "/"
var displayDayPos = 3
var displayMonthPos = 0
var displayYearPos = 6
var dateMonth
var dateDay
var dateYear
var dateSep1
var dateSep2
var msg = new Array(10)
var fld = new Array(10)
var totalMessages = -1
var rc = true
var mouseX = 50;
var mouseY = 100;

// Browser Detection
isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
isDOM = (document.getElementById) ? true : false;

//The following code forces a reload when a screen is resized to overcome the NetScape 4.x CSS Link problem

if (document.layers) {

   origWidth = innerWidth
   origHeight = innerHeight

}

function reloadPage() {

   if ((innerWidth != origWidth)
     || (innerHeight != origHeight)) {

      location.reload()

   }

}

if (document.layers) onresize = reloadPage;

//The above code forces a reload when a screen is resized to overcome the NetScape 4.x CSS Link problem


function updateMouseCoordinates(evt) {

 if ((isIE) || (isDOM)) {

      //alert("IE / Nav 6.x")
      mouseX = evt.screenX + 20;
      mouseY = evt.screenY - 20;

   }
 else {

      //alert("Nav 4.x")
      mouseX = evt.pageX + 20;
      mouseY = evt.pageY - 20;

   }

}


function stripLeadingTrailingSpaces (str) {

  if (str <= "")
     return str;

  var aChar     = str
  var aString   = str
  var newLength = str.length

  // Strip leading spaces
  for (var i = 0; i != newLength; i++) {
     aChar = str.substring(i,i+1)
     if(aChar != " ") {
       aString = str.substring(i,newLength + 1)
       break
     }
  }

  if (i == newLength) {
     //Blank String
     aString = "";
     return aString;
  }

  // Strip trailing spaces
  for (var i = aString.length; i > 0; i--) {
     aChar = str.substring(i,i+1)
     if(aChar != " ") {
       aString = str.substring(0,i)
       break
     }
  }

  return aString;

}


function isInteger (str) {

  var Num       = str
// Strip any Currency Seperator

   currencySeperator = Num.indexOf(",");

   while (currencySeperator > -1) {

      Num = Num.substring(0, currencySeperator) + Num.substring(currencySeperator + 1, Num.length);
      currencySeperator = Num.indexOf(",");

   }

  var newLength = Num.length

  for (var i = 0; i != newLength; i++) {
     aChar = Num.substring(i,i+1)
     if(aChar < "0" || aChar > "9") {
       return false
     }
  }

  return true;

}


function checkNum(data) {                 // checks if all characters
                                          // are valid numbers or a "."
   var Num       = data
   var valid = "0123456789.";
   var ok = 1; var checktemp;

// Strip any Currency Seperator

   currencySeperator = Num.indexOf(",");

   while (currencySeperator > -1) {

      Num = Num.substring(0, currencySeperator) + Num.substring(currencySeperator + 1, Num.length);
      currencySeperator = Num.indexOf(",");

   }

   for (var i=0; i<Num.length; i++) {

      checktemp = "" + Num.substring(i, i+1);
      if (valid.indexOf(checktemp) == "-1") return false;

   }

   return true;

}

function isMonetary(data) {

// Strip any Currency Symbol and Currency Seperator

   Num = data;

   currencySymbol = Num.indexOf("$");

   if (currencySymbol > -1) {
      Num = Num.substring(0, currencySymbol)
          + Num.substring(currencySymbol + 1, Num.length);
   }

   currencySeperator = Num.indexOf(",");

   while (currencySeperator > -1) {

      Num = Num.substring(0, currencySeperator) + Num.substring(currencySeperator + 1, Num.length);
      currencySeperator = Num.indexOf(",");

   }

   dp  = Num.indexOf(".");
   Dec = ((dp > -1) ? "" + Num.substring(dp + 1,Num.length) : "00");
   Int = ((dp > -1) ? "" + Num.substring(0,dp) : Num);
   //    window.alert("int = " + Int)
   //    window.alert("dec = " + Dec)
   //Num = "" + parseInt(Num);

   var temp1 = "";
   var temp2 = "";

   if (!(isInteger(Dec))) {
      return false;
   }

   if (!(isInteger(Int))) {
      return false;
   }

   if (Int == "") Int = "0";
   if (Dec.length == 1) Dec += "0";
   if (Dec == "") Dec = "00";

   var count = 0;

   for (var k = Int.length-1; k >= 0; k--) {

      var oneChar = Int.charAt(k);

      if (count == 3) {
      temp1 += ",";
      temp1 += oneChar;
      count = 1;
      continue;
      }
      else {
      temp1 += oneChar;
      count ++;
      }

   }

   for (var k = temp1.length-1; k >= 0; k--) {
      var oneChar = temp1.charAt(k);
      temp2 += oneChar;
   }

   testREP_ITEM_JAVA_NAME = "$" + temp2 + "." + Dec;

   return true;

}

function bwBuildDisplayDate(mm, dd, yyyy) {

   if ((displayMonthPos < displayDayPos)
         && (displayMonthPos) < displayYearPos) {

          if (displayDayPos < displayYearPos)
                 return mm + displayDateSep + dd + displayDateSep + yyyy;
          else return mm + displayDateSep + yyyy + displayDateSep + dd;

   }
   else {

          if ((displayDayPos < displayMonthPos)
                && (displayDayPos) < displayYearPos) {

                 if (displayMonthPos < displayYearPos)
                        return dd + displayDateSep + mm + displayDateSep + yyyy;
                 else return dd + displayDateSep + yyyy + displayDateSep + mm;

          }
          else {

                 if (displayDayPos < displayMonthPos)
                        return yyyy + displayDateSep + dd + displayDateSep + mm;
                 else return yyyy + displayDateSep + mm + displayDateSep + dd;

          }

   }

}


function checkDate(dte) {

   if (dte.length == 10) {

      dateMonth = dte.substring(displayMonthPos, displayMonthPos + 2) // month
      dateSep1 = dte.substring(displayMonthPos + 2, displayMonthPos + 3) // Date Seperator
      dateDay = dte.substring(displayDayPos, displayDayPos + 2) // day

      if (displayDayPos < displayYearPos) {
        dateSep2 = dte.substring(displayDayPos + 2, displayDayPos + 3) // Date Seperator
      }
      else
      {
        dateSep2 = dte.substring(displayYearPos + 2, displayYearPos + 3) // Date Seperator
      }

      dateYear = dte.substring(displayYearPos, displayYearPos + 4) // year

   }
   else
   {

      return "F"

   }

   if (isInteger(dateMonth) == false) return "M"
   if (dateMonth < 1 || dateMonth > 12) return "M"
   if (dateSep1 != displayDateSep) return "S"
   if (isInteger(dateDay) == false) return "D"
   if (dateDay < 1 || dateDay > 31) return "D"
   if (dateSep2 != displayDateSep) return "S"
   if (isInteger(dateYear) == false) return "Y"
   if (dateYear < 0 || dateYear > 9999) return "Y"

   if (dateMonth == 4 || dateMonth == 6 || dateMonth == 9 || dateMonth == 11){
      if (dateDay == 31) return "D"
   }

   if (dateMonth == 2){

      var g=parseInt(dateYear / 4)

      if (isNaN(g)) {
         return "F"
      }

      if (dateDay > 29) return "D"
      if (dateDay == 29 && ((dateYear / 4) != parseInt(dateYear / 4))) return "D"

   }

   // Date is valid
   return 0

}

function stringReplace(originalString, findText, replaceText) {

   var pos = 0
   var len = findText.length
   pos = originalString.indexOf(findText)

   while (pos != -1) {

      preString = originalString.substring(0, pos)
      postString = originalString.substring(pos + len, originalString.length)
      originalString = preString + replaceText + postString
      pos = originalString.indexOf(findText)

   }

   return originalString

}

function getRadioValue(radioObject) {

   var value = null

   for (var i = 0; i < radioObject.length; i++) {

      if (radioObject[i].checked) {

         value = radioObject[i].value
         break

      }

   }

   return value

}

function checkTime(tme) {

   if (tme.length != 8) return "F"

   b = tme.substring(0, 2)// hours
   c = tme.substring(2, 3)// ':'
   d = tme.substring(3, 5)// minutes
   e = tme.substring(5, 6)// ':'
   f = tme.substring(6, 8)// secounds

   if (isInteger(b) == false) return "H"
   if (b<0 || b>23) return "H"
   if (c != ':') return false
   if (isInteger(d) == false) return "M"
   if (d<0 || d>59) return "M"
   if (e != ':') return false
   if (isInteger(f) == false) return "S"
   if (f<0 || f>59) return "S"

   return 0
}


function format_calendar(fieldName, fieldValue, mouseX, mouseY, selectAfter, selectBefore, allowWeekends) {

   var parmString = "CloseOnSelect=Yes;";

   if (mouseX > " ")
      parmString += "PopupX=" + mouseX + ";"

   if (mouseY > " ")
      parmString += "PopupY=" + mouseY + ";"

   if (selectAfter > " ")
      parmString += "SelectAfter=" + selectAfter + ";"

   if (selectBefore > " ")
      parmString += "SelectBefore=" + selectBefore + ";"

   if (allowWeekends > " ")
      parmString += "AllowWeekends=" + allowWeekends + ";"

   if ((fieldValue > " ")
     && (checkDate(fieldValue) == 0)) {

      dateMonth = dateMonth - 1

      if (dateMonth.length == 1)
         dateMonth = "0" + dateMonth;

      parmString += "CurrentDate=" + fieldValue + ";"

      show_calendar(fieldName, dateMonth, dateYear, 'MM/DD/YYYY', 'POPUP', parmString); 

   }
   else {

      show_calendar(fieldName, null, null, 'MM/DD/YYYY', 'POPUP', parmString); 

   }

}

 // end of Common JavaScript Functions -->


