/*****************************************************************
	include\commonfunctions.js																			
*****************************************************************/
   /*variables used to separate paired-value strings*/
   var sOutSep = String.fromCharCode(1);
   var sSubSep = String.fromCharCode(2);
   var sLblSep = String.fromCharCode(3);
   var sKeySep = String.fromCharCode(4);
   var sValSep = String.fromCharCode(5);
   var sGrpSep = String.fromCharCode(6);
   var sMidSep = String.fromCharCode(7);
   var sInSep  = String.fromCharCode(8);
   var bIsIE   = document.all?true:false;
   var bIsNav  = !bIsIE;
   var undefined;

function jsSubmit(oForm) {
/*****************************************************************
	 Generic function to submit a form                              
*****************************************************************/
  if (typeof oForm != "object") {
		document.forms[0].submit();
	} else {
	  oForm.submit();
	}
} //jsSubmit


	function jsSetParamStr(inLbl, inValue, inInnerSep, inOuterSep) {
/*****************************************************************
	 Generic function to set a Paired-Value set in a Param String
*****************************************************************/
    var sReturn = inLbl + inInnerSep + inValue + inOuterSep ;
    return sReturn;
  }  //jsSetParamStr

  function jsGetParamStr(inLbl, inString, inInnerSep, inOuterSep) {
/*****************************************************************
   Generic function to get a Value from a Param String based on a
   label (key).
*****************************************************************/
    /* -----------------2/10/2002 0:22AM-----------------
     old way to get values; replaced by RegExp below
    var sArray  = inString.split(inOuterSep);
    var sReturn = "";
    for (var i = 0; i < sArray.length; i++) {
      var sSubArray = sArray[i].split(inInnerSep);
      if (sSubArray[0] == inLbl) {
        sReturn = sSubArray[1];
      }
    }
    --------------------------------------------------*/
    var sReturn = "";
		var nReturn = 0;
		var rPattern = new RegExp(inOuterSep + inLbl + inInnerSep);
		if (inString.substr(0, inLbl.length) != inLbl) {
		  nReturn  = inString.search(rPattern);
		  if (nReturn != -1) inString = inString.substr(nReturn + 1);
		  else return sReturn;
	  }
		rPattern = new RegExp(inOuterSep);
		nReturn  = inString.search(rPattern);
		if (nReturn != -1) inString = inString.substr(0, nReturn);
		var aResult = inString.split(inInnerSep);
		sReturn = aResult[1];
    return sReturn;
  }  //jsGetParamStr


  function OLDjsGetParamStr(inLbl, inString, inInnerSep, inOuterSep) {
/*****************************************************************
   Generic function to get a Value from a Param String based on a
   label (key).
*****************************************************************/
    var aArray  = inString.split(inOuterSep);
    var sReturn = "";
    for (var i = 0; i < aArray.length; i++) {
      var aSubArray = aArray[i].split(inInnerSep);
      if (aSubArray[0] == inLbl) {
        sReturn = aSubArray[1];
      }
    }
    return sReturn;
  }  //jsGetParamStr

	function jsIsBlank( siString )
	/*****************************************************************
		checks to see if a string is blank
															10/12/2001 9:30AM
	*****************************************************************/
	{
		var bReturn = true;
		for ( var i = 0; i < siString.length; i++ ) {
			var c = siString.charAt(i);
			var n = siString.charCodeAt(i);
			if (( c != ' ') && (c != '\n') && (c != '\t') && (n != 160) ) {
				bReturn = false;
			}
		}
		return bReturn;
	}  // jsIsBlank

function jsChildAppOpener(sURL) {
  if (sURL != "") {
		var sAttr    = 'location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,toolbar=no';
		var nWidth   = screen.availwidth;
		var nHeight  = screen.availheight;
		var nLeft    = 5;
		var nTop     = 5;
		var wPct     = 98;
		var hPct     = 92;
		nWidth       = nWidth   * wPct / 100;
		nHeight      = nHeight  * hPct / 100;
		jsOpenChildWin(sURL, nWidth, nHeight, nLeft, nTop, sAttr);
  }
} //jsChildWinOpener

function jsChildWinOpener(sURL) {
  if (sURL != "") {
		var sAttr    = 'location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes';
		var nWidth   = screen.availwidth;
		var nHeight  = screen.availheight;
		var nLeft    = 5;
		var nTop     = 5;
		var wPct     = 95;
		var hPct     = 75;
		nWidth       = nWidth   * wPct / 100;
		nHeight      = nHeight  * hPct / 100;
		jsOpenChildWin(sURL, nWidth, nHeight, nLeft, nTop, sAttr);
  }
} //jsChildWinOpener

// Generate a Generic Child Window.
// Parameters:
//    sURL -- URL of the page/frameset to be loaded into window
//    nWidth -- pixel width of the window
//    nHeight -- pixel height of the window
//    nLeft
//    nTop
//    sAttr -- screen attributes excluding width, height, left, top
function jsOpenChildWin(sURL, nWidth, nHeight, nLeft, nTop, sAttr) {
  if (!childWin.win || (childWin.win && childWin.win.closed)) {
    // Initialize properties of the child window object.
    if (sAttr == undefined) sAttr = "";
    childWin.url    = sURL;
    childWin.width  = nWidth;
    childWin.height = nHeight;
    childWin.left   = nLeft;
    childWin.top    = nTop;
    childWin.attr   = sAttr;
    childWin.name   = "i" + (new Date()).getSeconds().toString(); //create unique name
    if (isIEBrowser  == true) childWin.attr += ",left=" + childWin.left + ",top=" + childWin.top;
    if (isNavBrowser == true) childWin.attr += ",screenX=" + childWin.left + ",screenY=" + childWin.top;
    childWin.attr  += ",width=" + childWin.width + ",height=" + childWin.height;
    if (childWin.attr.substr(0, 1) == ",") childWin.attr = childWin.attr.substr(1);
    // Generate the window and give it has focus.
    childWin.win=window.open(childWin.url, childWin.name, childWin.attr);
    childWin.win.focus();
  } else {
    if (childWin.url != sURL) {
      childWin.url    = sURL;
      childWin.url    = sURL;
      if (childWin.width  != nWidth  ||
          childWin.height != nHeight ||
          childWin.left   != nLeft   ||
          childWin.top    != nTop)
      {
        childWin.width  = nWidth;
        childWin.height = nHeight;
        childWin.left   = nLeft;
        childWin.top    = nTop;
        childWin.attr   = sAttr;
        if (isIEBrowser  == true) childWin.attr += ",left=" + childWin.left + ",top=" + childWin.top;
        if (isNavBrowser == true) childWin.attr += ",screenX=" + childWin.left + ",screenY=" + childWin.top;
        childWin.attr  += ",width=" + childWin.width + ",height=" + childWin.height;
        if (childWin.attr.substr(0, 1) == ",") childWin.attr = childWin.attr.substr(1);
      }
      childWin.win    = window.open(childWin.url, childWin.name, childWin.attr);
    }
    childWin.win.focus();
  }
} //jsOpenChildWin

function jsGetObjectRef(sID, sName) { //, sInForm
  var oObject;
  //if (typeof sInForm != "string") {sInForm = "0";}
  if (typeof sName != "string" ) {sName = sID;}
  if (bIsIE) {
    oObject = eval("document.all." + sID);
  } else { //Navigator
    if (frames.length > 0) {
			navLoop:
			for (var h = 0; h < frames.length; h++) {
				for (var i = 0; i < frames[h].document.forms.length; i++) {
					for (var j = 0; j < frames[h].document.forms[i].elements.length; j++) {
						if (frames[h].document.forms[i].elements[j].name == sName) {
							oObject = frames[h].document.forms[i].elements[j];
							break navLoop;
						}
					}
        }
      }
		} else {
			navNFLoop:
			for (var i = 0; i < document.forms.length; i++) {
				for (var j = 0; j < document.forms[i].elements.length; j++) {
					if (document.forms[i].elements[j].name == sName) {
						oObject = document.forms[i].elements[j];
						break navNFLoop;
					}
				}
			}
    }
    //oObject = eval("document.forms['" + sInForm + "']." + sName);
  }
  return oObject;
} //jsGetObjectRef

function jsGetSelectText(oSelect) {
	var sReturn = "";
	for (var i = 0; i < oSelect.options.length; i ++) {
		if (oSelect.options[i].selected) {
			sReturn = oSelect.options[i].text;
			break;
		}
	}
	return sReturn;
} //jsGetSelectText
