可怜西西的性欲又涨回去了,是福是祸?不知道,散个htc日历先
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="oncontentready" ONEVENT="Init()"/>
<PUBLIC:PROPERTY PUT="setDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setYear" NAME="Year" />
<PUBLIC:PROPERTY PUT="setMonth" NAME="Month" />
<PUBLIC:PROPERTY PUT="setDay" NAME="Day" />
<PUBLIC:PROPERTY PUT="setRowHeight" NAME="RowHeight" />
<PUBLIC:PROPERTY PUT="setCellWidth" NAME="CellWidth" />
<PUBLIC:PROPERTY GET="getDate" NAME="DateValue" />
<PUBLIC:PROPERTY PUT="setDateFormat" NAME="DateFormat" />
<PUBLIC:EVENT NAME="ondatechange" ID="eventID" />
<PUBLIC:ATTACH EVENT="ondatechange" ONEVENT="ResetDateTable()"/>
<SCRIPT LANGUAGE="javascript">
var cl_dpMaxYear=9999;
var cl_dpMaxMonth=11;
var cl_dpMaxDay=31;
var cl_dpMinYear=1600;
var cl_dpMinMonth=0;
var cl_dpMinDay=1;
var cl_dpRowHeight=19;
var cl_dpCellWidth=46;
var oDatePicker;
var oDateObject=new Date();
var oOldDateObject=new Date();
var oYearInput;
var oMonthInput;
var oDayInput;
var oDateTable;
var oEvent;
var vt_dpFormat="yyyy/mm/dd";
///////////////////////////////////////////////////////////////////////////////////
///////////////////////HTC版日历,适用于IE 5.0以上版浏览器//////////////////////////
//为了使下拉日历表正确定位,请将绑定元素使用独立容器存放,例如使用两个不同的单元格///
///////////////////////////////////////////////////////////////////////////////////
function ResetDateTable()
{
//注意,此处不能再次调用设置绑定对象的任何方法,否则产生事件递归触发导致堆栈溢出
//此事件也可放在被绑定元素的HTML中触发.
//lStep=event.result;
}
function setDate(vValue)
{
dt=date_getDateFromVT_DATE(vValue);
if(dt!=null){oDateObject=dt;}
}
function setYear(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getFullYear()!=parseInt(vValue))
{
oDateObject.setFullYear(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
window.frames[theName].dp_initDropDown();
dp_onDateChange();
}
}
}
function setMonth(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getMonth()!=parseInt(vValue))
{
oDateObject.setMonth(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
window.frames[theName].dp_initDropDown();
dp_onDateChange();
}
}
}
function setDay(vValue)
{
if(!isNaN(vValue))
{
if(oDateObject.getDate()!=parseInt(vValue))
{
oDateObject.setDate(vValue);
window.frames[theName].CurrentDate=oDateObject.clone();
window.frames[theName].dp_initDropDown();
dp_onDateChange();
}
}
}
function setDateFormat(vValue)
{
if(vValue!="")
{
vt_dpFormat=vValue;
}
}
function setRowHeight(vValue)
{
if(!isNaN(vValue))
{
cl_dpRowHeight=vValue;
}
}
function setCellWidth(vValue)
{
if(!isNaN(vValue))
{
cl_dpCellWidth=vValue;
}
}
function getDate()
{
return oDateObject;
}
//公用函数开始
function KeyFilter(type)
{
var berr=false;
switch(type)
{
case 'date':
if (!(event.keyCode == 45 || event.keyCode == 47 || (event.keyCode>=48 && event.keyCode<=57)))
berr=true;
break;
case 'number':
if (!(event.keyCode>=48 && event.keyCode<=57))
berr=true;
break;
case 'cy':
if (!(event.keyCode == 46 || (event.keyCode>=48 && event.keyCode<=57)))
berr=true;
break;
case 'long':
if (!(event.keyCode == 45 || (event.keyCode>=48 && event.keyCode<=57)))
berr=true;
break;
case 'double':
if (!(event.keyCode == 45 || event.keyCode == 46 || (event.keyCode>=48 && event.keyCode<=57)))
berr=true;
break;
default:
if (event.keyCode == 35 || event.keyCode == 37 || event.keyCode==38)
berr=true;
}
event.returnValue=!berr;
}
function getOffsetLeft(src)
{
var set=0;
if(src)
{
if (src.offsetParent)
set+=src.offsetLeft+getOffsetLeft(src.offsetParent);
if(src.tagName!="BODY")
{
var x=parseInt(src.scrollLeft,10);
if(!isNaN(x))
set-=x;
}
}
return set;
}
function getOffsetTop(src)
{
var set=0;
if(src)
{
if (src.offsetParent)
set+=src.offsetTop+getOffsetTop(src.offsetParent);
if(src.tagName!="BODY")
{
var y=parseInt(src.scrollTop,10);
if(!isNaN(y))
set-=y;
}
}
return set;
}
//////////////////////
//日期类扩展函数开始//
function date_format(sFormat)
{
var dt=this;
if(sFormat==null || typeof(sFormat)!="string")
sFormat="";
sFormat=sFormat.replace(/yyyy/ig,dt.getFullYear());
var y=""+dt.getYear();
if(y.length>2)
{
y=y.substring(y.length-2,y.length);
}
sFormat=sFormat.replace(/yy/ig,y);
sFormat=sFormat.replace(/mm/ig,dt.getMonth()+1);
sFormat=sFormat.replace(/dd/ig,dt.getDate());
return sFormat;
}
function date_clone()
{
return new Date(this.getFullYear(),this.getMonth(),this.getDate());
}
function date_compare(dtCompare)
{
var dt=this;
var hr=0;
if(dt && dtCompare)
{
if(dt.getFullYear()>dtCompare.getFullYear())
hr=1;
else if(dt.getFullYear()<dtCompare.getFullYear())
hr=-1;
else if(dt.getMonth()>dtCompare.getMonth())
hr=1;
else if(dt.getMonth()<dtCompare.getMonth())
hr=-1;
else if(dt.getDate()>dtCompare.getDate())
hr=1;
else if(dt.getDate()<dtCompare.getDate())
hr=-1;
}
return hr;
}
function date_getDateFromVT_DATE(dt)
{
dt=dt.replace(/-/g,"/");
dt=Date.parse(dt);
if(isNaN(dt))
dt=null;
else
dt=new Date(dt);
return dt;
}
function initDateObject()
{
Date.prototype.compare=date_compare;
Date.prototype.clone=date_clone;
Date.prototype.format=date_format;
}
//日期类扩展函数结束//
//////////////////////
////////////////
//日历函数开始//
function dp_getValidDate(lYear,lMonth,lDay)
{
var dt=new Date();
if(lYear==null || isNaN(parseInt(lYear,10)))
lYear=dt.getFullYear();
else
lYear=parseInt(lYear,10);
if(lMonth==null || isNaN(parseInt(lMonth,10)))
lMonth=dt.getMonth();
else
lMonth=parseInt(lMonth,10)-1;
if(lDay==null || isNaN(parseInt(lDay,10)))
lDay=dt.getDate();
else
lDay=parseInt(lDay,10);
dt=new Date(lYear,lMonth,lDay);
var cdMax=new Date(cl_dpMaxYear,cl_dpMaxMonth,cl_dpMaxDay);
var cdMin=new Date(cl_dpMinYear,cl_dpMinMonth,cl_dpMinDay);
if(dt.compare(cdMax)>0 || dt.compare(cdMin)<0)
dt=null;
return dt;
}
function dp_onDateChange()
{
//var lStep=oDateObject.compare(oOldDateObject);
//if(lStep!=0)
//{
//oOldDateObject=oDateObject.clone();
dp_refreshView();
element.value=oDateObject.format(vt_dpFormat);
oEvent=createEventObject();
//oEvent.result=lStep;
eventID.fire(oEvent);
//}
}
function dp_refreshView()
{
var hr=false;
if(oDateObject!=null)
{
oYearInput.value=oDateObject.getFullYear();
oMonthInput.value=oDateObject.getMonth()+1;
oDayInput.value=oDateObject.getDate();
hr=true;
}
return hr;
}
function dp_setCurDate(lYear,lMonth,lDay)
{
var hr=false;
lYear=parseInt(lYear,10);
lMonth=parseInt(lMonth,10);
lDay=parseInt(lDay,10);
if(!(isNaN(lYear) || isNaN(lMonth) || isNaN(lDay)))
{
var dt=new Date(lYear,lMonth-1,lDay);
var dMax=new Date(cl_dpMaxYear,cl_dpMaxMonth,cl_dpMaxDay);
var dMin=new Date(cl_dpMinYear,cl_dpMinMonth,cl_dpMinDay);
if(dt.compare(dMax)<=0 && dt.compare(dMin)>=0)
{
oDateObject=dt;
window.frames[theName].CurrentDate=oDateObject.clone();
window.frames[theName].dp_initDropDown();
dp_onDateChange();
hr=true;
}
}
if(!hr)
dp_refreshView();
return hr;
}
//日历函数结束//
////////////////