function clientConverter() {
}

clientConverter.prototype.toBit = function(value) {
	if (value) {
		return '1';
	} else {
		return '0';
	}
};

clientConverter.prototype.toArray = function(theVal, strDelimiter) {
	var del = (strDelimiter) ? strDelimiter : ',';
	return theVal.split(del);
};

clientConverter.prototype.toTime = function(strTime) {
	var tmpDate = new Date();
	var timeArray = strTime.split(':');

	if (timeArray[0]) tmpDate.setHours(timeArray[0]);
	if (timeArray[1]) tmpDate.setMinutes(timeArray[1]);
	if (timeArray[2]) tmpDate.setSeconds(timeArray[2]);
	if (timeArray[3]) tmpDate.setMilliseconds(timeArray[3]);
	return tmpDate;
};

clientConverter.prototype.getDateParts = function(strDate) {
	var d, m, x, y, dayMatrix, monthMatrix, yearMatrix;

	switch (page.LCID) {
		case 3081:
			x = (!isNaN(strDate.substring(2, 3))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, x + 3);
			yearMatrix = new Array(x + 4, x + 8);
			break;
		case 1033:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			monthMatrix = new Array(0, x);
			dayMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 1053:
			yearMatrix = new Array(0, 4);
			monthMatrix = new Array(5, 7);
			dayMatrix = new Array(8, 10);
			break;
		case 1035:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 1061:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 2052:
			x = (!isNaN(strDate.substring(6, 7))) ? 2 : 1;
			y = (strDate.length == 8 + x) ? 2 : 1;
			yearMatrix = new Array(0, 4);
			monthMatrix = new Array(5, 5 + x);
			dayMatrix = new Array(5 + x + 1, strDate.length);
			break;
		case 2057:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		default:
			dayMatrix = new Array(0, 2);
			monthMatrix = new Array(3, 5);
			yearMatrix = new Array(6, 10);
	}

	d = parseFloat(strDate.substring(dayMatrix[0], dayMatrix[1]));
	m = parseFloat(strDate.substring(monthMatrix[0], monthMatrix[1]));
	y = parseFloat(strDate.substring(yearMatrix[0], yearMatrix[1]));
	return new Array(y, m, d);
};

clientConverter.prototype.toDate = function(strDate) {
	var d, m, x, y, dayMatrix, monthMatrix, yearMatrix;
	var tmpDate = new Date(2000, 1, 1);

	switch (page.LCID) {
		case 3081:
			x = (!isNaN(strDate.substring(2, 3))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, x + 3);
			yearMatrix = new Array(x + 4, x + 8);
			break;
		case 1033:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			monthMatrix = new Array(0, x);
			dayMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 1053:
			yearMatrix = new Array(0, 4);
			monthMatrix = new Array(5, 7);
			dayMatrix = new Array(8, 10);
			break;
		case 1035:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 1061:
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1, (y + x + 1));
			yearMatrix = new Array(x + y + 2, (x + y + 6));
			break;
		case 2052:
			x = (!isNaN(strDate.substring(6, 7))) ? 2 : 1;
			y = (strDate.length == 8 + x) ? 2 : 1;
			yearMatrix = new Array(0, 4);
			monthMatrix = new Array(5, 5 + x);
			dayMatrix = new Array(5 + x + 1, strDate.length);
			break;
		case 2057 :
			x = (!isNaN(strDate.substring(1, 2))) ? 2 : 1;
			y = (!isNaN(strDate.substring(2 + x, 3 + x))) ? 2 : 1;
			dayMatrix = new Array(0, x);
			monthMatrix = new Array(x + 1,(y + x + 1));
			yearMatrix = new Array(x + y + 2,(x + y + 6));
			break;
		default:
			dayMatrix = new Array(0, 2);
			monthMatrix = new Array(3, 5);
			yearMatrix = new Array(6, 10);
	}

	d = parseFloat(strDate.substring(dayMatrix[0], dayMatrix[1]));
	m = parseFloat(strDate.substring(monthMatrix[0], monthMatrix[1]));
	y = parseFloat(strDate.substring(yearMatrix[0], yearMatrix[1]));

	tmpDate.setYear(y);
	tmpDate.setMonth(m - 1);
	tmpDate.setDate(d);
	return tmpDate;
};

clientConverter.prototype.toDateString = function(datDate) {
	var del = page.getDateDelimiter();
	var d = datDate.getDate();
	var m = datDate.getMonth() + 1;
	var y = datDate.getFullYear();

	switch (page.LCID) {
		case 1033:
			return m + '' + del + '' + d + '' + del + '' + y;
			break;
		case 1053:
			d = (d < 10) ? '0' + d : d; // prefix
			m = (m < 10) ? '0' + m : m; // prefix
			return y + del + m + del + d;
			break;
		case 1035:
			return d + '' + del + '' + m + '' + del + '' + y;
			break;
		case 1061:
			m = (m < 10) ? '0' + m : m; // prefix
			return d + '' + del + '' + m + '' + del + '' + y;
			break;
		case 2052:
			return y + '' + del + '' + m + '' + del + '' + d;
			break;
		case 2057:
			return d + '' + del + '' + m + '' + del + '' + y;
			break;
		default:
			d = (d < 10) ? '0' + d : d; // prefix
			m = (m < 10) ? '0' + m : m;
			return d + '' + del + '' + m + '' + del + '' + y;
			break;
	}
};

clientConverter.prototype.toDateTime = function(strDateTime) {
	var tmpDate = new Date();
	var strDateTimeArray = strDateTime.split(' ');
	var timeArray = strDateTimeArray[1].split(':');

	tmpDate = this.toDate(strDateTimeArray[0]);

	if (timeArray[0]) tmpDate.setHours(timeArray[0]);
	if (timeArray[1]) tmpDate.setMinutes(timeArray[1]);
	if (timeArray[2]) tmpDate.setSeconds(timeArray[2]);
	if (timeArray[3]) tmpDate.setMilliseconds(timeArray[3]);

	return tmpDate;
};

clientConverter.prototype.dateTimeToText = function(tmpDate) {
	var tmpString;
	var dateString = tmpDate.getFullYear();

	tmpString = (tmpDate.getMonth() + 1).toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	tmpString = tmpDate.getDate().toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	dateString += 'T';

	tmpString = tmpDate.getHours().toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	tmpString = tmpDate.getMinutes().toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	tmpString = tmpDate.getSeconds().toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	return dateString;
};

clientConverter.prototype.dateToText = function(tmpDate) {
	var tmpString;
	var dateString = dateString = tmpDate.getFullYear();

	tmpString = (tmpDate.getMonth() + 1).toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	tmpString = tmpDate.getDate().toString();
	if (tmpString.length == 1) tmpString = '0' + tmpString;
	dateString += tmpString;

	return dateString + 'T000000';
};

clientConverter.prototype.textToDate = function(tmpString) {
	var y = parseInt(tmpString.substr(0, 4));
	var m = (tmpString.substr(4, 1) == '0') ? parseInt(tmpString.substr(5, 1)) - 1 : parseInt(tmpString.substr(4, 2)) - 1;
	var d = (tmpString.substr(6, 1) == '0') ? parseInt(tmpString.substr(7, 1)) : parseInt(tmpString.substr(6, 2));

	var tmpDate = new Date(y, m, d, 0, 0, 0);
	return tmpDate;
};

clientConverter.prototype.textToDateTime = function(tmpString) {
	var y = parseInt(tmpString.substr(0, 4));
	var m = (tmpString.substr(4, 1) == '0') ? parseInt(tmpString.substr(5, 1)) - 1 : parseInt(tmpString.substr(4, 2)) - 1;
	var d = (tmpString.substr(6, 1) == '0') ? parseInt(tmpString.substr(7, 1)) : parseInt(tmpString.substr(6, 2));
	var h = (tmpString.substr(9, 1) == '0') ? parseInt(tmpString.substr(10, 1)) : parseInt(tmpString.substr(9, 2));
	var n = (tmpString.substr(11, 1) == '0') ? parseInt(tmpString.substr(12, 1)) : parseInt(tmpString.substr(11, 2));
	var s = (tmpString.substr(13, 1) == '0') ? parseInt(tmpString.substr(14, 1)) : parseInt(tmpString.substr(13, 2));

	var tmpDate = new Date(y, m, d, h, n, s);
	return tmpDate;
};

clientConverter.prototype.dateToJSNewDateString = function(dateVal) {
	return 'new Date(' + dateVal.getFullYear() + ', ' + dateVal.getMonth() + ', ' + dateVal.getDate() + ', ' + dateVal.getHours() + ', ' + dateVal.getMinutes() + ', ' + dateVal.getSeconds() + ')';
};

clientConverter.prototype.toNumeric = function(theVal, valIfNaN) {
	if (isNaN(theVal) || theVal == '') {
		return parseInt(valIfNaN);
	} else {
		return parseInt(theVal);
	}
};

clientConverter.prototype.toDecimal = function(theVal) {
	return parseFloat(theVal.replace(',', '.'));
};

clientConverter.prototype.toHandicap = function(theVal) {
	var tempVal = parseFloat(theVal.replace(',', '.'));
	if (theVal.indexOf('+') == 0) {
		tempVal = -tempVal;
	}
	return tempVal;
};

clientConverter.prototype.handicapToText = function(theVal) {
	var decimalSeperator = '.';
	if (page.LCID == 1030 || page.LCID == 1044 || page.LCID == 1053 || page.LCID == 1035 || page.LCID == 1061) {
		decimalSeperator = ',';
	}

	var numDec = 1;
	if (page.countryISOCode == 'ZA') numDec = 0;
	if (theVal > 36 && page.countryISOCode == 'NO') numDec = 0;

	var tempVal = theVal.toFixed(numDec).toString();
	if (theVal < 0) tempVal = '+' + Math.abs(theVal).toFixed(numDec).toString();

	return tempVal.replace(/\./g, decimalSeperator);
};

clientConverter.prototype.timeUnitToMinutes = function(val, valUnit) {
	switch (valUnit) {
		case 0: return val;             // Just Minutes
		case 1: return val * 60;        // Hours -> Minutes
		case 2: return (val * 24) * 60; // Days -> Minutes
	}
};

clientConverter.prototype.toDblDigit = function(val) {
	if (val < 10) {
		return '0' + val;
	} else {
		return val;
	}
};

clientConverter.prototype.dateTimeToHourMinuteText = function(tmpDate) {
	return (tmpDate.getHours().toString().length == 1 ? '0' : '') + tmpDate.getHours().toString() + ':' + (tmpDate.getMinutes().toString().length == 1 ? '0' : '') + tmpDate.getMinutes().toString();
};

var cc = new clientConverter();

/*
 * Time Formatter
 */
var changeInputTime_FormatErrorText;

function changeInputTime(obj) {
	if (obj.value == '') return;

	var timeValue = obj.value;
	var delimiter = ':';
	var formatErrorText = (changeInputTime_FormatErrorText) ? changeInputTime_FormatErrorText : 'The value: #DateValue#, could not be re-formatted!';

	var pattern_regexp_d = /^\d{1}$/;
	var pattern_regexp_dd = /^\d{2}$/;
	var pattern_regexp_ddd = /^\d{3}$/;
	var pattern_regexp_dddd = /^\d{4}$/;
	var pattern_regexp_generic = /^\d{1,2}(-|\.|\/|,|:)\d{1,2}$/;

	var pattern_returnValue = 'hh:mm';

	var patterns = [];
	patterns.push(['d', pattern_regexp_d]);
	patterns.push(['dd', pattern_regexp_dd]);
	patterns.push(['ddd', pattern_regexp_ddd]);
	patterns.push(['dddd', pattern_regexp_dddd]);
	patterns.push(['generic', pattern_regexp_generic]);

	var returnVal;
	var transformOK = false;
	var patternFound = false;
	var validForTransformation = false;
	var parts;

	for (var i = 0; i < patterns.length; i++) {
		if (timeValue.match(patterns[i][1])) {
			parts = changeInputTime_getParts(timeValue, patterns[i][0]);
			patternFound = true;
			break;
		}
	}

	if (!patternFound && timeValue != '') {
		alert(formatErrorText.replace('#DateValue#', timeValue));
		return;
	}

	if (changeInputTime_isValidHour(parts[0]) && changeInputTime_isValidMinute(parts[1])) {
		returnVal = pattern_returnValue.replace('hh', changeInputDate_padZeros(parts[0]));
		returnVal = returnVal.replace('mm', changeInputDate_padZeros(parts[1]));
		obj.value = returnVal;
		return true;
	}

	if (!transformOK) {
		alert(formatErrorText.replace('#DateValue#', timeValue))
	}

	return transformOK;
}

function changeInputTime_isValidHour(iHour) {
	if (iHour <= 23) return true;
}

function changeInputTime_isValidMinute(iMinute) {
	if (iMinute <= 59) return true;
}

function changeInputTime_getParts(value, format) {
	switch (format) {
		case 'd':
			return [parseInt(value, 10), 0];
		case 'dd':
			return [parseInt(value, 10), 0];
		case 'ddd':
			return [parseInt(value.substring(0, 1), 10), parseInt(value.substring(1, 3), 10)];
		case 'dddd':
			return [parseInt(value.substring(0, 2), 10), parseInt(value.substring(2, 4), 10)];
		case 'generic':
			var p = [];
			var m = value.match(/^(\d+)(-|\.|\/|,|:)(\d+)$/);
			if (m == null) return;
			p[0] = parseInt(m[1], 10);
			if (m[3].length == 1) m[3] = m[3] + '0';
			p[1] = (m[3] < 10) ? parseInt('0' + m[3], 10) : parseInt(m[3], 10);
			return p;
	}
}

/*
 * Date Formatter
 */
var changeInputDate_LCID;
var changeInputDate_Delimiter;
var changeInputDate_FormatErrorText;

function changeInputDate(obj) {
	var lcid = (page.LCID) ? page.LCID : 1030;
	var dateValue = obj.value;
	if (jQuery.trim(dateValue) == '') return true;

	var delimiter = page.getDateDelimiter();
	var formatErrorText = (changeInputDate_FormatErrorText) ? changeInputDate_FormatErrorText : 'The value: #DateValue#, could not be re-formatted!';

	var pattern_regexp_yyyy_mm_dd;
	var pattern_returnValue;

	var pattern_regexp_mmdd = /^\d{4}$/;
	var pattern_regexp_yymmdd = /^\d{6}$/;
	var pattern_regexp_yyyymmdd = /^\d{8}$/;
	var pattern_regexp_yy_mm_dd = /^\d{2}(-|\.|\/)\d{2}(-|\.|\/)\d{2}$/;
	var pattern_regexp_mm_dd = /^\d{2}(-|\.|\/)\d{2}$/;

	var pattern_regexp_mm_dd_yyyy = /^\d{2}(-|\.|\/)\d{2}(-|\.|\/)\d{4}$/;

	var pattern_regexp_m_d_yyyy = /^\d{1}(-|\.|\/)\d{1}(-|\.|\/)\d{4}$/;
	var pattern_regexp_m_dd_yyyy = /^\d{1}(-|\.|\/)\d{2}(-|\.|\/)\d{4}$/;
	var pattern_regexp_mm_d_yyyy = /^\d{2}(-|\.|\/)\d{1}(-|\.|\/)\d{4}$/;
	var pattern_regexp_m_d_yy = /^\d{1}(-|\.|\/)\d{1}(-|\.|\/)\d{2}$/;
	var pattern_regexp_m_dd_yy = /^\d{1}(-|\.|\/)\d{2}(-|\.|\/)\d{2}$/;
	var pattern_regexp_mm_d_yy = /^\d{2}(-|\.|\/)\d{1}(-|\.|\/)\d{2}$/;
	var pattern_regexp_m_d = /^\d{1}(-|\.|\/)\d{1}$/;
	var pattern_regexp_mm_d = /^\d{2}(-|\.|\/)\d{1}$/;
	var pattern_regexp_m_dd = /^\d{1}(-|\.|\/)\d{2}$/;

	switch (lcid) {
		case 1053:
			pattern_regexp_yyyy_mm_dd = /^\d{4}(-|\.|\/)\d{2}(-|\.|\/)\d{2}$/;
			pattern_returnValue = 'yyyy#mm#dd';
			break;
		case 1033:
			pattern_regexp_yyyy_mm_dd = /^\d{4}(-|\.|\/)\d{2}(-|\.|\/)\d{2}$/;
			pattern_returnValue = 'mm#dd#yyyy';
			break;
		case 1030: default:
			pattern_regexp_yyyy_mm_dd = /^\d{2}(-|\.|\/)\d{2}(-|\.|\/)\d{4}$/;
			pattern_returnValue = 'dd#mm#yyyy';
			break;
	}

	var patterns = [];
	patterns.push(['mmdd', pattern_regexp_mmdd]);             //nr 1
	patterns.push(['mm#dd', pattern_regexp_mm_dd]);           //nr 2
	patterns.push(['yymmdd', pattern_regexp_yymmdd]);         //nr 3
	patterns.push(['yyyymmdd', pattern_regexp_yyyymmdd]);     //nr 4
	patterns.push(['yy#mm#dd', pattern_regexp_yy_mm_dd]);     //nr 5
	patterns.push(['yyyy#mm#dd', pattern_regexp_yyyy_mm_dd]); //nr 6
	patterns.push(['mm#dd#yyyy', pattern_regexp_mm_dd_yyyy]); //nr 7

	patterns.push(['m#d#yyyy', pattern_regexp_m_d_yyyy]);     //nr 8
	patterns.push(['m#dd#yyyy', pattern_regexp_m_dd_yyyy]);   //nr 9
	patterns.push(['mm#d#yyyy', pattern_regexp_mm_d_yyyy]);   //nr 10
	patterns.push(['m#d#yy', pattern_regexp_m_d_yy]);         //nr 11
	patterns.push(['m#dd#yy', pattern_regexp_m_dd_yy]);       //nr 12
	patterns.push(['mm#d#yy', pattern_regexp_mm_d_yy]);       //nr 13
	patterns.push(['m#d', pattern_regexp_m_d]);               //nr 14
	patterns.push(['mm#d', pattern_regexp_mm_d]);             //nr 15
	patterns.push(['m#dd', pattern_regexp_m_dd]);             //nr 16

	var returnVal;
	var transformOK = false;
	var patternFound = false;
	var validForTransformation = false;
	var parts;

	for (var i = 0; i < patterns.length; i++) {
		if (dateValue.match(patterns[i][1])) {
			parts = changeInputDate_getParts(lcid, dateValue, patterns[i][0]);
			patternFound = true;
			break;
		}
	}

	if (!patternFound) {
		alert(formatErrorText.replace('#DateValue#', dateValue));
		return;
	}

	if (changeInputDate_isValidMonth(parts[1]) && changeInputDate_isValidDay(parts[2])) {
		returnVal = pattern_returnValue.replace('yyyy', changeInputDate_getFullYear(parts[0]));
		returnVal = returnVal.replace('mm', parts[1]);
		returnVal = returnVal.replace('dd', parts[2]);
		while (returnVal.indexOf('#') >= 0) {
			returnVal = returnVal.replace('#', delimiter);
		}
		obj.value = returnVal;
		return true;
	}

	if (!transformOK) {
		alert(formatErrorText.replace('#DateValue#', dateValue));
	}

	return transformOK;
}

function changeInputDate_isValidMonth(iMonth) {
	if (iMonth <= 12) return true;
}

function changeInputDate_isValidDay(iDay) {
	if (iDay <= 31) return true;
}

function changeInputDate_getFullYear(iYear) {
	if (parseInt(iYear, 10) > 1000) return iYear;
	if (parseInt(iYear, 10) < 20) {
		return '20' + changeInputDate_padZeros(iYear);
	} else {
		return '19' + changeInputDate_padZeros(iYear);
	}
}

function changeInputDate_padZeros(val) {
	if (parseInt(val, 10) < 10) {
		return '0' + parseInt(val, 10);
	}
	return parseInt(val, 10);
}

function changeInputDate_getParts(lcid, value, format) {
	switch (format) {
		case 'mmdd': //nr 1
			switch (lcid) {
				case 1053:
				case 1033:
					return [new Date().getFullYear(), value.substring(0, 2), value.substring(2, 4)];
				case 1030:
				default:
					return [new Date().getFullYear(), value.substring(2, 4), value.substring(0, 2)];
			}
			break;
		case 'mm#dd': //nr 2
			switch (lcid) {
				case 1053:
				case 1033:
					return [new Date().getFullYear(), value.substring(0, 2), value.substring(3, 5)];
				case 1030:
				default:
					return [new Date().getFullYear(), value.substring(3, 5), value.substring(0, 2)];
			}
			break;
		case 'yymmdd': //nr 3
			switch (lcid) {
				case 1053:
					return [value.substring(0, 2), value.substring(2, 4), value.substring(4, 6)];
				case 1033:
					return [value.substring(4, 6), value.substring(0, 2), value.substring(2, 4)];
				case 1030:
				default:
					return [value.substring(4, 6), value.substring(2, 4), value.substring(0, 2)];
			}
			break;
		case 'yyyymmdd': //nr 4
			switch (lcid) {
				case 1053:
					return [value.substring(0, 4), value.substring(4, 6), value.substring(6, 8)];
				case 1033:
					return [value.substring(4, 8), value.substring(0, 2), value.substring(2, 4)];
				case 1030:
				default:
					return [value.substring(4, 8), value.substring(2, 4), value.substring(0, 2)];
			}
			break;
		case 'yy#mm#dd': //nr 5
			switch (lcid) {
				case 1053:
					return [value.substring(0, 2), value.substring(3, 5), value.substring(6, 8)];
				case 1033:
					return [value.substring(6, 8), value.substring(0, 2), value.substring(3, 5)];
				case 1030:
				default:
					return [value.substring(6, 8), value.substring(3, 5), value.substring(0, 2)];
			}
			break;
		case 'yyyy#mm#dd': //nr 6
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(0, 4), value.substring(5, 7), value.substring(8, 10)];
				case 1030:
				default:
					return [value.substring(6, 10), value.substring(3, 5), value.substring(0, 2)];
			}
			break;
		case 'mm#dd#yyyy': //nr 7
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(6, 10), value.substring(0, 2), value.substring(3, 5)];
				case 1030:
				default:
					return [value.substring(6, 10), value.substring(3, 5), value.substring(0, 2)];
			}
			break;
		case 'm#d#yyyy': //nr 8
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(4, 8), '0' + value.substring(0, 1), '0' + value.substring(2, 3)];
				case 1030:
				default:
					return [value.substring(4, 8), '0' + value.substring(2, 3), '0' + value.substring(0, 1)];
			}
			break;
		case 'm#dd#yyyy': //nr 9
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(5, 9), '0' + value.substring(0, 1), value.substring(2, 4)];
				case 1030:
				default:
					return [value.substring(5, 9), value.substring(2, 4), '0' + value.substring(0, 1)];
			}
			break;
		case 'mm#d#yyyy': //nr 10
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(5, 9), value.substring(0, 2), '0' + value.substring(3, 4)];
				case 1030:
				default:
					return [value.substring(5, 9), '0' + value.substring(3, 4), value.substring(0, 2)];
			}
			break;
		case 'm#d#yy': //nr 11
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(4, 6), '0' + value.substring(0, 1), '0' + value.substring(2, 3)];
				case 1030:
				default:
					return [value.substring(4, 6), '0' + value.substring(2, 3), '0' + value.substring(0, 1)];
			}
			break;
		case 'm#dd#yy': //nr 12
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(5, 7), '0' + value.substring(0, 1), value.substring(2, 4)];
				case 1030:
				default:
					return [value.substring(5, 7), value.substring(2, 4), '0' + value.substring(0, 1)];
			}
			break;
		case 'mm#d#yyyy': //nr 13
			switch (lcid) {
				case 1053:
				case 1033:
					return [value.substring(5, 7), value.substring(0, 2), '0' + value.substring(3, 4)];
				case 1030:
				default:
					return [value.substring(5, 7), '0' + value.substring(3, 4), value.substring(0, 2)];
			}
			break;
		case 'm#d': //nr 14
			switch (lcid) {
				case 1053:
				case 1033:
					return [new Date().getFullYear(), '0' + value.substring(0, 1), '0' + value.substring(2, 3)];
				case 1030:
				default:
					return [new Date().getFullYear(), '0' + value.substring(2, 3), '0' + value.substring(0, 1)];
			}
			break;
		case 'mm#d': //nr 15
			switch (lcid) {
				case 1053:
				case 1033:
					return [new Date().getFullYear(), value.substring(0, 2), '0' + value.substring(3, 4)];
				case 1030:
				default:
					return [new Date().getFullYear(), '0' + value.substring(3, 4), value.substring(0, 2)];
			}
			break;
		case 'm#dd': //nr 16
			switch (lcid) {
				case 1053:
				case 1033:
					return [new Date().getFullYear(), '0' + value.substring(0, 1), value.substring(2, 4)];
				case 1030:
				default:
					return [new Date().getFullYear(), value.substring(2, 4), '0' + value.substring(0, 1)];
			}
			break;
	}
}

