
// 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));

/****************************************************************/
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;
} 

/****************************************************************/


