/* Project : Airavath Module : B2C Source or Header file name : calendar.js Description : It contains the JavaSript functions specific to 'Calendar'. Author : Venkatesh Prabhu M Copyright : Copyright © 1996-2010, Robosoft Technologies Pvt.Ltd. History : */ var gbTurnOffYearSpan = false; // true = Only show This Year and Next, false = show +/- 5 years var gbWeekStartsOnSunday = false; // true = Start the week on Sunday, false = start the week on Monday var gbShowWeekNumber = true; // true = show week number, false = do not show week number var gLanguageCode = 'en'; // Possible values: en,ge,no,nl,es,pt-br,fr // en = english, ge = german, no = norwegian,nl = dutch, es = spanish, pt-br = portuguese, fr = french, da = danish, hu = hungarian(Use UTF-8 doctype for hungarian) var gbCalendarDisplayTime = false; // Format of current day at the bottom of the calendar // [TodayString] = the value of gTodayString // [DayString] = day of week (examle: Mon, Tue, Wed...) ( First letter in uppercase) // [Day] = Day of month, 1..31 // [MonthString] = Name of current month // [Year] = Current year var gTodayStringFormat = '[TodayString] [DayString]. [Day]. [MonthString] [Year]'; var gPathToImages = '../../images/'; // Relative to your HTML file var gSpeedOfSelectBoxSliding = 200; // Milliseconds between changing year and hour when holding mouse over "-" and "+" - lower value = faster var gSelectBoxIntervalMinutes = 5; // Minute select box - interval between each option (5 = default) var gCalendarOffsetTop = 0; // Offset - calendar placement - You probably have to modify this value if you're not using a strict doctype var gCalendarOffsetLeft = 0; // Offset - calendar placement - You probably have to modify this value if you're not using a strict doctype var gCalendarDiv = false; var gWindowPresent='false'; var gWPStatus=0; var gbMSIEBrowser = false; var gbOperaBrowser = false; var gNotFutureDate='false'; var gNotPastDate='false'; var gCalendarPosition='bottom'; if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0) gbMSIEBrowser=true; if(navigator.userAgent.indexOf('Opera')>=0) gbOperaBrowser=true; var gaMonth = null; var gaMonthShort = null; var gaDay = null; var gWeekString = null; var gTodayString = null; switch(gLanguageCode) { case "en": /* English */ gaMonth = ['January','February','March','April','May','June','July','August','September','October','November','December']; gaMonthShort = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']; gaDay = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']; gWeekString = 'Week'; gTodayString = ''; break; case "ge": /* German */ gaMonth = ['Januar','Februar','M�rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember']; gaMonthShort = ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez']; gaDay = ['Mon','Die','Mit','Don','Fre','Sam','Son']; gWeekString = 'Woche'; gTodayString = 'Heute'; break; case "no": /* Norwegian */ gaMonth = ['Januar','Februar','Mars','April','Mai','Juni','Juli','August','September','Oktober','November','Desember']; gaMonthShort = ['Jan','Feb','Mar','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Des']; gaDay = ['Man','Tir','Ons','Tor','Fre','Lør','Søn']; gWeekString = 'Uke'; gTodayString = 'Dagen i dag er'; break; case "nl": /* Dutch */ gaMonth = ['Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December']; gaMonthShort = ['Jan','Feb','Mar','Apr','Mei','Jun','Jul','Aug','Sep','Okt','Nov','Dec']; gaDay = ['Ma','Di','Wo','Do','Vr','Za','Zo']; gWeekString = 'Week'; gTodayString = 'Vandaag'; break; case "es": /* Spanish */ gaMonth = ['Enero','Febrero','Marzo','April','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre']; gaMonthShort =['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic']; gaDay = ['Lun','Mar','Mie','Jue','Vie','Sab','Dom']; gWeekString = 'Semana'; gTodayString = 'Hoy es'; break; case "pt-br": /* Brazilian portuguese (pt-br) */ gaMonth = ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro']; gaMonthShort = ['Jan','Fev','Mar','Abr','Mai','Jun','Jul','Ago','Set','Out','Nov','Dez']; gaDay = ['Seg','Ter','Qua','Qui','Sex','Sáb','Dom']; gWeekString = 'Sem.'; gTodayString = 'Hoje é'; break; case "fr": /* French */ gaMonth = ['Janvier','F�vrier','Mars','Avril','Mai','Juin','Juillet','Ao�t','Septembre','Octobre','Novembre','D�cembre']; gaMonthShort = ['Jan','Fev','Mar','Avr','Mai','Jun','Jul','Aou','Sep','Oct','Nov','Dec']; gaDay = ['Lun','Mar','Mer','Jeu','Ven','Sam','Dim']; gWeekString = 'Sem'; gTodayString = "Aujourd'hui"; break; case "da": /*Danish*/ gaMonth = ['januar','februar','marts','april','maj','juni','juli','august','september','oktober','november','december']; gaMonthShort = ['jan','feb','mar','apr','maj','jun','jul','aug','sep','okt','nov','dec']; gaDay = ['man','tirs','ons','tors','fre','lør','søn']; gWeekString = 'Uge'; gTodayString = 'I dag er den'; break; case "hu": /* Hungarian - Remember to use UTF-8 encoding, i.e. the tag */ gaMonth = ['Január','Február','Március','�?prilis','Május','Június','Július','Augusztus','Szeptember','Október','November','December']; gaMonthShort = ['Jan','Feb','Márc','�?pr','Máj','Jún','Júl','Aug','Szep','Okt','Nov','Dec']; gaDay = ['Hé','Ke','Sze','Cs','Pé','Szo','Vas']; gWeekString = 'Hét'; gTodayString = 'Mai nap'; break; case "it": /* Italian*/ gaMonth = ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre']; gaMonthShort = ['Gen','Feb','Mar','Apr','Mag','Giu','Lugl','Ago','Set','Ott','Nov','Dic']; gaDay = ['Lun',';Mar','Mer','Gio','Ven','Sab','Dom']; gWeekString = 'Settimana'; gTodayString = 'Oggi è il'; break; case "sv": /* Swedish */ gaMonth = ['Januari','Februari','Mars','April','Maj','Juni','Juli','Augusti','September','Oktober','November','December']; gaMonthShort = ['Jan','Feb','Mar','Apr','Maj','Jun','Jul','Aug','Sep','Okt','Nov','Dec']; gaDay = ['Mån','Tis','Ons','Tor','Fre','Lör','Sön']; gWeekString = 'Vecka'; gTodayString = 'Idag är det den'; break; case "cz": /* Czech */ gaMonth = ['leden','únor','březen','duben','květen','červen','červenec','srpen','září','říjen','listopad','prosinec']; gaMonthShort = ['led','ún','bř','dub','kvě','čer','čer-ec','srp','zář','říj','list','pros']; gaDay = ['Pon','Út','St','Čt','Pá','So','Ne']; gWeekString = 'týden'; gTodayString = ''; break; } if (gbWeekStartsOnSunday) { var TempDayName = gaDay[6]; for(var iIndex = 6; iIndex > 0; iIndex--) { gaDay[iIndex] = gaDay[iIndex-1]; } gaDay[0] = TempDayName; } var giaDaysInMonth = [31,28,31,30,31,30,31,31,30,31,30,31]; var giCurrentMonth; var giCurrentYear; var giCurrentHour; var giCurrentMinute; var gCalendarContentDivObject; var gReturnDateTo; var gReturnFormat; var gActiveSelectBoxMonth; var gActiveSelectBoxYear; var gActiveSelectBoxHour; var gActiveSelectBoxMinute; var gIFrameObject1 = false; var gIFrameObject2 = false; function offsetFixIE(inWhereToFixIt) { if(!gIFrameObject2)return; gIFrameObject2.style.display = 'block'; gIFrameObject2.style.height =document.getElementById(inWhereToFixIt).offsetHeight+1; gIFrameObject2.style.width=document.getElementById(inWhereToFixIt).offsetWidth; gIFrameObject2.style.left=getLeftPos(document.getElementById(inWhereToFixIt))+1-gCalendarOffsetLeft; gIFrameObject2.style.top=getTopPos(document.getElementById(inWhereToFixIt))-document.getElementById(inWhereToFixIt).offsetHeight-gCalendarOffsetTop; } function hideFrame() { if(gIFrameObject2)gIFrameObject2.style.display = 'none'; } var gReturnDateToYear; var gReturnDateToMonth; var gReturnDateToDay; var gReturnDateToHour; var gReturnDateToMinute; var giInputYear; var giInputMonth; var giInputDay; var giInputHour; var giInputMinute; var gSelectBoxHighlightColor = '#D60808'; // Highlight color of select boxes var gSelectBoxRolloverBgColor = '#d2e0fb'; // Background color on drop down lists(rollover) var gSelectTodayMouseHoverColor = '#4685ce'; // Font color on Today display(mouseover) var gbSelectBoxMovementInProgress = false; var gbActiveSelectBox = false; function cancelCalendarEvent() { return false; } function isLeapYear(inInputYear) { if(inInputYear%400==0||(inInputYear%4==0&&inInputYear%100!=0)) return true; return false; } gActiveSelectBoxMonth = false; var gbActiveSelectBoxDirection = false; function highlightMonthYear() { if(gActiveSelectBoxMonth) gActiveSelectBoxMonth.className=''; gbActiveSelectBox = this; if(this.className=='monthYearActive') this.className=''; else { this.className = 'monthYearActive'; gActiveSelectBoxMonth = this; } if(this.innerHTML.indexOf('-')>=0 || this.innerHTML.indexOf('+')>=0) { if(this.className=='monthYearActive') gbSelectBoxMovementInProgress = true; else gbSelectBoxMovementInProgress = false; if(this.innerHTML.indexOf('-')>=0) gbActiveSelectBoxDirection = -1; else gbActiveSelectBoxDirection = 1; } else gbSelectBoxMovementInProgress = false; } function showMonthDropDown() { if(document.getElementById('monthDropDown').style.display=='block') { document.getElementById('monthDropDown').style.display='none'; hideFrame(); } else { document.getElementById('monthDropDown').style.display='block'; document.getElementById('yearDropDown').style.display='none'; document.getElementById('hourDropDown').style.display='none'; document.getElementById('minuteDropDown').style.display='none'; if (gbMSIEBrowser) offsetFixIE('monthDropDown'); } } function showYearDropDown() { if(document.getElementById('yearDropDown').style.display=='block') { document.getElementById('yearDropDown').style.display='none'; hideFrame(); } else { document.getElementById('yearDropDown').style.display='block'; document.getElementById('monthDropDown').style.display='none'; document.getElementById('hourDropDown').style.display='none'; document.getElementById('minuteDropDown').style.display='none'; if (gbMSIEBrowser) offsetFixIE('yearDropDown'); } } function showHourDropDown() { if(document.getElementById('hourDropDown').style.display=='block') { document.getElementById('hourDropDown').style.display='none'; hideFrame(); } else { document.getElementById('hourDropDown').style.display='block'; document.getElementById('monthDropDown').style.display='none'; document.getElementById('yearDropDown').style.display='none'; document.getElementById('minuteDropDown').style.display='none'; if (gbMSIEBrowser) offsetFixIE('hourDropDown'); } } function showMinuteDropDown() { if(document.getElementById('minuteDropDown').style.display=='block') { document.getElementById('minuteDropDown').style.display='none'; hideFrame(); } else { document.getElementById('minuteDropDown').style.display='block'; document.getElementById('monthDropDown').style.display='none'; document.getElementById('yearDropDown').style.display='none'; document.getElementById('hourDropDown').style.display='none'; if (gbMSIEBrowser) offsetFixIE('minuteDropDown'); } } function selectMonth() { document.getElementById('calendar_month_txt').innerHTML = this.innerHTML giCurrentMonth = this.id.replace(/[^\d]/g,''); document.getElementById('monthDropDown').style.display='none'; hideFrame(); for(var iNo=0;iNo=0) { giCurrentMonth=giCurrentMonth-1; if(giCurrentMonth<0) { giCurrentMonth=11; giCurrentYear=giCurrentYear-1; } } else { giCurrentMonth=giCurrentMonth+1; if(giCurrentMonth>11) { giCurrentMonth=0; giCurrentYear=giCurrentYear/1+1; } } writeCalendarContent(); } function createMonthDiv() { var outDivObject = document.createElement('DIV'); outDivObject.className='monthYearPicker'; outDivObject.id = 'monthPicker'; for(var iIndex=0;iIndex=0) { StartYear = aYearItems[1].innerHTML/1 -1; if(gActiveSelectBoxYear) gActiveSelectBoxYear.style.color=''; } else { StartYear = aYearItems[1].innerHTML/1 +1; if(gActiveSelectBoxYear) gActiveSelectBoxYear.style.color=''; } for(var iIndex=1;iIndex=0) { StartHour = aHourItems[1].innerHTML/1 -1; if(StartHour<0)StartHour=0; if(gActiveSelectBoxHour) gActiveSelectBoxHour.style.color=''; } else { StartHour = aHourItems[1].innerHTML/1 +1; if(StartHour>14)StartHour = 14; if(gActiveSelectBoxHour) gActiveSelectBoxHour.style.color=''; } var Prefix = ''; for(var iIndex=1;iIndex14) StartHour=14; var SubDivObject = document.createElement('DIV'); SubDivObject.innerHTML = '  - '; SubDivObject.onclick = changeSelectBoxHour; SubDivObject.onmouseover = highlightMonthYear; SubDivObject.onmouseout = function(){ gbSelectBoxMovementInProgress = false; }; SubDivObject.onselectstart = cancelCalendarEvent; outDivObject.appendChild(SubDivObject); var iCounter; for(iCounter=StartHour;iCounter=0) { if(this.src.indexOf('left')>=0)this.src = gPathToImages + 'left.png'; if(this.src.indexOf('right')>=0)this.src = gPathToImages + 'right.png'; } else { if(this.src.indexOf('left')>=0)this.src = gPathToImages + 'left_over.png'; if(this.src.indexOf('right')>=0)this.src = gPathToImages + 'right_over.png'; } } function highlightClose() { if(this.src.indexOf('over')>=0) this.src = gPathToImages + 'close.gif'; else this.src = gPathToImages + 'close_over.gif'; } document.onclick=check; function setStatus() { gWPStatus=1; check; } function check() { if(gWindowPresent!="true" && gWPStatus!='1') { gWindowPresent='false'; gWPStatus='0'; closeCalendar(); } else { gWPStatus='0'; gWindowPresent='false'; } } function closeCalendar() { try { document.getElementById('yearDropDown').style.display='none'; document.getElementById('monthDropDown').style.display='none'; document.getElementById('hourDropDown').style.display='none'; document.getElementById('minuteDropDown').style.display='none'; gCalendarDiv.style.display='none'; if(gIFrameObject1) { gIFrameObject1.style.display='none'; hideFrame(); } if(gActiveSelectBoxMonth)gActiveSelectBoxMonth.className=''; if(gActiveSelectBoxYear)gActiveSelectBoxYear.className=''; } catch(e){} } function writeTopBar() { var TopBarObject = document.createElement('DIV'); TopBarObject.className = 'topBar'; TopBarObject.id = 'topBar'; gCalendarDiv.appendChild(TopBarObject); // Left arrow var LeftDivObject = document.createElement('DIV'); LeftDivObject.style.marginRight = '1px'; LeftDivObject.style.position='relative'; var LeftImageObject = document.createElement('IMG'); LeftImageObject.src = gPathToImages + 'left.png'; LeftImageObject.onmouseover = highlightArrow; LeftImageObject.onclick = switchMonth; LeftImageObject.onmouseout = highlightArrow; LeftDivObject.appendChild(LeftImageObject); TopBarObject.appendChild(LeftDivObject); if(gbOperaBrowser) LeftDivObject.style.width = '16px'; // Right arrow var RightDivObject = document.createElement('DIV'); RightDivObject.style.marginRight = '1px'; RightDivObject.style.position='relative'; RightDivObject.style.left='17px'; RightDivObject.style.top='-16px' var RightImageObject = document.createElement('IMG'); RightImageObject.src = gPathToImages + 'right.png'; RightImageObject.onclick = switchMonth; RightImageObject.onmouseover = highlightArrow; RightImageObject.onmouseout = highlightArrow; RightDivObject.appendChild(RightImageObject); if(gbOperaBrowser) RightDivObject.style.width = '16px'; TopBarObject.appendChild(RightDivObject); // Month selector var MonthDivObject = document.createElement('DIV'); MonthDivObject.id = 'monthSelect'; MonthDivObject.onmouseover = highlightSelect; MonthDivObject.onmouseout = highlightSelect; MonthDivObject.onclick = showMonthDropDown; MonthDivObject.style.position='relative'; MonthDivObject.style.left='34px'; MonthDivObject.style.top='-32px' var MonthSpan = document.createElement('SPAN'); MonthSpan.innerHTML = gaMonth[giCurrentMonth]; MonthSpan.id = 'calendar_month_txt'; MonthDivObject.appendChild(MonthSpan); var DownImageObject = document.createElement('IMG'); DownImageObject.src = gPathToImages + 'down.png'; DownImageObject.style.position = 'absolute'; DownImageObject.style.right = '0px'; MonthDivObject.appendChild(DownImageObject); MonthDivObject.className = 'selectBox'; if(gbOperaBrowser) { DownImageObject.style.cssText = 'float:right;position:relative'; DownImageObject.style.position = 'relative'; DownImageObject.style.styleFloat = 'right'; } TopBarObject.appendChild(MonthDivObject); var MonthPicker = createMonthDiv(); MonthPicker.style.left = '38px'; MonthPicker.style.top = MonthDivObject.offsetTop + MonthDivObject.offsetHeight + 1 + 'px'; MonthPicker.style.width ='73px'; MonthPicker.id = 'monthDropDown'; gCalendarDiv.appendChild(MonthPicker); // Year selector var YearDiv = document.createElement('DIV'); YearDiv.onmouseover = highlightSelect; YearDiv.onmouseout = highlightSelect; YearDiv.onclick = showYearDropDown; YearDiv.style.position='relative'; YearDiv.style.left='34px'; YearDiv.style.top='-32px'; YearDiv.style.width='40px'; var YearSpan = document.createElement('SPAN'); YearSpan.innerHTML = giCurrentYear; YearSpan.id = 'calendar_year_txt'; YearDiv.appendChild(YearSpan); TopBarObject.appendChild(YearDiv); DownImageObject = document.createElement('IMG'); DownImageObject.src = gPathToImages + 'down.png'; YearDiv.appendChild(DownImageObject); YearDiv.className = 'selectBox'; if(gbOperaBrowser) { YearDiv.style.width = '50px'; DownImageObject.style.cssText = 'float:right'; DownImageObject.style.position = 'relative'; DownImageObject.style.styleFloat = 'right'; } var YearPicker = createYearDiv(); YearPicker.style.left = '113px'; YearPicker.style.top = MonthDivObject.offsetTop + MonthDivObject.offsetHeight + 1 + 'px'; YearPicker.style.width = '45px'; YearPicker.id = 'yearDropDown'; gCalendarDiv.appendChild(YearPicker); var CloseImageObject = document.createElement('IMG'); CloseImageObject.src = gPathToImages + 'close.gif'; CloseImageObject.style.styleFloat = 'right'; CloseImageObject.onmouseover = highlightClose; CloseImageObject.onmouseout = highlightClose; CloseImageObject.onclick = closeCalendar; TopBarObject.appendChild(CloseImageObject); if(!document.all) { CloseImageObject.style.position = 'absolute'; CloseImageObject.style.right = '2px'; } } function writeCalendarContent() { var bCalendarContentDivObjectExists = true; if(!gCalendarContentDivObject) { gCalendarContentDivObject = document.createElement('DIV'); gCalendarDiv.appendChild(gCalendarContentDivObject); bCalendarContentDivObjectExists = false; } giCurrentMonth = giCurrentMonth/1; var DateObject = new Date(); DateObject.setFullYear(giCurrentYear); DateObject.setDate(1); DateObject.setMonth(giCurrentMonth); var StartOfMonthDay = DateObject.getDay(); if (! gbWeekStartsOnSunday) { if(StartOfMonthDay==0)StartOfMonthDay=7; StartOfMonthDay--; } document.getElementById('calendar_year_txt').innerHTML = giCurrentYear; document.getElementById('calendar_month_txt').innerHTML = gaMonth[giCurrentMonth]; document.getElementById('calendar_hour_txt').innerHTML = giCurrentHour; document.getElementById('calendar_minute_txt').innerHTML = giCurrentMinute; var ExistingTable = gCalendarContentDivObject.getElementsByTagName('TABLE'); if(ExistingTable.length>0) gCalendarContentDivObject.removeChild(ExistingTable[0]); var CalendarTable = document.createElement('TABLE'); CalendarTable.width = '100%'; CalendarTable.cellSpacing = '0'; gCalendarContentDivObject.appendChild(CalendarTable); var RowObject; var CellObject; var WeekString; var iCounter; var CalendarTBody = document.createElement('TBODY'); CalendarTable.appendChild(CalendarTBody); RowObject = CalendarTBody.insertRow(-1); RowObject.className = 'calendar_week_row'; if (gbShowWeekNumber) { CellObject = RowObject.insertCell(-1); CellObject.innerHTML = gWeekString; CellObject.className = 'calendar_week_column'; CellObject.style.backgroundColor = gSelectBoxRolloverBgColor; } for(var iIndex=0;iIndex0 && ColumnCounter%7==0) { RowObject = CalendarTBody.insertRow(-1); if (gbShowWeekNumber) { CellObject = RowObject.insertCell(-1); CellObject.className = 'calendar_week_column'; WeekString = getWeek(giCurrentYear,giCurrentMonth,iCounter); CellObject.innerHTML = WeekString; // Week CellObject.style.backgroundColor = gSelectBoxRolloverBgColor; } } CellObject = RowObject.insertCell(-1); var iWeekEnds=0; //Highlight the saturday and sundays of every week if(ColumnCounter%7==6) { CellObject.className='sunday'; iWeekEnds=1; } if(ColumnCounter%7==5) { CellObject.className='saturday'; iWeekEnds=1; } //Added to compare present and future date if(gNotFutureDate=='true' || gNotPastDate=='true') { var CurrentDate = new Date() var aCurrentDateValues = new Array(); aCurrentDateValues[0] = ""+CurrentDate.getDate() ; aCurrentDateValues[1] = ""+Number(CurrentDate.getMonth()); aCurrentDateValues[2] = ""+CurrentDate.getFullYear() ; var aSelectedDateValues = new Array(); aSelectedDateValues[0] = ""+iCounter; aSelectedDateValues[1] = ""+giCurrentMonth; aSelectedDateValues[2] = ""+giCurrentYear; var bCanPickDate=false; if(gNotFutureDate=='true' && gNotPastDate=='true') { if ((Number(aSelectedDateValues[2]) == Number(aCurrentDateValues[2])) && //If current year is same as selected date's year ((Number(aSelectedDateValues[1]) == Number(aCurrentDateValues[1])) && //If current month is same as selected date's month ((Number(aSelectedDateValues[0]) == Number(aCurrentDateValues[0]))) //If current date value is same as selected date's date value ) ) bCanPickDate=true; } else if(gNotFutureDate=='true') { if ((Number(aSelectedDateValues[2]) < Number(aCurrentDateValues[2])) || //If current year is before selected date's year ((Number(aSelectedDateValues[2]) == Number(aCurrentDateValues[2])) && //If current year is same as selected date's year ((Number(aSelectedDateValues[1]) < Number(aCurrentDateValues[1])) || //If current month is before selected date's month ((Number(aSelectedDateValues[1]) == Number(aCurrentDateValues[1])) && //If current month is same as selected date's month ((Number(aSelectedDateValues[0]) < Number(aCurrentDateValues[0])) || //If current date value is before selected date's date value ((Number(aSelectedDateValues[0]) == Number(aCurrentDateValues[0]))) //If current date value is same as selected date's date value ) ) ) ) ) bCanPickDate=true; } else if(gNotPastDate=='true') { if ((Number(aSelectedDateValues[2]) > Number(aCurrentDateValues[2])) || //If current year is after selected date's year ((Number(aSelectedDateValues[2]) == Number(aCurrentDateValues[2])) && //If current year is same as selected date's year ((Number(aSelectedDateValues[1]) > Number(aCurrentDateValues[1])) || //If current month is after selected date's month ((Number(aSelectedDateValues[1]) == Number(aCurrentDateValues[1])) && //If current month is same as selected date's month ((Number(aSelectedDateValues[0]) > Number(aCurrentDateValues[0])) || //If current date value is after selected date's date value ((Number(aSelectedDateValues[0]) == Number(aCurrentDateValues[0]))) //If current date value is same as selected date's date value ) ) ) ) ) bCanPickDate=true; } if(bCanPickDate) { CellObject.onclick = pickDate; } else { if(iWeekEnds==1) CellObject.className='disablewkdays'; else CellObject.className='disableotherdays'; } } else { CellObject.onclick = pickDate; } if(giCurrentYear==giInputYear && giCurrentMonth == giInputMonth && iCounter==giInputDay) { CellObject.className='activeDay'; CellObject.onclick = pickDate; } CellObject.innerHTML = iCounter; ColumnCounter++; } if(!document.all) { if(gCalendarContentDivObject.offsetHeight) document.getElementById('topBar').style.top = gCalendarContentDivObject.offsetHeight + document.getElementById('timeBar').offsetHeight + document.getElementById('topBar').offsetHeight -1 + 'px'; else { document.getElementById('topBar').style.top = ''; document.getElementById('topBar').style.bottom = '0px'; } } if(gIFrameObject1) { if(!bCalendarContentDivObjectExists) setTimeout('resizeIframe()',350); else setTimeout('resizeIframe()',10); } } function resizeIframe() { gIFrameObject1.style.width = gCalendarDiv.offsetWidth + 'px'; gIFrameObject1.style.height = gCalendarDiv.offsetHeight + 'px' ; } function pickTodaysDate() { var DateObject = new Date(); giCurrentMonth = DateObject.getMonth(); giCurrentYear = DateObject.getFullYear(); pickDate(false,DateObject.getDate()); } function pickDate(inb,inInputDay) { var CurrentMonth = giCurrentMonth/1 +1; if(CurrentMonth<10) CurrentMonth = '0' + CurrentMonth; var CurrentDay; if(!inInputDay && this) CurrentDay = this.innerHTML; else CurrentDay = inInputDay; if(CurrentDay/1<10)CurrentDay = '0' + CurrentDay; if(gReturnFormat) { gReturnFormat = gReturnFormat.replace('dd',CurrentDay); gReturnFormat = gReturnFormat.replace('mm',CurrentMonth); gReturnFormat = gReturnFormat.replace('yyyy',giCurrentYear); gReturnFormat = gReturnFormat.replace('hh',giCurrentHour); gReturnFormat = gReturnFormat.replace('ii',giCurrentMinute); gReturnFormat = gReturnFormat.replace('d',CurrentDay/1); gReturnFormat = gReturnFormat.replace('m',CurrentMonth/1); gReturnDateTo.value = gReturnFormat; try { gReturnDateTo.onchange(); }catch(e){} } else { var iIndex; for(iIndex=0;iIndex(screen.height-Number(250))) iTopPosition=screen.height-Number(270); if(gCalendarPosition=='topleft') { iLeftPos=getLeftPos(inInputObject)-Number(190); iTopPos=iTopPosition-Number(192); } else if(gCalendarPosition=='topright') { iLeftPos=getLeftPos(inInputObject); iTopPos=iTopPosition-Number(192); } else if(gCalendarPosition=='bottomleft') { iLeftPos=getLeftPos(inInputObject)-Number(190); iTopPos=iTopPosition; } else if(gCalendarPosition=='bottomlefttext') { iLeftPos=getLeftPos(inInputObject)-Number(110); iTopPos=iTopPosition; } else if(gCalendarPosition=='billing') { iLeftPos=getLeftPos(inInputObject); iTopPos=screen.height-Number(400); } else { iLeftPos=getLeftPos(inInputObject); iTopPos=iTopPosition; } gCalendarDiv.style.left = iLeftPos + 'px'; gCalendarDiv.style.top = iTopPos + 'px'; if(gIFrameObject1) { gIFrameObject1.style.left = gCalendarDiv.style.left; gIFrameObject1.style.top = gCalendarDiv.style.top; gIFrameObject2.style.left = gCalendarDiv.style.left; gIFrameObject2.style.top = gCalendarDiv.style.top; } } function initCalendar() { if(gbMSIEBrowser) { gIFrameObject1 = document.createElement('IFRAME'); gIFrameObject1.style.filter = 'alpha(opacity=0)'; gIFrameObject1.style.position = 'absolute'; gIFrameObject1.border='0px'; gIFrameObject1.style.border = '0px'; gIFrameObject1.style.backgroundColor = '#FF0000'; //Fix for IE frame problem on time dropdowns gIFrameObject2 = document.createElement('IFRAME'); gIFrameObject2.style.position = 'absolute'; gIFrameObject2.border='0px'; gIFrameObject2.style.border = '0px'; gIFrameObject2.style.height = '1px'; gIFrameObject2.style.width = '1px'; // Added fixed for HTTPS gIFrameObject2.src = 'blank.html'; gIFrameObject1.src = 'blank.html'; document.body.appendChild(gIFrameObject2); document.body.appendChild(gIFrameObject1); } //Detected browser and created DIV element to resolve the //calendar window close problem when mouse clicked on outside calendar. //********************************************************************* var DetectBrowser = navigator; if(DetectBrowser.appName=='Microsoft Internet Explorer') { gCalendarDiv = document.createElement("
"); } else { gCalendarDiv = document.createElement('div'); gCalendarDiv.setAttribute("onclick","setStatus()"); } //********************************************************************* gCalendarDiv.id = 'calendarDiv'; gCalendarDiv.style.zIndex = 1000; slideCalendarSelectBox(); document.body.appendChild(gCalendarDiv); writeBottomBar(); writeTopBar(); if(!giCurrentYear) { var DateObject = new Date(); giCurrentMonth = DateObject.getMonth(); giCurrentYear = DateObject.getFullYear(); } writeCalendarContent(); } function setTimeProperties() { if(!gbCalendarDisplayTime) { document.getElementById('timeBar').style.display='none'; document.getElementById('timeBar').style.visibility='hidden'; document.getElementById('todaysDateString').style.width = '100%'; } else { document.getElementById('timeBar').style.display='block'; document.getElementById('timeBar').style.visibility='visible'; document.getElementById('hourDropDown').style.top = document.getElementById('calendar_minute_txt').parentNode.offsetHeight + gCalendarContentDivObject.offsetHeight + document.getElementById('topBar').offsetHeight + 'px'; document.getElementById('minuteDropDown').style.top = document.getElementById('calendar_minute_txt').parentNode.offsetHeight + gCalendarContentDivObject.offsetHeight + document.getElementById('topBar').offsetHeight + 'px'; document.getElementById('minuteDropDown').style.right = '50px'; document.getElementById('hourDropDown').style.right = '50px'; document.getElementById('todaysDateString').style.width = '115px'; } } function calendarSortItems(inValue1,inValue2) { return inValue1/1 - inValue2/1; } function setPath(inPathToImages,inNotFutureDate,inNotPastDate,inCalendarPosition) { gNotFutureDate='false'; gNotPastDate='false'; gPathToImages=inPathToImages; gCalendarPosition=inCalendarPosition; gNotFutureDate=inNotFutureDate; gNotPastDate=inNotPastDate; return true; } function displayCalendar(inInputTextFieldObject,inDateFormat,inButtonObject) { gWindowPresent='true'; //Modified to sync date inDateFormat in mbean var DateFormat=inDateFormat.toLowerCase(); gbCalendarDisplayTime = false; var DateObject = new Date(); if(inInputTextFieldObject.value.length>6) { //dates must have at least 6 digits... if(!inInputTextFieldObject.value.match(/^[0-9]*?$/gi)) { var Items = inInputTextFieldObject.value.split(/[^0-9]/gi); var aPosition = new Array(); aPosition['m'] = DateFormat.indexOf('mm'); if(aPosition['m']==-1) aPosition['m'] = DateFormat.indexOf('m'); aPosition['d'] = DateFormat.indexOf('dd'); if(aPosition['d']==-1) aPosition['d'] = DateFormat.indexOf('d'); aPosition['y'] = DateFormat.indexOf('yyyy'); aPosition['h'] = DateFormat.indexOf('hh'); aPosition['i'] = DateFormat.indexOf('ii'); var aPositionNumeric = Array(); aPositionNumeric[0] = aPosition['m']; aPositionNumeric[1] = aPosition['d']; aPositionNumeric[2] = aPosition['y']; aPositionNumeric[3] = aPosition['h']; aPositionNumeric[4] = aPosition['i']; aPositionNumeric = aPositionNumeric.sort(calendarSortItems); var iItemIndex = -1; giCurrentHour = '00'; giCurrentMinute = '00'; for(var iIndex=0;iIndex=0) { CurrentHour = inInputTextFieldObject.value.substr(HourPosition,2); giCurrentHour = CurrentHour; } else giCurrentHour = '00'; var MinutePosition = DateFormat.indexOf('ii'); if(MinutePosition>=0) { CurrentMinute = inInputTextFieldObject.value.substr(MinutePosition,2); giCurrentMinute = CurrentMinute; } else giCurrentMinute = '00'; } if(giCurrentMonth>=0 && giCurrentYear>=0 && CurrentDay>=0) {} else { giCurrentMonth = DateObject.getMonth(); giCurrentYear = DateObject.getFullYear(); giCurrentHour = '08'; giCurrentMinute = '00'; CurrentDay = DateObject.getDate(); } } else { giCurrentMonth = DateObject.getMonth(); giCurrentYear = DateObject.getFullYear(); giCurrentHour = '08'; giCurrentMinute = '00'; CurrentDay = DateObject.getDate(); } giInputYear = giCurrentYear; giInputMonth = giCurrentMonth; giInputDay = CurrentDay/1; if(!gCalendarDiv) initCalendar(); else { if(gCalendarDiv.style.display=='block') { closeCalendar(); return false; } writeCalendarContent(); } gReturnFormat = DateFormat; gReturnDateTo = inInputTextFieldObject; positionCalendar(inButtonObject); gCalendarDiv.style.visibility = 'visible'; gCalendarDiv.style.display = 'block'; if(gIFrameObject1) { gIFrameObject1.style.display = ''; gIFrameObject1.style.height = '140px'; gIFrameObject1.style.width = '195px'; gIFrameObject2.style.display = ''; gIFrameObject2.style.height = '140px'; gIFrameObject2.style.width = '195px'; } setTimeProperties(); updateYearDiv(); updateMonthDiv(); updateMinuteDiv(); updateHourDiv(); return true; } function highLightRow(inObject) { inObject.style.backgroundColor='#e0e0e0'; } function normalRow(inObject) { inObject.style.backgroundColor='#ffffff'; }