

var pathToImages = 'images/calander/';	// Relative to HTML file
var speedOfSelectBoxSliding = 200;	// Milliseconds between changing year and hour when holding mouse over "-" and "+" - lower value = faster
var intervalSelectBox_minutes = 5;	// Minute select box - interval between each option (5 = default)
var calendarDiv = false;
var currentMonth, currentYear, currentHour, currentMinute;
var inputYear, inputMonth, inputDay, inputHour, inputMinute;
var selectBoxMovementInProgress = false;
var activeSelectBox = false;
var activeSelectBoxMonth = false;
var activeSelectBoxDirection = false;
var selectBoxHighlightColor = '#D60808'; // Highlight color of select boxes
var selectBoxRolloverBgColor = '#BAD7F7'; // Background color on drop down lists(rollover)

var calendarContentDiv, returnDateTo;
var serverYear;
var zindex;
var activeSelectBoxMonth, activeSelectBoxYear, activeSelectBoxHour, activeSelectBoxMinute;
var returnDateToYear, returnDateToMonth, returnDateToDay, returnDateToHour,returnDateToMinute,returnFormat ;
var iframeObj2 =false;
var iframeObj = false;
var MSIE = false;
var Opera = false;
if(navigator.userAgent.indexOf('MSIE')>=0 && navigator.userAgent.indexOf('Opera')<0)MSIE=true;
if(navigator.userAgent.indexOf('Opera')>=0)Opera=true;
function SetZindex(value)
{
zindex=value;
//calendarContentDiv.style.z-index=value;
}
function PopUpCalendar()
{
    var js_futureDate= true;
    var turnOffYearSpan = true;     
    var weekStartsOnSunday = false;  
    var showWeekNumber = false;  
    var calendar_display_time = true;
    var todayStringFormat = '[todayString] [UCFdayString]. [day]. [monthString] [year]';
    var monthArray = ['January','February','March','April','May','June','July','August','September','October','November','December'];
   
    var monthArrayShort = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
    var dayArray = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
    var weekString = 'Week';
    var calendar_offsetTop = 0;		// Offset - calendar placement  
    var calendar_offsetLeft = 0;	// Offset - calendar placement  
    var daysInMonthArray = [31,28,31,30,31,30,31,31,30,31,30,31];
    var todayString = '';
    var calendarDisplayTime = false;
    var js_checkIndt = false;
    var old_yr="", old_month="";
    var curdate = '';
    
    this.show=show;
    this.initCalendar=initCalendar;
    this.displayCalendarSelectBox=displayCalendarSelectBox;
    this.IsValidFutureDate=IsValidFutureDate;
    this.selectMonth=selectMonth;
    this.selectYear=selectYear;
    this.switchMonth=switchMonth;
    this.writeCalendarContent=writeCalendarContent;
    this.createMonthDiv=createMonthDiv;
    this.writeTopBar=writeTopBar;
    this.createYearDiv=createYearDiv;
    this.cs_out=cs_out;
    this.cs_over=cs_over;
    this.EvtObj=EvtObj;
    this.evtTgt=evtTgt;
    this.setTimeProperties=setTimeProperties;
    this.JF_Convert=JF_Convert;
    this.updateMinuteDiv=updateMinuteDiv;
    this.updateHourDiv=updateHourDiv;
    this.updateMonthDiv=updateMonthDiv;
    this.updateYearDiv=updateYearDiv;
    this.positionCalendar=positionCalendar;
    this.isLeapYear=isLeapYear;
    this.writeBottomBar=writeBottomBar;
    this.writeTimeBar=writeTimeBar;
    this.pickTodaysDate=pickTodaysDate;
    this.pickDate=pickDate;
    this.JF_ConvertAplhaMonth=JF_ConvertAplhaMonth;
    this.getWeek=getWeek;
    this.createHourDiv=createHourDiv;
    this.createMinuteDiv=createMinuteDiv;
    this.showMonthDropDown
    this.showYearDropDown=showYearDropDown;
    this.showHourDropDown=showHourDropDown;
    this.showMinuteDropDown=showMinuteDropDown;
    this.selectHour=selectHour;
    this.selectMinute=selectMinute;
    this.getTopPos=getTopPos;
    this.getleftPos=getleftPos;
    this.EIS_FIX_EI1=EIS_FIX_EI1;
    this.EIS_Hide_Frame=EIS_Hide_Frame;
    this.closeCalendar=closeCalendar;
    this.highlightMonthYear=highlightMonthYear;
    this.highlightSelect=highlightSelect;
    this.highlightArrow=highlightArrow;
    this.highlightClose=highlightClose;
    this.turnOffOnYearSpan=turnOffOnYearSpan;
    this.validateYearSpan=validateYearSpan;
    if (weekStartsOnSunday) {
       var tempDayName = dayArray[6];
       for(var theIx = 6; theIx > 0; theIx--) {
          dayArray[theIx] = dayArray[theIx-1];
       }
       dayArray[0] = tempDayName;
    }
    this.CurrentDate=function(val){
                            curdate = val;
                       }
    this.CheckInDate=function(val){js_checkIndt=val;}
    function turnOffOnYearSpan(val)
    {
        turnOffYearSpan=val;
    }
    function validateYearSpan(){
    
        if(turnOffYearSpan){
            var dtPart=curdate.split('-')
            var dt=new Date();
            var yr=parseInt(dtPart[2])
            var mont=LF_GetMonth(dtPart[1]);
            if(js_checkIndt){
		            if(mont==0)
		            {
			            mont=11;
		            }
		            else
		            {
			            mont--;
			            yr++;
		            }
		     }
		     else
		     yr++;
	       var dsInMonth = daysInMonthArray[mont]
                         if(dsInMonth==28){
		                        if(isLeapYear(yr))dsInMonth=29;
	                        }
	       
            dt.setFullYear(yr,mont,dsInMonth);
            
            var dtSelected =new Date();
            dtSelected.setFullYear(currentYear,currentMonth,1);
//            if(dtSelected>dt)
//            {
//                currentYear=old_yr;
//                currentMonth=old_month;
//                return false;
//            }
//            else{
                old_yr = currentYear;
				old_month = currentMonth;
                return true;
//             }
        }
        else 
            return true;
    }
    
    function show(inputField,format,buttonObj,displayTime,timeInput)
    {
    
        if(curdate=='')
        {
            var dttoday = new Date();
            curdate=JF_SetDay(dttoday.getDate())+"-"+Lf_GetAlphaMonth(dttoday.getMonth()+ 1)+"-"+dttoday.getFullYear();
        }
        if(inputField.value=="")
        {
            inputField.value = curdate;
        }
	    if(displayTime)calendarDisplayTime=true; else calendarDisplayTime = false;
	    var dt=inputField.value.split('-');
	    var inputFieldvalue=dt[0]+"-"+ JF_Convert(dt[1])+"-"+ dt[2]
	    if(inputFieldvalue.length>6){ //dates must have at least 6 digits...
           if(!inputFieldvalue.match(/^[0-9]*?$/gi))
           {
			    var items = inputFieldvalue.split(/[^0-9]/gi);
			    var positionArray = new Object();
			    positionArray.m = format.indexOf('mm');
			    if(positionArray.m==-1)positionArray.m = format.indexOf('m');
			    positionArray.d = format.indexOf('dd');
			    if(positionArray.d==-1)positionArray.d = format.indexOf('d');
			    positionArray.y = format.indexOf('yyyy');
			    positionArray.h = format.indexOf('hh');
			    positionArray.i = format.indexOf('ii');
			    this.initialHour = '00';
			    this.initialMinute = '00';				
			    var elements = ['y','m','d','h','i'];
			    var properties = ['currentYear','currentMonth','inputDay','currentHour','currentMinute'];
			    var propertyLength = [4,2,2,2,2];
			    for(var i=0;i<elements.length;i++) 
			    {
				    if(positionArray[elements[i]]>=0) {
					    window[properties[i]] = inputFieldvalue.substr(positionArray[elements[i]],propertyLength[i])/1;
				    }					
			    }			
			    currentMonth--;
			    old_month=currentMonth;
		    }
		    else
		    {
			    var monthPos = format.indexOf('mm');
			    currentMonth = inputFieldvalue.substr(monthPos,2)/1 -1;
			    var yearPos = format.indexOf('yyyy');
			    currentYear = inputFieldvalue.substr(yearPos,4);
			    var dayPos = format.indexOf('dd');
			    tmpDay = inputFieldvalue.substr(dayPos,2);
                old_yr  = currentYear;
				old_month   = currentMonth;
			    var hourPos = format.indexOf('hh');
			    if(hourPos>=0){
				    tmpHour = inputFieldvalue.substr(hourPos,2);
				    currentHour = tmpHour;
				    if(currentHour.length==1) currentHour = '0'
			    }else{
				    currentHour = '00';
			    }
			    var minutePos = format.indexOf('ii');
			    if(minutePos>=0){
				    tmpMinute = inputFieldvalue.substr(minutePos,2);
				    currentMinute = tmpMinute;
			    }else{
				    currentMinute = '00';
			    }
		    }
	    }else{
		    var d = new Date();
		    currentMonth = d.getMonth();
		    currentYear = d.getFullYear();
		    old_yr=currentYear;
			old_month=currentMonth;
		    currentHour = '08';
		    currentMinute = '00';
		    inputDay = d.getDate()/1;
	    }

	    inputYear = currentYear;
	    inputMonth = currentMonth;
	    if(!calendarDiv){
		    initCalendar();
	    }else{
		    if(calendarDiv.style.display=='block'){
			    closeCalendar();
			    return false;
		    }
		    if(validateYearSpan())
		    writeCalendarContent();
	    }
	    returnFormat = format;
	    returnDateTo = inputField;
	    positionCalendar(buttonObj);
	    calendarDiv.style.visibility = 'visible';
	    calendarDiv.style.display = 'block';
	    if(iframeObj){
		    iframeObj.style.display = '';
		    iframeObj.style.height = '140px';
		    iframeObj.style.width = '195px';
				    iframeObj2.style.display = '';
		    iframeObj2.style.height = '140px';
		    iframeObj2.style.width = '195px';
	    }
	    setTimeProperties();
	    updateYearDiv();
	    updateMonthDiv();
	    updateMinuteDiv();
	    updateHourDiv();
    }
    
    function initCalendar()
    {
	    if(MSIE){
		    iframeObj = document.createElement('IFRAME');
		    iframeObj.style.filter = 'alpha(opacity=0)';
		    iframeObj.style.position = 'absolute';
		    //iframeObj.style.zIndex=zindex;
		    iframeObj.border='0px';
		    iframeObj.style.border = '0px';
		    iframeObj.style.backgroundColor = '#FF0000';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
		    iframeObj2 = document.createElement('IFRAME');
		    iframeObj2.style.position = 'absolute';
		    iframeObj2.border='0px';
		    iframeObj2.style.border = '0px';
		    iframeObj2.style.height = '1px';
		    iframeObj2.style.width = '1px';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
		    // Added fixed for HTTPS		    
		    iframeObj2.src = 'blank.html';
		    iframeObj.src = 'blank.html';
		    document.body.appendChild(iframeObj2);  // gfb move this down AFTER the .src is set
		    document.body.appendChild(iframeObj);
	    }
	    calendarDiv = document.createElement('DIV');
	    calendarDiv.id = 'calendarDiv';
	    calendarDiv.style.zIndex = 1000;
	   
	    slideCalendarSelectBox();
	    document.body.appendChild(calendarDiv);
	    writeBottomBar();
	    writeTopBar();
	    if(!currentYear){
		    var d = new Date();
		    currentMonth = d.getMonth();
		    currentYear = d.getFullYear();
		    old_yr = currentYear;
			old_month = currentMonth;
	    }
	    if(validateYearSpan())
	    writeCalendarContent();
    }
    
    function displayCalendarSelectBox(yearInput,monthInput,dayInput,hourInput,minuteInput,buttonObj)
    {
	    if(!hourInput)calendarDisplayTime=false; else calendarDisplayTime = true;

	    currentMonth = monthInput.options[monthInput.selectedIndex].value/1-1;
	    currentYear = yearInput.options[yearInput.selectedIndex].value;
	    old_yr  = currentYear;
		old_month = currentMonth;
	    if(hourInput){
		    currentHour = hourInput.options[hourInput.selectedIndex].value;
		    inputHour = currentHour/1;
	    }
	    if(minuteInput){
		    currentMinute = minuteInput.options[minuteInput.selectedIndex].value;
		    inputMinute = currentMinute/1;
	    }
	    inputYear = yearInput.options[yearInput.selectedIndex].value;
	    inputMonth = monthInput.options[monthInput.selectedIndex].value/1 - 1;
	    inputDay = dayInput.options[dayInput.selectedIndex].value/1;

	    if(!calendarDiv){
		    initCalendar();
	    }else{
	    
	        if(validateYearSpan())
		    writeCalendarContent();
		    
	    }
	    returnDateToYear = yearInput;
	    returnDateToMonth = monthInput;
	    returnDateToDay = dayInput;
	    returnDateToHour = hourInput;
	    returnDateToMinute = minuteInput;
	    returnFormat = false;
	    returnDateTo = false;
	    positionCalendar(buttonObj);
	    calendarDiv.style.visibility = 'visible';
	    calendarDiv.style.display = 'block';
	    if(iframeObj){
		    iframeObj.style.display = '';
		    iframeObj.style.height = calendarDiv.offsetHeight + 'px';
		    iframeObj.style.width = calendarDiv.offsetWidth + 'px';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
		    iframeObj2.style.display = '';
		    iframeObj2.style.height = calendarDiv.offsetHeight + 'px';
		    iframeObj2.style.width = calendarDiv.offsetWidth + 'px'
	    }
	    setTimeProperties();
	    updateYearDiv();
	    updateMonthDiv();
	    updateHourDiv();
	    updateMinuteDiv();
    }
    
    function writeBottomBar()
    {
	    var d = new Date();
	    var bottomBar = document.createElement('DIV');
	    bottomBar.id = 'bottomBar';
	    bottomBar.style.cursor = 'pointer';
	    bottomBar.className = 'todaysDate';
	    var subDiv = document.createElement('DIV');
	    subDiv.onclick = pickTodaysDate;
	    subDiv.id = 'todaysDateString';
	    subDiv.style.width = (calendarDiv.offsetWidth - 95) + 'px';
	    var day = d.getDay();
	    if (! weekStartsOnSunday) {
          if(day==0)day = 7;
          day--;
       }
	    var bottomString = todayStringFormat;
	    bottomString = bottomString.replace('[monthString]',monthArrayShort[d.getMonth()]);
	    bottomString = bottomString.replace('[day]',d.getDate());
	    bottomString = bottomString.replace('[year]',d.getFullYear());
	    bottomString = bottomString.replace('[dayString]',dayArray[day].toLowerCase());
	    bottomString = bottomString.replace('[UCFdayString]',dayArray[day]);
	    bottomString = bottomString.replace('[todayString]',todayString);
	    subDiv.innerHTML = todayString + ': ' + d.getDate() + '. ' + monthArrayShort[d.getMonth()] + ', ' +  d.getFullYear() ;
	    subDiv.innerHTML = bottomString ;
	    bottomBar.appendChild(subDiv);
	    var timeDiv = writeTimeBar();
	    bottomBar.appendChild(timeDiv);
	    calendarDiv.appendChild(bottomBar);
    }
    
    function pickTodaysDate()
    {
	    var d = new Date();
	    currentMonth = d.getMonth();
	    currentYear = d.getFullYear();
	    old_yr=currentYear;
		old_month=currentMonth;
	    pickDate(false,d.getDate());
    }
    
    function writeTimeBar()
    {
	    var timeBar = document.createElement('DIV');
	    timeBar.id = 'timeBar';
	    timeBar.className = 'timeBar';
	    var subDiv = document.createElement('DIV');
	    subDiv.innerHTML = 'Time:';
	    var hourDiv = document.createElement('DIV');
	    hourDiv.onmouseover = highlightSelect;
	    hourDiv.onmouseout = highlightSelect;
	    hourDiv.onclick = showHourDropDown;
	    hourDiv.style.width = '30px';
	    var span = document.createElement('SPAN');
	    span.innerHTML = currentHour;
	    span.id = 'calendar_hour_txt';
	    hourDiv.appendChild(span);
	    timeBar.appendChild(hourDiv);
	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'down_time.gif';
	    hourDiv.appendChild(img);
	    hourDiv.className = 'selectBoxTime';
	    if(Opera){
		    hourDiv.style.width = '30px';
		    img.style.cssText = 'float:right';
		    img.style.position = 'relative';
		    img.style.styleFloat = 'right';
	    }
	    var hourPicker = createHourDiv();
	    hourPicker.style.left = '130px';
	    //hourPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	    hourPicker.style.width = '35px';
	    hourPicker.id = 'hourDropDown';
	    calendarDiv.appendChild(hourPicker);
	    // Year selector
	    var minuteDiv = document.createElement('DIV');
	    minuteDiv.onmouseover = highlightSelect;
	    minuteDiv.onmouseout = highlightSelect;
	    minuteDiv.onclick = showMinuteDropDown;
	    minuteDiv.style.width = '30px';
	    var span = document.createElement('SPAN');
	    span.innerHTML = currentMinute;

	    span.id = 'calendar_minute_txt';
	    minuteDiv.appendChild(span);
	    timeBar.appendChild(minuteDiv);

	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'down_time.gif';
	    minuteDiv.appendChild(img);
	    minuteDiv.className = 'selectBoxTime';

	    if(Opera){
		    minuteDiv.style.width = '30px';
		    img.style.cssText = 'float:right';
		    img.style.position = 'relative';
		    img.style.styleFloat = 'right';
	    }

	    var minutePicker = createMinuteDiv();
	    minutePicker.style.left = '167px';
	    //minutePicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	    minutePicker.style.width = '35px';
	    minutePicker.id = 'minuteDropDown';
	    calendarDiv.appendChild(minutePicker);
	    return timeBar;
    }
    function createHourDiv()
    {
	    if(!document.getElementById('hourDropDown')){
		    var div = document.createElement('DIV');
		    div.className='monthYearPicker';
	    }else{
		    var div = document.getElementById('hourDropDown');
		    var subDivs = div.getElementsByTagName('DIV');
		    for(var no=0;no<subDivs.length;no++){
			    subDivs[no].parentNode.removeChild(subDivs[no]);
		    }
	    }
	    if(!currentHour)currentHour=0;
	    var startHour = currentHour/1;
	    if(startHour>14)startHour=14;
	    var subDiv = document.createElement('DIV');
	    subDiv.innerHTML = '&nbsp;&nbsp;- ';
	    subDiv.onclick = changeSelectBoxHour;
	    subDiv.onmouseover = highlightMonthYear;
	    subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};
	    subDiv.onselectstart = cancelCalendarEvent;
	    div.appendChild(subDiv);
	    for(var no=startHour;no<startHour+10;no++){
		    var prefix = '';
		    if(no/1<10)prefix='0';
		    var subDiv = document.createElement('DIV');
		    subDiv.innerHTML = prefix + no;
		    subDiv.onmouseover = highlightMonthYear;
		    subDiv.onmouseout = highlightMonthYear;
		    subDiv.onclick = selectHour;
		    subDiv.id = 'hourDiv' + no;
		    subDiv.onselectstart = cancelCalendarEvent;
		    div.appendChild(subDiv);
		    if(currentYear && currentYear==no){
			    subDiv.style.color = selectBoxHighlightColor;
			    activeSelectBoxYear = subDiv;
		    }
	    }
	    var subDiv = document.createElement('DIV');
	    subDiv.innerHTML = '&nbsp;&nbsp;+ ';
	    subDiv.onclick = changeSelectBoxHour;
	    subDiv.onmouseover = highlightMonthYear;
	    subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};
	    subDiv.onselectstart = cancelCalendarEvent;
	    div.appendChild(subDiv);
	    return div;
    }
    function createMinuteDiv()
    {
	    if(!document.getElementById('minuteDropDown')){
		    var div = document.createElement('DIV');
		    div.className='monthYearPicker';
	    }else{
		    var div = document.getElementById('minuteDropDown');
		    var subDivs = div.getElementsByTagName('DIV');
		    for(var no=0;no<subDivs.length;no++){
			    subDivs[no].parentNode.removeChild(subDivs[no]);
		    }
	    }
	    var startMinute = 0;
	    var prefix = '';
	    for(var no=startMinute;no<60;no+=intervalSelectBox_minutes){

		    if(no<10)prefix='0'; else prefix = '';
		    var subDiv = document.createElement('DIV');
		    subDiv.innerHTML = prefix + no;
		    subDiv.onmouseover = highlightMonthYear;
		    subDiv.onmouseout = highlightMonthYear;
		    subDiv.onclick = selectMinute;
		    subDiv.id = 'minuteDiv_' + prefix +  no;
		    subDiv.onselectstart = cancelCalendarEvent;
		    div.appendChild(subDiv);
		    if(currentYear && currentYear==no){
			    subDiv.style.color = selectBoxHighlightColor;
			    activeSelectBoxYear = subDiv;
		    }
	    }
	    return div;
    }
    function showMonthDropDown()
    {
	    if(document.getElementById('monthDropDown').style.display=='block'){
		    document.getElementById('monthDropDown').style.display='none';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    }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 (MSIE)
		    { EIS_FIX_EI1('monthDropDown')}
		    //// fix for EI frame problem on time dropdowns 09/30/2006
	    }
    }
    function showYearDropDown()
    {
	    if(document.getElementById('yearDropDown').style.display=='block'){
		    document.getElementById('yearDropDown').style.display='none';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    }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 (MSIE)
		    { EIS_FIX_EI1('yearDropDown')}
		    //// fix for EI frame problem on time dropdowns 09/30/2006
	    }
    }
    function showHourDropDown()
    {
	    if(document.getElementById('hourDropDown').style.display=='block'){
		    document.getElementById('hourDropDown').style.display='none';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    }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 (MSIE)
		    { EIS_FIX_EI1('hourDropDown')}
		    //// fix for EI frame problem on time dropdowns 09/30/2006
	    }
    }
    function showMinuteDropDown()
    {
	    if(document.getElementById('minuteDropDown').style.display=='block'){
		    document.getElementById('minuteDropDown').style.display='none';
		    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    }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 (MSIE)
		    { EIS_FIX_EI1('minuteDropDown')}
		    //// fix for EI frame problem on time dropdowns 09/30/2006
	    }
    }
    function selectHour()
    {
	    document.getElementById('calendar_hour_txt').innerHTML = this.innerHTML
	    currentHour = this.innerHTML.replace(/[^\d]/g,'');
	    document.getElementById('hourDropDown').style.display='none';
	    //// fix for EI frame problem on time dropdowns 09/30/2006
	    EIS_Hide_Frame();
	    if(activeSelectBoxHour){
		    activeSelectBoxHour.style.color='';
	    }
	    activeSelectBoxHour=this;
	    this.style.color = selectBoxHighlightColor;
    }
    function selectMinute()
    {
	    document.getElementById('calendar_minute_txt').innerHTML = this.innerHTML
	    currentMinute = this.innerHTML.replace(/[^\d]/g,'');
	    document.getElementById('minuteDropDown').style.display='none';
	    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    if(activeSelectBoxMinute){
		    activeSelectBoxMinute.style.color='';
	    }
	    activeSelectBoxMinute=this;
	    this.style.color = selectBoxHighlightColor;
    }
    function pickDate(e,inputDay)
    {
	    var month = currentMonth/1 +1;
	    if(month<10)month = '0' + month;
	    var day;
	    if(!inputDay && this)day = this.innerHTML; else day = inputDay;
	    if(day/1<10)day = '0' + day;
	    if(returnFormat){
		    returnFormat = returnFormat.replace('dd',day);
		    returnFormat = returnFormat.replace('mm',month);
		    returnFormat = returnFormat.replace('yyyy',currentYear);
		    returnFormat = returnFormat.replace('hh',currentHour);
		    returnFormat = returnFormat.replace('ii',currentMinute);
		    returnFormat = returnFormat.replace('d',day/1);
		    returnFormat = returnFormat.replace('m',month/1);
            var dtvl= returnFormat.split('-');
		    returnDateTo.value = dtvl[0]+ "-" + JF_ConvertAplhaMonth(dtvl[1])+ "-" +dtvl[2];
		    try{
			    returnDateTo.onchange();
		    }catch(e){

		    }
	    }else{
		    for(var no=0;no<returnDateToYear.options.length;no++){
			    if(returnDateToYear.options[no].value==currentYear){
				    returnDateToYear.selectedIndex=no;
				    break;
			    }
		    }
		    for(var no=0;no<returnDateToMonth.options.length;no++){
			    if(returnDateToMonth.options[no].value==parseFloat(month)){
				    returnDateToMonth.selectedIndex=no;
				    break;
			    }
		    }
		    for(var no=0;no<returnDateToDay.options.length;no++){
			    if(returnDateToDay.options[no].value==parseFloat(day)){
				    returnDateToDay.selectedIndex=no;
				    break;
			    }
		    }
		    if(calendarDisplayTime){
			    for(var no=0;no<returnDateToHour.options.length;no++){
				    if(returnDateToHour.options[no].value==parseFloat(currentHour)){
					    returnDateToHour.selectedIndex=no;
					    break;
				    }
			    }
			    for(var no=0;no<returnDateToMinute.options.length;no++){
				    if(returnDateToMinute.options[no].value==parseFloat(currentMinute)){
					    returnDateToMinute.selectedIndex=no;
					    break;
				    }
			    }
		    }
	    }
	    closeCalendar();
    }
    
    function JF_ConvertAplhaMonth(val)
	{
	    switch(val.toUpperCase())
	    {
	        case "01":val= "Jan";break;
	        case "02":val="Feb";break;
	        case "03":val="Mar";break;
	        case "04":val="Apr";break;
	        case "05":val="May";break;
	        case "06":val="Jun";break;
	        case "07":val="Jul";break;
	        case "08":val="Aug";break;
	        case "09":val="Sep";break;
	        case "10":val="Oct";break;
	        case "11":val="Nov";break;
	        case "12":val="Dec";break;
	    }
	    return val;
	}

    function getWeek(year,month,day){
       if (! weekStartsOnSunday) {
	       day = (day/1);
	    } else {
	       day = (day/1)+1;
	    }
	    year = year /1;
        month = month/1 + 1; //use 1-12
        var a = Math.floor((14-(month))/12);
        var y = year+4800-a;
        var m = (month)+(12*a)-3;
        var jd = day + Math.floor(((153*m)+2)/5) +
                     (365*y) + Math.floor(y/4) - Math.floor(y/100) +
                     Math.floor(y/400) - 32045;      // (gregorian calendar)
        var d4 = (jd+31741-(jd%7))%146097%36524%1461;
        var L = Math.floor(d4/1460);
        var d1 = ((d4-L)%365)+L;
        NumberOfWeek = Math.floor(d1/7) + 1;
        return NumberOfWeek;
    }
    
    function selectMonth()
    {
        currentMonth = this.id.replace(/[^\d]/g,'');
        if(validateYearSpan()){
	    document.getElementById('calendar_month_txt').innerHTML = this.innerHTML
	    for(var no=0;no<monthArray.length;no++){
		    document.getElementById('monthDiv_'+no).style.color='';
	    }
	    this.style.color = selectBoxHighlightColor;
	    activeSelectBoxMonth = this;
	    writeCalendarContent();
	    }
	     document.getElementById('monthDropDown').style.display='none';
	    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
    }
    
    function selectYear()
    {
	    currentYear = this.innerHTML.replace(/[^\d]/g,'');
	    if(validateYearSpan()){
	    document.getElementById('calendar_year_txt').innerHTML = this.innerHTML
	    if(activeSelectBoxYear){
		    activeSelectBoxYear.style.color='';
	    }
	    activeSelectBoxYear=this;
	    this.style.color = selectBoxHighlightColor;
	    writeCalendarContent();
	    }
	    document.getElementById('yearDropDown').style.display='none';
	    //// fix for EI frame problem on time dropdowns 09/30/2006
				    EIS_Hide_Frame();
	    
	    
    }
    
    function switchMonth()
    {
	    if(this.src.indexOf('left')>=0){
		    currentMonth=currentMonth-1;;
		    if(currentMonth<0){
			    currentMonth=11;
			    currentYear=currentYear-1;
		    }
	    }else{
		    currentMonth=currentMonth+1;;
		    if(currentMonth>11){
			    currentMonth=0;
			    currentYear=currentYear/1+1;
		    }
	    }
	    if(validateYearSpan())
	    writeCalendarContent();
    }
    
    function writeCalendarContent()
    {
	    var calendarContentDivExists = true;
	    if(!calendarContentDiv){
		    calendarContentDiv = document.createElement('DIV');
		   
		    calendarDiv.appendChild(calendarContentDiv);
		    calendarContentDivExists = false;
	    }
	    currentMonth = currentMonth/1;
	    var d = new Date();

	    d.setFullYear(currentYear);
	    d.setDate(1);
	    d.setMonth(currentMonth);

	    var dayStartOfMonth = d.getDay();
	    if (! weekStartsOnSunday) {
          if(dayStartOfMonth==0)dayStartOfMonth=7;
          dayStartOfMonth--;
       }

	    document.getElementById('calendar_year_txt').innerHTML = currentYear;
	    document.getElementById('calendar_month_txt').innerHTML = monthArray[currentMonth];
	    document.getElementById('calendar_hour_txt').innerHTML = currentHour/1 > 9 ? currentHour : '0' + currentHour;
	    document.getElementById('calendar_minute_txt').innerHTML = currentMinute/1 >9 ? currentMinute : '0' + currentMinute;

	    var existingTable = calendarContentDiv.getElementsByTagName('TABLE');
	    if(existingTable.length>0){
		    calendarContentDiv.removeChild(existingTable[0]);
	    }

	    var calTable = document.createElement('TABLE');
	    calTable.width = '100%';
	    calTable.cellSpacing = '2px';
	    calTable.style.backgroundColor="#E7F5FB";
	    calendarContentDiv.appendChild(calTable);
	    var calTBody = document.createElement('TBODY');
	    calTable.appendChild(calTBody);
	    var row = calTBody.insertRow(-1);
	    row.className = 'calendar_week_row';
       if (showWeekNumber) {
          var cell = row.insertCell(-1);
	       cell.innerHTML = weekString;
	       cell.className = 'calendar_week_column';
	       cell.style.backgroundColor = selectBoxRolloverBgColor;
	    }
    	
	    var wkTable = document.createElement('TABLE');
	    wkTable.width = '100%';
	    var wkTBody = document.createElement('TBODY');
	    wkTable.appendChild(wkTBody);
	    var wkRow=wkTBody.insertRow(-1);
	    for(var no=0;no<dayArray.length;no++)
	    {
		    var wkcell = wkRow.insertCell(-1);
		    wkcell.innerHTML = dayArray[no];
	    }
        var cell = row.insertCell(-1);
        cell.colSpan='7';
        cell.appendChild (wkTable);
	    var row = calTBody.insertRow(-1);

       if (showWeekNumber) {
	       var cell = row.insertCell(-1);
	       cell.className = 'calendar_week_column';
	       cell.style.backgroundColor = selectBoxRolloverBgColor;
	       var week = getWeek(currentYear,currentMonth,1);
	       cell.innerHTML = week;		// Week
	    }
	    for(var no=0;no<dayStartOfMonth;no++){
		    var cell = row.insertCell(-1);
		    cell.innerHTML = '&nbsp;';
	    }

	    var colCounter = dayStartOfMonth;
	    var daysInMonth = daysInMonthArray[currentMonth];
	    if(daysInMonth==28){
		    if(isLeapYear(currentYear))daysInMonth=29;
	    }
	    for(var no=1;no<=daysInMonth;no++){
		    d.setDate(no-1);
		    if(colCounter>0 && colCounter%7==0){
			    var row = calTBody.insertRow(-1);
             if (showWeekNumber) {
                var cell = row.insertCell(-1);
                cell.className = 'calendar_week_column';
                var week = getWeek(currentYear,currentMonth,no);
                cell.innerHTML = week;		// Week
                cell.style.backgroundColor = selectBoxRolloverBgColor;
             }
		    }
		    var cell = row.insertCell(-1);
		    if(currentYear==inputYear && currentMonth == inputMonth && no==inputDay){
			    cell.className='activeDay';
		    }
		    cell.style.textAlign="center";
		    cell.innerHTML = no;
		    cell.width="30px";
		    if(IsValidFutureDate(currentYear,currentMonth,no))
		    {
		        cell.onclick = pickDate;
		        if(cell.className!='activeDay')
		        {
		            cell.style.backgroundImage='url('+ pathToImages +'active_other.gif)';
		            cell.style.backgroundRepeat="no-repeat";
		            cell.onmouseover=cs_over;
		            cell.onmouseout=cs_out;
		        }
		        cell.style.cursor="pointer";
		    }
		    else
		    {
		        cell.style.backgroundImage='url('+ pathToImages +'inactive.gif)';
		        cell.style.backgroundRepeat="no-repeat";
		        cell.style.color = "#D0D0D0";
		        cell.style.cursor= "Default";
		    }   
		    colCounter++;
	    }
	    if(!document.all){
		    if(calendarContentDiv.offsetHeight)
			    document.getElementById('topBar').style.top = calendarContentDiv.offsetHeight + document.getElementById('timeBar').offsetHeight + document.getElementById('topBar').offsetHeight -1 + 'px';
		    else{
			    document.getElementById('topBar').style.top = '';
			    document.getElementById('topBar').style.bottom = '0px';
		    }
	    }
	    if(iframeObj){
		    if(!calendarContentDivExists)setTimeout('resizeIframe()',350);else setTimeout('resizeIframe()',10);
	    }
    }
    
    function createMonthDiv(){
	    var div = document.createElement('DIV');
	    div.className='monthYearPicker';
	    div.id = 'monthPicker';

	    for(var no=0;no<monthArray.length;no++){
		    var subDiv = document.createElement('DIV');
		    subDiv.innerHTML = monthArray[no];
		    subDiv.onmouseover = highlightMonthYear;
		    subDiv.onmouseout = highlightMonthYear;
		    subDiv.onclick = selectMonth;
		    subDiv.id = 'monthDiv_' + no;
		    subDiv.style.width = '56px';
		    subDiv.onselectstart = cancelCalendarEvent;
		    div.appendChild(subDiv);
		    if(currentMonth && currentMonth==no){
			    subDiv.style.color = selectBoxHighlightColor;
			    activeSelectBoxMonth = subDiv;
		    }

	    }
	    return div;
    }
    
    function writeTopBar()
    {

	    var topBar = document.createElement('DIV');
	    topBar.className = 'topBar';
	    topBar.id = 'topBar';
	    calendarDiv.appendChild(topBar);
	    // Left arrow
	    var leftDiv = document.createElement('DIV');
	    leftDiv.style.marginRight = '1px';
	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'left.gif';
	    img.onmouseover = highlightArrow;
	    img.onclick = switchMonth;
	    img.onmouseout = highlightArrow;
	    leftDiv.appendChild(img);
	    topBar.appendChild(leftDiv);
	    if(Opera)leftDiv.style.width = '16px';
	    // Right arrow
	    var rightDiv = document.createElement('DIV');
	    rightDiv.style.marginRight = '1px';
	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'right.gif';
	    img.onclick = switchMonth;
	    img.onmouseover = highlightArrow;
	    img.onmouseout = highlightArrow;
	    rightDiv.appendChild(img);
	    if(Opera)rightDiv.style.width = '16px';
	    topBar.appendChild(rightDiv);
	    // Month selector
	    var monthDiv = document.createElement('DIV');
	    monthDiv.id = 'monthSelect';
	    monthDiv.onmouseover = highlightSelect;
	    monthDiv.onmouseout = highlightSelect;
	    monthDiv.onclick = showMonthDropDown;
	    var span = document.createElement('SPAN');
	    span.innerHTML = monthArray[currentMonth];
	    span.id = 'calendar_month_txt';
	    monthDiv.appendChild(span);

	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'down.gif';
	    img.style.position = 'absolute';
	    img.style.right = '0px';
	    monthDiv.appendChild(img);
	    monthDiv.className = 'selectBox';
	    if(Opera){
		    img.style.cssText = 'float:right;position:relative';
		    img.style.position = 'relative';
		    img.style.styleFloat = 'right';
	    }
	    topBar.appendChild(monthDiv);
	    var monthPicker = createMonthDiv();
	    monthPicker.style.left = '37px';
	    monthPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	    monthPicker.style.width ='60px';
	    monthPicker.id = 'monthDropDown';
	    calendarDiv.appendChild(monthPicker);
	    // Year selector
	    var yearDiv = document.createElement('DIV');
	    yearDiv.onmouseover = highlightSelect;
	    yearDiv.onmouseout = highlightSelect;
	    yearDiv.onclick = showYearDropDown;
	    var span = document.createElement('SPAN');
	    var js_arr =  curdate.split('-');
	    if(js_arr.length>2)
	    {
	        span.innerHTML = js_arr[2];
	        serverYear = parseInt(js_arr[2]);
	    }    
	    else
	        span.innerHTML = currentYear;
	    span.id = 'calendar_year_txt';
	    yearDiv.appendChild(span);
	    topBar.appendChild(yearDiv);
	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'down.gif';
	    yearDiv.appendChild(img);
	    yearDiv.className = 'selectBox';

	    if(Opera){
		    yearDiv.style.width = '50px';
		    img.style.cssText = 'float:right';
		    img.style.position = 'relative';
		    img.style.styleFloat = 'right';
	    }

	    var yearPicker = createYearDiv();
	    yearPicker.style.left = '113px';
	    yearPicker.style.top = monthDiv.offsetTop + monthDiv.offsetHeight + 1 + 'px';
	    yearPicker.style.width = '35px';
	    yearPicker.id = 'yearDropDown';
	    calendarDiv.appendChild(yearPicker);
	    var img = document.createElement('IMG');
	    img.src = pathToImages + 'close_cal.gif';
	    img.style.styleFloat = 'right';
	    img.onmouseover = highlightClose;
	    img.onmouseout = highlightClose;
	    img.onclick = closeCalendar;
	    topBar.appendChild(img);
	    if(!document.all){
		    img.style.position = 'absolute';
		    img.style.right = '2px';
	    }
    }
    
    function createYearDiv()
    {

	    if(!document.getElementById('yearDropDown')){
		    var div = document.createElement('DIV');
		    div.className='monthYearPicker';
	    }else{
		    var div = document.getElementById('yearDropDown');
		    var subDivs = div.getElementsByTagName('DIV');
		    for(var no=0;no<subDivs.length;no++){
			    subDivs[no].parentNode.removeChild(subDivs[no]);
		    }
	    }
	    var d = new Date();
	    if(serverYear){
		    d.setFullYear(serverYear);
	    }
	    var startYear = d.getFullYear()/1 - 5;
        var yearSpan = 10;
	    if (! turnOffYearSpan) {
    	    var subDiv = document.createElement('DIV');
    	    subDiv.innerHTML = '&nbsp;&nbsp;- ';
    	    subDiv.onclick = changeSelectBoxYear;
    	    subDiv.onmouseover = highlightMonthYear;
    	    subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};
    	    subDiv.onselectstart = cancelCalendarEvent;
    	    div.appendChild(subDiv);
        } else {
           startYear = d.getFullYear()/1 - 0;
           yearSpan = 3;
        }
	    for(var no=startYear;no<(startYear+yearSpan);no++){
		    var subDiv = document.createElement('DIV');
		    subDiv.innerHTML = no;
		    subDiv.onmouseover = highlightMonthYear;
		    subDiv.onmouseout = highlightMonthYear;
		    subDiv.onclick = selectYear;
		    subDiv.id = 'yearDiv' + no;
		    subDiv.onselectstart = cancelCalendarEvent;
		    div.appendChild(subDiv);
		    if(currentYear && currentYear==no){
			    subDiv.style.color = selectBoxHighlightColor;
			    activeSelectBoxYear = subDiv;
		    }
	    }
	    if (! turnOffYearSpan) {
    	    var subDiv = document.createElement('DIV');
    	    subDiv.innerHTML = '&nbsp;&nbsp;+ ';
    	    subDiv.onclick = changeSelectBoxYear;
    	    subDiv.onmouseover = highlightMonthYear;
    	    subDiv.onmouseout = function(){ selectBoxMovementInProgress = false;};
    	    subDiv.onselectstart = cancelCalendarEvent;
    	    div.appendChild(subDiv);
	    }
	    return div;
    }
    
    function IsValidFutureDate(year,month,day)
    {
        var thetime=new Date();
        var datestr =new Date()
        var limitdt=new Date();
        var limmnth=limitdt.getMonth();
        var limDay=limitdt.getDate();
        var limiyr=limitdt.getFullYear()/1 +2
        limitdt.setFullYear(limiyr,limmnth,limDay)
           datestr.setFullYear(year,month,day); //  day + "/" + month + "/" + year; var date = thetime.getDay() + "/" + thetime.getMonth() + "/" + thetime.getYear();
        if (thetime <= datestr && limitdt>=datestr)
            return 1;
        else
            return 0;
    }   
    
    function JF_Convert(val)
	{
	    switch(val.toUpperCase())
	    {
	        case "JAN":val="01";break;
	        case "FEB":val="02";break;
	        case "MAR":val="03";break;
	        case "APR":val="04";break;
	        case "MAY":val="05";break;
	        case "JUN":val="06";break;
	        case "JUL":val="07";break;
	        case "AUG":val="08";break;
	        case "SEP":val="09";break;
	        case "OCT":val="10";break;
	        case "NOV":val="11";break;
	        case "DEC":val="12";break;
	    }
	    return val;
	}
	
    function setTimeProperties()
    {
	    if(!calendarDisplayTime){
		    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 + calendarContentDiv.offsetHeight + document.getElementById('topBar').offsetHeight + 'px';
		    document.getElementById('minuteDropDown').style.top = document.getElementById('calendar_minute_txt').parentNode.offsetHeight + calendarContentDiv.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 updateYearDiv()
    {
        var yearSpan = 5;
        if (turnOffYearSpan) {
           yearSpan = 0;
        }
	    var div = document.getElementById('yearDropDown');
	    var yearItems = div.getElementsByTagName('DIV');
	    for(var no=yearItems.length-1;no<yearItems.length-1;no++){
		    yearItems[no].innerHTML = currentYear/1 -yearSpan + no;
		    if(currentYear==(currentYear/1 -yearSpan + no)){
			    yearItems[no].style.color = selectBoxHighlightColor;
			    activeSelectBoxYear = yearItems[no];
		    }else{
			    yearItems[no].style.color = '';
		    }
	    }
    }

    function updateMonthDiv()
    {
	    for(no=0;no<12;no++){
		    document.getElementById('monthDiv_' + no).style.color = '';
	    }
	    document.getElementById('monthDiv_' + currentMonth).style.color = selectBoxHighlightColor;
	    activeSelectBoxMonth = 	document.getElementById('monthDiv_' + currentMonth);
    }
    
    function updateHourDiv()
    {
	    var div = document.getElementById('hourDropDown');
	    var hourItems = div.getElementsByTagName('DIV');
	    var addHours = 0;
	    if((currentHour/1 -6 + 1)<0){
		    addHours = 	(currentHour/1 -6 + 1)*-1;
	    }
	    for(var no=1;no<hourItems.length-1;no++){
		    var prefix='';
		    if((currentHour/1 -6 + no + addHours) < 10)prefix='0';
		    hourItems[no].innerHTML = prefix +  (currentHour/1 -6 + no + addHours);
		    if(currentHour==(currentHour/1 -6 + no)){
			    hourItems[no].style.color = selectBoxHighlightColor;
			    activeSelectBoxHour = hourItems[no];
		    }else{
			    hourItems[no].style.color = '';
		    }
	    }
    }
    
    function updateMinuteDiv()
    {
	    for(no=0;no<60;no+=intervalSelectBox_minutes){
		    var prefix = '';
		    if(no<10)prefix = '0';

		    document.getElementById('minuteDiv_' + prefix + no).style.color = '';
	    }
	    if(document.getElementById('minuteDiv_' + currentMinute)){
		    document.getElementById('minuteDiv_' + currentMinute).style.color = selectBoxHighlightColor;
		    activeSelectBoxMinute = document.getElementById('minuteDiv_' + currentMinute);
	    }
    }
    
    function positionCalendar(inputObj)
    {
	    calendarDiv.style.left = getleftPos(inputObj) + 'px';
	    calendarDiv.style.top = getTopPos(inputObj) + 'px';
	    if(iframeObj){
		    iframeObj.style.left = calendarDiv.style.left;
		    iframeObj.style.top =  calendarDiv.style.top;
		    //// For EI frame problem on time dropdowns 09/30/2006
		    iframeObj2.style.left = calendarDiv.style.left;
		    iframeObj2.style.top =  calendarDiv.style.top;
	    }
    }
    function getTopPos(inputObj)
    {
      var returnValue = inputObj.offsetTop + inputObj.offsetHeight;
      while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetTop;
      return returnValue + calendar_offsetTop;
    }

    function getleftPos(inputObj)
    {
      var returnValue = inputObj.offsetLeft;
      while((inputObj = inputObj.offsetParent) != null)returnValue += inputObj.offsetLeft;
      return returnValue + calendar_offsetLeft;
    }
    function isLeapYear(inputYear)
    {
	    if(inputYear%400==0||(inputYear%4==0&&inputYear%100!=0)) return true;
	    return false;
    }
    function closeCalendar(){

	    document.getElementById('yearDropDown').style.display='none';
	    document.getElementById('monthDropDown').style.display='none';
	    document.getElementById('hourDropDown').style.display='none';
	    document.getElementById('minuteDropDown').style.display='none';
	    calendarDiv.style.display='none';
	    if(iframeObj){
		    iframeObj.style.display='none';
		     //// //// fix for EI frame problem on time dropdowns 09/30/2006
			    EIS_Hide_Frame();}
	    if(activeSelectBoxMonth)activeSelectBoxMonth.className='';
	    if(activeSelectBoxYear)activeSelectBoxYear.className='';
    }
    //// For EI frame problem on time dropdowns 09/30/2006
    function EIS_FIX_EI1(where2fixit)
    {
		    if(!iframeObj2)return;
		    iframeObj2.style.display = 'block';
		    iframeObj2.style.height =document.getElementById(where2fixit).offsetHeight+1;
		    iframeObj2.style.width=document.getElementById(where2fixit).offsetWidth;
		    iframeObj2.style.left=getleftPos(document.getElementById(where2fixit))+1-calendar_offsetLeft;
		    iframeObj2.style.top=getTopPos(document.getElementById(where2fixit))-document.getElementById(where2fixit).offsetHeight-calendar_offsetTop;
    }
    function EIS_Hide_Frame()
    {		
        if(iframeObj2)iframeObj2.style.display = 'none';
    }
        
    function highlightMonthYear()
    {
	    if(activeSelectBoxMonth)activeSelectBoxMonth.className='';
	    activeSelectBox = this;
	    if(this.className=='monthYearActive'){
		    this.className='';
	    }else{
		    this.className = 'monthYearActive';
		    activeSelectBoxMonth = this;
	    }
	    if(this.innerHTML.indexOf('-')>=0 || this.innerHTML.indexOf('+')>=0){
		    if(this.className=='monthYearActive')
			    selectBoxMovementInProgress = true;
		    else
			    selectBoxMovementInProgress = false;
		    if(this.innerHTML.indexOf('-')>=0)activeSelectBoxDirection = -1; else activeSelectBoxDirection = 1;

	    }else selectBoxMovementInProgress = false;
    }

    
    
    function highlightSelect()
    {
	    if(this.className=='selectBoxTime'){
		    this.className = 'selectBoxTimeOver';
		    this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time_over.gif';
	    }else if(this.className=='selectBoxTimeOver'){
		    this.className = 'selectBoxTime';
		    this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_time.gif';
	    }
	    if(this.className=='selectBox'){
		    this.className = 'selectBoxOver';
		    this.getElementsByTagName('IMG')[0].src = pathToImages + 'down_over.gif';
	    }else if(this.className=='selectBoxOver'){
		    this.className = 'selectBox';
		    this.getElementsByTagName('IMG')[0].src = pathToImages + 'down.gif';
	    }
    }
    function highlightArrow()
    {
	    if(this.src.indexOf('over')>=0){
		    if(this.src.indexOf('left')>=0)this.src = pathToImages + 'left.gif';
		    if(this.src.indexOf('right')>=0)this.src = pathToImages + 'right.gif';
	    }else{
		    if(this.src.indexOf('left')>=0)this.src = pathToImages + 'left_over.gif';
		    if(this.src.indexOf('right')>=0)this.src = pathToImages + 'right_over.gif';
	    }
    }
    function highlightClose()
    {
	    if(this.src.indexOf('over')>=0){
		    this.src = pathToImages + 'close_cal.gif';
	    }else{
		    this.src = pathToImages + 'close_over.gif';
	    }

    }
    
    function evtTgt(e)
        {
	        var el;
	        if(e.target)el=e.target;
	        else if(e.srcElement)el=e.srcElement;
	        if(el.nodeType==3)el=el.parentNode; // defeat Safari bug
	        return el;
        }
    function EvtObj(e){if(!e)e=window.event;return e;}
    function cs_over(e) {
        evtTgt(EvtObj(e)).style.backgroundImage='url('+ pathToImages +'active_hover.gif)';
    }
    function cs_out(e) {
            evtTgt(EvtObj(e)).style.backgroundImage='url('+ pathToImages +'active_other.gif)';
    }
    
}
/* End Of PopUpCalendar Class */

//// For EI frame problem on time dropdowns 09/30/2006
function cancelCalendarEvent()
{
	return false;
}
function resizeIframe()
{
	iframeObj.style.width = calendarDiv.offsetWidth + 'px';
	iframeObj.style.height = calendarDiv.offsetHeight + 'px' ;
}
function calendarSortItems(a,b)
{
	return a/1 - b/1;
}
/* This function creates the hour div at the bottom bar */
function slideCalendarSelectBox()
{
    if(selectBoxMovementInProgress){
	    if(activeSelectBox.parentNode.id=='hourDropDown'){
		    changeSelectBoxHour(false,activeSelectBox);
	    }
	    if(activeSelectBox.parentNode.id=='yearDropDown'){
		    changeSelectBoxYear(false,activeSelectBox);
	    }
    }
    setTimeout('slideCalendarSelectBox()',speedOfSelectBoxSliding);
}
function changeSelectBoxYear(e,inputObj)
{
    if(!inputObj)inputObj =this;
    var yearItems = inputObj.parentNode.getElementsByTagName('DIV');
    if(inputObj.innerHTML.indexOf('-')>=0){
	    var startYear = yearItems[1].innerHTML/1 -1;
	    if(activeSelectBoxYear){
		    activeSelectBoxYear.style.color='';
	    }
    }else{
	    var startYear = yearItems[1].innerHTML/1 +1;
	    if(activeSelectBoxYear){
		    activeSelectBoxYear.style.color='';
	    }
    }
    for(var no=1;no<yearItems.length-1;no++){
	    yearItems[no].innerHTML = startYear+no-1;
	    yearItems[no].id = 'yearDiv' + (startYear/1+no/1-1);
    }
    if(activeSelectBoxYear){
	    activeSelectBoxYear.style.color='';
	    if(document.getElementById('yearDiv'+currentYear)){
		    activeSelectBoxYear = document.getElementById('yearDiv'+currentYear);
		    activeSelectBoxYear.style.color=selectBoxHighlightColor;;
	    }
    }
}
function changeSelectBoxHour(e,inputObj)
{
    if(!inputObj)inputObj = this;

    var hourItems = inputObj.parentNode.getElementsByTagName('DIV');
    if(inputObj.innerHTML.indexOf('-')>=0){
	    var startHour = hourItems[1].innerHTML/1 -1;
	    if(startHour<0)startHour=0;
	    if(activeSelectBoxHour){
		    activeSelectBoxHour.style.color='';
	    }
    }else{
	    var startHour = hourItems[1].innerHTML/1 +1;
	    if(startHour>14)startHour = 14;
	    if(activeSelectBoxHour){
		    activeSelectBoxHour.style.color='';

	    }
    }
    var prefix = '';
    for(var no=1;no<hourItems.length-1;no++){
	    if((startHour/1 + no/1) < 11)prefix = '0'; else prefix = '';
	    hourItems[no].innerHTML = prefix + (startHour+no-1);

	    hourItems[no].id = 'hourDiv' + (startHour/1+no/1-1);

    }
    if(activeSelectBoxHour){
	    activeSelectBoxHour.style.color='';
	    if(document.getElementById('hourDiv'+currentHour)){
		    activeSelectBoxHour = document.getElementById('hourDiv'+currentHour);
		    activeSelectBoxHour.style.color=selectBoxHighlightColor;;
	    }
    }
}

function LF_GetMonth(sMonth){
    switch (sMonth.toUpperCase())
    {
        case "JAN":return 0;
        case "FEB":return 1;
        case "MAR":return 2;
        case "APR":return 3;
        case "MAY":return 4;
        case "JUN":return 5;
        case "JUL":return 6;
        case "AUG":return 7;
        case "SEP":return 8;
        case "OCT":return 9;
        case "NOV":return 10;
        case "DEC":return 11;
        default:
            return 0;
    }
}
function  Lf_GetAlphaMonth(iMonth)
{
    switch (iMonth)
    {
        case 1:
            return "Jan";
        case 2:
            return "Feb";
        case 3:
            return "Mar";
        case 4:
            return "Apr";
        case 5:
            return "May";
        case 6:
            return "Jun";
        case 7:
            return "Jul";
        case 8:
            return "Aug";
        case 9:
            return "Sep";
        case 10:
            return "Oct";
        case 11:
            return "Nov";
        case 12:
            return "Dec";
        default:
            return "";
    }
}
function JF_SetDay(val)
{
    var rtnVal="";
    rtnVal=val.toString();
    return ((rtnVal.length<=1)?"0"+val:val);
}
//=================
function openCal(id,obj)
	{
	    try{
	       
	        var objCal=new PopUpCalendar();
	        objCal.turnOffOnYearSpan(true);
            objCal.CurrentDate(document.getElementById('hid_currdate').value);
            if(id == 'sle_ChkInDt'||id == 'txt_arrival')
	        objCal.CheckInDate(true);	        
	        objCal.show(document.getElementById(id),'dd-mm-yyyy',obj);
	    }catch(e)
	    {
	    alert(e.description);
	    }
	}
	
function JF_ValidateOnBlur(dateId)
{  
    var objDate = new JF_Date();
    objDate.DayFormatOption("F");// For Previous Date
    //objDate.DayFormatOption("F");// For Future Date
    objDate.FormatControlVal(dateId);
    
}



function JF_ValidateOnchange(frmDateID)
{
     var objDate = new JF_Date();
    objDate.CurrentSrvrDate(document.getElementById('hid_currdate').value);
    objDate.DayFormatOption("F");// For Previous Date
    objDate.FormatControlVal(frmDateID);
    //objDate.FormatDeptDate(frmDateID, 'sle_ChkOutDt');
}

function JF_Calender(id,obj)
{
    try
    {         
        var objCal=new PopUpCalendar();
        objCal.turnOffOnYearSpan(true);
        objCal.CurrentDate(document.getElementById("hid_currdate").value);
          if(id == 'sle_chkindt'||id =='txt_arrival')
	        objCal.CheckInDate(true);
        objCal.show(document.getElementById(id),'dd-mm-yyyy',obj);       
    }
    catch(e)
    {
       alert("Cal:"+e.description);
    }
}
function JF_CalOnblur(objid)
{   
  try
    { 
        var objDate = new JF_Date();
        objDate.CurrentSrvrDate(document.getElementById("hid_currdate").value);
        objDate.DayFormatOption("F");
        objDate.FormatControlVal(objid);
        var rtnval= CkFuturDate(document.getElementById(objid).value);
        if(rtnval=="0")
        {
            document.getElementById(objid).value=document.getElementById("hid_currdate").value;
        }
    }
    catch(e)
    {
       alert("Cal Valid:"+e.description);
    }
}
function JF_CalOnchange(chkin,chkout)
{
  try
    {
        var objDate = new JF_Date();
        objDate.CurrentSrvrDate(document.getElementById("hid_currdate").value);
        objDate.DayFormatOption("F");        
        objDate.FormatControlVal(chkin);
      objDate.FormatDeptDate(chkin,chkout);
        
     }
    catch(e)
    {
       alert("Cal Valid:"+e.description);
    }
}
function ValidateDate(objchkin,obkchkot)
{
    var objDate = new JF_Date();    
    objDate.CurrentSrvrDate(document.getElementById("hid_currdate").value)
    if(!objDate.isValidFromAndToDate(objchkin, 'Arrival Date',obkchkot, 'Departure Date')) return false;        
    return true;
}

function CkFuturDate(js_date)
    {
    try
    {
        var tempArr = js_date.split('-');
        var js_test=new Date(tempArr[0]+' '+tempArr[1]+','+tempArr[2]);
        var thetime=new Date();
        var datestr =new Date()
        var limitdt=new Date();
        var limmnth=limitdt.getMonth();
        var limDay=limitdt.getDate();
        var limiyr=limitdt.getFullYear()/1 +2
        limitdt.setFullYear(limiyr,limmnth,limDay)
        datestr.setFullYear(tempArr[2],js_test.getMonth(),tempArr[0]); 
        if (limitdt>=datestr)
        return 1;
        else
        return 0;
    }
    catch(e)
    {
        return 1;
    }
    }  
