//  written by Tan Ling Wee on 2 Dec 2001
//  last updated 23 June 2002
//  email : fuushikaden@yahoo.com
  var CalcType = "BIG"
  var FlagNotPrev = 0;
  var CalendarStatus = '';
  var CalendarDIV = 0;
  var jCalendarDIV = 0;
  var calcAnchor = 0;
  var fixedX = 0    
  var fixedY = 0    
  var startAt = 1     // 0 - sunday ; 1 - monday
  var showWeekNumber = 1  // 0 - don't show; 1 - show
  var showToday = 1   // 0 - don't show; 1 - show
  var imgDir = base_url+"/../small_register/design_images/"      // directory for images ... e.g. var imgDir="/img/"

  var gotoString = "Go To Current Month"
  var todayString = "Today is"
  var weekString = "Wk"
  var scrollLeftMessage = "Click to scroll to previous month. Hold mouse button to scroll automatically."
  var scrollRightMessage = "Click to scroll to next month. Hold mouse button to scroll automatically."
  var selectDateMessage = "Select [date] as date." // do not replace [date], it will be replaced by date.
  var setTime = false;
  var crossobj, crossMonthObj, crossYearObj,  HourSelected , MinutesSelected ,AmPmSelected, monthSelected, yearSelected, dateSelected, omonthSelected, oyearSelected, odateSelected, intervalID1, intervalID2, timeoutID1, timeoutID2, ctlToPlaceValue, ctlNow, dateFormat, nStartingYear,TimeZone
    
  var bPageLoaded=false
  var ie=document.all

  var dom=document.getElementById

  var ns4=document.layers 

  var today = new Date()
  var dateNow  = today.getDate()
  var monthNow = today.getMonth()
  var yearNow  = today.getYear()
  if(yearNow < 2000) { yearNow = yearNow + 1900; }
  var img = new Array()

  var bShow = false;
  
  var WeekDays= ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
  var monthName = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
  if (startAt==0){
    dayName = new Array ("Sun","Mon","Tue","Wed","Thu","Fri","Sat")
  } else{
    dayName = new Array ("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
  }
  //var styleAnchor="text-decoration:none;color:black;"
  //var styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"
  
  
  document.write("<iframe id='BlockPassFrame' style='visibility:hidden;display:none;position:absolute; z-index:887; top:0; left:0; width:98%; height:98%; opacity:0;filter:alpha(opacity=0);'>&nbsp;</iframe>");
  if (CalcType == 'BIG')
    document.write("<div id='BlockPassWindow' style='visibility:hidden;display:none;position:absolute; z-index:888; top:0; left:0; width:98%; height:98%;'>&nbsp;</div>");
  else 
    document.write("<div id='BlockPassWindow' style='visibility:hidden;display:none;position:absolute; z-index:888; top:0; background:#666666; left:0;width:98%; height:98%;opacity:0.8;filter:alpha(opacity=80);'>&nbsp;</div>");

  function ResizeWindowUpdate() {
    $('#BlockPassWindow').width(0);
    $('#BlockPassWindow').height(0);

    $('#BlockPassFrame').width(0);
    $('#BlockPassFrame').height(0);

    x = $(document).width( ) - 20;
    y = $(document).height( ) - 20;
    
    $('#BlockPassWindow').width(x);
    $('#BlockPassWindow').height(y);

    $('#BlockPassFrame').width(x);
    $('#BlockPassFrame').height(y);
  }    
  
  function ClearBlock(){
    obj = document.getElementById("BlockPassWindow");
    obj.style.visibility = "hidden";
    obj.style.display = "none";
    obj = document.getElementById("BlockPassFrame");
    obj.style.visibility = "hidden";
    obj.style.display = "none";
  }
    
  function SetBlock(){
    obj = document.getElementById("BlockPassWindow");
    obj.style.visibility = "visible";
    obj.style.display = "block";
    obj = document.getElementById("BlockPassFrame");
    obj.style.visibility = "visible";
    obj.style.display = "block";
  }
  
  function correctTime() {
    var data_error = document.getElementById('calc_data_error');
    data_error.innerHTML = "";
    
    var SHEDULE_MEETING = document.getElementById('radio_SHEDULE_MEETING');
    if (work_time_start.length != 7 || work_time_end.length != 7 /*|| !SHEDULE_MEETING || SHEDULE_MEETING.checked == false*/) {
      return;
    }
    var Hour = document.getElementById('hour');
    var SpanHour = document.getElementById('span_hour');
    var Minutes = document.getElementById('minutes');
    var SpanMinutes = document.getElementById('span_minutes');
    var AmPm = document.getElementById('am_pm');
    var SpanAmPm = document.getElementById('span_am_pm');


    var global_time = new Date(yearSelected, monthSelected, dateSelected);
    day = global_time.getDay()-1;
    day = (day<0)?6:day;

    //workS.setTime(work_time_start[day]);
    //workE.setTime(work_time_end[day]);

    var workS = new Date("January 1, 1970 "+work_time_start[day]);
    var workE = new Date("January 1, 1970 "+work_time_end[day]);
    var work_input = new Date("January 1, 1970 "+parseInt(Hour.value,10)+":"+parseInt(Minutes.value,10)+" "+AmPm.value);
    
    if (work_input.getTime()>workE.getTime()) {
      work_input = workE;
      data_error.innerHTML = "Please select a time during Office Hours";
    } else if (work_input.getTime()<workS.getTime()) {
      work_input = workS;
      data_error.innerHTML = "Please select a time during Office Hours";
    }

    HourSelected = work_input.getHours();
    MinutesSelected = work_input.getMinutes();

    if (HourSelected<12)
      AmPmSelected = "AM";
    else 
      AmPmSelected = "PM";
    if (HourSelected == 0) {
      HourSelected = 12;
    }
    if (HourSelected > 12) {
      HourSelected -= 12;
    }

    if(MinutesSelected < 10) {
      MinutesSelected = padZero(MinutesSelected);
    } 
    Minutes.value = MinutesSelected;
    SpanMinutes.innerHTML = MinutesSelected;

    Hour.value = HourSelected;
    SpanHour.innerHTML = HourSelected;

    AmPm.value = AmPmSelected;
    SpanAmPm.innerHTML = AmPmSelected;
  }

  function findPos(obj) {
    if (!obj)
      return [0,0];

    var curleft = curtop = 0;
    if (obj.offsetParent) {
      do {
        curleft += obj.offsetLeft;
        curtop += obj.offsetTop;
      } while (obj = obj.offsetParent);
    }
    return [curleft,curtop];
  }

  function calcPosition(positionMark) {
    if (!positionMark || !CalendarDIV)
      return [0,0];

    var pos = findPos(positionMark);

    _left = pos[0];
    _top = pos[1];

    return [_left, _top];
  }


  function updatePassiveWindow() {
    ResizeWindowUpdate();
    if (!jCalendarDIV) 
      return;

    jCalendarDIV.css('left', 0);
    jCalendarDIV.css('top', 0);

    x = $(document).width( ) - 20;
    y = $(document).height( ) - 20;
    
    var pos = calcPosition(calcAnchor.get(0));

    var dx = 0;
    var dy = 0;
    if (CalcType=="SMALL") {
      dx = -199;
      dy = 0;
    } else {
      dx = 0;
      dy = 0;
    }

    jCalendarDIV.css('left', pos[0]+dx);
    jCalendarDIV.css('top', pos[1]+dy);
  }

  $(window).resize(updatePassiveWindow);  
  $(document).ready(function(){updatePassiveWindow();});

  function HolidayRec (d, m, y, desc)
  {
    this.d = d
    this.m = m
    this.y = y
    this.desc = desc
  }

  var HolidaysCounter = 0
  var Holidays = new Array()

  function addHoliday (d, m, y, desc)
  {
    Holidays[HolidaysCounter++] = new HolidayRec ( d, m, y, desc )
  }

  function hideCalendar() {
    spantoLeft = document.getElementById('spanLeft');
    crossobj.visibility="hidden"
    CalendarDIV.style.visibility="hidden"
    if(spantoLeft){
      spantoLeft.style.visibility= "hidden";
    }
    ClearBlock();
    if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
    if (crossYearObj != null){crossYearObj.visibility="hidden"}
  
    setup =0;
  }

  function accept_date() {
    set_minutes("update");
    Time = HourSelected + ":" + MinutesSelected + " " + AmPmSelected;
    ctlToPlaceValue.value = Time + " " + constructDate(dateSelected,monthSelected,yearSelected);    
    //ctlToPlaceValue.select();   
    constructDivDate('div_date');
    hideCalendar();
  }

  function padZero(num) {
    return (num < 10)? '0' + num : num ;
  }

  function constructDate(d,m,y)
  {
    sTmp = dateFormat
    sTmp = sTmp.replace ("dd","<e>")
    sTmp = sTmp.replace ("d","<d>")
    sTmp = sTmp.replace ("<e>",padZero(d))
    sTmp = sTmp.replace ("<d>",d)
    sTmp = sTmp.replace ("mmm","<o>")
    sTmp = sTmp.replace ("mm","<n>")
    sTmp = sTmp.replace ("m","<m>")
    sTmp = sTmp.replace ("<m>",m+1)
    sTmp = sTmp.replace ("<n>",padZero(m+1))
    sTmp = sTmp.replace ("<o>",monthName[m])
    return sTmp.replace ("yyyy",y)
  }

  function SetupNewDate() {
    var sTmp
    var setup =1;
    //hideCalendar();
    constructCalendar();  
    correctTime();

  }

  /*** Month Pulldown ***/

  function StartDecMonth(){
    intervalID1=setInterval("decMonth()",80)
  }

  function StartIncMonth(){
    intervalID1=setInterval("incMonth()",80)
  }

  function incMonth () {
    monthSelected++
    if (monthSelected>11) {
      monthSelected=0
      yearSelected++
    }
    constructCalendar()
  }

  function decMonth () {
    if((monthSelected > monthNow && FlagNotPrev == 1 && yearSelected == yearNow) ||   (yearSelected > yearNow) || FlagNotPrev == 0){
      monthSelected--
      if (monthSelected<0) {
        monthSelected=11
        yearSelected--
      }
      constructCalendar()
    } 
  }


  function constructCalendar () {
    var aNumDays = Array (31,0,31,30,31,30,31,31,30,31,30,31)

    var dateMessage
    var startDate = new Date (yearSelected,monthSelected,1)
    var endDate

    if (monthSelected==1)
    {
      endDate = new Date (yearSelected,monthSelected+1,1);
      endDate = new Date (endDate - (24*60*60*1000));
      
      numDaysInMonth = endDate.getDate()
    }
    else
    {
      numDaysInMonth = aNumDays[monthSelected];
    }
    
    if (monthSelected==2)
    {
      prevDate  = new Date (yearSelected,monthSelected-1,1);
      prevDate  = new Date (prevDate  - (24*60*60*1000));
      
      numDaysPrevMonth = prevDate.getDate() 
      PrevMonth = monthSelected-1;    
    } 
    else if(monthSelected == 0)
    {
      PrevMonth = 11;
      numDaysPrevMonth = aNumDays[PrevMonth]; 
    }
    else
    {
      PrevMonth = monthSelected-1;
      numDaysPrevMonth = aNumDays[PrevMonth];     
    }
  
    datePointer = 0
    dayPointer = startDate.getDay() - startAt

    if (dayPointer<0)
    {
      dayPointer = 6
    }

    sHTML = "<table cellpadding='0' cellspacing='0'  id='table_content' border=0><tr>"

    for (i=0; i<7; i++) {
      sHTML += "<td align='center' style='height:10px; font-size:10px; font-weight: normal;'>"+ dayName[i]+"</td>"
    }
    sHTML +="</tr><tr>"
    
    var spantoLeft = document.getElementById("spanLeft");

    if(spantoLeft){
      if((monthSelected == monthNow && FlagNotPrev && yearSelected == yearNow)){ 
        spantoLeft.style.cursor ='default';
        spantoLeft.style.visibility= 'hidden';
      } else {
        spantoLeft.style.cursor ='pointer';
        spantoLeft.style.visibility= 'visible';
      }
    }
    
    for ( var i=dayPointer-1; i>=0 ;i-- )
    {
      prevdayPointer= numDaysPrevMonth-i;
      if((monthSelected == monthNow && FlagNotPrev)){ 
        if  (i==dayPointer-1)
        {sHTML += "<td class='td_empty'  style='border-left: 0;'>" +prevdayPointer+"</td>";}
        else 
        {sHTML += "<td class='td_empty'>" +prevdayPointer+"</td>";}
      } else {
        if  (i==dayPointer-1)
        {sHTML += "<td class='td_empty'  style='cursor:pointer; border-left: 0;'' onclick='javascript:dateSelected="+prevdayPointer  + ";monthSelected="+PrevMonth + ";SetupNewDate(this); return false;'>" +prevdayPointer+"</td>";}
        else 
        {sHTML += "<td class='td_empty'  style='cursor:pointer;' onclick='javascript:dateSelected="+prevdayPointer  + ";monthSelected="+PrevMonth + ";SetupNewDate(this); return false;'>" +prevdayPointer+"</td>";}
      }
    }

    for ( datePointer=1; datePointer<=numDaysInMonth; datePointer++ )
    {
      dayPointer++;
      if((datePointer < dateNow && monthSelected == monthNow && FlagNotPrev && yearSelected == yearNow)){ 
        var_class = "td_isset prev";
        click_datePointer = '';
      
      } else {
        click_datePointer = "onclick='javascript:dateSelected="+datePointer + ";SetupNewDate(this); return false;'"
        if ((datePointer==dateSelected) &&  (monthSelected==monthSelected)  && (yearSelected==yearSelected))
        { 
          var_class = "td_selected";
        } else {
          var_class = "td_isset";
        }
        
      }
      
      if  (dayPointer % 7 == (startAt * -1)+2)
        { sHTML += "<td class='"+ var_class +"' style='border-left: 0;' "+click_datePointer+">" +datePointer+"</td>" }
        else if (dayPointer % 7 == (startAt * -1)+1)
        { sHTML += "<td class='"+ var_class +"' style='border-right: 0;' "+click_datePointer+">" +datePointer+"</td>" }
        else  
        {sHTML += "<td class='"+ var_class +"' "+click_datePointer+">" +datePointer+"</td>";}
      if ((dayPointer+startAt) % 7 == startAt) {
          sHTML += "</tr><tr>"
      }
    }
    
    var count =dayPointer;
    while((count+startAt)% 7 != startAt){
      if((count+startAt) % 7 == (startAt * -1)+1)
      {sHTML +="<td class='td_empty'  style='border-right: 0;'></td>"}
      else
      {sHTML +="<td class='td_empty'></td>"}
      count++;
    } 

    document.getElementById("calc_content").innerHTML   = sHTML
    document.getElementById("spanMonth").innerHTML = "&nbsp;" + monthName[monthSelected] + "&nbsp;"
    document.getElementById("spanYear").innerHTML = "&nbsp;" +  yearSelected + "&nbsp;"
    
    var date_selected_now = document.getElementById('date_selected_now');
    if(date_selected_now){
      date_selected_now.innerHTML = monthName[monthSelected] + "<br>" +  dateSelected + "," + yearSelected;
    }
  }

  function constructClock(){
    Hour = document.getElementById('hour');
    Minutes = document.getElementById('minutes');
    AmPm = document.getElementById('am_pm');
    if(Hour && Minutes && AmPm){
      Hour.value = HourSelected;
      Minutes.value = MinutesSelected;
      AmPm.value = AmPmSelected;
      set_hour();
      set_minutes();
      set_am_pm();
    }
  }
  
  function SetTimeDef(){
    HourSelected = DefHourSelected;
    MinutesSelected = DefMinutesSelected;
    AmPmSelected = DefAmPmSelected;
    constructClock();
  } 
  
  function SetDateToday(){
    dateSelected = dateNow
    monthSelected = monthNow
    yearSelected = yearNow
    constructCalendar();
  }
  
  
  function set_hour(todo, correct_time){
    var Hour = document.getElementById('hour');
    var SpanHour = document.getElementById('span_hour');
    if(Hour && SpanHour){
      if(todo){
        HourSelected = Hour.value;
      }
      if (todo=='up') {
        if(HourSelected < 12) {
          HourSelected++;
          if (HourSelected == 12)
            set_am_pm('up', false);
        } else
          HourSelected = 1;
      } else if (todo=='down') {
        if (HourSelected >1) {
          HourSelected=HourSelected-1 ;
          if (HourSelected == 11)
            set_am_pm('down', false);
        } else
        HourSelected = 12;
      }

      if(HourSelected>12){
        HourSelected =12;
      } else if(HourSelected<1){
        HourSelected =1;
      }
      Hour.value = HourSelected;
      SpanHour.innerHTML = HourSelected;
    }
    if (correct_time != false)
      correctTime();
  } 
  
  function set_minutes(todo, correct_time){
    var Minutes = document.getElementById('minutes');
    var SpanMinutes = document.getElementById('span_minutes');
    if(Minutes && SpanMinutes){
      MinutesSelected= parseInt(MinutesSelected,10);
      if(todo){
        MinutesSelected = parseInt(Minutes.value,10);
      }
      if(todo=='up'){
        if (MinutesSelected < 59)
          MinutesSelected++;
        else {
          set_hour('up', false);
          MinutesSelected = 0;
        }
      } else if(todo=='down') {
        if (MinutesSelected > 0)
          MinutesSelected=MinutesSelected-1 ;
        else {
          set_hour('down', false);
          MinutesSelected = 59;
        }
      }
      
      if(MinutesSelected>59){
        MinutesSelected =59;
      } else if(MinutesSelected<0){
        MinutesSelected = 0;
      }
      if(MinutesSelected < 10) {
        MinutesSelected = padZero(MinutesSelected);
      } 
      Minutes.value = MinutesSelected;
      SpanMinutes.innerHTML = MinutesSelected;
    }
    if (correct_time != false)
      correctTime();
  } 
  
  function set_am_pm(todo, correct_time){
    var AmPm = document.getElementById('am_pm');
    var SpanAmPm = document.getElementById('span_am_pm');
    if(AmPm && SpanAmPm){
      if(todo){
        AmPmSelected= AmPm.value;
      }
      if (todo=='up' || todo=='down'){
        if (AmPmSelected == 'PM')
          AmPmSelected = 'AM';
        else
          AmPmSelected = 'PM';
      }
      AmPm.value = AmPmSelected;
      SpanAmPm.innerHTML = AmPmSelected;
    }
    if (correct_time != false)
      correctTime();
  }
  
  function popUpCalendar(positionMark, ctl2, format, valtimezone, container_id, NotPrev, type) {
    if (type == "big" || type == "BIG" )
      CalcType = "BIG";
    else if (type == "small" || type == "SMALL" )
      CalcType = "SMALL";

    calcAnchor = positionMark;
    if (dom)
    { 
      CalendarDIV = document.getElementById(container_id);
      jCalendarDIV = $('#'+container_id);
      if(CalendarDIV){
        TimeZone = valtimezone;
        FlagNotPrev = NotPrev;
        if (!calcAnchor) {
          return;
        };
    
        CalendarDIV.innerHTML = '';

        CalendarDIV.style.visibility = 'hidden';
        CalendarDIV.style.position = 'absolute';
        CalendarDIV.style.zIndex = '9999';
        jCalendarDIV.css('top',0);
        jCalendarDIV.css('left',0);


        SetBlock(); 
        if (CalcType=="SMALL")  {
          htmlCode = ""+
           "<table cellspacing='0' cellpadding='0' id='calendar' style='width:399px;height:393px; z-index:999;visibility:hidden;'><tr>"+
              "<td width='50%' style='background: #666666; opacity:0.80;filter:alpha(opacity=80)'><iframe style='opacity:0;filter:alpha(opacity=0);width:200px;height:393px;'>&nbsp;</iframe></td>"+
              "<td><table cellspacing='0' cellpadding='0' onclick='bShow=true' style='border:1px solid #7d7b79; background: #FFFFFF; font-family: Arial; width:200px;height:393px;'>";
        } else {
          htmlCode = ""+
           "<table cellspacing='0' cellpadding='0' id='calendar' style='width:265px;height:430px; z-index:999;visibility:hidden;background: #FFFFFF; border:1px solid #7d7b79; '><tr>"+
              "<td align='center' valign='middle'><table cellspacing='0' cellpadding='0' onclick='bShow=true' style='border:1px solid #7d7b79; background: #FFFFFF; font-family: Arial; width:200px;height:393px;'>";
        }

        htmlCode += ""+
              "<tr>" +
                "<td style='padding: 8px 10px 0px 10px;' align='left' class='calc_text'>" +
                "<a href='#' onclick='javascript:hideCalendar();CloseCalendar();return false;'><IMG style='float:right;' SRC='"+imgDir+"CALENDAR_exit.gif' WIDTH='33' HEIGHT='20' BORDER='0' ALT='Close the Calendar'></a>"+
                "Select a date and time <br/>(Time is "+ TimeZone +")<br/>" +
                "<a href='./' onclick='SetDateToday(); return false;' class='calc_link'>"+todayString +" "+ WeekDays[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " + dateNow + " " + monthName[monthNow] + ", " + yearNow + "</a>"+
                "</td>" +
              "</tr>" +
              "<tr>" +
                "<td style='padding: 2px 0px 0px 4px;' align='left'>" +
                  "<table cellpadding='0' cellspacing='0' width='192px' border='0' style='padding:0; margin: 0;'>" + 
                  "<tr>"+
                    "<td height='20px' style='background:#CCCCCC url("+imgDir+"CALENDAR_bg_table_top2.gif) top left no-repeat;'>"+
                      "<table border='0' cellspacing='0' cellpadding='0' width='100%'>" + 
                      "<tr>"+
                        "<td width='1' style='padding: 1px 0 0 12px;'><span id='spanLeft'  style='cursor:pointer' onclick='decMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)' onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'><IMG id='changeLeft'  SRC='"+imgDir+"CALENDAR_pointer_left.gif'  width='8px' height='9px' BORDER=0></span></td>"+
                        "<td style='padding: 4px 5px 0 5px; text-align: center; font-size:14px; color:black; font-weight:bold;'><span  id='spanMonth'></span>&nbsp;<span id='spanYear'></span></td>"+
                        "<td width='1' style='padding: 1px 10px 0 0;'><span id='spanRight' style='cursor:pointer' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)' onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'><IMG id='changeRight' SRC='"+imgDir+"CALENDAR_pointer_right.gif' width='8px' height='9px' BORDER=0></span></td>"+
                      "</tr>"+
                      "</table>"+
                    "</td>"+
                  "</tr>"+
                  "<tr>"+
                    "<td style='background:#CCCCCC url("+imgDir+"CALENDAR_bg_table_top2_2.gif) top left no-repeat;'>"+
                      "<table cellpadding='0' cellspacing='0' border='0'>"+
                        "<tr>"+
                          "<td style='background:#CCCCCC url("+imgDir+"CALENDAR_bg_table_left2.gif) top left repeat-y;'><div style='width:6px;'></div></td>"+
                          "<td><span id='calc_content'></span></td>"+
                          "<td style='background: url("+imgDir+"CALENDAR_bg_table_right2.gif) top left repeat-y;'><div style='width:5px;'></div></td>"+
                        "</tr>"+
                      "</table>"+
                    "</td>"+
                  "</tr>"+
                  "</table>"+
                "</td>" +
              "</tr>" +
              "<tr>" +
                "<td align='left' style='padding: 2px 0 0 10px'><div id='calc_data_error' class='calc_data_error'></div>"+
                  "<table cellpadding='1' cellspacing='0' border='0'>"+
                  "<tr>"+
                    "<td><input type='text' value='6' id='hour' onchange='set_hour(\"update\"); return false;' class='calc_edit'></td>"+
                    "<td><table cellpadding='0' border='0' cellspacing='0' ><tr><td><a href='./' onclick= 'set_hour(\"up\"); return false;' ><img src='"+imgDir+"CALENDAR_clock_up.gif' border=0 width='12px' height='10px'></a></td></tr><tr><td><img src='"+imgDir+"spacer.gif' width='1' height='1'></td></tr><tr><td><a href='./' onclick= 'set_hour(\"down\");return false;' ><img src='"+imgDir+"CALENDAR_clock_down.gif' border=0 width='12px' height='10px'></a></td></tr></table></td>"+
                    "<td>&nbsp;<input type='text' value='30' id='minutes' onchange='set_minutes(\"update\"); return false;' class='calc_edit'></td>"+
                    "<td><table cellpadding='0' border='0' cellspacing='0' ><tr><td><a href='./' onclick= 'set_minutes(\"up\"); return false;' ><img src='"+imgDir+"CALENDAR_clock_up.gif' border=0 width='12px' height='10px'></a></td></tr><tr><td><img src='"+imgDir+"spacer.gif' width='1' height='1'></td></tr><tr><td><a href='./' onclick= 'set_minutes(\"down\");return false;' ><img src='"+imgDir+"CALENDAR_clock_down.gif' border=0 width='12px' height='10px'></a></td></tr></table></td>"+
                    "<td>&nbsp;<input type='text' readonly='true' id='am_pm' class='calc_edit' value='PM'></td>"+
                    "<td><table cellpadding='0' border='0' cellspacing='0' ><tr><td><a href='./' onclick= 'set_am_pm(\"up\"); return false;' ><img src='"+imgDir+"CALENDAR_clock_up.gif' border=0 width='12px' height='10px'></a></td></tr><tr><tr><td><img src='"+imgDir+"spacer.gif' width='1' height='1'></td></tr><td><a href='./' onclick= 'set_am_pm(\"down\");return false;' ><img src='"+imgDir+"CALENDAR_clock_down.gif' border=0 width='12px' height='10px'></a></td></tr></table></td>"+
                    "<td>&nbsp;<span class='calc_text'>"+TimeZone+"</span></td>"+
                  "</tr>"+
                  "</table>" + 
                "</td>" +
              "</tr>" +
              "<tr>" +
                "<td align='left' style='padding: 2px 0 0 10px'>"+
                "<table cellspacing='0' cellpadding='0' border='0'><tr><td class='calc_text' width='100%'>"+
                "You Have Selected:<br>"+
                "<span class='calc_big_text'><span id='date_selected_now' /></span><br/><span id='time_selected_now'><span id='span_hour' ></span>:<span id='span_minutes' ></span>&nbsp;<span id='span_am_pm' ></span>&nbsp;"+TimeZone+"</span>"+
                "</td>"+
                "<td align='right' valign='middle' style='padding: 0px 10px 0 0'><input type='image' src='"+imgDir+"CALENDAR_button_accept.gif' onclick='javascript:accept_date(); return false;'></td>"+
                "</tr></table>"+
                "</td>" +
              "</tr>" +
              "<tr>" +
                "<td align='center' style='padding: 0px 10px 5px 10px' ><table border='0' cellspacing='0' cellpadding='0'><tr><td class='calc_sales_time_text'>"+sales_office_hours+"</td></tr></table></td>" +
              "</tr>" +
              "</table>"+
              "</td></tr></table>";
      if (CalcType!="SMALL")  {
      }
        CalendarDIV.innerHTML = htmlCode;
        jCalendarDIV.css('visibility', 'visible');
      }
      
    }
    
    if (document.getElementById("calendar"))
    {
      crossobj = document.getElementById("calendar").style
      if ( crossobj.visibility == "hidden") {
        
        ctlToPlaceValue = ctl2
        dateFormat=format;

        formatChar = " "
        aFormat = dateFormat.split(formatChar)

        if (aFormat.length<3)
        {
          formatChar = "/"
          aFormat = dateFormat.split(formatChar)
          if (aFormat.length<3)
          {
            formatChar = "."
            aFormat = dateFormat.split(formatChar)
            if (aFormat.length<3)
            {
              formatChar = "-"
              aFormat = dateFormat.split(formatChar)
              if (aFormat.length<3)
              {
                // invalid date format
                formatChar=""
              }
            }
          }
        }
      
        tokensChanged = 0
        if ( formatChar != "" )
        {
          // use user's date  
          aDataTime = ctl2.value.split(formatChar)
          if(aDataTime.length == 5){
            setTime = true;
            aTime = aDataTime[0].split(':');
            HourSelected = aTime[0];
            MinutesSelected = aTime[1];
            AmPmSelected = aDataTime[1];
            
            aData = new Array (aDataTime[2], aDataTime[3], aDataTime[4])            
          } else {
            aData= aDataTime;
            HourSelected = DefHourSelected
            MinutesSelected = DefMinutesSelected
            AmPmSelected = DefAmPmSelected
          }
          
          for (i=0;i<3;i++)
          {
            if ((aFormat[i]=="d") || (aFormat[i]=="dd"))
            {
              dateSelected = parseInt(aData[i], 10)
              tokensChanged ++
            }
            else if ((aFormat[i]=="m") || (aFormat[i]=="mm"))
            {
              monthSelected = parseInt(aData[i], 10) - 1
              tokensChanged ++
            }
            else if (aFormat[i]=="yyyy")
            {
              yearSelected = parseInt(aData[i], 10)
              tokensChanged ++
            }
            else if (aFormat[i]=="mmm")
            {
              for (j=0; j<12; j++)
              {
                if (aData[i]==monthName[j])
                {
                  monthSelected=j
                  tokensChanged ++
                }
              }
            }
          }
        }
        if ((tokensChanged!=3)||isNaN(dateSelected)||isNaN(monthSelected)||isNaN(yearSelected))
        {
          dateSelected = dateNow
          monthSelected = monthNow
          yearSelected = yearNow
        }       


        odateSelected=dateSelected
        omonthSelected=monthSelected
        oyearSelected=yearSelected
        
        constructCalendar (1, monthSelected, yearSelected);
        updatePassiveWindow();
        
        constructClock (HourSelected, MinutesSelected, AmPmSelected);
        crossobj.visibility=(dom||ie)? "visible" : "show"

        bShow = true;
      }
      else
      {
        hideCalendar()
        if (ctlNow!=ctl2) {popUpCalendar(CalendarStatus, ctl2, format, valtimezone , container_id, FlagNotPrev)}
      }
      ctlNow = ctl2;
      
      
      CalendarDIV = document.getElementById(container_id);
      jCalendarDIV = $('#'+container_id);
      if (!CalendarDIV) {
        alert('Can not find calendar container');
        return;
      };
    }
  }

/*  document.onkeypress = function hidecal1 () {
    if (event.keyCode==27)
    {
      hideCalendar()
    }
  }*/