⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datechooser.htc

📁 聊天客户端服务程序
💻 HTC
📖 第 1 页 / 共 3 页
字号:
	var today = new Date();
	if(today < Mindate || today > Maxdate)
	    btntd.style.display = 'none';
	if(element.Culture == 'Cn')
	{
		try
		{
			mprev.title= "\u4E0A\u4E00\u4E2A\u6708";
			mnext.title= "\u4E0B\u4E00\u4E2A\u6708";
			yprev.title= "\u4E0A\u4E00\u5E74";
			ynext.title= "\u4E0B\u4E00\u5E74";
			btntd.innerText = "\u4ECA\u5929";
			btnok.innerText = "\u5173\u95ED";
			btnbl.innerText = "\u6E05\u7A7A";
		}
		catch(e)
		{
			mprev.title="Select previous month";
			mnext.title="Select next month";
			yprev.title="Select previous year";
			ynext.title="Select next year";
			btntd.innerText = "Today";
			btnok.innerText = "Close";
			btnbl.innerText = "Clear";
		}
	}
	else
	{
		mprev.title="Select previous month";
		mnext.title="Select next month";
		yprev.title="Select previous year";
		ynext.title="Select next year";
		btntd.innerText = "Today";
		btnok.innerText = "Close";
		btnbl.innerText = "Clear";
	}
	for(var i = 0 ; i < 7 ;i ++)
	{
		tabledays.rows[0].cells[i].innerText = weeknames[i];
	}
	
	CMO();
	ysel.options.length=0;
	
	CYO();
	function tablepanel.onselectstart()
	{
		return win.event.returnValue=false;
	}
	
	var labels=[mprev,mnext,yprev,ynext];

	for(var i=0;i<labels.length;i++)
	{
		if(labels[i].disabled!=true&&labels[i].currentStyle.disabled!='1')
		{
			labels[i].style.cursor='hand';
			labels[i].onmouseover=OLMO;
			labels[i].onmouseout=OLMOT;
		}
	}
	
	msel.onchange=ysel.onchange=
	function FromUIDateOfSelect()
	{
		date=new Date(ysel.value,msel.options[msel.selectedIndex].value*1 - 1 ,date.getDate());
		UAS();
	}
	

	mprev.ondblclick=function mprev.onclick(){ SetM(-1); }
	mnext.ondblclick=function mnext.onclick(){ SetM(1); }
	
	yprev.ondblclick=function yprev.onclick(){ SetY(-1); }
	ynext.ondblclick=function ynext.onclick(){ SetY(1); }
	
	function btntd.onclick()
	{
		date=new Date();
		UAS();
	}
	function btnbl.onclick()
	{
		SEV("");
		HP();
	}
	function btnok.onclick()
	{
		STE();
		HP();
	}
	
	outerPanel.style.position='absolute';
	outerPanel.style.left=0;
	outerPanel.style.top=0;
	outerPanel.style.display='none';
	outerPanel.style.zIndex=1000;

	element.document.body.insertAdjacentElement('afterbegin',outerPanel);
	
	CS.addEventListener(btndropdown,'click',element_onpopup);
	CS.addEventListener(btndropdown,'mousedown',OBMD);
	CS.addEventListener(btndropdown,'mouseover',OBMO);
	CS.addEventListener(btndropdown,'mouseout',OBMOT);
	CS.addEventListener(btndropdown,'mouseup',OBMU);
	function element_onpopup()
	{
		SP();
		if(event.type=='contextmenu')
			return event.returnValue=false;
	}
	
    if(element.tagName != "TABLE")
        window.status = "Can't initialize DateChooser...";
    CS.addEventListener(input,"click",sD);
    CS.addEventListener(btnadd,"click",DA);
    CS.addEventListener(btnadd,"mousedown",A);
    CS.addEventListener(btnadd,"mouseup",S);
    CS.addEventListener(btnadd,"mouseover",CFOV);
    CS.addEventListener(btnadd,"mouseout",CFOO);
    CS.addEventListener(btnreduce,"click",DR);
    CS.addEventListener(btnreduce,"mousedown",A);
    CS.addEventListener(btnreduce,"mouseup",S);
    CS.addEventListener(btnreduce,"mouseover",CFOV);
    CS.addEventListener(btnreduce,"mouseout",CFOO);
    Maxdate = null;
    Mindate = null;

}

function SetD(d)
{
	SD(date,d)
	UAS();
}
function SetM(m)
{
	SM(date,m)
	UAS();
}
function SetY(y)
{
	SY(date,y)
	UAS();
}


function UAS()
{
	UUI();
	STE();
}

function SW()
{
    isvalidted = false;
	input.runtimeStyle.backgroundColor=wrongbackcolor;
	input.runtimeStyle.color=wrongforecolor;
}
function SR()
{
    isvalidted = true;
	input.runtimeStyle.backgroundColor=''
	input.runtimeStyle.color=''
}

var sbt=false;
function SEV(str)
{
	sbt=true;
	try
	{
		input.value=str;
	}
	finally
	{
		sbt=false;
	}
}
function GEV()
{
	return input.value.replace(/^\s*/g,"").replace(/\s*$/g,"");
}

function STE()
{
	SR();
	//date = (date < mindate)?mindate:date;
	//date = (date > maxdate)?maxdate:date;
   	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(date < Mindate)
		date = Mindate;
	if(date > Maxdate)
		date = Maxdate;
	Mindate = null;
	Maxdate = null;
	if(allownull && CS.stringTrim(input.value) == ""&&(!showed))
	    return;
	if(input.value != (FD(date,dateformat||"yyyy-MM-dd")))
	{
	    SEV(FD(date,dateformat||"yyyy-MM-dd"));
	    
		if(dopostback &&parent.__doPostBack)
		{
			eval("parent.__doPostBack('"+input.name+"','');");
		}

	}
	//input.select();
}
function SFE()
{
	var value=GEV();
	if(allownull&&value=='')
	{
		SR();
		return;
	}
	var d=CTD(value);
	if(d)
	{   	
	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((d < Mindate)||(d > Maxdate))
		{
		    SW();
	        d = (d < Mindate)?Mindate:d;
	        d = (d > Maxdate)?Maxdate:d;
		 }
		else
		    SR();
		date=d;
		Mindate = null;
		Maxdate = null;
		if(showed)
			UUI();
		return;
	}
	SW();
}

function UUI()
{
       	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(uidate&&IDE(date,uidate))return;
	date = (date > Maxdate)?Maxdate:date;
	date = (date < Mindate)?Mindate:date;
	Mindate = null;
	Maxdate = null;
	uidate=new Date(date);
	yprev.disabled = ynext.disabled = mprev.disabled = mnext.disabled = false;
	CYO();
	CMO();
	CD();
}
function CYO()
{
   	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);	
	yprev.disabled = (date.getFullYear() < Mindate.getFullYear());
	ynext.disabled = (date.getFullYear() > Maxdate.getFullYear());
	if(date.getFullYear() == maxdate.getFullYear())
	{
		ynext.disabled = true;
		if(date.getMonth() >=  Maxdate.getMonth())
			mnext.disabled = true;		
	}
	if(date.getFullYear() == Mindate.getFullYear())
	{
		yprev.disabled = true;
		if(date.getMonth() <= Mindate.getMonth())
			mprev.disabled = true;
		
	}	
	var dc=GMDL(date);
	if(maxdate.getFullYear() - Mindate.getFullYear() > 40)
	{
	    var tyear=date.getFullYear();
    	if(ysel.options.length == 0 || ysel.options[0] == null)
	    {
			for(var i=tyear-20;i<tyear+20;i++)
				AO(ysel,i,i);
		}
		var ymiddle=parseInt(ysel.options(Math.ceil(ysel.options.length/2)).value);
		if(date.getFullYear()>ymiddle+8||date.getFullYear()<ymiddle-8)
		{
			ymiddle=date.getFullYear();
			ysel.options.length=0;
			var startyear = (ymiddle - 20 < Mindate.getFullYear())?Mindate.getFullYear():ymiddle-20;
			var endyear = ymiddle + 20 + ((20 + Mindate.getFullYear() - ymiddle  > 0)?(20 + Mindate.getFullYear() - ymiddle):0);
			if(endyear > Maxdate.getFullYear())
			{
				startyear = startyear - (endyear - Maxdate.getFullYear());
				endyear = Maxdate.getFullYear();
			}
			if(startyear < Mindate.getFullYear())
				startyear = Mindate.getFullYear();
			for(var i=startyear;i<=endyear;i++)
			{
				AO(ysel,i,i);
			}
			ysel.value=ymiddle;
		}
	}
	else
	{
	    if(ysel.options.length == 0 || ysel.options[0] == null)
	    {
	        for(var i = Mindate.getFullYear() ; i < Maxdate.getFullYear()+1 ; i ++)
	        {
	            AO(ysel,i,i);
	        }
	    }
	}
	if(ysel.selectedIndex == null||ysel.selectedIndex < 0 || ysel.options[ysel.selectedIndex].value!=date.getFullYear())
	{
		SSO(ysel,date.getFullYear());
	}
	Maxdate = null;
	Mindate = null
    
}
function CMO()
{
       	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(date.getFullYear()!=Mindate.getFullYear() && date.getFullYear() != Maxdate.getFullYear())
	{
	    if(msel.options.length != 12)
	    {
	        msel.options.length = 0;
	        for(var i=0;i<12;i++)
	        {
		        var mop = document.createElement("OPTION");
		        mop.text = monthnames[i];
		        msel.options.add(mop);
		        msel.options[i].value=i+1;
	        }
	    }
	}
	else
	{
	    if(date.getFullYear() == Mindate.getFullYear()&&date.getFullYear() == Maxdate.getFullYear())
	    {
	        msel.options.length = 0;
	        var j = 0;
	        for(var i = Mindate.getMonth(); i < Maxdate.getMonth() + 1 ; i ++,j++)
	        {
		        var mop = document.createElement("OPTION");
		        mop.text = monthnames[i];
		        msel.options.add(mop);
		        msel.options[j].value=i+1;	        
	        }
	    }
	    else
	    {
	        if(date.getFullYear() == Mindate.getFullYear())
	        {
	            var j = 0 ;
	            msel.options.length = 0 ;
	            for(var i = Mindate.getMonth(); i < 12 ; i ++,j++)
	            {
		            var mop = document.createElement("OPTION");
		            mop.text = monthnames[i];
		            msel.options.add(mop);
		            msel.options[j].value=i+1;
	                
	            }
	        }
	        else
	        {
	            msel.options.length = 0 ;
	            var j = 0 ;
	            for(var i = 0; i < Maxdate.getMonth() + 1 ; i ++,j++)
	            {
		            var mop = document.createElement("OPTION");
		            mop.text = monthnames[i];
		            msel.options.add(mop);
		            msel.options[j].value=i+1;
	                
	            }
	        }
	    }
	}
	if(msel.options[msel.selectedIndex].value * 1!=date.getMonth()+1)
	{
		SSO(msel,date.getMonth()+1);
	}
	Maxdate = null;
	Mindate = null;
}
function SSO(sel,v)
{
    for(var i = 0 ; i < sel.options.length ; i ++)
    {
        if(sel.options[i].value == v.toString())
        {
            sel.options[i].selected = true;
            return;
        }
    }
}
function CD()
{
	while(tabledays.rows.length>1)tabledays.deleteRow(1);
	var eachday=new Date(date.getFullYear(),date.getMonth(),1);
	SD(eachday,-eachday.getDay());
	var arr=[];
	do
	{
		var wds=[];
		for(var i=0;i<7;i++)
		{
			wds[i]=new Date(eachday);
			SD(eachday,1)
		}
		arr[arr.length]=wds;
	}
	while(eachday.getYear()==date.getYear()&&eachday.getMonth()==date.getMonth());
	if(arr.length > 5)
		outerPanel.style.height = "218";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -