//function to open a new window centered
function openCenteredWindow(url, height, width, name, parms) {
 if (height <= 1) { height = Math.floor(screen.height * height); }
 if (width <= 1) { width = Math.floor(screen.width * width); }
 var left = Math.floor( (screen.width - width) / 2);
 var top = Math.floor( (screen.height - height) / 2);
 var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
 if (parms) { winParms += "," + parms; }
 var win = window.open(url, name, winParms);
 if (parseInt(navigator.appVersion)>= 4) { win.window.focus(); }
 return win;
}
//function to open a new window
function openNewWindow(url) {
 openCenteredWindow(url, 0.8, 0.8, 'Designjet', 'menubar=no,location=no,resizable=yes,scrollbars=yes,status=yes');
}
//function to open a new window
function openTargetWindow(url,name) {
 openCenteredWindow(url, 0.8, 0.8, name, 'menubar=no,location=no,resizable=yes,scrollbars=yes,status=yes');
}
//function to open a new window with menu bar
function openNewWindowWithMenuBar(url) {
 openCenteredWindow(url, 0.8, 0.8, 'Designjet', 'menubar=yes,location=no,resizable=yes,scrollbars=yes,status=yes');
}
function convertToDecimalPoint ( numInputValue ) {
 var stringTempValue = numInputValue.toString();
 var stringOutputValue = "";
 for (i=0; i<stringTempValue.length;i++) {
 if (stringTempValue.charAt(i)==',')
 stringOutputValue = stringOutputValue + ".";
 else
 stringOutputValue = stringOutputValue + stringTempValue.charAt(i);
 }
 return parseFloat(stringOutputValue);
}
//Array "daysInMonth" contains the days of every month.
var daysInMonth = new Array()
daysInMonth[0] = 31  //Days of January
daysInMonth[1] = 0   //Days of February --> Calculated in function of the year.
daysInMonth[2] = 31  //Days of March
daysInMonth[3] = 30  //Days of April
daysInMonth[4] = 31  //Days of May
daysInMonth[5] = 30  //Days of June
daysInMonth[6] = 31  //Days of July
daysInMonth[7] = 31  //Days of August
daysInMonth[8] = 30  //Days of September
daysInMonth[9] = 31  //Days of October
daysInMonth[10] = 30 //Days of November
daysInMonth[11] = 31 //Days of December
//"isInteger" checks if "chain" is an unsigned integer
function isInteger(chain) {
 var template = /^\d+$/      //Regular expression that defines the format of an unsigned integer.
 return template.test(chain) //Compares "chain" with th regular expression.
}
//"isDay" checks if "day" is a valid day for the indicated month.
function isDay(day, month) {
 if (isInteger(day) && isMonth(month)) {
 return (parseInt(day)>0 && parseInt(day)<=daysInMonth[month]) ? 1 : 0 //Checks if "day" is between 1 and the maximum day of the month
 }
 else return 0
}
//"isMonth" check if "month" is a valid month.
function isMonth(month) {
 if (isInteger(month)) {
 return (parseInt(month)>=0 && parseInt(month)<=11) ? 1 : 0
 }
 else return 0
}
//"isYear" checks if "year" is a valid year.
function isYear(year) {
 if (isInteger(year)) {
 return (year.length == 4) ? 1 : 0
 }
 else return 0
}
//"isLeapYear()" checks if "year" is a leap year.
function isLeapYear(year) {
 if (isInteger(year)) {
 return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? 1 : 0
 }
 else return 0
}
//"isDate" checks if the date represented by "day", "month" and "year" is valid.
function checkDate(day, month, year, errorMessage) {
 var isAllOK = 1
 //Checks if is a leap year in order to load the number of days of February.
 if (isYear(year) && !isLeapYear(year)) {
 daysInMonth[1] = 28
 }
 else if (isYear(year) && isLeapYear(year)) {
 daysInMonth[1] = 29
 }
 else isAllOK = 0
 isAllOK = (isDay(day, month)) ? isAllOK : 0
 if(isAllOK==0) {
 alert(errorMessage);
 }
 return isAllOK
}
// write_mfu writes multiple file upload ActiveX control
function write_mfu(activationKey,uploadId,width,height,add_file_loc,remove_loc,print_loc,moveup_loc,movedown_loc,column_loc,username_loc,locale) {
 document.write('<object codebase="multipleFileUpload.cab#version=1,0,1,4" classid="clsid:C2CE96C6-0732-4A48-BA35-6060526BA7A2" name="MultipleFileUploadControl" id="MultipleFileUploadControl" border="0" width="'+width+'" height="'+height+'">');
 document.write('<param name="activationKey" value="'+activationKey+'">');
 document.write('<param name="httpAddress" value="">');
 document.write('<param name="time" value="">');
 document.write('<param name="uploadId" value="'+uploadId+'">');
 document.write('<param name="AddFileButtonLocalization" value="'+add_file_loc+'">');
 document.write('<param name="RemoveButtonLocalization" value="'+remove_loc+'">');
 document.write('<param name="PrintButtonLocalization" value="'+print_loc+'">');
 document.write('<param name="MoveUpButtonLocalization" value="'+moveup_loc+'">');
 document.write('<param name="MoveDownButtonLocalization" value="'+movedown_loc+'">');
 document.write('<param name="ColumnHeaderLocalization" value="'+column_loc+'">');
 document.write('<param name="UserName" value="'+username_loc+'">');
 document.write('<param name="AccountID" value="">');
 document.write('<param name="StoreFile">false</param>');
 document.write('<param name="PrintQuality" value="AUTOSELECT">');
 document.write('<param name="OptimizeFor" value="UNDEFINED">');
 document.write('<param name="MaximumDetail" value="UNDEFINED">');
 document.write('<param name="PageSizeRadio" value="standard">');
 document.write('<param name="PageSizeStandard" value="Default">');
 document.write('<param name="PageSizeCustomWidth" value="">');
 document.write('<param name="PageSizeCustomHeight" value="">');
 document.write('<param name="PageSizeUnit" value="mm">');
 document.write('<param name="Orientation" value="PORTRAIT">');
 document.write('<param name="ScaleToRadio" value="standard">');
 document.write('<param name="ScaleToStandard" value="Default">');
 document.write('<param name="ScaleToPercent" value="">');
 document.write('<param name="ScaleToCustom" value="">');
 document.write('<param name="ScaleToCustomUnit" value="mm">');
 document.write('<param name="ScaleToCustomOrientation" value="width">');
 document.write('<param name="PantAutoCal" value="DEFAULT">');
 document.write('<param name="JobCMYKEmul" value="DEFAULT">');
 document.write('<param name="JobRGBEmul" value="DEFAULT">');
 document.write('<param name="Copies" value="">');
 document.write('<param name="HoldJob" value="DEFAULT">');
 document.write('<param name="MirrorImage" value="UNDEFINED">');
 document.write('<param name="InkedArea" value="UNDEFINED">');
 document.write('<param name="FullBleedMargins" value="UNDEFINED">');
 document.write('<param name="Rotate" value="Default">');
 document.write('<param name="mediaSource" value="DEFAULT">');
 document.write('<param name="mediaType" value="$$$">');
 document.write('<param name="RenderingIntent" value="UNDEFINED">');
 document.write('<param name="ColorGrayScale" value="UNDEFINED">');
 document.write('<param name="ColorManagement" value="DEFAULT">');
 document.write('<param name="PrinterEmulation" value="DEFAULT">');
 document.write('<param name="BlackPointCompensation" value="DEFAULT">');
 document.write('<param name="PrintQualityStandard" value="">');
 document.write('<param name="PrintQualityGlossEnhancer" value="">');
 document.write('<param name="PrintQualityMorePasses" value="">');
 document.write('<param name="PrintQualityQualityLevel" value="">');
 document.write('<param name="ImageEnlargement" value="">');
 document.write('<param name="DisableAutomaticCutter" value="">');
 document.write('<param name="mediaType" value="">');
 document.write('<param name="Layout" value="">');
 document.write('<param name="CropMarks" value="">');
 document.write('<param name="OptimizationForPhotoPaper" value="">');
 document.write('<param name="EconoFast" value="">');
 document.write('<param name="__locale" value="'+locale+'">');
 document.write('</object>');
}

