/* 
 * jsConfig JavaScriptUtils module
 * 
 * Covers localization issues and global settings for modules.
 * 
 */


/* Selenium safe Mode */
var seleniumSafeMode = $.cookie("seleniumSafeMode");
if (seleniumSafeMode == null) seleniumSafeMode = false;

// Autodetect in future
var bStartMonday = true;


Date.prototype.nameOfMonths = [
	"<fmt:message key='cal.month.1' />",
	"<fmt:message key='cal.month.2' />",
	"<fmt:message key='cal.month.3' />",
	"<fmt:message key='cal.month.4' />",
	"<fmt:message key='cal.month.5' />",
	"<fmt:message key='cal.month.6' />",
	"<fmt:message key='cal.month.7' />",
	"<fmt:message key='cal.month.8' />",
	"<fmt:message key='cal.month.9' />",
	"<fmt:message key='cal.month.10' />",
	"<fmt:message key='cal.month.11' />",
	"<fmt:message key='cal.month.12' />"
	];
Date.prototype.nameOfMonthsIn = [
	"<fmt:message key='cal.month.in.january' />",
	"<fmt:message key='cal.month.in.february' />",
	"<fmt:message key='cal.month.in.march' />",
	"<fmt:message key='cal.month.in.april' />",
	"<fmt:message key='cal.month.in.may' />",
	"<fmt:message key='cal.month.in.june' />",
	"<fmt:message key='cal.month.in.july' />",
	"<fmt:message key='cal.month.in.august' />",
	"<fmt:message key='cal.month.in.september' />",
	"<fmt:message key='cal.month.in.october' />",
	"<fmt:message key='cal.month.in.november' />",
	"<fmt:message key='cal.month.in.december' />"
	];	
Date.prototype.nameOfDays = [
	"<fmt:message key='cal.day.sunday'/>",
	"<fmt:message key='cal.day.monday'/>",
	"<fmt:message key='cal.day.tuesday'/>",
	"<fmt:message key='cal.day.wednesday'/>",
	"<fmt:message key='cal.day.thursday'/>",
	"<fmt:message key='cal.day.friday'/>",
	"<fmt:message key='cal.day.saturday'/>"
	];
Date.prototype.nameOfDaysShort = [
	"<fmt:message key='cal.short.day.sunday'/>",
	"<fmt:message key='cal.short.day.monday'/>",
	"<fmt:message key='cal.short.day.tuesday'/>",
	"<fmt:message key='cal.short.day.wednesday'/>",
	"<fmt:message key='cal.short.day.thursday'/>",
	"<fmt:message key='cal.short.day.friday'/>",
	"<fmt:message key='cal.short.day.saturday'/>"
	];

var modalCloseString = "<fmt:message key='modal.close'/>";


var messageKey = new Array();
messageKey['yes'] = "<fmt:message key='app.yes'/>";
messageKey['no'] = "<fmt:message key='app.no'/>";


// timePicker hours intervals
var popupTimePickerDefaultHourFrom = 0;
var popupTimePickerDefaultHourTo = 23;


// Color picker	
registerPallete('timeTable',
	new Array(
		"#ffffff",
		"#ff6f6f",
		"#fff331",
		"#fbfece",
		"#e0fef2",
		"#baf8fa",
		"#ff5da2",
		"#ffd3d8",
		"#edf753",
		"#b5e5da",
		"#95e2ff",
		"#ffa7e5",
		"#ffc46f",
		"#e7e2a7",
		"#76f2d0",
		"#a5c4e3",
		"#d29cf8",
		"#ccb0a2",
		"#e9e7d7",
		"#ceff57",
		"#cdcbf5",
		"#e9e2f0",
		"#cdcdcd",
		"#efefef"
	), 5);	
	
	




// Return [year][month][day]
function parseFieldDate (inputText) {
	var curdtarr = inputText.split(".");
	isdt = (curdtarr.length == 3);
	if (curdtarr.length == 3) {
		curdtarr[1]--;
		dteDate = new Date(curdtarr[2], curdtarr[1], curdtarr[0]);
		if ((curdtarr[0] == dteDate.getDate()) && (curdtarr[1] == dteDate.getMonth()) && (curdtarr[2] == dteDate.getFullYear())) {
			return dteDate;
		}
	}
	return null;
}

function formatFieldDate (day, month, year) {
	return ''+day+'.'+month+'.'+year;
}

// Return [hour][min][sec] from a string
function parseFieldTime (inputText) {
	var inputTextArray = inputText.split(":");
	var ret = new Array(3);
	if (inputTextArray.length == 3) { // hh:mm:ss
		ret[0] = inputTextArray[0];
		ret[1] = inputTextArray[1];
		ret[2] = inputTextArray[2];
	} else if (inputTextArray.length == 2) { // hh:mm
		ret[0] = inputTextArray[0];
		ret[1] = inputTextArray[1];
		ret[2] = 0;	// 0 seconds by default
	} else { // Error format
		return null;
	}
	// Check for time validity
	dteDate = new Date(1, 1, 2000, ret[0], ret[1], ret[2], 0);
	if ((ret[0] == dteDate.getHours()) && (ret[1] == dteDate.getMinutes()) && (ret[2] == dteDate.getSeconds())) {
		ret[0] = dteDate.getHours();
		ret[1] = dteDate.getMinutes();
		ret[2] = dteDate.getSeconds();
		return ret;
	}
	return null;
}

function formatFieldTime (hours, minutes, seconds) {
	minutes += '';
	if (minutes.length == 1) minutes = '0' + minutes;
	if (seconds != undefined) {
		seconds += '';
		if (seconds.length == 1) seconds = '0' + seconds;
		return hours+':'+minutes+':'+seconds;
	} else {
		return hours+':'+minutes;	
	}
}




