buongiorno,
sto usando uno script che abilita la scelta di una data da un semplice calendario che appare quando si clicca sul campo testo associato... mi chiedevo come posso avere le stesse funzioni, ma avere il calendario sempre visibile e non solo quando si clicca sul campo testo.

il javascript:
Codice PHP:
/* --- Swazz Javascript Calendar ---
/* --- v 1.0 3rd November 2006
By Oliver Bryant
[url]http://calendar.swazz.org[/url] */

function getObj(objID)
{
    if (
document.getElementById) {return document.getElementById(objID);}
    else if (
document.all) {return document.all[objID];}
    else if (
document.layers) {return document.layers[objID];}
}

function 
checkClick(e) {
    
e?evt=e:evt=event;
    
CSE=evt.target?evt.target:evt.srcElement;
    if (
getObj('fc'))
        if (!
isChild(CSE,getObj('fc')))
            
getObj('fc').style.display='none';
}

function 
isChild(s,d) {
    while(
s) {
        if (
s==d
            return 
true;
        
s=s.parentNode;
    }
    return 
false;
}

function 
Left(obj)
{
    var 
curleft 0;
    if (
obj.offsetParent)
    {
        while (
obj.offsetParent)
        {
            
curleft += obj.offsetLeft
            obj 
obj.offsetParent;
        }
    }
    else if (
obj.x)
        
curleft += obj.x;
    return 
curleft;
}

function 
Top(obj)
{
    var 
curtop 0;
    if (
obj.offsetParent)
    {
        while (
obj.offsetParent)
        {
            
curtop += obj.offsetTop
            obj 
obj.offsetParent;
        }
    }
    else if (
obj.y)
        
curtop += obj.y;
    return 
curtop;
}
    
document.write('<table id="fc" style="position:absolute;border-collapse:collapse;background:#FFFFFF;border:1px solid #ABABAB;display:none" cellpadding=2>');
document.write('<tr><td style="cursor:pointer" onclick="csubm()">[img]/images/prev.gif[/img]</td><td colspan=5 id="mns" align="center" style="font:bold 13px Tahoma"></td><td align="right" style="cursor:pointer" onclick="caddm()">[img]/images/next.gif[/img]</td></tr>');
document.write('<tr><td align=center style="background:#ABABAB;font:12px Tahoma">Lu</td><td align=center style="background:#ABABAB;font:12px Tahoma">Ma</td><td align=center style="background:#ABABAB;font:12px Tahoma">Me</td><td align=center style="background:#ABABAB;font:12px Tahoma">Gi</td><td align=center style="background:#ABABAB;font:12px Tahoma">Ve</td><td align=center style="background:#ABABAB;font:12px Tahoma">Sa</td><td align=center style="background:#ABABAB;font:12px Tahoma">Do</td></tr>');
for(var 
kk=1;kk<=6;kk++) {
    
document.write('<tr>');
    for(var 
tt=1;tt<=7;tt++) {
        
num=* (kk-1) - (-tt);
        
document.write('<td id="v' num '" style="width:18px;height:18px"></td>');
    }
    
document.write('</tr>');
}
document.write('</table>');

document.all?document.attachEvent('onclick',checkClick):document.addEventListener('click',checkClick,false);


// Calendar script
var now = new Date;
var 
sccm=now.getMonth();
var 
sccy=now.getFullYear();
var 
ccm=now.getMonth();
var 
ccy=now.getFullYear();

var 
updobj;
function 
lcs(ielem) {
    
updobj=ielem;
    
getObj('fc').style.left=Left(ielem);
    
getObj('fc').style.top=Top(ielem)+ielem.offsetHeight;
    
getObj('fc').style.display='';
    
    
// First check date is valid
    
curdt=ielem.value;
    
curdtarr=curdt.split('/');
    
isdt=true;
    for(var 
k=0;k<curdtarr.length;k++) {
        if (
isNaN(curdtarr[k]))
            
isdt=false;
    }
    if (
isdt&(curdtarr.length==3)) {
        
ccm=curdtarr[1]-1;
        
ccy=curdtarr[2];
        
prepcalendar(curdtarr[0],curdtarr[1]-1,curdtarr[2]);
    }
    
}

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.background='#FFCC66';
}
function 
cs_out(e) {
    
evtTgt(EvtObj(e)).style.background='#C4D3EA';
}
function 
cs_click(e) {
    
updobj.value=calvalarr[evtTgt(EvtObj(e)).id.substring(1,evtTgt(EvtObj(e)).id.length)];
    
getObj('fc').style.display='none';
    
}

var 
mn=new Array('Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre');
var 
mnn=new Array('31','28','31','30','31','30','31','31','30','31','30','31');
var 
mnl=new Array('31','29','31','30','31','30','31','31','30','31','30','31');
var 
calvalarr=new Array(42);

function 
f_cps(obj) {
    
obj.style.background='#C4D3EA';
    
obj.style.font='10px Tahoma';
    
obj.style.color='#333333';
    
obj.style.textAlign='center';
    
obj.style.textDecoration='none';
    
obj.style.border='1px solid #6487AE';
    
obj.style.cursor='pointer';
}

function 
f_cpps(obj) {
    
obj.style.background='#C4D3EA';
    
obj.style.font='10px Tahoma';
    
obj.style.color='#ABABAB';
    
obj.style.textAlign='center';
    
obj.style.textDecoration='line-through';
    
obj.style.border='1px solid #6487AE';
    
obj.style.cursor='default';
}

function 
f_hds(obj) {
    
obj.style.background='#FFF799';
    
obj.style.font='bold 10px Tahoma';
    
obj.style.color='#333333';
    
obj.style.textAlign='center';
    
obj.style.border='1px solid #6487AE';
    
obj.style.cursor='pointer';
}

// day selected
function prepcalendar(hd,cm,cy) {
    
now=new Date();
    
sd=now.getDate();
    
td=new Date();
    
td.setDate(1);
    
td.setFullYear(cy);
    
td.setMonth(cm);
    
cd=td.getDay();
    
cd cd == cd-1;
    
getObj('mns').innerHTML=mn[cm]+ ' ' cy;
    
marr=((cy%4)==0)?mnl:mnn;
    for(var 
d=1;d<=42;d++) {
        
f_cps(getObj('v'+parseInt(d)));
        if ((
>= (cd -(-1))) && (d<=cd-(-marr[cm]))) {
            
dip=((d-cd sd)&&(cm==sccm)&&(cy==sccy));
            
htd=((hd!='')&&(d-cd==hd));
            if (
dip)
                
f_cpps(getObj('v'+parseInt(d)));
            else if (
htd)
                
f_hds(getObj('v'+parseInt(d)));
            else
                
f_cps(getObj('v'+parseInt(d)));

            
getObj('v'+parseInt(d)).onmouseover=(dip)?null:cs_over;
            
getObj('v'+parseInt(d)).onmouseout=(dip)?null:cs_out;
            
getObj('v'+parseInt(d)).onclick=(dip)?null:cs_click;
            
            
getObj('v'+parseInt(d)).innerHTML=d-cd;    
            
calvalarr[d]=''+(d-cd)+'/'+(cm-(-1))+'/'+cy;
        }
        else {
            
getObj('v'+d).innerHTML='';
            
getObj('v'+parseInt(d)).onmouseover=null;
            
getObj('v'+parseInt(d)).onmouseout=null;
            
getObj('v'+parseInt(d)).style.cursor='default';
            }
    }
}

prepcalendar('',ccm,ccy);
//getObj('fc'+cc).style.visibility='hidden';

function caddm() {
    
marr=((ccy%4)==0)?mnl:mnn;
    
    
ccm+=1;
    if (
ccm>=12) {
        
ccm=0;
        
ccy++;
    }
    
cdayf();
    
prepcalendar('',ccm,ccy);
}

function 
csubm() {
    
marr=((ccy%4)==0)?mnl:mnn;
    
    
ccm-=1;
    if (
ccm<0) {
        
ccm=11;
        
ccy--;
    }
    
cdayf();
    
prepcalendar('',ccm,ccy);
}

function 
cdayf() {
if ((
ccy>sccy)|((ccy==sccy)&&(ccm>=sccm)))
    return;
else {
    
ccy=sccy;
    
ccm=sccm;
    
cfd=scfd;
    }

e questo il codice nella pagina che lo richiama:
Codice PHP:
...
<
SCRIPT SRC="calendar.js"></SCRIPT>
...
<form name="data" method="post" action="?a=step2">
<input name="data" type="text" id="data" onFocus="this.select();lcs(this)" onClick="event.cancelBubble=true;this.select();lcs(this)">
<input name="Submit2" type="submit" class="tahoma12" onClick="MM_validateForm('data','','R');return document.MM_returnValue" value="Avanti &gt;&gt;">
</form> 
grazie