
// JavaScript Processing Options Functions
// Author: Abi Olowe
// Date:   9/04/01

////////////////////////////////////////////////////////////////////////

var isNN = (navigator.appName.indexOf("Netscape")!=-1);
var isIE = (navigator.appName == 'Microsoft Internet Explorer');
//var isIE4 = (isIE && (parseInt(navigator.appVersion) < 5));
//var isIE5 = (isIE && (parseInt(navigator.appVersion) > 4));

if (document.layers) window.captureEvents(Event.MOUSEDOWN);
if (document.layers) window.captureEvents(Event.MOUSEUP);

/****************************************************************/
function setRadio(buttonGroup, setValue) {
    for (var i = 0; i < buttonGroup.length; i++) {
     if (buttonGroup[i].value == setValue) {
          buttonGroup[i].checked = true;
          return 0;
     }
    }
    //buttonGroup[1].checked = true;
    return 0;
}
/****************************************************************/
function setDropDown(dropDownGroup, setValue) {
    for (var i = 0; i < dropDownGroup.length; i++) {
     if (dropDownGroup.options[i].value == setValue) {
          dropDownGroup.options[i].selected = true;
     }
    }
    return 0;
}
/****************************************************************/
function setMultiDropDown(dropDownGroup, setValue) {
    var val = new String(setValue);
   if (Trim(val)!=""){
    var myArray = val.split(',');
    var myCount = myArray.length;

    for (var i = 0; i < dropDownGroup.length; i++) {
        for (var iL=0; iL<myCount;iL++) {

     if (dropDownGroup.options[i].value == Trim(myArray[iL])) {
          dropDownGroup.options[i].selected = true;
     }
        }
    }
    }
    return 0;
}
/****************************************************************/
function setMultiCheckBox(checkBoxGroup, setValue) {
    var val = new String(setValue);
   if (Trim(val)!=""){
    var myArray = val.split(',');
    var myCount = myArray.length;

    for (var i = 0; i < checkBoxGroup.length; i++) {
        for (var iL=0; iL<myCount;iL++) {

     if (checkBoxGroup[i].value == Trim(myArray[iL])) {
          checkBoxGroup[i].checked = true;
     }
        }
    }
    }
    return 0;
}
/****************************************************************/
function setCheckBox(checkBoxGroup, setValue) {
    if (checkBoxGroup.value == setValue) {
     checkBoxGroup.checked = true;
    }
    return 0;
}
/****************************************************************/
function getDropDownVal(dropDownGroup, setValue) {
    var strVal
    for (var i = 0; i < dropDownGroup.length; i++) {
     if (dropDownGroup.options[i].value == setValue) {
          strVal = dropDownGroup.options[i].text;
          break;
     }
    }
    return strVal;
}

/****************************************************************/
function IsDigits(textField,msg) {
var s = new String(textField.value);
// var s = textField.value;
 var numbers = "0123456789";
 if (s!="") {
  for (i=0; i<s.length; i++) {
    if (numbers.indexOf(s.charAt(i))== -1) {
       alert (msg);
       s="";
       textField.focus();
       return false;
     } 
  } 
 }
  return true;
}

/****************************************************************/
function Left(str, n) {
  if (str=="") return "";
  if (n <= 0) return "";
  else if (n > String(str).length) return str;
  else return String(str).substring(0,n);
}

/****************************************************************/
function Right(str, n) {
  var l=String(str).length;
  if (n <= 0) return "";
  else if (n > l) return str;
  else return String(str).substring(l-n,l);
}

/****************************************************************/
function Trim(inString) {
  var retVal = "";
  var start = 0;
  while ((start < inString.length) && (inString.charAt(start) == ' ')) {
    ++start;
  }
  var end = inString.length;
  while ((end > 0) && (inString.charAt(end - 1) == ' ')) {
    --end;
  }
  retVal = inString.substring(start, end);
  return retVal;
}

/****************************************************************/
function IsSingle(textField,msg) {
var s = new String(textField.value);
var n=0;
// var s = textField.value;
 var numbers = "0123456789.";
 if (s!="") {
  for (i=0; i<s.length; i++) {
    if (s.charAt(i)==".")n++;
    if (numbers.indexOf(s.charAt(i))== -1) {
       alert (msg);
       s="";
       textField.focus();
       return false;
     } 
  }
  if (n>1) {
     alert (msg);
     s="";
     textField.focus();
     return false;
  } 
 
 }
  return true;
}
/****************************************************************/
function IsCorrectDigits(textField,digits,msg) {
var s = new String(textField.value);
// var s = textField.value;
 if (s!="") {
          if (! IsNum(textField,msg)) return 0;
          if (s.length != digits) {
               alert (msg);
               s=""; 
               textField.focus();
          return 0;
          }
   } 
    return 1;
}

/****************************************************************/
function GoodEmail(textField,msg) {
  var s = textField.value;
  if (s!="") {
    //s=s.toLowerCase();
     if (s.indexOf("@")<2 || s.indexOf(".")<1){
               alert (msg);
          return 0;
    }
     if (s.indexOf(".") > s.length-2){
               alert (msg);
          return 0;
    }
  }
  return 1;
}

/****************************************************************/
function IsValidEmail(s) {
  if (s!="") {
    if (s.indexOf("@")<2 || s.indexOf(".")<1){return 0;}
    if (s.indexOf(".") > s.length-2){return 0;}
    return 1;
  }
  else return 0;
}

/****************************************************************/

function IsPresent(sValue,sChar) {
  if (sValue!=""&&sChar!="") {
     if (sValue.indexOf(sChar)>-1){
          return 1;
    }
  }
  return 0;
}

/****************************************************************/

function ValidChar(textField,msg)
{
//var s = new String(textField.value);
 var s = textField.value;
    var checkOK = "%'*&#<>/+;=";
 if (s!="") {
    for (i = 0;  i < s.length;  i++) {
     //if (checkOK.indexOf(s.charAt(i))!= -1) {
     if (checkOK.indexOf(s.charAt(i)) >0 ) {
       alert ('Character: '+s.charAt(i)+'\n'+msg);
       //s="";
       textField.focus();
       return 0;
      } 

    }
}
    return 1;
}

function ValidChar2(textField,msg)
{
//var s = new String(textField.value);
 var s = textField.value;
    var checkOK = "%'*&#<>/+; \=:{}[],<>?$^()!~`";
 if (s!="") {
    for (i = 0;  i < s.length;  i++) {
     //if (checkOK.indexOf(s.charAt(i))!= -1) {
     if (checkOK.indexOf(s.charAt(i)) >0 ) {
       alert ('Character: '+s.charAt(i)+'\n'+msg);
       //s="";
       textField.focus();
       return 0;
      } 

    }
}
    return 1;
}

function validChars(sStr)
  {
  var sValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"
  var bReturn = true
  var i = new Number(0);
  while ((bReturn) && (i < sStr.length))
    {
    bReturn = (sValidChars.indexOf(sStr.charAt(i)) >= 0)
    i++
    }
  return (bReturn)
  } // validChars()


/****************************************************************/
function ValidNumberRange(from,to) {

  var f=from.value;
  var t=to.value;

  if ((t != "" && f == "") ||  (f != "" && t == "")) {
    alert('You must make entries in both "from" and "to fields');
    from.focus();
    return false;
  }

  if (f != "" && parseFloat(f) > parseFloat(t)) {
        alert('Invalid number range.\n"To" number must be greater than "From" number. Please correct!');
    from.select();
    from.focus();
        return false;
  }
  return true;
}
/****************************************************************/
function ValidDateRange(from,to) {

  var f=from.value;
  var t=to.value;

  if ((t != "" && f == "") ||  (f != "" && t == "")) {
    alert('You must make entries in both "from" and "to fields');
    from.focus();
    return false;
  }

  if (f != "" && Date.parse(f) > Date.parse(t)) {
        alert('Invalid Date range.\n"To" date must be at least 1 day after "From" date. Please correct!');
    from.select();
    from.focus();
        return false;
  }
  return true;
}
/****************************************************************/
//***** Checks to see if a text field is empty
function IsEmpty(textField,msg) {
    var s = new String(textField.value);
    if (s!="") {
     return true;
    }
    else{
     alert(msg);
     textField.focus();
    }
}
/****************************************************************/
//***** Checks to see if a selection has been made from a list box
function IsSelected(listField, msg) {
    if (listField.options.selectedIndex != -1) {
     return true;
    }
    else{
     alert(msg);
     listField.focus();
     return false;
    }
}
/****************************************************************/

function ReplaceDoubleQuotes(elem){
    var q ="";
    var s = elem.value;
    var checkOK = '"';
    if (s!="") q = s.split(checkOK).join("''");
        elem.value = q;
} 

/****************************************************************/
// AUTO TAB


function autoTab(input,len, e)
{
    var keyCode = (isNN) ? e.which : e.keyCode;
    var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
    if(input.value.length >= len && !containsElement(filter,keyCode))
    {
     input.value = input.value.slice(0, len);
     input.form[(getIndex(input)+1) % input.form.length].focus();
    }

function containsElement(arr, ele)
{
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele) found = true;
    else index++;
    return found;
}

function getIndex(input)
{
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
}

return true;
}
/****************************************************************/

function SetChecked(dml,elem,ctr) {
   //var dml=document.listForm;
   var val=0;
   if(ctr.checked)val=1;
   var len = dml.elements.length;
   var i=0;
   for( i=0 ; i<len ; i++) {
    if (dml.elements[i].name==elem) {
       dml.elements[i].checked=val;
    }
   }
}

/****************************************************************/
function resetfrm(frm) {
frm.reset();
}

