<!-- Make Invisible to Non-JavaScript Browsers

// Copyrighted 2004 By Boulevard Group, LLC

function submitOK()
{
	return true;
}

function altSubmit(dSource, dMode)
{
var LinkTo = "";

	// Validate Source
	if (dSource == "LOGIN") {
		LinkTo = "PMISWebLogin.asp";
	} else if (dSource == "LOGINADHOC") {
		LinkTo = "PMISWebLoginAdHoc.asp";
	} else {
		LinkTo = "PMISWebLogin.asp";
	}
	
	// Format Link
	var strLink = LinkTo + "?MODE=" + dMode;
	
	// Submit
	document.forms[0].action = strLink;
	document.forms[0].submit();

} // End of altSubmit

function growWin(LinkTo, dxLoc, dyLoc, dWidth, dHeight) {

var xLoc = 0;
var yLoc = 0;
var doWidth = window.screen.availWidth;	
var doHeight = window.screen.availHeight;
//var doWidth = screen.availWidth - (.01 * screen.availWidth);
//var doHeight = screen.availHeight - (.065 * screen.availHeight); 

	// Debug
	
	//alert(LinkTo);

	// Initialize
	
	xLoc = dxLoc;
	yLoc = dyLoc;
	
	if (dWidth != 0) {
		doWidth = dWidth;
	}
	if (dHeight != 0) {
		doHeight = dHeight;
	}
		
	// Resize and Position Screen
	
	window.moveTo(xLoc, yLoc);
	//window.resizeTo(window.screen.availWidth, window.screen.availHeight);
	window.resizeTo(doWidth, doHeight);
	
	// Link to Page
	
	window.location = LinkTo
	
}  // End of growWin

/* Thanks to DHTML and CSS for the World Wide Web; 2nd Edition
   by Jason Cranford Teague */

// Determine Browser Capability (Inline Code

var browserVersion = is_major;
var isDHTML = 0;
var isID = 0;
var isAll = 0;
var isLayers = 0;

if (document.getElementById) { 	isID = 1; isDHTML = 1;} else {
	if (document.all) {		isAll = 1; isDHTML = 1;	} else {
		browserVersion = parseInt(navigator.appVersion);
		if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {			isLayers = 1; isDHTML = 1;		}
	}} 
// Debug//alert("isDHTML="+isDHTML+"\n"+"isID="+isID+"\n"+"isAll="+isAll+"\n"+"isLayers="+isLayers);

function findDOM(objectID, withStyle) {
	if (withStyle == 1) {
		if (isID) { 			return (document.getElementById(objectID).style) ; 		} else { 
			if (isAll) { 				return (document.all[objectID].style); 			} else {
				if (isLayers) { 					return (document.layers[objectID]); 				}
			};		}
	} else {
		if (isID) { 			return (document.getElementById(objectID)) ; 		} else { 
			if (isAll) { 				return (document.all[objectID]); 			} else {
				if (isLayers) { 					return (document.layers[objectID]); 				}
			};		}
	}	
} // End of findDOM

function findLivePageWidth() {
	if (window.innerWidth != null) {
		return window.innerWidth;	}
	if (document.body.clientWidth != null) {
		return document.body.clientWidth;	}
	return (null);
} // End of findLivePageWidth
	
function popUp(evt,objectID){
	if (isDHTML) { // Makes sure this is a DHTML browser	
		var livePageWidth = findLivePageWidth();
		var domStyle = findDOM(objectID, 1);
		var dom = findDOM(objectID, 0);
		var state = domStyle.visibility;		
		if (dom.offsetWidth) {			elemWidth = dom.offsetWidth;		} else { 			if (dom.clip.width)	{				elemWidth = dom.clip.width;			} 		}
		elemWidthOrig = elemWidth;
		
		elemWidth = 300; // Force Minimum Width on Popup				if (state == "visible" || state == "show")  { 			domStyle.visibility = "hidden"; 		} else {
			if (evt.pageY) {				//Calculates the position for Navigator 4 
				topVal = evt.pageY + 4;
				leftVal = evt.pageX - (elemWidth / 2); 
			} else { 
				if (evt.y) {					// Calculates the position for IE4
					topVal = evt.y + 4 + document.body.scrollTop;
					//leftVal = evt.x - (elemWidth / 2) + document.body.scrollLeft;
					leftVal = evt.x + document.body.scrollLeft;
				}
			}			
			/*If the element goes off the page to the left, this moves it back */
			
			leftValOrig = leftVal; // Save
						if(leftVal < 2) {				leftVal = 2; 			} else { 
				if ((leftVal + elemWidth) > livePageWidth) {					 leftVal = leftVal - (elemWidth / 2); 				}
			}
			
			leftValAdj = leftVal;			
			domStyle.top = topVal; // Positions the element from the top
			//domStyle.left = leftVal; // Positions the element from the left
			domStyle.left = leftValOrig - (elemWidth + 10) ; // Positions the element from the left
			domStyle.width = elemWidth;
			domStyle.visibility = "visible"; // Makes the element visable						// Debug			/* alert("state="+state+"\n"+					"livePageWidth="+livePageWidth+"\n"+					"elemWidthOrig="+elemWidthOrig+"\n"+					"elemWidth="+elemWidth+"\n"+					"document.body.scrollLeft="+document.body.scrollLeft+"\n"+					"topVal="+topVal+"\n"+					"leftValOrig="+leftValOrig+"\n"+					"leftValAdj="+leftValAdj+"\n"+					"Visibility="+domStyle.visibility); */ 
		}
	}	
} // End of popUp

var intButtonNo = 0;

function PMISWebExecSP(intButtonNumber, strMessage)
{
var bolDoDebug = false;

	// Initialize Values
	
	intIntervals = 0;
	var b = intButtonNumber;
	intButtonNo = b;
	if (bolDoDebug) {
		alert("b>"+b+"<");
	}

	// Window Size
	
	var intWidth = 300;
	var intHeight = 100;
	
	// Set Return Code (buttonrc) with Magic Number (UNIX talk)
	
	objButtonArgsrc = getElement("buttonrc"+b)
	objButtonArgsrc.value = "1781";
	if (bolDoDebug) {
		alert("objButtonArgsrc.value>"+objButtonArgsrc.value+"<");
	}
	
	// Get Button Arguments from svbutton
	
	var objButtonArgs;
	var strButtonArgs = "";
	objButtonArgs = getElement("svbutton"+b)
	strButtonArgs = objButtonArgs.value;
	if (bolDoDebug) {
		alert("strButtonArgs>"+strButtonArgs+"<");
	}
	
	// Extract Arguments
	
	var aryButtonArgs = strButtonArgs.split(";");
	if (bolDoDebug) {
		alert("Number of Args = "+aryButtonArgs.length);
		for(var i=0; i<aryButtonArgs.length; i++) {
			alert(i+" >"+aryButtonArgs[i]+"<");
		}
	}
	
	// Calculate Window Variables
	
	if (document.all) {
		var xMax = screen.width; 
		var yMax = screen.height;
	} else {
		if (document.layers) {
			var xMax = window.outerWidth; 
			var yMax = window.outerHeight;
		} else {
			var xMax = 800; 
			var yMax = 600;
		}
	}
	var xOffset = (xMax - intWidth)/2; 
	var yOffset = (yMax - intHeight)/2;	
	
	// Set Window Variables
	
	var strWinName = "PMISWebExecSP";
	
	var strFeatures = 
		"toolbar="		+	"no"		+
		",location="	+	"no"		+
		",directories="	+	"no"		+
		",status="		+	"no"		+
		//",status="		+	"yes"		+
		",menubar="		+	"no"		+
		",scrollbars="	+	"no"		+
		//",scrollbars="	+	"yes"		+
		//",resizable="	+	"no"		+
		",resizable="	+	"yes"		+
		",screenX="		+	xOffset		+
		",screenY="		+	yOffset		+
		",top="			+	yOffset		+
		",left="		+	xOffset		+
		",width="		+	intWidth		+
		",height="		+   intHeight
		
		if (bolDoDebug) {
			alert("strFeatures>"+strFeatures+"<");
		}
	
	// Build the Link
	
	var strLink = new String("PMISWebExecSP.asp?LINK="+b);  // Initialize
	var intParamCtr = 0;
	
	for(var i=9; i<aryButtonArgs.length; i++) {
	
		// Get svbutton argument
		
		var strParamArgs = aryButtonArgs[i];
		if (bolDoDebug) {
			alert("Arg: "+i+". >"+strParamArgs+"<");
		}
		
		// If SP Parameter String then parse
		
		var aryParamArgs = strParamArgs.split(",");
		if (strParamArgs.length > 1) {
			if (bolDoDebug) {
				alert("aryParamArgs.length>"+aryParamArgs.length+"<");
			}
			var SQLParamName = aryParamArgs[0];
			var SQLParamType = aryParamArgs[1];
			var SQLParamIO = aryParamArgs[2];
			var SQLParamCtl = aryParamArgs[3];
			if (bolDoDebug) {
				alert("SQLParamCtl>"+SQLParamCtl+"<");
			}
			if (isInteger(SQLParamCtl)) { // Number
				if (bolDoDebug) {
					alert("Have Number>"+SQLParamCtl+"<");
				}
				strSQLParamValue = SQLParamCtl;
			} else {
				if (SQLParamCtl.charAt(0) == "'") { // String
					if (bolDoDebug) {
						alert("Have Literal>"+SQLParamCtl+"<");
					}
					strSQLParamValue = SQLParamCtl.substring(1,length(SQLParamCtl)-2);
				} else {
					if (SQLParamCtl.charAt(0) == "%") { // Control, e.g. <input ...
						if (bolDoDebug) {
							alert("Have Ctl>"+SQLParamCtl+"<");
							alert(SQLParamCtl.substring(1,SQLParamCtl.length-1));
						}
						var objSQLParamValue = getElement(SQLParamCtl.substring(1,SQLParamCtl.length-1));
						strSQLParamValue = objSQLParamValue.value;
					}
				}
			}
			
			if (bolDoDebug) {
				alert("strSQLParamValue>"+strSQLParamValue+"<");
			}
			
			// Add PARAM's to strLink
			
			if (strSQLParamValue.length > 0) {
				strLink += "&" + "PARAM" + (++intParamCtr) + "=" + escape(strSQLParamValue);
			}
			
		} // > 1
		
	} // End for 
	
	// Pass svbutton String
	
	strLink += "&" + "SPPARMS=" + escape(strButtonArgs);
	
	if (bolDoDebug) {
		alert("strLink>"+strLink+"<\nstrWinName>"+strWinName+"<\nstrFeatures>"+strFeatures+"<");
	}
	
	// Link to PMISWebExecSP.asp to run stored procedure
	
	// Initialize Window
	
	var hndWindow = window.open(strLink, strWinName, strFeatures)
	
	if (! hndWindow) {
		alert("The Run SP Function was unable to open the Run SP window.  Please check if you have your browser has the popup blocker turned on.  If so please turn it off to use the Run SP Function.  If this is not the case, please call us at support.  Thank you.");
	}
	
	// Reset opener
	
	if (hndWindow.opener == null) {
		hndWindow.opener = self;
	}
		
	hndWindow.focus();
	
	// Sit and Spin Waiting for Completion
	
	intIntervals = 0;
	processResults(intButtonNo, objButtonArgsrc);
	
} // End of PMISWebExecSP

function doNada()
{
	return true;
	
} // End of doNada

function processResults()
{
var bolDoDebug = false;
	
	if (bolDoDebug) {
		alert("b>"+intButtonNo+"<");
	}
	
	// Test Return Code (buttonrc+b)

	var b = intButtonNo;
		
	var objButtonArgsrc = getElement("buttonrc"+b);
	if (bolDoDebug) {
		alert("objButtonArgsrc.value>"+objButtonArgsrc.value+"<");
	}

	if (objButtonArgsrc.value != "1781") {

		if (bolDoDebug) {
			alert("processResults: RC>"+objButtonArgsrc.value+"< ("+intIntervals+")");
		}
		
		// Process Results Code Here
		
		alert("Returned From Stored Procedure RC: " + objButtonArgsrc.value+" ("+intIntervals+")");
		
		// Outa Here

		return true;
	
	} else {
	
		intIntervals++;
		if (bolDoDebug) {
			alert("intIntervals: "+intIntervals);
		}
		if (intIntervals > 4) {
			alert("Invalid Return Code.  Please call your System Administrator. Thanks.");
			alert("intIntervals Exceeded");
			return false;
		}
		setTimeout("processResults()", "1000");
		
	}
		
} // End of processResults

function formatAsMoney(mnt) {

    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
}

function formatCurrency(num) {

	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
		num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
		cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
		num = num.substring(0,num.length-(4*i+3))+','+
		num.substring(num.length-(4*i+3));
	//return (((sign)?'':'-') + '$' + num + '.' + cents);
	return (((sign)?'':'-') + '$' + num);
}

function showtip2(current, e, text){

	if (document.all && document.readyState == "complete"){ // IE
	
		//document.all.tooltip2.innerHTML='<marquee style="border:1px solid black">'+text+'</marquee>'
		document.all.tooltip2.innerHTML='<span style="z-index: 99; border: 0px solid black; font-size: 8pt;">'+text+'</span>'
		document.all.tooltip2.style.pixelLeft=event.clientX+document.body.scrollLeft+10
		document.all.tooltip2.style.pixelTop=event.clientY+document.body.scrollTop+10
		document.all.tooltip2.style.zindex=99
		document.all.tooltip2.style.visibility="visible"
	}
	else if (document.layers){ // Netscape
	
		document.tooltip2.document.nstip.document.write('<b>'+text+'</b>')
		document.tooltip2.document.nstip.document.close()
		document.tooltip2.document.nstip.left=0
		currentscroll=setInterval("scrolltip()",100)
		document.tooltip2.left=e.pageX+10
		document.tooltip2.top=e.pageY+10
		document.tooltip2.visibility="show"
	}
	
} // End of showtip2

function hidetip2(){

	if (document.all)
		document.all.tooltip2.style.visibility="hidden"
	else if (document.layers){
		clearInterval(currentscroll)
	    document.tooltip2.visibility="hidden"
	}
	
} // End of hidetip2

function getElement(psID) { 
   if(document.all) { 
      return document.all[psID]; 
   } else if(document.getElementById) { 
      return document.getElementById(psID); 
   } else { 
      for (iLayer = 1; iLayer < document.layers.length; iLayer++) { 
         if(document.layers[iLayer].id == psID) 
            return document.layers[iLayer]; 
      }       
   } 

   return Null;
    
} // End of getElement

function Trim(TRIM_VALUE)
{
	if(TRIM_VALUE.length < 1){
		return"";
	}
	
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
		return "";
	} else{
		return TRIM_VALUE;
	}
	
} //End of Trim

function RTrim(VALUE)
{
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";

	if(v_length < 0){
		return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		} else{
			strTemp = VALUE.substring(0,iTemp +1);
			break;
		}
		iTemp = iTemp-1;

	} //End While
	
	return strTemp;

} //End of RTrim

function LTrim(VALUE)
{
var w_space = String.fromCharCode(32);

	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		} else {
			strTemp = VALUE.substring(iTemp,v_length);
			break;
		}
		iTemp = iTemp + 1;
	} //End While
	
	return strTemp;

} //End of LTrim

function DoButtonLink(dlink)
{
	document.location.href=dlink;
	
} // End of DoButtonLink

function DoButtonPopup(dlink, dname)
{
	PMISWin(dlink, dname);
	
} // End of DoButtonLink

// Make Visible -->
