/* Register module path for other Naradana script and template files (maybe no longer needed) */
dojo.registerModulePath('com.naradana._definitionX', '/_definitionX');
dojo.require("dijit.Tooltip");
dojo.addOnLoad(function()
{
var brtag = document.documentElement.getAttribute('xmlns') ? '
' : '
';
var position = null;
if (typeof ViewDefinition_getTooltipPosition == 'function')
position = ViewDefinition_getTooltipPosition();
dojo.query('[title]').forEach(function(e)
{
var title = e.title;
if (title)
{
var tooltipType = "TooltipStyleBrowserDefault";
var view = e;
while (view != document)
{
if (dojo.hasClass(view, 'DojoEditor'))
{
// this is actually not a view, but an element embedded in views
// using the DojoEditor. Since the DojoEditor relies on the complete
// HTML text, we can not add a tooltip by removing the title, (as happens below)
break;
}
if (dojo.hasClass(view, 'TooltipStyleDijitHorizontal'))
{
tooltipType = 'TooltipStyleDijitHorizontal';
break;
}
else if (dojo.hasClass(view, 'TooltipStyleDijitVertical'))
{
tooltipType = 'TooltipStyleDijitVertical';
break;
}
else if (dojo.hasClass(view, 'TooltipStyleBrowserDefault'))
{
tooltipType = 'TooltipStyleBrowserDefault';
break;
}
else if (dojo.hasClass(view, 'TooltipStyleNone'))
{
tooltipType = 'TooltipStyleNone';
break;
}
view = view.parentNode;
}
if (tooltipType != 'TooltipStyleBrowserDefault')
{
var position;
var delay = 500; // msec
if (tooltipType == 'TooltipStyleDijitHorizontal')
{
position = ['after', 'before']; // effect: right (left)
}
else if (tooltipType == 'TooltipStyleDijitVertical')
{
position = ['after', 'before', 'below', 'above']; // effect: below (above)
}
else if (tooltipType == 'TooltipStyleNone')
{
position = ['after', 'before', 'below', 'above']; // effect: below (above)
delay = 3600000; // 1 hour should be enough to simulate no tooltip
}
new dijit.Tooltip(
{
connectId: [e],
label: title.replace(/\n/g, brtag),
position: position,
showDelay: delay
});
e.title = '';
}
}
});
});
function FrameworkGlobal() {}
if (typeof com == 'undefined') com = {};
if (typeof com.naradana == 'undefined') com.naradana = {};
if (typeof com.naradana.kernel == 'undefined') com.naradana.kernel = {};
com.naradana.kernel.FrameworkGlobal = FrameworkGlobal;
com.naradana.kernel.getClass = function(className) {return com.naradana.kernel[className]};
FrameworkGlobal.getDateFromString = FrameworkGlobal_getDateFromString;
FrameworkGlobal.getTimeFromString = FrameworkGlobal_getTimeFromString;
FrameworkGlobal.getDateTimeFromString = FrameworkGlobal_getDateTimeFromString;
FrameworkGlobal.getTimespanFromString = FrameworkGlobal_getTimespanFromString;
FrameworkGlobal.getStringFromDate = FrameworkGlobal_getStringFromDate;
FrameworkGlobal.getStringFromTime = FrameworkGlobal_getStringFromTime;
FrameworkGlobal.getStringFromDateTime = FrameworkGlobal_getStringFromDateTime;
FrameworkGlobal.getStringFromTimespan = FrameworkGlobal_getStringFromTimespan;
FrameworkGlobal.getStringFromFloat = FrameworkGlobal_getStringFromFloat;
FrameworkGlobal.getFloatFromString = FrameworkGlobal_getFloatFromString;
FrameworkGlobal.getStringFromDecimal = FrameworkGlobal_getStringFromDecimal;
FrameworkGlobal.getDecimalFromString = FrameworkGlobal_getDecimalFromString;
function FrameworkGlobal_getDateFromString(strDate, utc)
{
// parses date of format dd.mm.yy or dd.mm.yyyy
// different from javascript, yy < 50 is interpreted as 20yy
// dates are represented as UTC
if (strDate == null || strDate == '')
return null;
if (typeof utc == 'undefined')
utc = true;
var now = new Date();
var dateParts = String(strDate).match(/(\d+)/g);
if (dateParts == null)
return null;
var year = parseInt(dateParts[2], 10);
var month = parseInt(dateParts[1], 10);
var day = parseInt(dateParts[0], 10);
if (isNaN(year))
{
year = now.getFullYear();
}
else if (year < 100)
{
if (year < 50)
year += 2000;
else
year += 1900;
}
if (isNaN(month))
{
month = now.getMonth() + (day > now.getDate() ? 0 : 1);
}
var aDate;
if (utc)
aDate = new Date(Date.UTC(year, month - 1, day));
else
aDate = new Date(year, month - 1, day);
return aDate;
}
function FrameworkGlobal_getTimeFromString(strTime)
{
if (strTime == null || strTime == '')
return null;
var timeParts = String(strTime).match(/(\d+)/g);
if (timeParts == null)
return null;
var decimalPoint = ',';
var seconds = 0;
if (typeof timeParts[2] != 'undefined')
seconds = timeParts[2];
var minutes = 0;
if (typeof timeParts[1] != 'undefined' && String(strTime).indexOf(':') > 0)
minutes = timeParts[1];
else if (typeof timeParts[1] != 'undefined' && String(strTime).indexOf(decimalPoint) > 0)
minutes = timeParts[1] * 6;
var hours = 0;
if (typeof timeParts[0] != 'undefined')
hours = timeParts[0];
var relativeTime = new Date(Date.UTC(1970, 0, 1, hours, minutes, seconds));
return relativeTime;
}
function FrameworkGlobal_getDateTimeFromString(strDateTime, utc)
{
// processes date/time with local "de", i.e. these formats:
// date time
// where date can be:
// dd.mm.yy
// dd.mm.yyyy
// where time can be:
// hh:mm
// hh:mm:ss
if (strDateTime == null || strDateTime == '' || (strDateTime.charCodeAt(0) <= 32 && strDateTime.replace(/\s/g, '') == ''))
{
return null;
}
strDateTime = String(strDateTime);
if (strDateTime.charCodeAt(0) <= 32 && strDateTime.replace(/\s/g, '') == '')
{
return null;
}
if (typeof utc == 'undefined')
utc = false;
if (strDateTime.indexOf(':') < 0)
{
if (/^\d+(\.\d+)?(\.\d+)?$/.test(strDateTime) == false)
{
return null;
}
else
{
return FrameworkGlobal.getDateFromString(strDateTime, utc);
}
}
var dateTimeParts = strDateTime.match(/(\d+)/g);
if (dateTimeParts == null)
{
return null;
}
var year = parseInt(dateTimeParts[2], 10);
if (year < 100)
{
if (year < 50)
year += 2000;
else
year += 1900;
}
var seconds = (typeof dateTimeParts[5] != 'undefined' ? dateTimeParts[5] : 0);
var aDate;
if (utc == false)
aDate = new Date(year, dateTimeParts[1] - 1, dateTimeParts[0], dateTimeParts[3], dateTimeParts[4], seconds);
else
aDate = new Date(Date.UTC(year, dateTimeParts[1] - 1, dateTimeParts[0], dateTimeParts[3], dateTimeParts[4], seconds));
if (isNaN(aDate))
aDate = null;
return aDate;
}
function FrameworkGlobal_getTimespanFromString(strTimespan)
{
if (strTimespan == null || strTimespan == '')
return null;
var aTimespan = new Date(0);
var dateIndexOffset = 0;
var timespanParts = String(strTimespan).match(/(\d+)/g);
if (timespanParts == null)
return null;
if (String(strTimespan).indexOf('.') > 0)
{
dateIndexOffset = 3;
var year = parseInt(timespanParts[2], 10);
if (year < 100)
{
if (year < 50)
year += 2000;
else
year += 1900;
}
aTimespan = new Date(Date.UTC(year, timespanParts[1] - 1, timespanParts[0]));
}
if (typeof timespanParts[dateIndexOffset + 2] != 'undefined')
aTimespan.setUTCSeconds(timespanParts[dateIndexOffset + 2]);
if (typeof timespanParts[dateIndexOffset + 1] != 'undefined')
aTimespan.setUTCMinutes(timespanParts[dateIndexOffset + 1]);
if (typeof timespanParts[dateIndexOffset + 0] != 'undefined')
aTimespan.setUTCHours(timespanParts[dateIndexOffset + 0]);
return aTimespan.getTime();
}
function FrameworkGlobal_getStringFromDate(aDate, returnShortYear, utc)
{
if (aDate == null || typeof aDate != 'object')
return '';
var day;
var month;
var year;
if (typeof utc == 'undefined' || utc == true)
{
day = aDate.getUTCDate();
month = aDate.getUTCMonth() + 1;
year = aDate.getUTCFullYear();
}
else
{
day = aDate.getDate();
month = aDate.getMonth() + 1;
year = aDate.getFullYear();
}
var retStr = '';
if (day < 10)
retStr += '0' + day;
else
retStr += day;
if (month < 10)
retStr += '.0' + month;
else
retStr += '.' + month;
if (typeof returnShortYear != 'undefined' && returnShortYear == true)
{
var shortYear = year - (Math.floor(year / 100) * 100);
if (shortYear > 9)
retStr += '.' + shortYear;
else
retStr += '.0' + shortYear;
}
else
{
if (year > 999)
retStr += '.' + year;
else if (year > 99)
retStr += '.0' + year;
else if (year > 9)
retStr += '.00' + year;
else
retStr += '.000' + year;
}
return retStr;
}
function FrameworkGlobal_getStringFromTime(aTime, returnSeconds, returnMilliseconds, utc)
{
if (aTime == null || typeof aTime != 'object')
return '';
// aTime is UTC time relative to 1.1.1970 and has no daylight saving offset
var minutes;
var hours;
var seconds;
if (typeof utc == 'undefined' || utc == true)
{
minutes = aTime.getUTCMinutes();
hours = aTime.getUTCHours();
seconds = aTime.getUTCSeconds();
}
else
{
minutes = aTime.getMinutes();
hours = aTime.getHours();
seconds = aTime.getSeconds();
}
var retStr = '';
if (hours < 10)
retStr += '0' + hours;
else
retStr += hours;
if (minutes < 10)
retStr += ':0' + minutes;
else
retStr += ':' + minutes;
if (typeof returnSeconds == 'undefined' || returnSeconds == true)
{
if (seconds < 10)
retStr += ':0' + seconds;
else
retStr += ':' + seconds;
}
if (typeof returnMilliseconds != 'undefined' && returnMilliseconds == true)
{
var milliseconds = aTime.getMilliseconds();
if (milliseconds > 99)
retStr += '.' + milliseconds ;
else if (milliseconds > 9)
retStr += '.0' + milliseconds;
else
retStr += '.00' + milliseconds;
}
return retStr;
}
function FrameworkGlobal_getStringFromDateTime(aDateTime, returnSeconds, returnMilliseconds, utc)
{
if (typeof utc == 'undefined')
utc = false;
var str = FrameworkGlobal.getStringFromDate(aDateTime, /* shortYear: */ false, utc) +
' ' + FrameworkGlobal.getStringFromTime(aDateTime, returnSeconds, returnMilliseconds, utc);
return (str == ' ' ? '' : str);
}
function FrameworkGlobal_getStringFromTimespan(aTimespan, showUtcDate, returnSeconds, returnMilliseconds)
{
var retStr = '';
if (parseInt(aTimespan) == aTimespan)
aTimespan = new Date(aTimespan);
else if (aTimespan == null || typeof aTimespan != 'object' || typeof aTimespan.getTime != 'function')
return retStr;
var milliseconds = aTimespan.getUTCMilliseconds();
var seconds = aTimespan.getUTCSeconds();
var minutes = aTimespan.getUTCMinutes();
var hours = aTimespan.getUTCHours();
if (isNaN(hours) || isNaN(minutes) || isNaN(seconds))
throw sErrors.add(new LogicalError(null, this, 'Invalid timespan ' + aTimespan));
if (typeof showUtcDate != 'undefined' && showUtcDate == true)
{
var day = aTimespan.getUTCDate();
var month = aTimespan.getUTCMonth() + 1;
var year = aTimespan.getUTCFullYear();
if (day < 10)
retStr += '0' + day + '.';
else
retStr += day + '.';
if (month < 10)
retStr += '0' + month + '.';
else
retStr += month + '.';
retStr += year + ' ';
}
else
{
hours += Math.floor(aTimespan.getTime() / (24 * 60 * 60 * 1000)) * 24;
}
if (hours < 10)
retStr += '0' + hours + ':';
else
retStr += hours + ':';
if (minutes < 10)
retStr += '0' + minutes;
else
retStr += minutes;
if (typeof returnSeconds == 'undefined' || returnSeconds == true)
{
var seconds = aTimespan.getSeconds();
if (seconds < 10)
retStr += ':0' + seconds;
else
retStr += ':' + seconds;
}
if (typeof returnMilliseconds != 'undefined' && returnMilliseconds == true)
{
var milliseconds = aTimespan.getMilliseconds();
if (milliseconds > 99)
retStr += '.' + milliseconds ;
else if (milliseconds > 9)
retStr += '.0' + milliseconds;
else
retStr += '.00' + milliseconds;
}
return retStr;
}
function FrameworkGlobal_getFloatFromString(str, decimalPoint, seperator)
{
if (typeof str == 'undefined' || str == null || str == '')
return null;
if (typeof decimalPoint == 'undefined' || decimalPoint == null)
throw sError.add(new LogicalError(null, this, 'Invalid parameter decimalPoint: ' + decimalPoint));
if (typeof seperator == 'undefined' || seperator == null)
seperator = '';
str = String(str).replace(/\s*/g, '');
if (str.search(new RegExp('[^\\d' + decimalPoint + seperator + ']')) >= 0)
return null;
var valueStr = str.replace(new RegExp('[^\\d' + decimalPoint + ']', 'g'), '');
if (decimalPoint != '.')
valueStr = valueStr.replace(decimalPoint, '.');
return parseFloat(valueStr);
}
function FrameworkGlobal_getStringFromFloat(value, decimalPoint, seperator, decimalPlaces)
{
var str = '';
if (typeof value == 'undefined' || value == null)
{
return str;
}
var valueStr = String(value);
var decimalPointPos = valueStr.indexOf('.');
var intValueStr = String(Math.floor(value));
var decValueStr = (decimalPointPos < 0 ? '0' : (decimalPointPos == valueStr.length ? '0' : valueStr.substring(decimalPointPos + 1)));
var decValue = parseFloat(decValueStr);
if (typeof seperator != 'undefined' && intValueStr.length > 3)
{
for (var i = 0; i < intValueStr.length; i ++)
{
if ((intValueStr.length - i) / 3 == Math.floor((intValueStr.length - i) / 3))
str += seperator;
str += intValueStr.charAt(i);
}
}
else
{
str = intValueStr;
}
if (str.length == 0)
{
str = '0';
}
str += decimalPoint;
if (typeof decimalPlaces != 'undefined')
{
var trailingZerosCnt = decimalPlaces - (Math.min(decimalPlaces, decValueStr.length));
str += Math.round(decValueStr.substring(0, decimalPlaces) + '.' + decValueStr.substring(decimalPlaces));
for (var i = 0; i < trailingZerosCnt; i ++)
{
str += '0';
}
}
else
{
str += decValueStr;
}
return str;
}
function FrameworkGlobal_getDecimalFromString(str, decimalPoint, seperator)
{
return FrameworkGlobal.getFloatFromString(str, decimalPoint, seperator)
}
function FrameworkGlobal_getStringFromDecimal(value, decimalPoint, seperator, decimalPlaces)
{
return FrameworkGlobal.getStringFromFloat(value, decimalPoint, seperator, decimalPlaces);
}
function Encryption_md5Hash(value)
{
try
{
//sMethodGuid_c9258b2ab8cc4592b76dd3e5981b3386 begin fragment with priority 0
var binl2hex, core_md5, str2binl, md5_ff, md5_gg, md5_hh, md5_ii, safe_add, bit_rol;
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
var s = String(value);
return binl2hex(core_md5(str2binl(s), s.length * chrsz));
/*
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
* Digest Algorithm, as defined in RFC 1321.
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
* Distributed under the BSD License
* See http://pajhome.org.uk/crypt/md5 for more info.
*/
function core_md5(x, len)
{
/* append padding */
x[len >> 5] |= 0x80 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for(var i = 0; i < x.length; i += 16)
{
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
}
return Array(a, b, c, d);
}
function md5_cmn(q, a, b, x, s, t)
{
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
}
function md5_ff(a, b, c, d, x, s, t)
{
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
}
function md5_gg(a, b, c, d, x, s, t)
{
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
function md5_hh(a, b, c, d, x, s, t)
{
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
}
function md5_ii(a, b, c, d, x, s, t)
{
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
}
function safe_add(x, y)
{
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
return (msw << 16) | (lsw & 0xFFFF);
}
function bit_rol(num, cnt)
{
return (num << cnt) | (num >>> (32 - cnt));
}
function str2binl(str)
{
var bin = Array();
var mask = (1 << chrsz) - 1;
for(var i = 0; i < str.length * chrsz; i += chrsz)
{
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
}
return bin;
}
function binl2hex(binarray)
{
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
var str = "";
for(var i = 0; i < binarray.length * 4; i++)
{
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
}
return str;
}
//sMethodGuid_c9258b2ab8cc4592b76dd3e5981b3386 end fragment
}
catch(err)
{
sErrors.add(new SystemError(Encryption_md5Hash.arguments, this, 'Exception not caught'));
throw err;
}
}
function EditTableColumnView_calendarOnLoadFunc()
{
var calendarElements = dojo.query('input.Calendar');
if (calendarElements.length > 0)
{
dojo.require('dijit.form.DateTextBox');
calendarElements.forEach(
function(calendarElement)
{
new dijit.form.DateTextBox({'required': dojo.hasClass(calendarElement, 'Mandatory'), name: calendarElement.id, value: (calendarElement.value != '' ? dojo.date.stamp.fromISOString(calendarElement.value) : '') }, calendarElement);
}
);
}
}
dojo.addOnLoad(EditTableColumnView_calendarOnLoadFunc)
function blowUpElement(elementName, targetWidth, targetHeight, targetTime, delayTime, currentWidth, currentHeight)
{
if (typeof delayTime == 'undefined' || delayTime == 0)
{
if (typeof currentWidth == 'undefined') currentWidth = 0;
if (typeof currentHeight == 'undefined') currentHeight = 0;
if (typeof currentTime == 'undefined') currentTime = 0;
var deltaTime = 10;
var steps = parseInt(targetTime / deltaTime);
if (steps < 1)
steps = 1;
var widthInflationFactor = (currentWidth < targetWidth ? 1 : -1);
var heightInflationFactor = (currentWidth < targetWidth ? 1 : -1);
if (typeof document.getElementById(elementName)._showContent == 'function')
document.getElementById(elementName)._showContent(false);
currentWidth = currentWidth + (widthInflationFactor * Math.abs(targetWidth - currentWidth) / steps);
currentWidth = (widthInflationFactor * currentWidth > widthInflationFactor * targetWidth ? targetWidth : currentWidth);
currentHeight = currentHeight + (heightInflationFactor * Math.abs(targetHeight - currentHeight) / steps);
currentHeight = (heightInflationFactor * currentHeight > heightInflationFactor * targetHeight ? targetHeight : currentHeight);
document.getElementById(elementName).style.width = currentWidth + 'px';
document.getElementById(elementName).style.height = currentHeight + 'px';
if (currentWidth != targetWidth || currentHeight != targetHeight)
{
setTimeout('blowUpElement(\'' + elementName + '\', ' + targetWidth + ', ' + targetHeight + ', ' + (targetTime - deltaTime) + ', 0, ' + currentWidth + ', ' + currentHeight + ')', deltaTime);
}
else
{
if (typeof document.getElementById(elementName)._showContent == 'function')
document.getElementById(elementName)._showContent(widthInflationFactor > 0 ? true : false);
}
}
else
{
setTimeout('blowUpElement(\'' + elementName + '\', ' + targetWidth + ', ' + targetHeight + ', ' + targetTime + ', 0, ' + currentWidth + ', ' + currentHeight + ')', delayTime);
}
}
function Link_popupWnd(href, name, left, top, width, height)
{
var wnd = window.open(href, name, 'height=' + height + ',resizable,width=' + width + ',scrollbars,left=' + left + ',top=' + top);
if (wnd != null)
wnd.focus();
return (wnd != null);
}
function changeRowOnCursor(event, id, idIndex)
{
// var event = window.event;
var direction = 0;
if (event.keyCode == 40)
direction = 1;
else if (event.keyCode == 38)
direction = -1;
if ( direction != 0
&& document.getElementById(id + (idIndex + direction)) )
{
try {
document.getElementById(id + (idIndex + direction)).focus();
event.returnValue = false;
return false;
} catch (e) {
}
}
}
function controlInput(element, event, controlPattern, id, idIndex)
{
// alert('checking ' + element.value + ' with ' + controlPattern.source);
var valid = true;
if (element.value != '')
{
if (typeof controlPattern == 'function' && typeof controlPattern.call == 'function')
{
valid = controlPattern.call(element, element.value);
if (valid == null)
valid = false;
else if (valid === false)
valid = false;
else
valid = true;
}
else if (typeof controlPattern.test != 'undefined')
{
valid = (controlPattern.test(element.value) == true);
}
}
if (valid)
{
element.className = element.className.replace(' InvalidInput', '');
}
else
{
// alert('bad data: ' + element.value);
if (element.className.indexOf('InvalidInput') < 0)
element.className += ' InvalidInput';
}
if (typeof event != 'undefined')
event.returnValue = false;
return false;
}