function UtilHTMLEncode(strIncoming) {


	return(Server.HTMLEncode(strIncoming));


    }



function UtilURLEncode(strIncoming) {


	return(Server.URLEncode(strIncoming));


    }



function UtilFormatDate(Incoming) {


	if (!Incoming=="") {
		return(FormatDateTime(Incoming, vbShortDate));
    }


}
function UtilFormatMoney(Incoming){


	if (Incoming!="") {


		return(FormatCurrency(Incoming));}


	else {


		return(FormatCurrency(0));


	}


}





function UtilFormatNumber(Incoming, PostDecimalDigits, IncludeLeadDigit, RemoveCommas){

	var vTemp;
	if (Incoming!="") {

		vTemp=FormatNumber(Incoming, PostDecimalDigits, IncludeLeadDigit,RemoveCommas);
		return(vTemp);

		}

	else {

		return(0);

	}

}



function UtilValidateStringField(aIncoming, aDefaultReturn, aMinLen, aMaxLen, bRequired) {


	if ((aIncoming=="") && (bRequired!=true)) {return(aIncoming);}


	if ((aIncoming.length < aMinLen) || (aIncoming.length > aMaxLen))  { 


		return (aDefaultReturn);}


	else {


		return (aIncoming);


       }


}







 function UtilValidateNumberField(aIncoming, aDefaultReturn, aMinVal, aMaxVal, bRequired) {



	if ((aIncoming=="") && (bRequired!=true)) {return(aIncoming);}



	if ((aIncoming=="") && (bRequired==true)) {return(aDefaultReturn);}



	if (isNaN(aIncoming)) {return(aDefaultReturn);}



	if (isNaN(aMinVal)) {return(aDefaultReturn);}



	if (aMaxVal == -98765) /*no upper limit*/



		{



		/*validate only minimum*/



		if ((aIncoming < aMinVal)) { 



		return(aDefaultReturn);}



		else {



		return(aIncoming);}



		}



	else



		{



		/*validate min and max*/



		if (isNaN(aMaxVal)) {return(aDefaultReturn);}



		if ((aIncoming < aMinVal) || (aIncoming > aMaxVal)) { 



		return(aDefaultReturn);}



		else {



		return(aIncoming);}



		}







    }











function UtilValidateRequiredOption(oSelect){



   /* Look through all the options to find selected items. */



   for(var i = 0; i < oSelect.length; i++){



      if(oSelect[i].checked){return(true);}



   }



	return(false);



}







function UtilValidateEmailField(aIncoming, bRequired) {



  if ((aIncoming=="") && (bRequired==false)) {return(true);}



  if (aIncoming.indexOf("@",1) == -1) {return(false);}



  if (aIncoming.indexOf(".",aIncoming.indexOf("@")+1) == -1) {return(false);}



  return(true);



}



  







function UtilValidateDateField (aIncoming, bRequired) {



   	// Date field validation



   	//See if required and no value



   	if ((bRequired) && (aIncoming=="")) {return (false);}



   	if (aIncoming==""){return(true);}



   	



	//check to see if in correct format



	var arrayDate;



	var strSeparatorArray = new Array("-"," ","/",".");



	var intElementNr;



	var bFound;



	//split using separator array



	for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {



		if (aIncoming.indexOf(strSeparatorArray[intElementNr]) != -1) {



			arrayDate = aIncoming.split(strSeparatorArray[intElementNr]);



			if (arrayDate.length != 3) {



				return (false);



			}



			else{



				var intDay = parseInt(arrayDate[1],10); 



				var intYear = parseInt(arrayDate[2],10);



				var intMonth = parseInt(arrayDate[0],10);



			}



			bFound = true;



		}



	}



	if (!bFound) {return(false);}



	//check for valid month



	if(intMonth > 12 || intMonth < 1) {return (false);}







       //create a lookup for months not equal to Feb.



      var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,



      		     '08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31, '1' : 31,'3' : 31, 



      		     '4' : 30,'5' : 31,'6' : 30,'7' : 31,'8' : 31,'9' : 30}



      //check if month value and day value agree



      if(arrayLookup[arrayDate[0]] != null) {



      		if((intDay > arrayLookup[arrayDate[0]]) || (intDay = 0)) {return (false);} 



      }







      //check for February



      var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));



      if( ((booLeapYear && intDay > 29) || (!booLeapYear && intDay >28)) || (intDay =0)) {



      	return (false); 



      }



	//valid year?



	if(!((intYear != NaN)&&(intYear > 0)&&(intYear<10000)))



      {



		return(false);



      }







   return (true);







   }







function UtilValidateUniqueSelection(oSelect, aIncoming) {



  for (var i = 0; i < oSelect.length; i++) {



  	if (oSelect.options[i].text==aIncoming) {



  	    return (false);



  	}



  }



  return (true);



}



  



  



function UtilReplaceChars(aIncoming, vReplaceThis, vWithThis) {



	var out = vReplaceThis; // replace this



	var add = vWithThis; // with this



	var temp = "" + Incoming; // temporary holder







	while (temp.indexOf(out)>-1) {



		pos= temp.indexOf(out);



		temp = "" + (temp.substring(0, pos) + add + 



		temp.substring((pos + out.length), temp.length));



		}



UtilReplaceChars = temp;



}







function UtilFormatCurrency(aIncoming, blnShowSign) {



//-- JavaScript code written by Alan Simpson - www.coolnerds.com



   //-- Returns passed number as string in $xxx,xxx.xx format.



   aIncoming=eval(aIncoming)



   workNum=Math.abs((Math.round(aIncoming*100)/100));workStr=""+workNum



   if (workStr.indexOf(".")==-1){workStr+=".00"}



   dStr=workStr.substr(0,workStr.indexOf("."));dNum=dStr-0



   pStr=workStr.substr(workStr.indexOf("."))



   while (pStr.length<3){pStr+="0"}







   //--- Adds comma in thousands place.



   if (dNum>=1000) {



      dLen=dStr.length



      dStr=parseInt(""+(dNum/1000))+","+dStr.substring(dLen-3,dLen)



   }







   //-- Adds comma in millions place.



   if (dNum>=1000000) {



      dLen=dStr.length



      dStr=parseInt(""+(dNum/1000000))+","+dStr.substring(dLen-7,dLen)



   }



   retval = dStr + pStr 



   //-- Put numbers in parentheses if negative.



   if (aIncoming<0) {retval="("+retval+")"}



   if (blnShowSign){



	return "$"+retval



	}



   else {



    return retval



    }



}











/*http://kb.indiana.edu/data/afbi.html*/



function asiHTMLEncode(stData){



      var chTemp = "";



      var stTemp = "";



      var nLength = stData.length;







      for(var i = 0; i < nLength; i++)



      {



         chTemp = stData.charAt(i);



         switch(chTemp)



         {



            case "<"   :   chTemp = "<"; 



                        break;



            case ">"   :   chTemp = ">";



                        break;



            case "&"   :   chTemp = "%26";	//"&";



                        break;



            case '""'  :   chTemp = "&quot;"; 



                        break;



            case " "  :   chTemp = "%20"; 



                        break;



            case "%"  :   chTemp = "%25"; 



                        break;



            case "'"  :   chTemp = "'"; 



                        break;



            default    :   break; 



         }







         stTemp = stTemp + chTemp;



      }



      return stTemp;



   }