//Field Validation Functions
function ValidateField(FieldName, FieldType)
{
    if (FieldType=='R' || FieldType=='C') //Radio or Checkbox
	{
		var Checked = false;
		for (var i=0; i<FieldName.length;i++)
		{
			if (FieldName[i].checked) 
				Checked = true;
		}		
		if (!Checked)
		{
			//alert("Select "+FieldDesc);
			return false;
		}
	}
	else if (FieldType=='E') //Email
	   return (FieldName.value.indexOf(".") > 2) && (FieldName.value.indexOf("@") > 0);
	else if (FieldType=='L') //List
	   return FieldName.selectedIndex;
	else if (FieldType=='D') //Date
	   return IsDate(FieldName.value);
	else if (FieldType=='M') //Time
	   return IsTime(FieldName.value);
	else if (FieldType=='N') //Time
	   return IsNumeric(FieldName.value);
	else //Text & TextArea
	{
		if (FieldName.value=="") 
		{
			//alert(FieldDesc+" cannot be blank");
			//FieldName.focus();
			return false;
		}
	}
	return true;
}
function IsNumeric(sText) 
{
   var ValidChars = "0123456789.-";
   var Char;
   for (i = 0; i < sText.length; i++) 
   {
       Char = sText.charAt(i);
       if (ValidChars.indexOf(Char) == -1) 
          return false;
   }
   return true;
}
function TextCounter(Field,CountField,MaxLen) 
{
	if (Field.value.length > MaxLen) 
		Field.value = Field.value.substring(0, MaxLen);
	else 
		CountField.value = MaxLen - Field.value.length;
}
function IsDate(DateToCheck)
{
	if (DateToCheck=="") return false;
	var m_strDate = DateToCheck;
	m_strDate = FormatDate(m_strDate);
	if (m_strDate=="") return false;
	var m_arrDate = m_strDate.split("/");
	var m_MONTH = m_arrDate[0];
	var m_DAY = m_arrDate[1];
	var m_YEAR = m_arrDate[2];
	if (m_YEAR.length > 4) return false;
	m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;
	var testDate=new Date(m_strDate);
	if (testDate.getMonth()+1==m_MONTH)
		return true;
	else
		return false;
}

function FormatDate(DateToFormat,FormatAs){
if(DateToFormat==""){return"";}
if(!FormatAs){FormatAs="mm/dd/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 IsTime(strTime)
   {
      var strTestTime = new String(strTime);
      strTestTime.toUpperCase();

      var bolTime = false;

      if (strTestTime.indexOf("PM",1) != -1 || strTestTime.indexOf("AM",1))
         bolTime = true;

      if (bolTime && strTestTime.indexOf(":",0) == 0)
         bolTime = false;

      var nColonPlace = strTestTime.indexOf(":",1);
      if (bolTime && ((parseInt(nColonPlace) + 5) < (strTestTime.length - 1) || (parseInt(nColonPlace) + 4) > (strTestTime.length - 1)))
         bolTime = false;


      return bolTime;
   } 