");
if (addTable == true) {
printWindow.document.write("
");
}
var text = contentContainer.innerHTML;
var regex;
// hide print link
regex = new RegExp("");
text = text.replace(regex, "");
// remove all scripts
regex = new RegExp("");
if (window.print) {
printWindow.document.write("");
}
else {
printWindow.document.write("");
}
printWindow.document.close();
}
// image management stuff
var fileInputControl = null;
var imagePreviewControl = null;
var testImage = null;
var resizeRequired = false;
var maxImageWidth;
var maxImageHeight;
var imageSuccessFunction;
var imageErrorFunction;
var showResizeMessage;
// browserCanShowPreview
function browserCanShowPreview() {
return (window.navigator.appName == "Microsoft Internet Explorer");
}
// getPreviewFileName
function getPreviewFileName(fullFileName) {
var startPosition = fullFileName.lastIndexOf("\\");
return fullFileName.substring(startPosition + 1);
}
// previewImage
function previewImage(fileInputControlName, imagePreviewControlName, maxWidth, maxHeight, successFunction, errorFunction, resizeMessageRequired) {
fileInputControl = document.getElementById(fileInputControlName);
previewImageWithFileName(fileInputControl.value, imagePreviewControlName, maxWidth, maxHeight, successFunction, errorFunction, resizeMessageRequired);
}
// previewImageWithFileName
function previewImageWithFileName(fileName, imagePreviewControlName, maxWidth, maxHeight, successFunction, errorFunction, resizeMessageRequired) {
imagePreviewControl = document.getElementById(imagePreviewControlName);
maxImageWidth = maxWidth;
maxImageHeight = maxHeight;
if (successFunction) {
imageSuccessFunction = successFunction;
}
if (errorFunction) {
imageErrorFunction = errorFunction;
}
if (resizeMessageRequired == true) {
showResizeMessage = true;
}
else {
showResizeMessage = false;
}
imagePreviewControl.style.visibility = "hidden";
testImage = new Image();
testImage.onload = resizePreview;
if (imageErrorFunction) {
testImage.onerror = imageErrorFunction;
}
// fileName = "file:///" + fileName.replace(/\\/g, "/");
testImage.src = fileName;
}
// resizePreview
function resizePreview() {
testImage.onload = null;
testImage.onerror = null;
var originalWidth = testImage.width;
var widthRatio = 1;
if (originalWidth > maxImageWidth) {
testImage.width = maxImageWidth;
widthRatio = originalWidth / maxImageWidth;
testImage.height = testImage.height / widthRatio;
resizeRequired = true;
}
if (testImage.height > maxImageHeight) {
var heightRatio = testImage.height / maxImageHeight;
testImage.height = testImage.height / heightRatio;
testImage.width = testImage.width / heightRatio;
resizeRequired = true;
}
imagePreviewControl.onload = showImage;
if (imageErrorFunction) {
imagePreviewControl.onerror = imageErrorFunction;
}
imagePreviewControl.width = testImage.width;
imagePreviewControl.height = testImage.height;
imagePreviewControl.src = testImage.src;
if ((resizeRequired == true) && (showResizeMessage)) {
alert("The image will be resized as shown to fit the available space");
}
resizeRequired = false;
}
// showImage
function showImage() {
imagePreviewControl.onload = null;
imagePreviewControl.onerror = null;
if (testImage == null) {
return;
}
imagePreviewControl.width = testImage.width;
imagePreviewControl.height = testImage.height;
imagePreviewControl.style.visibility = "visible";
testImage = null;
if (imageSuccessFunction) {
imageSuccessFunction();
}
}
// refreshPage
function refreshPage() {
var submitButton = document.getElementById(submitButtonName);
if (submitButton == null) {
var currentUrl = window.location.href;
if (currentUrl.indexOf("action=") == 0) {
window.location.reload();
}
else {
var regex = new RegExp("action=[^&]*&?");
newUrl = currentUrl.replace(regex, "");
window.location.href = newUrl;
}
}
else {
submitButton.onclick();
//__doPostBack(submitButtonName, "");
}
}
// formatNumber
function formatNumber(number, decimalPlaces, dollarSign, scaleFactor) {
return formatNumber2(number, decimalPlaces, dollarSign, scaleFactor, true);
}
// formatNumber2
function formatNumber2(number, decimalPlaces, dollarSign, scaleFactor, commas) {
if (isNaN(parseFloat(number))) {
return "NaN";
}
if (isNaN(parseInt(decimalPlaces, 10))) {
decimalPlaces = 2;
}
if (decimalPlaces == 0) {
if (commas == true) {
return addCommas(Math.round(number).toString());
}
else {
return Math.round(number).toString();
}
}
if (isNaN(parseInt(scaleFactor))) {
scaleFactor = 0;
}
var numberString = "" + Math.round(number * Math.pow(10, (decimalPlaces - scaleFactor)));
while (numberString.length <= decimalPlaces) {
numberString = "0" + numberString;
}
var decimalPosition = numberString.length - decimalPlaces;
if (dollarSign == true) {
dollarSign = "$ ";
}
else {
dollarSign = "";
}
if (commas) {
return dollarSign + addCommas(numberString.substring(0, decimalPosition) + "." + numberString.substring(decimalPosition, numberString.length));
}
else {
return numberString.substring(0, decimalPosition) + "." + numberString.substring(decimalPosition, numberString.length);
}
}
function addCommas(nStr) {
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
// getAjaxObject
function getAjaxObject() {
if (window.ActiveXObject){ // IE
return new ActiveXObject("Microsoft.XMLHTTP");
}
else {
if (window.XMLHttpRequest) { // Non-IE browsers
return new XMLHttpRequest();
}
else {
return null;
}
}
}
// trimString
function trimString(input) {
var regex = new RegExp("^\\s+");
var output = input.replace(regex, "");
regex = new RegExp("\\s+$");
output = output.replace(regex, "");
return output;
}
// resizeFileInput
function resizeFileInput(newSize) {
for (var counter = 0; counter < document.forms[0].elements.length; counter ++) {
var element = document.forms[0].elements[counter];
if (element.type == "file") {
element.size = newSize;
break;
}
}
}
// keyDownHandler
function keyDownHandler(e) {
var keyNumber = 0;
var source;
if (e) {
// netscape/mozilla code
keyNumber = e.which;
source = e.target;
}
else {
// ie code
keyNumber = window.event.keyCode;
source = window.event.srcElement;
}
// let alpha, numeric, and standard punctuation keys go
if ((keyNumber >= 32) && (keyNumber <= 97)) {
return true;
}
// escape
if (keyNumber == 27) {
var cancelButton = document.getElementById(cancelButtonName);
if (cancelButton == null) {
doCancel();
}
else {
window.setTimeout(cancelButton.onclick, 20);
}
return false;
}
// F1
if (keyNumber == 112) {
var helpControl = document.getElementById("help_link");
if (helpControl != null) {
helpControl.onclick();
return false;
}
return true;
}
// enter (return)
if (keyNumber == 13) {
if (source.type == "textarea") {
return true;
}
else {
var submitButton = document.getElementById(submitButtonName);
if (submitButton != null) {
submitButton.onclick();
}
return false; // return false for enter keys so that there are no accidental form submits
}
}
// default
return true;
} // keyDownHandler
// connect keyHandler function to key down event
document.onkeydown = keyDownHandler;
// inspect - for debugging
function inspect(obj, maxLevels, level) {
var str = '', type, msg;
// Start Input Validations
// Don't touch, we start iterating at level zero
if(level == null) {
level = 0;
}
// At least you want to show the first level
if (maxLevels == null) {
maxLevels = 1;
}
if(maxLevels < 1) {
return 'Error: Levels number must be > 0';
}
// We start with a non null object
if (obj == null) {
return 'Error: Object NULL';
}
// End Input Validations
// Each Iteration must be indented
str += '
';
// Start iterations for all objects in obj
for (property in obj) {
try {
// Show "property" and "type property"
type = typeof(obj[property]);
str += '
';
// We keep iterating if this property is an Object, non null
// and we are inside the required number of levels
if ((type == 'object') && (obj[property] != null) && (level+1 < maxLevels)) {
str += inspect(obj[property], maxLevels, level+1);
}
}
catch(err) {
// Is there some properties in obj we can't access? Print it red.
if(typeof(err) == 'string')
{ msg = err;
}
else if (err.message) {
msg = err.message;
}
else if (err.description) {
msg = err.description;
}
else {
msg = 'Unknown';
}
str += '