// JavaScript Document

/*function jumpPage(form,fValue)
{
    //form.t.selectedIndex == 0;         
	if (fValue == '') {fValue =0;}
	<CFOUTPUT>furl="#cgi.script_name#?action=#url.action#&ID="+fValue;</CFOUTPUT>
	window.location.href = furl;
}
*/
function jumpCityPage(form,fValue,fValue2)
{
    //form.t.selectedIndex == 0;         
	if (fValue == '') {fValue =0;}
	<CFOUTPUT>furl="#cgi.script_name#?action=#url.action#&ID="+fValue+"&city="+fValue2;</CFOUTPUT>
	window.location.href = furl;
}
function isDate(sDate) 
{
	var scratch = new Date(sDate);
	if (scratch.toString() == "NaN" scratch.toString() == "Invalid Date")
	{
	return false;
	} 
	else 
	{
	return true;
	}
}

function FormatDate(DateToFormat,FormatAs){
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="dd/mm/yyyy";}

var strReturnDate;
FormatAs = FormatAs.toLowerCase();
DateToFormat = DateToFormat.toLowerCase();
var arrDate
var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var strMONTH;
var Separator;

while(DateToFormat.indexOf("st")>-1){
DateToFormat = DateToFormat.replace("st","");
}

while(DateToFormat.indexOf("nd")>-1){
DateToFormat = DateToFormat.replace("nd","");
}

while(DateToFormat.indexOf("rd")>-1){
DateToFormat = DateToFormat.replace("rd","");
}

while(DateToFormat.indexOf("th")>-1){
DateToFormat = DateToFormat.replace("th","");
}

if(DateToFormat.indexOf(".")>-1){
Separator = ".";
}

if(DateToFormat.indexOf("-")>-1){
Separator = "-";
}


if(DateToFormat.indexOf("/")>-1){
Separator = "/";
}

if(DateToFormat.indexOf(" ")>-1){
Separator = " ";
}

arrDate = DateToFormat.split(Separator);
DateToFormat = "";
	for(var iSD = 0;iSD < arrDate.length;iSD++){
		if(arrDate[iSD]!=""){
		DateToFormat += arrDate[iSD] + Separator;
		}
	}
DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
arrDate = DateToFormat.split(Separator);

if(arrDate.length < 3){
return "";
}

var DAY = arrDate[0];
var MONTH = arrDate[1];
var YEAR = arrDate[2];




if(parseFloat(arrDate[1]) > 12){
DAY = arrDate[1];
MONTH = arrDate[0];
}

if(parseFloat(DAY) && DAY.toString().length==4){
YEAR = arrDate[0];
DAY = arrDate[2];
MONTH = arrDate[1];
}


for(var iSD = 0;iSD < arrMonths.length;iSD++){
var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
var MonthPosition = DateToFormat.indexOf(ShortMonth);
	if(MonthPosition > -1){
	MONTH = iSD + 1;
		if(MonthPosition == 0){
		DAY = arrDate[1];
		YEAR = arrDate[2];
		}
	break;
	}
}

var strTemp = YEAR.toString();
if(strTemp.length==2){

	if(parseFloat(YEAR)>40){
	YEAR = "19" + YEAR;
	}
	else{
	YEAR = "20" + YEAR;
	}

}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2){
	MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2){
	DAY = "0" + DAY;
	}
	switch (FormatAs){
	case "dd/mm/yyyy":
	return DAY + "/" + MONTH + "/" + YEAR;
	case "mm/dd/yyyy":
	return MONTH + "/" + DAY + "/" + YEAR;
	case "dd/mmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
	case "mmm/dd/yyyy":
	return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
	case "dd/mmmm/yyyy":
	return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
	case "mmmm/dd/yyyy":
	return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function

	function IsNumeric(n)

	{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var vChar;
	if(n == "")
	{
		return false;
	}
	for (i = 0; i < n.length && IsNumber == true; i++)
	{
		vChar = n.charAt(i);
		if (ValidChars.indexOf(vChar) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
	}
<!-- Original:  Mike Welagen (welagenm@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("That date is invalid.  Please try again.");
datefield.focus();
return false;
}
else {
return true;
   }
}
function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0] = "Jan";
strMonthArray[1] = "Feb";
strMonthArray[2] = "Mar";
strMonthArray[3] = "Apr";
strMonthArray[4] = "May";
strMonthArray[5] = "Jun";
strMonthArray[6] = "Jul";
strMonthArray[7] = "Aug";
strMonthArray[8] = "Sep";
strMonthArray[9] = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
strDate = datefield.value;
if (strDate.length < 1) {
return true;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
}
if (strYear.length == 2) {
strYear = '20' + strYear;
}
// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}
//if (strDatestyle == "US") {
//datefield.value = strMonthArray[intMonth-1] + " " + intday+" " + strYear;
//}
//else {
//datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
//}
return true;
}
function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}
function doDateCheck(from, to) {
if (Date.parse(from.value) <= Date.parse(to.value)) {
alert("The dates are valid.");
}
else {
if (from.value == "" || to.value == "") 
alert("Both dates must be entered.");
else 
alert("To date must occur after the from date.");
   }
}
//  End -->
function FormatSSN(aString, vObject) 
{
	var checkstring = StripFormatting(aString);
	var newstring="";
	for (var i = 0; i < checkstring.length; i++) 
		{
		var onechar = checkstring.charAt(i);
   		if (IsInteger(onechar))
			{
			if (newstring.length == 3)
				{
				 newstring +="-";
			   	 }
			if (newstring.length == 6)
				{
				newstring += "-";
			    }
			newstring+=  onechar;
			}
	   	}
	if (newstring.length != 11)
	{
	alert("Invalid SSN Format.  Try again!");
	vObject.value = "";
	vObject.focus();
	}
	else
	{
	vObject.value = newstring;
	}
	
}	
function FormatPhone(aString, vObject) 
{
	var checkstring = StripFormatting(aString);
	var newstring="";
	for (var i = 0; i < checkstring.length; i++) 
		{
		var onechar = checkstring.charAt(i);
   		if (IsInteger(onechar))
			{
			if (newstring.length == 0)
				{
				 newstring +="(";
			   	 }
			if (newstring.length == 4)
				{
				newstring += ")";
			    }
			if (newstring.length == 8)
				{
				newstring += "-";
			    }
			newstring+=  onechar;
			}
	   	}
	if (newstring.length != 13)
	{
	alert("Invalid Phone Format.  Try again!");
	vObject.value = "";
	vObject.focus();
	}
	else
	{
	vObject.value = newstring;
	}
}
function StripFormatting(aField) {
var newstring="";
for (var i = 0; i < aField.length; i++) {
   var onechar = aField.charAt(i)

   if (onechar != '(' &&
       onechar != ')' &&
       onechar != '$' &&
       onechar != '-' &&
       onechar != '"' &&
       onechar != ',') 
	   {
          newstring+=onechar;

       }
   }
return newstring;
}
function IsInteger(InputVal) 
{
inputstr = "" + InputVal;
if (inputstr.length == 0) 
{ return false; 
}
for (var i = 0; i < inputstr.length; i++) {
   var onechar = inputstr.charAt(i);

   if (onechar >= "0" && onechar <= "9") 
   {
      continue;
	 }
   else 
   {
      return false; }
   }
return true;
}
function IsNumeric(n)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var vChar;
	if(n == "")
	{
		return false;
	}
	for (i = 0; i < n.length && IsNumber == true; i++)
	{
		vChar = n.charAt(i);
		if (ValidChars.indexOf(vChar) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}
