//LCASE
function LCase(Value) {
	return Value.toString().toLowerCase();
}
//UCASE
function UCase(Value) {
	return Value.toString().toUpperCase();
}
//LEN
function Len(Expression) {
	return Expression.toString().length;
}
//LEFT
function Left(Str, Length) {
	if (Length < 0) {
		alert("Invalid Length argument\n\nLeft function (js2vb.js)"); return "";
	}
	return Str.substring(0, Length);
}
//RIGHT
function Right(Str, Length) {
	if (Length < 0) {
		alert("Invalid Length argument\n\nRight function (js2vb.js)"); return "";
	}
	return Str.substring(Len(Str) - Length, Len(Str));
}
//MID
function Mid(Str, Start, Length) {
	if (Length < 1) {
		alert("Invalid Length argument\n\nMid function (js2vb.js)"); return "";
	}
	if (Start < 0) {
		alert("Invalid Start argument\n\nMid function (js2vb.js)"); return "";
	}
	return Str.substring(Start, Start + Length);
}
//inSTR
function InStr(Start, String1, String2, Compare) {
	if (Start < 1) {
		alert("Invalid Start argument\n\nInStr function (js2vb.js)"); return "";
	}
	if (Start > Len(String1)) return 0;
	if (Len(String2) == 0) return Start;
	if (Compare == 1) {String1 = LCase(String1); String2 = LCase(String2);}
	if (Start > 1) {
		var index = Right(String1, Len(String1) - Start + 1).indexOf(String2)
		if (index == -1) {return 0;} else {return index + Start;}
	} else {
		return String1.indexOf(String2) + 1
	}
}
//INstrREV
function InStrRev(StringCheck, StringMatch, Start, Compare) {
	if (Start == 0 || Start < -1) {
		alert("Invalid Start argument\n\nInStrRev function (js2vb.js)"); return "";
	}
	if (Len(StringMatch) == 0) return Start;
	if (Compare == 1) {StringCheck = LCase(StringCheck); StringMatch = LCase(StringMatch);}
	if (Start > 1) {
		return Left(StringCheck, Start).lastIndexOf(StringMatch) + 1;
	} else {
		return StringCheck.lastIndexOf(StringMatch) + 1;
	}
}
//isNULL
function IsNull(Expression) {
	return (Expression == null);
}
//isEMPTY
function IsEmpty(Expression) {
	return (Expression.toString().length == 0);
}
//isOBJECT
function IsObject(Expression) {
	return (typeof Expression == "object");
}
//isARRAY
function IsArray(VarName) {
	return (VarName.constructor.toString().indexOf("Array") == -1);
}
//isDATE
function IsDate(Expression) {
	var test = new Date(Date.parse(Expression));
	return !(isNaN(test.getYear()));
}
//MONTHNAME
function MonthName(Month, Abbreviate) {
	var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	if (Month < 1 || Month > 13) {
		alert("Invalid Month argument\n\nMonthName function (js2vb.js)"); return "";
	}
	var retval = months[Month - 1];
	if (Abbreviate) retval = Left(retval, 3);
	return retval;
}
// WEEKDAYNAME
function WeekdayName(Weekday, Abbreviate, FirstDayOfWeekValue) {
	var weekdays = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	if (Weekday < 1 || Weekday > 7) {
		alert("Invalid Weekday argument\n\nWeekdayName function (js2vb.js)"); return "";
	}
	if (FirstDayOfWeekValue < 0 || FirstDayOfWeekValue > 7) {
		alert("Invalid FirstDayOfWeekValue argument\n\nWeekdayName function (js2vb.js)"); return "";
	}
	var addval = (FirstDayOfWeekValue > 1) ? FirstDayOfWeekValue : 0;
	if (Weekday + addval > 7) addval -= 7;
	return weekdays[Weekday + addval - 1];
}
//TRIM
function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}
