Datasliderという日付をドラッグで選択可能なフルjavascriptライブラリがあります。
http://www.ajaxorized.com/
datasliderプロジェクトのページはこちら
http://code.google.com/p/dateslider/
いまのところだれもコメントはありませんが、IE7において、スクリプトエラーがでまくることがあります。
左のスライドを右、もしくは、右のスライドを左に移動させた時に、両方のスライドバーが重なったときにエラーが表示されます。これは、どうやら、スタイルシートにたいして、width:-1pxといったように、マイナスの数字をあたえているのが原因のようです。これは、エラーとなりますが、prototype.jsでは、これを感知してません。
そのため、dataslider.jsでマイナスがセットされないように修正して対応しました。
dateslider.jsの210行あたりから139行目あたり(_rightDragと_leftDrag)
_rightDrag : function () {
l_panelLength = $('righthandle').offsetLeft - $('lefthandle').offsetLeft - 5;
/*$('shiftpanel').setStyle({width : (l_panelLength+2*sliderReference.sliderBarMargin)+'px'});*/
if((l_panelLength+2*sliderReference.sliderBarMargin) >= 0){
$('shiftpanel').setStyle({width : (l_panelLength+2*sliderReference.sliderBarMargin)+'px'});
}else{
$('shiftpanel').setStyle({width : '0px'});
}
sliderReference._setDates();
},
_leftDrag : function() {
l_panelLength = $('righthandle').offsetLeft - $('lefthandle').offsetLeft - 4;
/*$('shiftpanel').setStyle({left: ($('lefthandle').offsetLeft+4)+'px', width : l_panelLength+'px'});*/
if(($('lefthandle').offsetLeft+4) >= 0 ){
$('shiftpanel').setStyle({left: ($('lefthandle').offsetLeft+4)+'px', width : l_panelLength+'px'});
}else{
$('shiftpanel').setStyle({left: '0px', width : l_panelLength+'px'});
}
sliderReference._setDates();
},