Hide / unhide dropdownlist in DateTime Picker

I am writing an ASP.NET application and using javascript DateTime Picker code (I have found it on the Internet):

<script type="text/javascript">

// <!-- <![CDATA[

// Code begin...

// Set the initial date.

var ds_i_date =new Date();

ds_c_month = ds_i_date.getMonth() + 1;

ds_c_year = ds_i_date.getFullYear();

// Get Element By Id

function ds_getel(id){

return document.getElementById(id);

}

// Get the left and the top of the element.

function ds_getleft(el){

var tmp = el.offsetLeft;

el = el.offsetParent

while(el){

tmp += el.offsetLeft;

el = el.offsetParent;

}

return tmp;

}

function ds_gettop(el){

var tmp = el.offsetTop;

el = el.offsetParent

while(el){

tmp += el.offsetTop;

el = el.offsetParent;

}

return tmp;

}

// Output Element

var ds_oe = ds_getel('ds_calclass');

// Container

var ds_ce = ds_getel('ds_conclass');

// Output Buffering

var ds_ob ='';

function ds_ob_clean(){

ds_ob ='';

}

function ds_ob_flush(){

ds_oe.innerHTML = ds_ob;

ds_ob_clean();

}

function ds_echo(t){

ds_ob += t;

}

var ds_element;// Text Element...

var ds_monthnames = [

'Jan','Feb','Mars','Apr','Mai','Jun',

'Jul','Agu','Sep','Okt','Nov','Des'

];// You can translate it for your language.

var ds_daynames = [

'Sun','Man','Tue','Wen','Thu','Fri','Sat'

];// You can translate it for your language.

// Calendar template

function ds_template_main_above(t){

return'<table cellpadding="3" cellspacing="1" class="ds_tbl">'

+'<tr>'

+'<td class="ds_head" style="cursor: pointer" onclick="ds_py();"><<</td>'

+'<td class="ds_head" style="cursor: pointer" onclick="ds_pm();"><</td>'

+'<td class="ds_head" style="cursor: pointer" onclick="ds_hi();" colspan="3">[Close]</td>'

+'<td class="ds_head" style="cursor: pointer" onclick="ds_nm();">></td>'

+'<td class="ds_head" style="cursor: pointer" onclick="ds_ny();">>></td>'

+'</tr>'

+'<tr>'

+'<td colspan="7" class="ds_head">' + t +'</td>'

+'</tr>'

+'<tr>';

}

function ds_template_day_row(t){

return'<td class="ds_subhead">' + t +'</td>';

// Define width in CSS, XHTML 1.0 Strict doesn't have width property for it.

}

function ds_template_new_week(){

return'</tr><tr>';

}

function ds_template_blank_cell(colspan){

return'<td colspan="' + colspan +'"></td>'

}

function ds_template_day(d, m, y){

return'<td class="ds_cell" onclick="ds_onclick(' + d +',' + m +',' + y +')">' + d +'</td>';

// Define width the day row.

}

function ds_template_main_below(){

return'</tr>'

+'</table>';

}

// This one draws calendar...

function ds_draw_calendar(m, y){

// First clean the output buffer.

ds_ob_clean();

// Here we go, do the header

ds_echo (ds_template_main_above(ds_monthnames[m - 1] +' ' + y));

for (i = 0; i < 7; i ++){

ds_echo (ds_template_day_row(ds_daynames[i]));

}

// Make a date object.

var ds_dc_date =new Date();

ds_dc_date.setMonth(m - 1);

ds_dc_date.setFullYear(y);

ds_dc_date.setDate(1);

if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12){

days = 31;

}elseif (m == 4 || m == 6 || m == 9 || m == 11){

days = 30;

}else{

days = (y % 4 == 0) ? 29 : 28;

}

var first_day = ds_dc_date.getDay();

var first_loop = 1;

// Start the first week

ds_echo (ds_template_new_week());

// If sunday is not the first day of the month, make a blank cell...

if (first_day != 0){

ds_echo (ds_template_blank_cell(first_day));

}

var j = first_day;

for (i = 0; i < days; i ++){

// Today is sunday, make a new week.

// If this sunday is the first day of the month,

// we've made a new row for you already.

if (j == 0 && !first_loop){

// New week!!

ds_echo (ds_template_new_week());

}

// Make a row of that day!

ds_echo (ds_template_day(i + 1, m, y));

// This is not first loop anymore...

first_loop = 0;

// What is the next day?

j ++;

j %= 7;

}

// Do the footer

ds_echo (ds_template_main_below());

// And let's display..

ds_ob_flush();

// Scroll it into view.

ds_ce.scrollIntoView();

}

// A function to show the calendar.

// When user click on the date, it will set the content of t.

function ds_sh(t){

[b]document.form1.dropDownList.display =false;//this line not working

[/b]

// Set the element to set...

ds_element = t;

// Make a new date, and set the current month and year.

var ds_sh_date =new Date();

ds_c_month = ds_sh_date.getMonth() + 1;

ds_c_year = ds_sh_date.getFullYear();

// Draw the calendar

ds_draw_calendar(ds_c_month, ds_c_year);

// To change the position properly, we must show it first.

ds_ce.style.display ='';

// Move the calendar container!

the_left = ds_getleft(t);

the_top = ds_gettop(t) + t.offsetHeight;

ds_ce.style.left = the_left +'px';

ds_ce.style.top = the_top +'px';

// Scroll it into view.

ds_ce.scrollIntoView();

}

// Hide the calendar.

function ds_hi(){

ds_ce.style.display ='none';

[b]document.form1.dropDownList.display =true;//this line not working

[/b]

// Moves to the next month...

function ds_nm(){

// Increase the current month.

ds_c_month ++;

// We have passed December, let's go to the next year.

// Increase the current year, and set the current month to January.

if (ds_c_month > 12){

ds_c_month = 1;

ds_c_year++;

}

// Redraw the calendar.

ds_draw_calendar(ds_c_month, ds_c_year);

}

// Moves to the previous month...

function ds_pm(){

ds_c_month = ds_c_month - 1;// Can't use dash-dash here, it will make the page invalid.

// We have passed January, let's go back to the previous year.

// Decrease the current year, and set the current month to December.

if (ds_c_month < 1){

ds_c_month = 12;

ds_c_year = ds_c_year - 1;// Can't use dash-dash here, it will make the page invalid.

}

// Redraw the calendar.

ds_draw_calendar(ds_c_month, ds_c_year);

}

// Moves to the next year...

function ds_ny(){

// Increase the current year.

ds_c_year++;

// Redraw the calendar.

ds_draw_calendar(ds_c_month, ds_c_year);

}

// Moves to the previous year...

function ds_py(){

// Decrease the current year.

ds_c_year = ds_c_year - 1;// Can't use dash-dash here, it will make the page invalid.

// Redraw the calendar.

ds_draw_calendar(ds_c_month, ds_c_year);

}

// Format the date to output.

function ds_format_date(d, m, y){

// 2 digits month.

m2 ='00' + m;

m2 = m2.substr(m2.length - 2);

// 2 digits day.

d2 ='00' + d;

d2 = d2.substr(d2.length - 2);

// DD.MM.YYY

return d2 +'.' + m2 +'.' + y;

}

// When the user clicks the day.

function ds_onclick(d, m, y){

// Hide the calendar.

ds_hi();

// Set the value of it, if we can.

if (typeof(ds_element.value) !='undefined'){

ds_element.value = ds_format_date(d, m, y);

// Maybe we want to set the HTML in it.

}elseif (typeof(ds_element.innerHTML) !='undefined'){

ds_element.innerHTML = ds_format_date(d, m, y);

// I don't know how should we display it, just alert it to user.

}else{

alert (ds_format_date(d, m, y));

}

}

// And here is the end.

// ]]> -->

<!--DateTime Picker code-->

</script>

Also I have to use DropDownList below this DateTime Picker. In the IE 6.0 "DropDownList" control comes in front of this calendar (this is a known problem in IE 6.0, that is form items appear infront of all other).

And now I am trying to hide the form items as the DateTime Picker is shown and display them again as the calendar is closed. For this action I am using:

document.form1.dropDownList.display =true /false

in the "function ds_sh(t)" and "function ds_hi()"

but its not working (not hide or unhide, no action).

Maybe somebody could help me in this situation.

Thanks in advance.

br,

Forumaic

[15741 byte] By [forumaica] at [2007-11-27 10:41:17]
# 1

Why are you asking that in a Java forum?

BalusCa at 2007-7-28 19:11:46 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 2

because, I need to hide / unhide dropdownlist object on the events then calendar appears and disappears. The callendar that I am using written in JAVA.

forumaica at 2007-7-28 19:11:46 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 3

To be honest, I don't see any line of Java code. Only Javascript. This is certainly not Java code.

BalusCa at 2007-7-28 19:11:46 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 4

Sorry :)), you are rigth.

forumaica at 2007-7-28 19:11:46 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...
# 5

I replaced these to lines that not worked in the DateTime picker with this one:

var obj = document.getElementById('ddlTest');

obj.style.visibility = "visible";

var obj = document.getElementById('ddlTest');

obj.style.visibility = "hidden";

And now everything working like it should be.

Forumaic.

forumaica at 2007-7-28 19:11:46 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...