/**
 *
 *
 *
 *
 *
 */
function browser_getDateFormat()
{
	return _browser.getLanguageText("dateFormat");
}

/**
 *
 *
 *
 *
 *
 */
function browser_isValidDate(day,month,year,hour,minute,second)
{
	if (year < 100) year += 2000;
	if (year < 1900 || year > 2500 || month < 0 || month > 11) return false;
	
	var leap = false; 
	if (year % 400 == 0) 			leap = true; 
	else if (year % 100 == 0) leap = false; 
	else if (year % 4 == 0) 	leap = true;
	
	var days;
	
	if (leap){
			if (_browser._leapDays == null) 
				_browser._leapDays = new Array(31,29,31,30,31,30,31,31,30,31,30,31); 
			days = _browser._leapDays;
	}
	else {
			if (_browser._days == null) 
				_browser._days = new Array(31,28,31,30,31,30,31,31,30,31,30,31); 
			days = _browser._days;
	}

	if (day < 1 || day > days[month]) 		return false; 
	if (hour < 0 || hour > 24) 						return false; 
	if (minute < 0 || minute > 59) 				return false; 
	if (second < 0 || second > 59) 				return false; 
	return true;
}

/**
 *
 *
 *
 *
 *
 */
function browser_parseDate(value,fmt)
{
	var format = fmt;
	if (format == null) format = _browser.getDateFormat();
	
	var parts = value.split(/:|\/|\s+/); 
	var formatParts = format.split(/:|\/|\s+/);
	var dt = new Date(); 
	var day = dt.getDate(); 
	var month = dt.getMonth(); 
	var year = dt.getFullYear();
	var hour = dt.getHours();
	var minute = dt.getMinutes();
	var second = dt.getSeconds();
	var index = 0; 
	var formatMax = formatParts.length; 
	var partMax = parts.length;
	
	if (value=='') partMax=0;
	for (; index < formatMax && index < partMax; index++)	{
			var ch = formatParts[index].charAt(0); 
			var val = new Number(parts[index]);

			if (val.toString() == "NaN") return null;
	
			if (ch == 'd') 			day = val;
			else if (ch == 'M') month = val - 1;
			else if (ch == 'y') year = val;
			else if (ch == 'h') hour = val;
			else if (ch == 'm') minute = val;
			else if (ch == 's') second = val;
	}

	if (year < 100) year += 2000;
	
	if (!_browser.isValidDate(day, month, year, hour, minute, second)) return null;
	return new Date(year, month, day);
}
