?? datechooser.htc
字號:
<PUBLIC:PROPERTY NAME="Validated" GET="GetValidated"/>
<public:property name="Value" get="GetValue" put="SetValue" />
<script>
//THIN_CommonScript
//Vision 0.0.0.5(Compact version for DataChooser)
//Implements the basic browser independent functionality
function THIN_CS()
{
THIN_CS.prototype.AgentName =navigator.userAgent.toLowerCase(); //get agent informations,include vision of browser,IE,Windows,.net clr
THIN_CS.prototype.MajorVersionNumber =parseInt(navigator.appVersion);// browser major version
THIN_CS.prototype.IsDom =(document.getElementById)?true:false; // whether support DOM
THIN_CS.prototype.IsNetscape =(document.layers?true:false); // Is client 's browser is Netscape?
THIN_CS.prototype.IsNetscape6 =(THIN_CS.prototype.IsDom&&navigator.appName=="Netscape");// Is client 's browser is Netscape version 6?
THIN_CS.prototype.IsOpera =THIN_CS.prototype.AgentName.indexOf('opera')!=-1; // Is client 's browser is Opera?
THIN_CS.prototype.IsMac =(THIN_CS.prototype.AgentName.indexOf("mac")!=-1);//Is client 's operate system is mac?
THIN_CS.prototype.IsIE =(document.all?true:false);
THIN_CS.prototype.IsIE4 =(document.all&&!THIN_CS.prototype.IsDom)?true:false;
THIN_CS.prototype.IsIE4Plus =(THIN_CS.prototype.IsIE && THIN_CS.prototype.MajorVersionNumber >= 4)?true:false;
THIN_CS.prototype.IsIE5 =(document.all&&THIN_CS.prototype.IsDom)?true:false;
THIN_CS.prototype.IsIE50 =THIN_CS.prototype.IsIE5&&(THIN_CS.prototype.AgentName.indexOf("msie 5.0")!=-1);
THIN_CS.prototype.IsWin =((THIN_CS.prototype.AgentName.indexOf("win")!=-1) || (THIN_CS.prototype.AgentName.indexOf("16bit")!=-1));
THIN_CS.prototype.IsIE55 =((navigator.userAgent.indexOf("MSIE 5.5") != -1) && (navigator.userAgent.indexOf("Windows") != -1));
THIN_CS.prototype.IsIEWin =(THIN_CS.prototype.IsIE && THIN_CS.prototype.IsWin);
THIN_CS.prototype.IsIE6 =((navigator.userAgent.indexOf("MSIE 6.0") != -1) && (navigator.userAgent.indexOf("Windows") != -1));
THIN_CS.prototype.IsIE55Plus =(THIN_CS.prototype.IsIE55 || THIN_CS.prototype.IsIE6);
THIN_CS.prototype.IsSafari =THIN_CS.prototype.AgentName.indexOf('safari')!=-1;
// Obtains an element 's parent element by parent element 's tagname
THIN_CS.prototype.getParentElementByTagName = function(element,tagName)
{
if(element.parentElement == null)
return null;
if(element.parentElement.tagName == tagName)
return element.parentElement;
return THIN_CS.prototype.getParentElementByTagName(element.parentElement,tagName);
}
THIN_CS.prototype.replace= function(str,from,to)
{
return str.split(from).join(to);
}
// Obtains an element object based on its Id
THIN_CS.prototype.getElementById = function (tagId)
{
if(THIN_CS.prototype.IsIE)
return document.all[tagId];
else
return document.getElementById(tagId);
}
//get the position of a element ( by the scroll offset )
THIN_CS.prototype.getScrollPosition = function(e)
{
var b=e.document.body;
if(e==b)return {left:0,top:0};
with(e.getBoundingClientRect())
{
return {left:b.scrollLeft+left,top:b.scrollTop+top};
}
}
//get the position of a element ( by the client offset )
THIN_CS.prototype.getClientPosition = function(e)
{
var b=e.document.body;
if(e==b)return {left:-b.scrollLeft,top:-b.scrollTop};
with(e.getBoundingClientRect())
{
return {left:left-b.clientLeft,top:top-b.clientTop};
}
}
//get absolute or relative parent
THIN_CS.prototype.getStandParent=function(e)
{
for(var p=e.parentElement;p!=null;p=p.parentElement)
{
var sp=p.currentStyle.position;
if(sp=='absolute'||sp=='relative')
return p;
}
return e.document.body;
}
//calc the position of outer that relative to e
THIN_CS.prototype.getReferencePosition=function(refer,e)
{
var epos=THIN_CS.prototype.getScrollPosition(e);
var spos=THIN_CS.prototype.getScrollPosition(THIN_CS.prototype.getStandParent(refer));
var s=THIN_CS.prototype.getStandParent(refer);
return {left:epos.left-spos.left-s.clientLeft,top:epos.top-spos.top-s.clientTop};
}
//get the best position to put the popup panel
THIN_CS.prototype.adjustPopupPanel= function(container,e,pos)
{
var cw=e.document.body.clientWidth;
var ch=e.document.body.clientHeight;
var fw=container.offsetWidth;
var fh=container.offsetHeight;
var ew=e.offsetWidth;
var eh=e.offsetHeight;
var ecpos=THIN_CS.prototype.getClientPosition(e);
var empos={left:ecpos.left+ew/2,top:ecpos.top+eh/2};
var pcpos=THIN_CS.prototype.getClientPosition(THIN_CS.prototype.getStandParent(container));
var fcpos=THIN_CS.prototype.getClientPosition(container);
var fmpos={left:pcpos.left+pos.left+fw/2,top:pcpos.top+pos.top+fh/2};
if( (fmpos.left<empos.left) ? ((fmpos.left-fw/2<0)&&((empos.left*2-fmpos.left)+fw/2<=cw)) : ((fmpos.left+fw/2>cw)&&((empos.left*2-fmpos.left)-fw/2>=0)) )
fmpos.left=empos.left*2-fmpos.left;
if( (fmpos.top<empos.top) ? ((fmpos.top-fh/2<0)&&((empos.top*2-fmpos.top)+fh/2<=ch)) : ((fmpos.top+fh/2>ch)&&((empos.top*2-fmpos.top)-fh/2>=0)) )
fmpos.top=empos.top*2-fmpos.top;
pos.left=fmpos.left-pcpos.left-fw/2;
pos.top=fmpos.top-pcpos.top-fh/2;
}
// Adds an event listener to an html element. use this function on body 's onload event or the position after the element.
THIN_CS.prototype.addEventListener = function(obj,eventName,callbackFunction,flag)
{
if (obj.addEventListener) {
obj.addEventListener(eventName,callbackFunction,flag);
}
else if (obj.attachEvent) {
obj.attachEvent("on"+eventName,callbackFunction);
}
else {
eval("obj.on"+eventName+"="+callbackFunction);
}
}
// Obtains the proper source element in relation to an event
THIN_CS.prototype.getSourceElement = function (evnt, o)
{
if(evnt.target) // This does not appear to be working for Netscape
return evnt.target;
else
if(evnt.srcElement)
return evnt.srcElement;
else
return o;
}
THIN_CS.prototype.stringTrim= function(v)
{
return v.replace(/^\s+|\s+$/g,'');
}
}
var CS = new THIN_CS();
</script>
<table id="DataChooser_tablepanel" border="0" style="font-size:9pt;border-width:1px;border-style:Solid;cursor:default;filter:revealTrans();">
<tr height="16">
<td width="100%">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="10%" id="DataChooser_yprev" style='font-size:9pt;font-family:webdings;'>9</td>
<td width="10%" id="DataChooser_mprev" style='font-size:9pt;font-family:webdings;'>7</td>
<td width="30%" ><select id="DataChooser_ysel"><option>2000</option>
</select></td>
<td width="30%" ><select id="DataChooser_msel">
</select></td>
<td width="10%" id="DataChooser_mnext" style='font-size:9pt;font-family:webdings;'>8</td>
<td width="10%" id="DataChooser_ynext" style='font-size:9pt;font-family:webdings;'>:</td>
</tr>
</table>
</td>
</tr>
<tr height="2">
<td colspan="3" align="center">
<div id="DataChooser_separator" style="font-size:0px;border-bottom-width:1px;border-bottom-style:solid;"> </div>
<div style="font-size:0px;border-top:1px solid #eeeeee;"> </div>
</td>
</tr>
<tr>
<td colspan="3">
<table id="DataChooser_tabledays" height="124" width="202" border="1px" style='border-width:1px;border-style:Solid;border-collapse:collapse;'>
<tr style='font-weight:bold;font-family:fixedsys;'>
<td align=center></td>
<td align=center></td>
<td align=center></td>
<td align=center></td>
<td align=center></td>
<td align=center></td>
<td align=center></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<button id="DataChooser_btntd" hidefocus="1" onfocus='blur()' style='width:62px;cursor:hand;border:1px outset;font-size:9pt;padding-top:2px;'></button>
<button id="DataChooser_btnbl" hidefocus="1" onfocus='blur()' style='width:62px;cursor:hand;border:1px outset;font-size:9pt;padding-top:2px;'></button>
<button id="DataChooser_btnok" hidefocus="1" onfocus='blur()' style='width:62px;cursor:hand;border:1px outset;font-size:9pt;padding-top:2px;'></button>
</td>
</tr>
</table>
<iframe id=DataChooser_iframe name='DataChooseriframe' src='about:blank' frameBorder=0 style='width:0px;height:0px;filter:revealTrans();visibility:hidden;'></iframe>
<script language="javascript">
var thin_date_chooser_rng;
var thin_date_chooser_interval;
var thin_date_chooser_delay = 500;
var thin_date_chooser_activing;
var win=window;
var lightcolor=element.LightColor||"#DCEDFD";
var midcolor = element.MidColor||"#C5D5FC";
var darkcolor = element.DarkColor || "#83A6F4";
var _bordercolor = element.BorderColors || "#ABC1F4";
var overcolor = element.OverColor||"#ff9900";
var wrongbackcolor = element.WrongBackColor||"pink";
var wrongforecolor = element.WrongForeColor ||'red';
var currentbackcolor = element.CurrentBackColor||'#FF9900';
var currentforecolor = element.CurrentForeColor||'white';
var todaybackcolor = element.TodayBackColor ||'#0066FF';
var todayforecolor = element.TodayForeColor||'white';
var otherbackcolor = element.OtherBackColor ||'';
var otherforecolor = element.OtherForeColor||'#606060';
var monthbackcolor = element.MonthBackColor ||'';
var monthforecolor = element.MonthForeColor ||'mediumblue';
var dateformatseparator = element.DateFormatSeparator || "-";
var dateformat = (dateformatseparator == "/")?"yyyy/MM/dd":"yyyy-MM-dd";
var panelcontainer = element.Container || "None";
var isvalidted = true;
var tablepanel;
var outerPanel;
var showed=false;
var date;
var uidate=null;
var mprev;
var mnext;
var yprev;
var ynext;
var msel;
var ysel;
var tabledays;
var panelshowed = false;
var btntd;
var btnok;
var btnbl;
var dopostback;
var readonly = element.ReadOnly || "False";
var showop = element.ShowOP ||"1";
showop = showop == "1";
readonly = (readonly=="True")?true:false;
var separator;
var maxdate = element.MaxDate||"9998/11/31";
maxdate = CS.replace(maxdate,"-","/");
maxdate = new Date(maxdate);
var mindate = element.MinDate||"0001/01/01";
mindate = CS.replace(mindate,"-","/");
mindate = new Date(mindate);
var orgvalue = element.OrgValue || "";
orgvalue = CS.replace(orgvalue,"/",dateformatseparator);
orgvalue = CS.replace(orgvalue,"-",dateformatseparator);
var weeknames,monthnames;
var transtype = element.RevealTransitType || -1;
transtype = transtype * 1;
transtype = (transtype > 23 )?-1:transtype;
var transduration = element.RevealTransitDuration || 0;
transduration = transduration * 1;
var btndropdown;
var btnadd;
var btnreduce;
var input;
var allownull = element.AllowNull || "False";
allownull = (allownull == "False")?false:true;
btndropdown = element.rows[0].cells[0].getElementsByTagName("IMG")[0];
btnadd = element.rows[0].cells[2].getElementsByTagName("TABLE")[0].rows[0].cells[0].getElementsByTagName("IMG")[0];
btnreduce = element.rows[0].cells[2].getElementsByTagName("TABLE")[0].rows[1].cells[0].getElementsByTagName("IMG")[0];
input = element.rows[0].cells[1].getElementsByTagName("INPUT")[0];
dopostback = input.onchange;
input.value = CS.replace(CS.replace(input.value,"-","/"),"/",dateformatseparator);
function SD(date,value)
{
date.setDate(date.getDate()+value);
}
function SM(date,value)
{
date.setMonth(date.getMonth()+value);
}
function SY(date,value)
{
date.setFullYear(date.getFullYear()+value);
}
function IT(date)
{
return IDE(date,new Date());
}
function ITM(date)
{
return IME(date,new Date());
}
function IME(date1,date2)
{
return date1.getMonth()==date2.getMonth()&&date1.getFullYear()==date2.getFullYear();
}
function IDE(date1,date2)
{
return date1.getDate()==date2.getDate()&&IME(date1,date2);
}
function GMDL(date)
{
switch(date.getMonth()+1)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
return 31;
case 4:case 6:case 9:case 11:
return 30;
}
date=new Date(date);
var lastd=28;
date.setDate(29);
while(date.getMonth()==1)
{
lastd++;
SD(date,1);
}
return lastd;
}
function GFY(date)
{
var v=date.getYear();
if(v>9)return v.toString();
return "0"+v;
}
function GFM(date)
{
var v=date.getMonth()+1;
if(v>9)return v.toString();
return "0"+v;
}
function GFD(date)
{
var v=date.getDate();
if(v>9)return v.toString();
return "0"+v;
}
function Replace(str,from,to)
{
return str.split(from).join(to);
}
function FD(date,str)
{
str=Replace(str,"yyyy",date.getFullYear());
str=Replace(str,"MM",GFM(date));
str=Replace(str,"dd",GFD(date));
str=Replace(str,"yy",GFY(date));
str=Replace(str,"M",date.getMonth()+1);
str=Replace(str,"d",date.getDate());
return str;
}
function CTD(str)
{
str=(str+"").replace(/^\s*/g,"").replace(/\s*$/g,"");
var d;
if(/^[0-9]{8}$/.test(str))
{
d=new Date(new Number(str.substr(0,4)),new Number(str.substr(4,2))-1,new Number(str.substr(6,2)));
if(d.getTime())return d;
}
d=new Date(str);
if(d.getTime())return d;
d=new Date(Replace(str,"-","/"));
if(d.getTime())return d;
return null;
}
function AO(sel,n,v)
{
var option=sel.document.createElement('OPTION');
option.text=n;
option.value=v;
sel.options.add(option);
}
if(element.Culture == 'Cn')
{
try
{
//weeknames = datechooserweeknames ? datechooserweeknames:new Array('\u65E5','\u4E00','\u4E8C','\u4E09','\u56DB','\u4E94','\u516D');
//monthnames = datechoosermonthnames ?datechoosermonthnames:new Array('\u4E00\u6708','\u4E8C\u6708','\u4E09\u6708','\u56DB\u6708','\u4E94\u6708','\u516D\u6708','\u4E03\u6708','\u516B\u6708','\u4E5D\u6708','\u5341\u6708','\u5341\u4E00\u6708','\u5341\u4E8C\u6708');
weeknames = new Array('\u65E5','\u4E00','\u4E8C','\u4E09','\u56DB','\u4E94','\u516D');
monthnames = new Array('\u4E00\u6708','\u4E8C\u6708','\u4E09\u6708','\u56DB\u6708','\u4E94\u6708','\u516D\u6708','\u4E03\u6708','\u516B\u6708','\u4E5D\u6708','\u5341\u6708','\u5341\u4E00\u6708','\u5341\u4E8C\u6708');
}
catch(e)
{
weeknames=new Array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
monthnames = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
}
}
else
{
weeknames=new Array('sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat');
monthnames = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
}
if(GEV() != null ||GEV() != "")
{
date = CTD(GEV())||(CTD(orgvalue)||new Date());
}
else
{
date = CTD(orgvalue)||new Date();
}
function I(getelement)
{
tablepanel=getelement("DataChooser_tablepanel");
mprev=getelement('DataChooser_mprev');
mnext=getelement('DataChooser_mnext');
yprev=getelement('DataChooser_yprev');
ynext=getelement('DataChooser_ynext');
msel=getelement('DataChooser_msel');
ysel=getelement('DataChooser_ysel');
tabledays=getelement('DataChooser_tabledays');
btntd=getelement('DataChooser_btntd');
btnok=getelement('DataChooser_btnok');
btnbl=getelement('DataChooser_btnbl');
separator = getelement('DataChooser_separator');
AS();
IE(getelement);
}
function AS()
{
tablepanel.style.backgroundColor = lightcolor;
separator.style.borderBottomColor=yprev.style.color = ynext.style.color = mprev.style.color = mnext.style.color = tabledays.rows[0].style.color = btntd.style.backgroundColor = btnbl.style.backgroundColor = btnok.style.backgroundColor = darkcolor;
btnadd.parentElement.style.backgroundColor = btnreduce.parentElement.style.backgroundColor = btndropdown.parentElement.style.backgroundColor = tabledays.rows[0].style.backgroundColor = midcolor;
btnadd.parentElement.style.borderColor= btnreduce.parentElement.style.borderColor=btndropdown.parentElement.style.borderColor=element.style.borderColor=tablepanel.style.borderColor = tabledays.borderColor= tabledays.style.borderColor = btnok.style.borderColor = btnbl.style.borderColor = btntd.style.borderColor = _bordercolor;
if(!showop)
element.rows[0].cells[2].style.display = 'none';
}
function IE()
{
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
if(!allownull)
btnbl.style.display='none';
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -