function fCheckCC(objInput){
	if (String(objInput)!=String("undefined") && objInput != null){
		
		if (objInput.value.length == 0) return false;
		
		if (objInput.value == "111111111111111") return false;			
		
		var thischar=objInput.value.charAt(0);
		if (thischar != "4" && thischar != "3" && thischar != "5") return false;

		if (thischar == "3" && objInput.value.length != 15) return false;

		if (thischar == "4" && !(objInput.value.length == 13 || objInput.value.length == 16)) return false;

		if (thischar == "5" && objInput.value.length != 16) return false;

		var multiplier=2;
		var sum=0;
		var product=0;
		
		for (var i=objInput.value.length-2; i>=0; i--) {
			thischar=objInput.value.charAt(i);
			product=multiplier*thischar;
			if (product > 9) {
				sum=sum+product-9;
			}
			else {
				sum=sum+product;
			}
			multiplier=3-multiplier;
		}
	
		sum=sum%10;
		if (sum != 0) {
			sum=10-sum;
		}
	
		if (sum != objInput.value.charAt(objInput.value.length-1)) return false;

	return true;
	}	
}


function fCheckInt(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		var str1 = fAllTrim(objInput.value);
		if (str1.length == 0){
			alert(msg);
			return false;
		}
		if (str1.search("[^0-9]") != -1){
			alert(msg);
			return false;
		}
	}
	return true;
}

function fCheckPath(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length == 0){
			alert(msg);
			return false;
		}
		if (objInput.value.search('["./:<>?|]') != -1){
			alert(DT_ALERT_04); // #36161 /
			return false;
		}
	}
	return true;
}

function fCheckSic(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if ((objInput.value.length != 2) && (objInput.value.length != 4) && (objInput.value.length != 6) && (objInput.value.length != 8)){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckCrt_a(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if ((objInput.value.length != 1) && (objInput.value.length != 4)){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckCrt_b(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.length != 4){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckCrt_c(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		var r1 = new RegExp("[\\S]");
		var r2 = new RegExp("^[bcgrhBCGRH]([0-9]{3})?$");
		if(r1.test(objInput.value) && !r2.test(objInput.value)){
			alert(msg);
			return false;
		}

		return true;
	}
}

function fCheckCens(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.length != 11){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckParks(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckLenders(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}



function fCheckLenEQ(objInput1, objInput2, msg){
	if (String(objInput1)!=String("undefined") && objInput1 != null && String(objInput2)!=String("undefined") && objInput2 != null){
		if (objInput1.value.length != objInput2.value.length){
			alert(msg);
			return false;
		}
		return true;
	}
}

function fCheckGTE(objInput1, objInput2, msg){
	if (String(objInput1)!=String("undefined") && objInput1 != null && String(objInput2)!=String("undefined") && objInput2 != null){
		if ((objInput1.value.length != 0) && (objInput2.value.length != 0)){
			if (objInput1.value >= objInput2.value){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckZip(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if ((objInput.value.length != 3) && (objInput.value.length != 5)){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckCity(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
    objInput.value = fAllTrim(objInput.value);
		if (objInput.value.length != 0){
			re = new RegExp("^[a-z0-9][a-z0-9\\s-.']{2,}$", "i");
      if (!re.test(objInput.value)) {
        alert(msg);
        return false;
      }
		}
		return true;
	}
}

function fCheckFr(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.length != 8){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckCounty(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.length != 3){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^0-9]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}

function fCheckState(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		if (objInput.value.length != 0){
			if (objInput.value.length != 2){
				alert(msg);
				return false;
			}
			if (objInput.value.search("[^a-zA-Z]") != -1){
				alert(msg);
				return false;
			}
		}
		return true;
	}
}


function CheckRNameField(obj,msg) {
  obj.value = fAllTrim(obj.value);
  re = new RegExp("^[a-z][a-z\\s-.,']*$", "i");
  if (!re.test(obj.value))
  {
    alert(msg);
    return false;
  }
  else
  return true;
}

function CheckPlaceField(obj,msg) {
  obj.value = fAllTrim(obj.value);
  if (obj.value.length < 2)
  {
    alert(msg);
    return false;
  }
  else
  return true;
}


function fSetFocus (objInput){
	parent.f_0.blur();
	parent.f_8.focus();
	objInput.focus();
}

function CheckForEmpty(objInput, msg){
	if ( fAllTrim(objInput.value) == "" ){
		alert(msg);
		return false;
	}
	else return true;
}

function CheckForLen(objValueLength, objInput, msg){
	var strInput=fAllTrim(objInput.value);
	if ( strInput.length < objValueLength){
		alert(msg);
		return false;
	}
	else return true;
}

function CheckForExistEmpty(objInput, msg)
{
	if (String(objInput)!=String("undefined") && objInput != null)
		return  (CheckForEmpty(objInput, msg))
	else
		return true;
}

function CheckForLetterNumber(objInput, msg) {
	for (var i = 0; i < objInput.value.length; i++) {
		ch=objInput.value.charAt(i);
		if (!( (ch >= "A" && ch <= "Z") || (ch >="a" && ch <= "z") || (ch >= "0" && ch <= "9") )) {
			alert(msg);
			return false;
		};
	};
	return true;
}

function fLTrim(objValue) {
	if (objValue.length==0)
		return ('')
	else{
		while (objValue.charAt(0)==' '){
			if (objValue.length==1)
				return ('')
			else
				objValue=objValue.substring(1,objValue.length);
		}
	}
	return (objValue);
}

function fRTrim(objValue) {
	if (objValue.length==0)
		return ('')
	else{
		while (objValue.charAt(objValue.length-1)==' '){
			if (objValue.length==1)
				return ('')
			else
				objValue=objValue.substring(0,objValue.length-1);
		}
	}
	return (objValue);
}

function fAllTrim(objValue) {
	return (fRTrim(fLTrim(objValue)))
}

function fCheckEmail(objInput, msg){
	if (!isEmailFormat(objInput)){
		alert(msg);
		return false;
	}
	return true;
}

function isEmailFormatNew(objInput){

	 var str = fAllTrim(objInput.value);
	  var supported = 0;
	  if (window.RegExp) {
    	var tempStr = "a";
	    var tempReg = new RegExp(tempStr);
    	if (tempReg.test(tempStr)) supported = 1;
	  }
	  if (!supported)
    	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
	  var r3 = new RegExp("\\*");
	  return (!r1.test(str) && r2.test(str) && !r3.test(str));
}


function isEmailFormat(objInput) {
  var strInputAll = fAllTrim(objInput.value);
  var blnResult = true;
  if (strInputAll.length > 0){
    var strEmails="";
    strInputAll=strInputAll.replace(/,/g,";");
    var strArrInput=strInputAll.split(";");
    for (i = 0; i < strArrInput.length; i++){
      var strInput = fAllTrim(strArrInput[i]);
      var r1 = new RegExp("^[a-z0-9]([\\w-.]*[a-z0-9])?@([a-z0-9]([a-z0-9-]*[a-z0-9])?\\.)+[a-z]{2,6}$","i");
      if (strInput.length > 0){
        if (!r1.test(strInput) || strInput.indexOf("..") >= 0)
          blnResult = false;
        if (blnResult)
          strEmails+=((strEmails.length>0)?(";"+((strArrInput[i].length!=strInput.length)?" ":"")):"")+strInput
        else
          break;
      };
    };
    if (strEmails == "")
      blnResult = false;
    if (blnResult)
      objInput.value=strEmails;
  };
  return blnResult;
}


function CheckString(objValue, strSymbols){
	if (objValue.length>0){
		for (var i = 0; i < objValue.length; i++){
			if (strSymbols.indexOf(objValue.charAt(i))<0)
				return false;
		}
	}
	return true;
}

function objAllTrim(objInput){
	objInput.value=fAllTrim(objInput.value);
	return (objInput.value);
}

function objSelectFocus(objInput,msg){
	alert(msg);
	objInput.focus();
	objInput.select();
	return false;
}


function contoobj(val){
 this.value = val;
}

function fCheckDateValue(objvalue, msg){
	t = new contoobj(objvalue);
  return fCheckDate(t, msg);
}

var dateFormat = 'mm/dd/yyyy';

function fCheckDate(objInput, msg, returnDate) {
  var passed = true;
  var positions= new Array()
  var dateToTest = objInput.value;

  positions["month"] = dateFormat.indexOf("mm") >= 0? dateFormat.indexOf("mm") : dateFormat.indexOf("m");
  positions["day"] = dateFormat.indexOf("dd") >= 0? dateFormat.indexOf("dd") : dateFormat.indexOf("d");
  positions["year"] = dateFormat.indexOf("yyyy") >= 0? dateFormat.indexOf("yyyy") : dateFormat.indexOf("yy");
  
  positions["month"] = positions["month"] < positions["day"] ? (positions["month"] < positions["year"] ? 1 : 2) : (positions["month"] < positions["year"] ? 2 : 3);
  positions["day"] = positions["day"] < positions["year"] ? (positions["month"] != 1? 1 : 2) : (positions["month"] != 2 ? 2 : 3);
  positions["year"] = 6 - (positions["month"] + positions["day"]);
  
  if(dateFormat.indexOf("dd") >= 0) {
    dateRegexp = {
      're': new RegExp( "^" + dateFormat.replace(/mm/i,"(\\d{1,2})").replace(/m/i,"(\\d{1,2})").replace(/dd/i,"(\\d{1,2})").replace(/yyyy/i,"(\\d{4})").replace(/yy/i,"(\\d{2})").replace(/([./-])/ig,"[$1]") + "$"),
      'month' : positions["month"], 'day' : positions["day"], 'year' : positions["year"]};
  } else {
    dateRegexp = {
      're': new RegExp( "^" + dateFormat.replace(/d/i,"(\\d{1,2})").replace(/mm/i,"(\\d{1,2})").replace(/m/i,"(\\d{1,2})").replace(/yyyy/i,"(\\d{4})").replace(/yy/i,"(\\d{2})").replace(/([./-])/ig,"[$1]") + "$"),
      'month' : positions["month"], 'day' : positions["day"], 'year' : positions["year"]};
  }
  
  dateParts = dateToTest.match(dateRegexp.re);
  if (dateParts) {
    if(!fCheckRange(dateParts[dateRegexp.month], 1, 12) || !fCheckRange(dateParts[dateRegexp.year], 1900,2078) || !fCheckDay(dateParts[dateRegexp.year], dateParts[dateRegexp.month], dateParts[dateRegexp.day])) {
      passed = false
    }
  } else {
    passed = false;
  }
  if(!passed && msg != "")
    alert(msg);

  if(returnDate && passed) {
    return new Date(dateParts[dateRegexp.year],dateParts[dateRegexp.month] - 1,dateParts[dateRegexp.day]);
  }
  return passed;
}

function fCheckMonthValue(monthValue, msg)
{
    var passed = true;
	if (!fCheckInteger(monthValue))
		{passed = false;}
	else
	if (!fCheckRange(monthValue, 1, 12))
		{passed = false;}
	else
		return true;

	if(!passed)
		alert(msg);
		return false;
}

function fCheckDayValue(dayValue, msg)
{
    var passed = true;
	if (!fCheckInteger(dayValue))
		{passed = false;}
	else
	if (!fCheckRange(dayValue, 1, 31))
		{passed = false;}
	else
		return true;

	if(!passed)
		alert(msg);
		return false;
}

function fCheckYearValue(yearValue, msg)
{
    var passed = true;
	if (!fCheckInteger(yearValue))
		{passed = false;}
	else
	if (!fCheckRange(yearValue, 0, 9999))
		{passed = false;}
	else
		return true;

	if(!passed)
		alert(msg);
		return false;
}

function fCheckInteger(object_value)
    {
    if (object_value.length == 0)
        return true;
	var decimal_format = ".";
	var check_char;
	check_char = object_value.indexOf(decimal_format)
    if (check_char < 1)
	return fCheckNumber(object_value);
    else
	return false;
    }
function fCheckRange(object_value, min_value, max_value)
    {
    if (object_value.length == 0)
        return true;
    if (!fNumberRange(object_value))
	{
	return false;
	}
    else
	{
	return (fNumberRange((eval(object_value)), min_value, max_value));
	}
    return true;
    }
function fCheckDay(checkYear, checkMonth, checkDay)
    {

	maxDay = 31;
	if (checkMonth == 4 || checkMonth == 6 ||
			checkMonth == 9 || checkMonth == 11)
		maxDay = 30;
	else
	if (checkMonth == 2)
	{
		if (checkYear % 4 > 0)
			maxDay =28;
		else
		if (checkYear % 100 == 0 && checkYear % 400 > 0)
			maxDay = 28;
		else
			maxDay = 29;
	}
	return fCheckRange(checkDay, 1, maxDay);
    }
function fNumberRange(object_value, min_value, max_value)
    {
    if (min_value != null)
	{
        if (object_value < min_value)
		return false;
	}
    if (max_value != null)
	{
	if (object_value > max_value)
		return false;
	}

    return true;
    }
function fCheckNumber(object_value)
    {
    if (object_value.length == 0)
        return true;
	var start_format = " .+-0123456789";
	var number_format = " .0123456789";
	var check_char;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	check_char = start_format.indexOf(object_value.charAt(0))
	if (check_char == 1)
	    decimal = true;
	else if (check_char < 1)
		return false;
	for (var i = 1; i < object_value.length; i++)
	{
		check_char = number_format.indexOf(object_value.charAt(i))
		if (check_char < 0)
			return false;
		else if (check_char == 1)
		{
			if (decimal)		
				return false;
			else
				decimal = true;
		}
		else if (check_char == 0)
		{
			if (decimal || digits)
				trailing_blank = true;
		}
	        else if (trailing_blank)
			return false;
		else
			digits = true;
	}
    return true
    }

function fCheckIntOrNull(objInput, msg){
	if (String(objInput)!=String("undefined") && objInput != null){
		var str1 = fAllTrim(objInput.value);
		if (str1.search("[^0-9]") != -1){
			alert(msg);
			objInput.focus();
			return false;
		}
	}
	return true;
}

function fCheckFloat(objInput, msg) {
  if((objInput == null) || !fAllTrim(objInput.value).length || !fAllTrim(objInput.value).match(/^[+-]?[0-9]+[,.]?[0-9]{0,}$/)) {
    alert (msg);
    return false;
  }
  return true;
}

function fParseFloat(n) {
  if (n == "") return "";
  return parseFloat(n.split(",").join("."));
}

function fCheckKeyCode(objInput, msgWindow){
  mWindow = msgWindow || window;
  if( objInput.value.search('[^ A-Za-z0-9_\-]') != -1) {
    objInput.focus();
    objInput.select();
    mWindow.alert(DT_ALERT_05); // #36161 /
    return false;
  }
  return true;
}


function setCaretPosition(ctrl, pos)
{
  if(ctrl.setSelectionRange)
  {
    ctrl.focus();
    ctrl.setSelectionRange(pos,pos+1);
  }
  else if (ctrl.createTextRange) {
    var range = ctrl.createTextRange();
    range.collapse(true);
    range.moveEnd('character', pos+1);
    range.moveStart('character', pos);
    range.select();
  }
}

function fCheckCategoryName(id,msgEmpty,msgInvalid)
{
  id.value=fAllTrim(id.value)
  if (id.value == "") {
    id.focus()
    alert(msgEmpty)
    return false
  }
  invChars='<>+\'"'
  for (i=0;i<id.value.length;i++)
    if(invChars.indexOf(id.value.charAt(i)) != -1) {
      id.focus()
      setCaretPosition(id,i)
      alert(msgInvalid)
      return false
    }
  return true
}

function fCheckForKeyCode(e){
  if(!e) e = window.event; 
  key = e.keyCode ? e.keyCode : e.which; 
  return key;
}

