diff --git a/README.md b/README.md
index 7f2a7cc..df40693 100644
--- a/README.md
+++ b/README.md
@@ -1,28 +1,16 @@
## 文件说明
-laydate.js是压缩后的
+laydate.js是压缩后的核心代码,laydate.dev.js是开发版的源代码。
+need目录存放着核心css
+skins是皮肤目录
+将laydate pull到你的本地后,把他们存放到您js相关目录下的laydate目录,不要改动laydate的结构,否则无法正常运行。
## 愿景
-致力于打造国内最盛行的弹层组件,为web开发提供强劲动力。
+做全球最好的web日期控件。
## 简要
-layer遵循于LGPL开源协议,她是一枚可以让你想到即可做到的新生代web弹窗/层js组件。layer侧重于用户灵活的自定义,为不同人的使用习惯提供全方位设计,您的页面会因此拥有更丰富、友好的操作体验,而您只需在调用时简单地配置相关参数,即可轻松实现各类交互。
-
-与同类弹出层组件相比,layer的优势明显,她尽可能地在以更少的代码展现出更强健的功能。layer格外注重性能的提升、易用和实用性,正因如此,越来越多的开发者将媚眼投上了小小的layer。当你问及她的兼容时,layer必须告诉你,她兼容了一切浏览器,包括古老的ie6。layer公开了如此多的接口,这使得您可以DIY太多您需要的风格,尤其是页面层模式,意味着必要时您可以完全抛弃layer的现有皮肤,并用你的思维去勾勒她的衣着。而问题在于,我必须中止“王婆卖瓜”的陈述。因为一切的不足或友好,都需要您在使用过程中去发现。
-
-## 现状
-从两年前初出茅庐,到后来成为小众组件,再发展到今天,已为数以万计的人所熟知。
-据不完全统计,截至到2014年5月13号,layer已服务于15万多家web平台。
-其中包括:
-* [中国联通](http://app.10010.com/)
-* [蚂蚁短租](http://www.mayi.com/)
-* [phpyun](http://www.phpyun.com/)
-* [卡牌网](http://www.kapai.com/)
-* [八圆包](http://www.bayuanbao.com/)
-
-
-事实上我们无法获取到更多案例,所以如果您有大型项目也在使用layer,您可以联系作者,以便在layer官网展现,也为您的品牌推广尽一些绵薄之力。
+她基于原生JavaScript精心雕琢,兼容了包括IE6在内的所有主流浏览器。她具备优雅的内部代码,良好的性能体验,和完善的皮肤体系,并且完全开源,你可以任意获取开发版源代码,一扫某些传统日期控件的封闭与狭隘。layDate本着资源共享的开发者精神和对网页日历交互无穷的追求,延续了layui一贯的简单与易用。她遵循LGPL协议,您可以免费将她用于任何个人项目。
## 备注
-[官网](http://sentsin.com/jquery/layer/)、[更新日志](https://github.com/sentsin/layer/blob/master/Update%20Notes.txt)、[Say交流](http://say.sentsin.com/home-48.html)、[商业支持](http://url.cn/RAejZY)
\ No newline at end of file
+[官网](http://sentsin.com/layui/laydate/)、[Say交流](http://say.sentsin.com/home-58.html)
\ No newline at end of file
diff --git a/laydate.dev.js b/laydate.dev.js
new file mode 100644
index 0000000..a969313
--- /dev/null
+++ b/laydate.dev.js
@@ -0,0 +1,857 @@
+/**
+
+ @Name : layDate v1.0 日期控件
+ @Author: 贤心
+ @Date: 2014-06-20
+ @QQ群:176047195
+ @Site:http://sentsin.com/layui/laydate
+
+ */
+
+;!function(win){
+
+//全局配置,如果采用默认均不需要改动
+var config = {
+ path: '', //laydate所在路径
+ defSkin: 'default', //初始化皮肤
+ format: 'YYYY-MM-DD', //日期格式
+ min: '1900-01-01 00:00:00', //最小日期
+ max: '2099-12-31 23:59:59', //最大日期
+ isv: false
+};
+
+var Dates = {}, doc = document, creat = 'createElement', byid = 'getElementById', tags = 'getElementsByTagName';
+var as = ['laydate_box', 'laydate_void', 'laydate_click', 'LayDateSkin', 'skins/', '/laydate.css'];
+
+
+//主接口
+win.laydate = function(options){
+ options = options || {};
+ try{
+ win.event = win.event || laydate.caller.arguments[0];
+ }catch(e){};
+ win.event && (options.tagName = 1);
+ Dates.run(options);
+ return laydate;
+};
+
+laydate.v = '1.0';
+
+//获取组件存放路径
+Dates.getPath = (function(){
+ var js = document.scripts, jsPath = js[js.length - 1].src;
+ return config.path ? config.path : jsPath.substring(0, jsPath.lastIndexOf("/") + 1);
+}());
+
+Dates.use = function(lib, id){
+ var link = doc[creat]('link');
+ link.type = 'text/css';
+ link.rel = 'stylesheet';
+ link.href = Dates.getPath + lib + as[5];
+ id && (link.id = id);
+ doc[tags]('head')[0].appendChild(link);
+ link = null;
+};
+
+Dates.trim = function(str){
+ str = str || '';
+ return str.replace(/^\s|\s$/g, '').replace(/\s+/g, ' ');
+};
+
+//补齐数位
+Dates.digit = function(num){
+ return num < 10 ? '0' + num : num;
+};
+
+Dates.stopmp = function(e){
+ e = e || win.event;
+ e.stopPropagation ? e.stopPropagation() : e.cancelBubble = true;
+ return this;
+};
+
+Dates.each = function(arr, fn){
+ var i = 0, len = arr.length;
+ for(; i < len; i++){
+ if(fn(i, arr[i]) === false){
+ break
+ }
+ }
+};
+
+Dates.hasClass = function(elem, cls){
+ elem = elem || {};
+ return new RegExp('\\b' + cls +'\\b').test(elem.className);
+};
+
+Dates.addClass = function(elem, cls){
+ elem = elem || {};
+ Dates.hasClass(elem, cls) || (elem.className += ' ' + cls);
+ elem.className = Dates.trim(elem.className);
+ return this;
+};
+
+Dates.removeClass = function(elem, cls) {
+ elem = elem || {};
+ if (Dates.hasClass(elem, cls)) {
+ var reg = new RegExp('\\b' + cls +'\\b');
+ elem.className = elem.className.replace(reg, '');
+ }
+ return this;
+};
+
+//清除css属性
+Dates.removeCssAttr = function(elem, attr){
+ var s = elem.style;
+ if(s.removeProperty){
+ s.removeProperty(attr);
+ } else {
+ s.removeAttribute(attr);
+ }
+};
+
+//显示隐藏
+Dates.shde = function(elem, type){
+ elem.style.display = type ? 'none' : 'block';
+};
+
+//简易选择器
+Dates.query = function(node){
+ var node = (Dates.trim(node)).split(' '), elemId = doc[byid](node[0].substr(1)), arr;
+ if(!elemId){
+ return;
+ } else if(!node[1]){
+ return elemId;
+ } else if(/^\./.test(node[1])){
+ var find, child = node[1].substr(1), exp = new RegExp('\\b' + child +'\\b');
+ arr = []
+ find = doc.getElementsByClassName ? elemId.getElementsByClassName(child) : elemId[tags]('*');
+ Dates.each(find, function(ii, that){
+ exp.test(that.className) && arr.push(that);
+ });
+ return arr[0] ? arr : '';
+ } else {
+ arr = elemId[tags](node[1]);
+ return arr[0] ? elemId[tags](node[1]) : '';
+ }
+};
+
+//事件监听器
+Dates.on = function(elem, even, fn){
+ elem.attachEvent ? elem.attachEvent('on'+ even, function(){
+ fn.call(elem, win.even);
+ }) : elem.addEventListener(even, fn, false);
+ return Dates;
+};
+
+//阻断mouseup
+Dates.stopMosup = function(evt, elem){
+ if(evt !== 'mouseup'){
+ Dates.on(elem, 'mouseup', function(ev){
+ Dates.stopmp(ev);
+ });
+ }
+};
+
+Dates.run = function(options){
+ var S = Dates.query, elem, devt;
+ if(!options.tagName){
+ elem = S(options.elem);
+ if(!elem){
+ return;
+ }
+ devt = options.event || 'click';
+ Dates.each((elem.length|0) > 0 ? elem : [elem], function(ii, that){
+ Dates.on(that, devt, function(ev){
+ Dates.stopmp(ev);
+ if(that !== Dates.elem){
+ Dates.view(that, options);
+ Dates.reshow();
+ }
+ });
+ Dates.stopMosup(devt, that);
+ });
+ } else {
+ elem = options.elem ? S(options.elem) : (event.target || event.srcElement);
+ if(!elem || elem === Dates.elem){
+ return;
+ }
+ Dates.view(elem, options);
+ Dates.stopMosup(event.type, elem);
+ Dates.reshow();
+ }
+};
+
+Dates.scroll = function(type){
+ type = type ? 'scrollLeft' : 'scrollTop';
+ return doc.body[type] | doc.documentElement[type];
+};
+
+Dates.winarea = function(type){
+ return document.documentElement[type ? 'clientWidth' : 'clientHeight']
+};
+
+//判断闰年
+Dates.isleap = function(year){
+ return (year%4 === 0 && year%100 !== 0) || year%400 === 0;
+};
+
+//检测是否在有效期
+Dates.checkVoid = function(YY, MM, DD){
+ var back = [];
+ YY = YY|0;
+ MM = MM|0;
+ DD = DD|0;
+ if(YY < Dates.mins[0]){
+ back = ['y'];
+ } else if(YY > Dates.maxs[0]){
+ back = ['y', 1];
+ } else if(YY >= Dates.mins[0] && YY <= Dates.maxs[0]){
+ if(YY == Dates.mins[0]){
+ if(MM < Dates.mins[1]){
+ back = ['m'];
+ } else if(MM == Dates.mins[1]){
+ if(DD < Dates.mins[2]){
+ back = ['d'];
+ }
+ }
+ }
+ if(YY == Dates.maxs[0]){
+ if(MM > Dates.maxs[1]){
+ back = ['m', 1];
+ } else if(MM == Dates.maxs[1]){
+ if(DD > Dates.maxs[2]){
+ back = ['d', 1];
+ }
+ }
+ }
+ }
+ return back;
+};
+
+//时分秒的有效检测
+Dates.timeVoid = function(times, index){
+ if(Dates.ymd[1]+1 == Dates.mins[1] && Dates.ymd[2] == Dates.mins[2]){
+ if(index === 0 && (times < Dates.mins[3])){
+ return 1;
+ } else if(index === 1 && times < Dates.mins[4]){
+ return 1;
+ } else if(index === 2 && times < Dates.mins[5]){
+ return 1;
+ }
+ } else if(Dates.ymd[1]+1 == Dates.maxs[1] && Dates.ymd[2] == Dates.maxs[2]){
+ if(index === 0 && times > Dates.maxs[3]){
+ return 1;
+ } else if(index === 1 && times > Dates.maxs[4]){
+ return 1;
+ } else if(index === 2 && times > Dates.maxs[5]){
+ return 1;
+ }
+ }
+ if(times > (index ? 59 : 23)){
+ return 1;
+ }
+};
+
+//检测日期是否合法
+Dates.check = function(){
+ var reg = Dates.options.format.replace(/YYYY|MM|DD|hh|mm|ss/g,'\\d+\\').replace(/\\$/g, '');
+ var exp = new RegExp(reg), value = Dates.elem[Dates.elemv];
+ var arr = value.match(/\d+/g) || [], isvoid = Dates.checkVoid(arr[0], arr[1], arr[2]);
+ if(value.replace(/\s/g, '') !== ''){
+ if(!exp.test(value)){
+ Dates.elem[Dates.elemv] = '';
+ Dates.msg('日期不符合格式,请重新选择。');
+ return 1;
+ } else if(isvoid[0]){
+ Dates.elem[Dates.elemv] = '';
+ Dates.msg('日期不在有效期内,请重新选择。');
+ return 1;
+ } else {
+ isvoid.value = Dates.elem[Dates.elemv].match(exp).join();
+ arr = isvoid.value.match(/\d+/g);
+ if(arr[1] < 1){
+ arr[1] = 1;
+ isvoid.auto = 1;
+ } else if(arr[1] > 12){
+ arr[1] = 12;
+ isvoid.auto = 1;
+ } else if(arr[1].length < 2){
+ isvoid.auto = 1;
+ }
+ if(arr[2] < 1){
+ arr[2] = 1;
+ isvoid.auto = 1;
+ } else if(arr[2] > Dates.months[(arr[1]|0)-1]){
+ arr[2] = 31;
+ isvoid.auto = 1;
+ } else if(arr[2].length < 2){
+ isvoid.auto = 1;
+ }
+ if(arr.length > 3){
+ if(Dates.timeVoid(arr[3], 0)){
+ isvoid.auto = 1;
+ };
+ if(Dates.timeVoid(arr[4], 1)){
+ isvoid.auto = 1;
+ };
+ if(Dates.timeVoid(arr[5], 2)){
+ isvoid.auto = 1;
+ };
+ }
+ if(isvoid.auto){
+ Dates.creation([arr[0], arr[1]|0, arr[2]|0], 1);
+ } else if(isvoid.value !== Dates.elem[Dates.elemv]){
+ Dates.elem[Dates.elemv] = isvoid.value;
+ }
+ }
+ }
+};
+
+//生成日期
+Dates.months = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
+Dates.viewDate = function(Y, M, D){
+ var S = Dates.query, log = {}, De = new Date();
+ Y < (Dates.mins[0]|0) && (Y = (Dates.mins[0]|0));
+ Y > (Dates.maxs[0]|0) && (Y = (Dates.maxs[0]|0));
+
+ De.setFullYear(Y, M, D);
+ log.ymd = [De.getFullYear(), De.getMonth(), De.getDate()];
+
+ Dates.months[1] = Dates.isleap(log.ymd[0]) ? 29 : 28;
+
+ De.setFullYear(log.ymd[0], log.ymd[1], 1);
+ log.FDay = De.getDay();
+
+ log.PDay = Dates.months[M === 0 ? 11 : M - 1] - log.FDay + 1;
+ log.NDay = 1;
+
+ //渲染日
+ Dates.each(as.tds, function(i, elem){
+ var YY = log.ymd[0], MM = log.ymd[1] + 1, DD;
+ elem.className = '';
+ if(i < log.FDay){
+ elem.innerHTML = DD = i + log.PDay;
+ Dates.addClass(elem, 'laydate_nothis');
+ MM === 1 && (YY -= 1);
+ MM = MM === 1 ? 12 : MM - 1;
+ } else if(i >= log.FDay && i < log.FDay + Dates.months[log.ymd[1]]){
+ elem.innerHTML = DD = i - log.FDay + 1;
+ if(i - log.FDay + 1 === log.ymd[2]){
+ Dates.addClass(elem, as[2]);
+ log.thisDay = elem;
+ }
+ } else {
+ elem.innerHTML = DD = log.NDay++;
+ Dates.addClass(elem, 'laydate_nothis');
+ MM === 12 && (YY += 1);
+ MM = MM === 12 ? 1 : MM + 1;
+ }
+
+ if(Dates.checkVoid(YY, MM, DD)[0]){
+ Dates.addClass(elem, as[1]);
+ }
+
+ Dates.options.festival && Dates.festival(elem, MM + '.' + DD);
+ elem.setAttribute('y', YY);
+ elem.setAttribute('m', MM);
+ elem.setAttribute('d', DD);
+ YY = MM = DD = null;
+ });
+
+ Dates.valid = !Dates.hasClass(log.thisDay, as[1]);
+ Dates.ymd = log.ymd;
+
+ //锁定年月
+ as.year.value = Dates.ymd[0] + '年';
+ as.month.value = Dates.digit(Dates.ymd[1] + 1) + '月';
+
+ //定位月
+ Dates.each(as.mms, function(i, elem){
+ var getCheck = Dates.checkVoid(Dates.ymd[0], (elem.getAttribute('m')|0) + 1);
+ if(getCheck[0] === 'y' || getCheck[0] === 'm'){
+ Dates.addClass(elem, as[1]);
+ } else {
+ Dates.removeClass(elem, as[1]);
+ }
+ Dates.removeClass(elem, as[2]);
+ getCheck = null
+ });
+ Dates.addClass(as.mms[Dates.ymd[1]], as[2]);
+
+ //定位时分秒
+ log.times = [
+ Dates.inymd[3]|0 || Dates.hmsin[0].value|0,
+ Dates.inymd[4]|0 || Dates.hmsin[1].value|0,
+ Dates.inymd[5]|0 || Dates.hmsin[2].value|0
+ ];
+ Dates.each(new Array(3), function(i){
+ Dates.hmsin[i].value = Dates.digit(Dates.timeVoid(log.times[i], i) ? Dates.mins[i+3]|0 : log.times[i]|0);
+ });
+
+ //确定按钮状态
+ Dates[Dates.valid ? 'removeClass' : 'addClass'](as.ok, as[1]);
+};
+
+//节日
+Dates.festival = function(td, md){
+ var str;
+ switch(md){
+ case '1.1':
+ str = '元旦';
+ break;
+ case '3.8':
+ str = '妇女';
+ break;
+ case '4.5':
+ str = '清明';
+ break;
+ case '5.1':
+ str = '劳动';
+ break;
+ case '6.1':
+ str = '儿童';
+ break;
+ case '9.10':
+ str = '教师';
+ break;
+ case '10.1':
+ str = '国庆';
+ break;
+ };
+ str && (td.innerHTML = str);
+ str = null;
+};
+
+//生成年列表
+Dates.viewYears = function(YY){
+ var S = Dates.query, str = '';
+ Dates.each(new Array(14), function(i){
+ if(i === 7) {
+ str += '
'+ YY +'年';
+ } else {
+ str += ''+ (YY-7+i) +'年';
+ }
+ });
+ S('#laydate_ys').innerHTML = str;
+ Dates.each(S('#laydate_ys li'), function(i, elem){
+ if(Dates.checkVoid(elem.getAttribute('y'))[0] === 'y'){
+ Dates.addClass(elem, as[1]);
+ } else {
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev).reshow();
+ Dates.viewDate(this.getAttribute('y')|0, Dates.ymd[1], Dates.ymd[2]);
+ });
+ }
+ });
+};
+
+//初始化面板数据
+Dates.initDate = function(){
+ var S = Dates.query, log = {}, De = new Date();
+ var ymd = Dates.inymd = Dates.elem[Dates.elemv].match(/\d+/g) || [];
+ if(ymd.length < 3){
+ Dates.options.start = Dates.options.start || '';
+ ymd = Dates.options.start.match(/\d+/g) || [];
+ if(ymd.length < 3){
+ ymd = [De.getFullYear(), De.getMonth()+1, De.getDate()];
+ }
+ }
+ Dates.viewDate(ymd[0], ymd[1]-1, ymd[2]);
+};
+
+//是否显示零件
+Dates.iswrite = function(){
+ var S = Dates.query, log = {
+ time: S('#laydate_hms')
+ };
+ Dates.shde(log.time, !Dates.options.istime);
+ Dates.shde(as.oclear, !('isclear' in Dates.options ? Dates.options.isclear : 1));
+ Dates.shde(as.otoday, !('istoday' in Dates.options ? Dates.options.istoday : 1));
+ Dates.shde(as.ok, !('issure' in Dates.options ? Dates.options.issure : 1));
+};
+
+//方位辨别
+Dates.orien = function(obj, pos){
+ var tops, rect = Dates.elem.getBoundingClientRect();
+ obj.style.left = rect.left + (pos ? 0 : Dates.scroll(1)) + 'px';
+ if(rect.bottom + obj.offsetHeight/1.5 <= Dates.winarea()){
+ tops = rect.bottom - 1;
+ } else {
+ tops = rect.top > obj.offsetHeight/1.5 ? rect.top - obj.offsetHeight + 1 : Dates.winarea() - obj.offsetHeight;
+ }
+ obj.style.top = tops + (pos ? 0 : Dates.scroll()) + 'px';
+};
+
+//吸附定位
+Dates.follow = function(obj){
+ if(Dates.options.fixed){
+ obj.style.position = 'fixed';
+ Dates.orien(obj, 1);
+ } else {
+ obj.style.position = 'absolute';
+ Dates.orien(obj);
+ }
+};
+
+//生成表格
+Dates.viewtb = (function(){
+ var tr, view = [], weeks = [ '日', '一', '二', '三', '四', '五', '六'];
+ var log = {}, table = doc[creat]('table'), thead = doc[creat]('thead');
+ thead.appendChild(doc[creat]('tr'));
+ log.creath = function(i){
+ var th = doc[creat]('th');
+ th.innerHTML = weeks[i];
+ thead[tags]('tr')[0].appendChild(th);
+ th = null;
+ };
+
+ Dates.each(new Array(6), function(i){
+ view.push([]);
+ tr = table.insertRow(0);
+ Dates.each(new Array(7), function(j){
+ view[i][j] = 0;
+ i === 0 && log.creath(j);
+ tr.insertCell(j);
+ });
+ });
+
+ table.insertBefore(thead, table.children[0]);
+ table.id = table.className = 'laydate_table';
+ tr = view = null;
+ return table.outerHTML.toLowerCase();
+}());
+
+//渲染控件骨架
+Dates.view = function(elem, options){
+ var S = Dates.query, div, log = {};
+ options = options || elem;
+
+ Dates.elem = elem;
+ Dates.options = options;
+ Dates.options.format || (Dates.options.format = config.format);
+ Dates.elemv = /textarea|input/.test(Dates.elem.tagName.toLocaleLowerCase()) ? 'value' : 'innerHTML';
+
+ Dates.mm = log.mm = [Dates.options.min || config.min, Dates.options.max || config.max];
+ Dates.mins = log.mm[0].match(/\d+/g);
+ Dates.maxs = log.mm[1].match(/\d+/g);
+
+ if(!Dates.box){
+ div = doc[creat]('div');
+ div.id = as[0];
+ div.className = as[0];
+ div.style.cssText = 'position: absolute;';
+ div.setAttribute('name', 'laydate-v'+ laydate.v);
+
+ div.innerHTML = log.html = ''
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'
+ +'
'+ function(){
+ var str = '';
+ Dates.each(new Array(12), function(i){
+ str += ''+ Dates.digit(i+1) +'月';
+ });
+ return str;
+ }() +'
'
+ +'
'
+ +'
'
+
+ + Dates.viewtb
+
+ +'';
+ doc.body.appendChild(div);
+ Dates.box = S('#'+as[0]);
+ Dates.events();
+ div = null;
+ } else {
+ Dates.shde(Dates.box);
+ }
+ Dates.follow(Dates.box);
+ options.zIndex ? Dates.box.style.zIndex = options.zIndex : Dates.removeCssAttr(Dates.box, 'z-index');
+ Dates.stopMosup('click', Dates.box);
+
+ Dates.initDate();
+ Dates.iswrite();
+ Dates.check();
+};
+
+//隐藏内部弹出元素
+Dates.reshow = function(){
+ Dates.each(Dates.query('#'+ as[0] +' .laydate_show'), function(i, elem){
+ Dates.removeClass(elem, 'laydate_show');
+ });
+ return this;
+};
+
+//关闭控件
+Dates.close = function(){
+ Dates.reshow();
+ Dates.shde(Dates.query('#'+ as[0]), 1);
+ Dates.elem = null;
+};
+
+//转换日期格式
+Dates.parse = function(ymd, hms, format){
+ format = format || (Dates.options ? Dates.options.format : config.format);
+ var getDates = format.replace(/YYYY/, ymd[0]);
+ getDates = getDates.replace(/MM/, Dates.digit(ymd[1])).replace(/DD/, Dates.digit(ymd[2]));
+ getDates = getDates.replace(/hh/, Dates.digit(hms[0]|0));
+ return getDates.replace(/mm/, Dates.digit(hms[1]|0)).replace(/ss/, Dates.digit(hms[2]|0));
+};
+
+//返回最终日期
+Dates.creation = function(ymd, hide){
+ var S = Dates.query, hms = Dates.hmsin;
+ var getDates = Dates.parse(ymd, [hms[0].value, hms[1].value, hms[2].value]);
+ Dates.elem[Dates.elemv] = getDates;
+ if(!hide){
+ Dates.close();
+ typeof Dates.options.choose === 'function' && Dates.options.choose(getDates);
+ }
+};
+
+//事件
+Dates.events = function(){
+ var S = Dates.query, log = {
+ box: '#'+as[0]
+ };
+
+ Dates.addClass(doc.body, 'laydate_body');
+
+ as.tds = S('#laydate_table td');
+ as.mms = S('#laydate_ms span');
+ as.year = S('#laydate_y');
+ as.month = S('#laydate_m');
+
+ //显示更多年月
+ Dates.each(S(log.box + ' .laydate_ym'), function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev).reshow();
+ Dates.addClass(this[tags]('div')[0], 'laydate_show');
+ if(!i){
+ log.YY = parseInt(as.year.value);
+ Dates.viewYears(log.YY);
+ }
+ });
+ });
+
+ Dates.on(S(log.box), 'click', function(){
+ Dates.reshow();
+ });
+
+ //切换年
+ log.tabYear = function(type){
+ if(type === 0){
+ Dates.ymd[0]--;
+ } else if(type === 1) {
+ Dates.ymd[0]++;
+ } else if(type === 2) {
+ log.YY -= 14;
+ } else {
+ log.YY += 14;
+ }
+ if(type < 2){
+ Dates.viewDate(Dates.ymd[0], Dates.ymd[1], Dates.ymd[2]);
+ Dates.reshow();
+ } else {
+ Dates.viewYears(log.YY);
+ }
+ };
+ Dates.each(S('#laydate_YY .laydate_tab'), function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev);
+ log.tabYear(i);
+ });
+ });
+
+
+ //切换月
+ log.tabMonth = function(type){
+ if(type){
+ Dates.ymd[1]++;
+ if(Dates.ymd[1] === 12){
+ Dates.ymd[0]++;
+ Dates.ymd[1] = 0;
+ }
+ } else {
+ Dates.ymd[1]--;
+ if(Dates.ymd[1] === -1){
+ Dates.ymd[0]--;
+ Dates.ymd[1] = 11;
+ }
+ }
+ Dates.viewDate(Dates.ymd[0], Dates.ymd[1], Dates.ymd[2]);
+ };
+ Dates.each(S('#laydate_MM .laydate_tab'), function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev).reshow();
+ log.tabMonth(i);
+ });
+ });
+
+ //选择月
+ Dates.each(S('#laydate_ms span'), function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev).reshow();
+ if(!Dates.hasClass(this, as[1])){
+ Dates.viewDate(Dates.ymd[0], this.getAttribute('m')|0, Dates.ymd[2]);
+ }
+ });
+ });
+
+ //选择日
+ Dates.each(S('#laydate_table td'), function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ if(!Dates.hasClass(this, as[1])){
+ Dates.stopmp(ev);
+ Dates.creation([this.getAttribute('y')|0, this.getAttribute('m')|0, this.getAttribute('d')|0]);
+ }
+ });
+ });
+
+ //清空
+ as.oclear = S('#laydate_clear');
+ Dates.on(as.oclear, 'click', function(){
+ Dates.elem[Dates.elemv] = '';
+ Dates.close();
+ });
+
+ //今天
+ as.otoday = S('#laydate_today');
+ Dates.on(as.otoday, 'click', function(){
+ var De = new Date();
+ Dates.creation([De.getFullYear(), De.getMonth()+1, De.getDate()]);
+ });
+
+ //确认
+ as.ok = S('#laydate_ok');
+ Dates.on(as.ok, 'click', function(){
+ if(Dates.valid){
+ Dates.creation([Dates.ymd[0], Dates.ymd[1]+1, Dates.ymd[2]]);
+ }
+ });
+
+ //选择时分秒
+ log.times = S('#laydate_time');
+ Dates.hmsin = log.hmsin = S('#laydate_hms input');
+ log.hmss = ['小时', '分钟', '秒数'];
+ log.hmsarr = [];
+
+ //生成时分秒或警告信息
+ Dates.msg = function(i, title){
+ var str = ''+ (title || '提示') +'×
';
+ if(typeof i === 'string'){
+ str += ''+ i +'
';
+ Dates.shde(S('#'+as[0]));
+ Dates.removeClass(log.times, 'laydate_time1').addClass(log.times, 'laydate_msg');
+ } else {
+ if(!log.hmsarr[i]){
+ str += '';
+ Dates.each(new Array(i === 0 ? 24 : 60), function(i){
+ str += ''+ i +'';
+ });
+ str += '
'
+ log.hmsarr[i] = str;
+ } else {
+ str = log.hmsarr[i];
+ }
+ Dates.removeClass(log.times, 'laydate_msg');
+ Dates[i=== 0 ? 'removeClass' : 'addClass'](log.times, 'laydate_time1');
+ }
+ Dates.addClass(log.times, 'laydate_show');
+ log.times.innerHTML = str;
+ };
+
+ log.hmson = function(input, index){
+ var span = S('#laydate_hmsno span'), set = Dates.valid ? null : 1;
+ Dates.each(span, function(i, elem){
+ if(set){
+ Dates.addClass(elem, as[1]);
+ } else if(Dates.timeVoid(i, index)){
+ Dates.addClass(elem, as[1]);
+ } else {
+ Dates.on(elem, 'click', function(ev){
+ if(!Dates.hasClass(this, as[1])){
+ input.value = Dates.digit(this.innerHTML|0);
+ }
+ });
+ }
+ });
+ Dates.addClass(span[input.value|0], 'laydate_click');
+ };
+
+ //展开选择
+ Dates.each(log.hmsin, function(i, elem){
+ Dates.on(elem, 'click', function(ev){
+ Dates.stopmp(ev).reshow();
+ Dates.msg(i, log.hmss[i]);
+ log.hmson(this, i);
+ });
+ });
+
+ Dates.on(doc, 'mouseup', function(){
+ var box = S('#'+as[0]);
+ if(box && box.style.display !== 'none'){
+ Dates.check() || Dates.close();
+ }
+ }).on(doc, 'keydown', function(event){
+ event = event || win.event;
+ var codes = event.keyCode;
+ if(codes === 13){
+ Dates.creation([Dates.ymd[0], Dates.ymd[1]+1, Dates.ymd[2]]);
+ }
+ });
+};
+
+Dates.init = (function(){
+ Dates.use('need');
+ Dates.use(as[4] + config.defSkin, as[3]);
+ Dates.skinLink = Dates.query('#'+as[3]);
+}());
+
+//重置定位
+laydate.reset = function(){
+ (Dates.box && Dates.elem) && Dates.follow(Dates.box);
+};
+
+//返回此刻日期
+laydate.now = function(format){
+ var De = new Date();
+ return Dates.parse(
+ [De.getFullYear(), De.getMonth()+1, De.getDate()],
+ [De.getHours(), De.getMinutes(), De.getSeconds()],
+ format
+ );
+};
+
+//皮肤选择
+laydate.skin = function(lib){
+ Dates.skinLink.href = Dates.getPath + as[4] + lib + as[5];
+};
+
+}(window);
\ No newline at end of file
diff --git a/laydate.js b/laydate.js
new file mode 100644
index 0000000..9448d19
--- /dev/null
+++ b/laydate.js
@@ -0,0 +1,11 @@
+/**
+
+ @Name : layDate v1.0 日期控件
+ @Author: 贤心
+ @Date: 2014-06-16
+ @QQ群:176047195
+ @Site:http://sentsin.com/layui/laydate
+
+ */
+
+;!function(a){var b={path:"",defSkin:"default",format:"YYYY-MM-DD",min:"1900-01-01 00:00:00",max:"2099-12-31 23:59:59",isv:!1},c={},d=document,e="createElement",f="getElementById",g="getElementsByTagName",h=["laydate_box","laydate_void","laydate_click","LayDateSkin","skins/","/laydate.css"];a.laydate=function(b){b=b||{};try{a.event=a.event||laydate.caller.arguments[0]}catch(d){}return a.event&&(b.tagName=1),c.run(b),laydate},laydate.v="1.0",c.getPath=function(){var a=document.scripts,c=a[a.length-1].src;return b.path?b.path:c.substring(0,c.lastIndexOf("/")+1)}(),c.use=function(a,b){var f=d[e]("link");f.type="text/css",f.rel="stylesheet",f.href=c.getPath+a+h[5],b&&(f.id=b),d[g]("head")[0].appendChild(f),f=null},c.trim=function(a){return a=a||"",a.replace(/^\s|\s$/g,"").replace(/\s+/g," ")},c.digit=function(a){return 10>a?"0"+a:a},c.stopmp=function(b){return b=b||a.event,b.stopPropagation?b.stopPropagation():b.cancelBubble=!0,this},c.each=function(a,b){for(var c=0,d=a.length;d>c&&b(c,a[c])!==!1;c++);},c.hasClass=function(a,b){return a=a||{},new RegExp("\\b"+b+"\\b").test(a.className)},c.addClass=function(a,b){return a=a||{},c.hasClass(a,b)||(a.className+=" "+b),a.className=c.trim(a.className),this},c.removeClass=function(a,b){if(a=a||{},c.hasClass(a,b)){var d=new RegExp("\\b"+b+"\\b");a.className=a.className.replace(d,"")}return this},c.removeCssAttr=function(a,b){var c=a.style;c.removeProperty?c.removeProperty(b):c.removeAttribute(b)},c.shde=function(a,b){a.style.display=b?"none":"block"},c.query=function(a){var e,b,h,i,j;return a=c.trim(a).split(" "),b=d[f](a[0].substr(1)),b?a[1]?/^\./.test(a[1])?(i=a[1].substr(1),j=new RegExp("\\b"+i+"\\b"),e=[],h=d.getElementsByClassName?b.getElementsByClassName(i):b[g]("*"),c.each(h,function(a,b){j.test(b.className)&&e.push(b)}),e[0]?e:""):(e=b[g](a[1]),e[0]?b[g](a[1]):""):b:void 0},c.on=function(b,d,e){return b.attachEvent?b.attachEvent("on"+d,function(){e.call(b,a.even)}):b.addEventListener(d,e,!1),c},c.stopMosup=function(a,b){"mouseup"!==a&&c.on(b,"mouseup",function(a){c.stopmp(a)})},c.run=function(a){var d,e,b=c.query;if(a.tagName){if(d=a.elem?b(a.elem):event.target||event.srcElement,!d||d===c.elem)return;c.view(d,a),c.stopMosup(event.type,d),c.reshow()}else{if(d=b(a.elem),!d)return;e=a.event||"click",c.each((0|d.length)>0?d:[d],function(b,d){c.on(d,e,function(b){c.stopmp(b),d!==c.elem&&(c.view(d,a),c.reshow())}),c.stopMosup(e,d)})}},c.scroll=function(a){return a=a?"scrollLeft":"scrollTop",d.body[a]|d.documentElement[a]},c.winarea=function(a){return document.documentElement[a?"clientWidth":"clientHeight"]},c.isleap=function(a){return 0===a%4&&0!==a%100||0===a%400},c.checkVoid=function(a,b,d){var e=[];return a=0|a,b=0|b,d=0|d,ac.maxs[0]?e=["y",1]:a>=c.mins[0]&&a<=c.maxs[0]&&(a==c.mins[0]&&(bc.maxs[1]?e=["m",1]:b==c.maxs[1]&&d>c.maxs[2]&&(e=["d",1]))),e},c.timeVoid=function(a,b){if(c.ymd[1]+1==c.mins[1]&&c.ymd[2]==c.mins[2]){if(0===b&&ac.maxs[3])return 1;if(1===b&&a>c.maxs[4])return 1;if(2===b&&a>c.maxs[5])return 1}return a>(b?59:23)?1:void 0},c.check=function(){var a=c.options.format.replace(/YYYY|MM|DD|hh|mm|ss/g,"\\d+\\").replace(/\\$/g,""),b=new RegExp(a),d=c.elem[c.elemv],e=d.match(/\d+/g)||[],f=c.checkVoid(e[0],e[1],e[2]);if(""!==d.replace(/\s/g,"")){if(!b.test(d))return c.elem[c.elemv]="",c.msg("日期不符合格式,请重新选择。"),1;if(f[0])return c.elem[c.elemv]="",c.msg("日期不在有效期内,请重新选择。"),1;f.value=c.elem[c.elemv].match(b).join(),e=f.value.match(/\d+/g),e[1]<1?(e[1]=1,f.auto=1):e[1]>12?(e[1]=12,f.auto=1):e[1].length<2&&(f.auto=1),e[2]<1?(e[2]=1,f.auto=1):e[2]>c.months[(0|e[1])-1]?(e[2]=31,f.auto=1):e[2].length<2&&(f.auto=1),e.length>3&&(c.timeVoid(e[3],0)&&(f.auto=1),c.timeVoid(e[4],1)&&(f.auto=1),c.timeVoid(e[5],2)&&(f.auto=1)),f.auto?c.creation([e[0],0|e[1],0|e[2]],1):f.value!==c.elem[c.elemv]&&(c.elem[c.elemv]=f.value)}},c.months=[31,null,31,30,31,30,31,31,30,31,30,31],c.viewDate=function(a,b,d){var f=(c.query,{}),g=new Date;a<(0|c.mins[0])&&(a=0|c.mins[0]),a>(0|c.maxs[0])&&(a=0|c.maxs[0]),g.setFullYear(a,b,d),f.ymd=[g.getFullYear(),g.getMonth(),g.getDate()],c.months[1]=c.isleap(f.ymd[0])?29:28,g.setFullYear(f.ymd[0],f.ymd[1],1),f.FDay=g.getDay(),f.PDay=c.months[0===b?11:b-1]-f.FDay+1,f.NDay=1,c.each(h.tds,function(a,b){var g,d=f.ymd[0],e=f.ymd[1]+1;b.className="",a=f.FDay&&a'+a+"年":''+(a-7+b)+"年"}),b("#laydate_ys").innerHTML=d,c.each(b("#laydate_ys li"),function(a,b){"y"===c.checkVoid(b.getAttribute("y"))[0]?c.addClass(b,h[1]):c.on(b,"click",function(a){c.stopmp(a).reshow(),c.viewDate(0|this.getAttribute("y"),c.ymd[1],c.ymd[2])})})},c.initDate=function(){var d=(c.query,new Date),e=c.inymd=c.elem[c.elemv].match(/\d+/g)||[];e.length<3&&(c.options.start=c.options.start||"",e=c.options.start.match(/\d+/g)||[],e.length<3&&(e=[d.getFullYear(),d.getMonth()+1,d.getDate()])),c.viewDate(e[0],e[1]-1,e[2])},c.iswrite=function(){var a=c.query,b={time:a("#laydate_hms")};c.shde(b.time,!c.options.istime),c.shde(h.oclear,!("isclear"in c.options?c.options.isclear:1)),c.shde(h.otoday,!("istoday"in c.options?c.options.istoday:1)),c.shde(h.ok,!("issure"in c.options?c.options.issure:1))},c.orien=function(a,b){var d,e=c.elem.getBoundingClientRect();a.style.left=e.left+(b?0:c.scroll(1))+"px",d=e.bottom+a.offsetHeight/1.5<=c.winarea()?e.bottom-1:e.top>a.offsetHeight/1.5?e.top-a.offsetHeight+1:c.winarea()-a.offsetHeight,a.style.top=d+(b?0:c.scroll())+"px"},c.follow=function(a){c.options.fixed?(a.style.position="fixed",c.orien(a,1)):(a.style.position="absolute",c.orien(a))},c.viewtb=function(){var a,b=[],f=["日","一","二","三","四","五","六"],h={},i=d[e]("table"),j=d[e]("thead");return j.appendChild(d[e]("tr")),h.creath=function(a){var b=d[e]("th");b.innerHTML=f[a],j[g]("tr")[0].appendChild(b),b=null},c.each(new Array(6),function(d){b.push([]),a=i.insertRow(0),c.each(new Array(7),function(c){b[d][c]=0,0===d&&h.creath(c),a.insertCell(c)})}),i.insertBefore(j,i.children[0]),i.id=i.className="laydate_table",a=b=null,i.outerHTML.toLowerCase()}(),c.view=function(a,f){var i,g=c.query,j={};f=f||a,c.elem=a,c.options=f,c.options.format||(c.options.format=b.format),c.elemv=/textarea|input/.test(c.elem.tagName.toLocaleLowerCase())?"value":"innerHTML",c.mm=j.mm=[c.options.min||b.min,c.options.max||b.max],c.mins=j.mm[0].match(/\d+/g),c.maxs=j.mm[1].match(/\d+/g),c.box?c.shde(c.box):(i=d[e]("div"),i.id=h[0],i.className=h[0],i.style.cssText="position: absolute;",i.setAttribute("name","laydate-v"+laydate.v),i.innerHTML=j.html='"+c.viewtb+'",d.body.appendChild(i),c.box=g("#"+h[0]),c.events(),i=null),c.follow(c.box),f.zIndex?c.box.style.zIndex=f.zIndex:c.removeCssAttr(c.box,"z-index"),c.stopMosup("click",c.box),c.initDate(),c.iswrite(),c.check()},c.reshow=function(){return c.each(c.query("#"+h[0]+" .laydate_show"),function(a,b){c.removeClass(b,"laydate_show")}),this},c.close=function(){c.reshow(),c.shde(c.query("#"+h[0]),1),c.elem=null},c.parse=function(a,d,e){e=e||(c.options?c.options.format:b.format);var f=e.replace(/YYYY/,a[0]);return f=f.replace(/MM/,c.digit(a[1])).replace(/DD/,c.digit(a[2])),f=f.replace(/hh/,c.digit(0|d[0])),f.replace(/mm/,c.digit(0|d[1])).replace(/ss/,c.digit(0|d[2]))},c.creation=function(a,b){var e=(c.query,c.hmsin),f=c.parse(a,[e[0].value,e[1].value,e[2].value]);c.elem[c.elemv]=f,b||(c.close(),"function"==typeof c.options.choose&&c.options.choose(f))},c.events=function(){var b=c.query,e={box:"#"+h[0]};c.addClass(d.body,"laydate_body"),h.tds=b("#laydate_table td"),h.mms=b("#laydate_ms span"),h.year=b("#laydate_y"),h.month=b("#laydate_m"),c.each(b(e.box+" .laydate_ym"),function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),c.addClass(this[g]("div")[0],"laydate_show"),a||(e.YY=parseInt(h.year.value),c.viewYears(e.YY))})}),c.on(b(e.box),"click",function(){c.reshow()}),e.tabYear=function(a){0===a?c.ymd[0]--:1===a?c.ymd[0]++:2===a?e.YY-=14:e.YY+=14,2>a?(c.viewDate(c.ymd[0],c.ymd[1],c.ymd[2]),c.reshow()):c.viewYears(e.YY)},c.each(b("#laydate_YY .laydate_tab"),function(a,b){c.on(b,"click",function(b){c.stopmp(b),e.tabYear(a)})}),e.tabMonth=function(a){a?(c.ymd[1]++,12===c.ymd[1]&&(c.ymd[0]++,c.ymd[1]=0)):(c.ymd[1]--,-1===c.ymd[1]&&(c.ymd[0]--,c.ymd[1]=11)),c.viewDate(c.ymd[0],c.ymd[1],c.ymd[2])},c.each(b("#laydate_MM .laydate_tab"),function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),e.tabMonth(a)})}),c.each(b("#laydate_ms span"),function(a,b){c.on(b,"click",function(a){c.stopmp(a).reshow(),c.hasClass(this,h[1])||c.viewDate(c.ymd[0],0|this.getAttribute("m"),c.ymd[2])})}),c.each(b("#laydate_table td"),function(a,b){c.on(b,"click",function(a){c.hasClass(this,h[1])||(c.stopmp(a),c.creation([0|this.getAttribute("y"),0|this.getAttribute("m"),0|this.getAttribute("d")]))})}),h.oclear=b("#laydate_clear"),c.on(h.oclear,"click",function(){c.elem[c.elemv]="",c.close()}),h.otoday=b("#laydate_today"),c.on(h.otoday,"click",function(){var a=new Date;c.creation([a.getFullYear(),a.getMonth()+1,a.getDate()])}),h.ok=b("#laydate_ok"),c.on(h.ok,"click",function(){c.valid&&c.creation([c.ymd[0],c.ymd[1]+1,c.ymd[2]])}),e.times=b("#laydate_time"),c.hmsin=e.hmsin=b("#laydate_hms input"),e.hmss=["小时","分钟","秒数"],e.hmsarr=[],c.msg=function(a,d){var f=''+(d||"提示")+"×
";"string"==typeof a?(f+=""+a+"
",c.shde(b("#"+h[0])),c.removeClass(e.times,"laydate_time1").addClass(e.times,"laydate_msg")):(e.hmsarr[a]?f=e.hmsarr[a]:(f+='',c.each(new Array(0===a?24:60),function(a){f+=""+a+""}),f+="
",e.hmsarr[a]=f),c.removeClass(e.times,"laydate_msg"),c[0===a?"removeClass":"addClass"](e.times,"laydate_time1")),c.addClass(e.times,"laydate_show"),e.times.innerHTML=f},e.hmson=function(a,d){var e=b("#laydate_hmsno span"),f=c.valid?null:1;c.each(e,function(b,e){f?c.addClass(e,h[1]):c.timeVoid(b,d)?c.addClass(e,h[1]):c.on(e,"click",function(){c.hasClass(this,h[1])||(a.value=c.digit(0|this.innerHTML))})}),c.addClass(e[0|a.value],"laydate_click")},c.each(e.hmsin,function(a,b){c.on(b,"click",function(b){c.stopmp(b).reshow(),c.msg(a,e.hmss[a]),e.hmson(this,a)})}),c.on(d,"mouseup",function(){var a=b("#"+h[0]);a&&"none"!==a.style.display&&(c.check()||c.close())}).on(d,"keydown",function(b){b=b||a.event;var d=b.keyCode;13===d&&c.creation([c.ymd[0],c.ymd[1]+1,c.ymd[2]])})},c.init=function(){c.use("need"),c.use(h[4]+b.defSkin,h[3]),c.skinLink=c.query("#"+h[3])}(),laydate.reset=function(){c.box&&c.elem&&c.follow(c.box)},laydate.now=function(a){var b=new Date;return c.parse([b.getFullYear(),b.getMonth()+1,b.getDate()],[b.getHours(),b.getMinutes(),b.getSeconds()],a)},laydate.skin=function(a){c.skinLink.href=c.getPath+h[4]+a+h[5]}}(window);
\ No newline at end of file
diff --git a/need/laydate.css b/need/laydate.css
new file mode 100644
index 0000000..b8b3436
--- /dev/null
+++ b/need/laydate.css
@@ -0,0 +1,76 @@
+/**
+
+ @Name: laydate 核心样式
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+html{_background-image:url(about:blank); _background-attachment:fixed;}
+.laydate_body .laydate_box, .laydate_body .laydate_box *{margin:0; padding:0;}
+.laydate-icon,
+.laydate-icon-default,
+.laydate-icon-yahui,
+.laydate-icon-danlan,
+.laydate-icon-qianhuang,
+.laydate-icon-yalan,
+.laydate-icon-dahong{height:22px; line-height:22px; padding-right:20px; background-repeat:no-repeat; background-position:right center; background-color:#fff; outline:0;}
+.laydate-icon-default{border:1px solid #C6C6C6; background-image:url(../skins/default/icon.png)}
+.laydate-icon-yahui{border:1px solid #C6C6C6; background-image:url(../skins/yahui/icon.png)}
+.laydate-icon-danlan{border:1px solid #B1D2EC; background-image:url(../skins/danlan/icon.png)}
+.laydate-icon-qianhuang{border:1px solid #E7D7CB; background-image:url(../skins/qianhuang/icon.png)}
+.laydate-icon-yalan{border:1px solid #34AADC; background-image:url(../skins/yalan/icon.png)}
+.laydate-icon-dahong{border:1px solid #D91600; background-image:url(../skins/dahong/icon.png)}
+.laydate_body .laydate_box{width:240px; font:12px '\5B8B\4F53'; z-index:99999999; *margin:-2px 0 0 -2px; *overflow:hidden; _margin:0; _position:absolute!important; background-color:#fff;}
+.laydate_body .laydate_box li{list-style:none;}
+.laydate_body .laydate_box .laydate_void{cursor:text!important;}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{text-decoration:none; blr:expression(this.onFocus=this.blur()); cursor:pointer;}
+.laydate_body .laydate_box a:hover{text-decoration:none;}
+.laydate_body .laydate_box cite, .laydate_body .laydate_box label{position:absolute; width:0; height:0; border-width:5px; border-style:dashed; border-color:transparent; overflow:hidden; cursor:pointer;}
+.laydate_body .laydate_box .laydate_yms, .laydate_body .laydate_box .laydate_time{display:none;}
+.laydate_body .laydate_box .laydate_show{display:block;}
+.laydate_body .laydate_box input{outline:0; font-size:14px; background-color:#fff;}
+.laydate_body .laydate_top{position:relative; height:26px; padding:5px; *width:100%; z-index:99;}
+.laydate_body .laydate_ym{position:relative; float:left; width height:24px; cursor:pointer;}
+.laydate_body .laydate_ym input{float:left; height:24px; line-height:24px; text-align:center; border:none; cursor:pointer;}
+.laydate_body .laydate_ym .laydate_yms{position:absolute; left: -1px; top: 24px; height:181px;}
+.laydate_body .laydate_y{width:121px; margin-right:6px;}
+.laydate_body .laydate_y input{width:64px; margin-right:15px;}
+.laydate_body .laydate_y .laydate_yms{width:121px; text-align:center;}
+.laydate_body .laydate_y .laydate_yms a{position:relative; display:block; height:20px;}
+.laydate_body .laydate_y .laydate_yms ul{height:139px; padding:0; *overflow:hidden;}
+.laydate_body .laydate_y .laydate_yms ul li{float:left; width:60px; height:20px; line-height: 20px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
+.laydate_body .laydate_m{width:99px;}
+.laydate_body .laydate_m .laydate_yms{width:99px; padding:0;}
+.laydate_body .laydate_m input{width:42px; margin-right:15px;}
+.laydate_body .laydate_m .laydate_yms span{display:block; float:left; width:42px; margin: 5px 0 0 5px; line-height:24px; text-align:center; _display:inline;}
+.laydate_body .laydate_choose{display:block; float:left; position:relative; width:20px; height:24px;}
+.laydate_body .laydate_choose cite, .laydate_body .laydate_tab cite{left:50%; top:50%;}
+.laydate_body .laydate_chtop cite{margin:-7px 0 0 -5px; border-bottom-style:solid;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{top:50%; margin:-2px 0 0 -5px; border-top-style:solid;}
+.laydate_body .laydate_chprev cite{margin:-5px 0 0 -7px;}
+.laydate_body .laydate_chnext cite{margin:-5px 0 0 -2px;}
+.laydate_body .laydate_ym label{right:28px;}
+.laydate_body .laydate_table{ width:230px; margin:0 5px; border-collapse:collapse; border-spacing:0px; }
+.laydate_body .laydate_table td{width:31px; height:19px; line-height:19px; text-align: center; cursor:pointer; font-size: 12px;}
+.laydate_body .laydate_table thead{height:22px; line-height:22px;}
+.laydate_body .laydate_table thead th{font-weight:400; font-size:12px;}
+.laydate_body .laydate_bottom{position:relative; height:22px; line-height:20px; padding:5px; font-size:12px;}
+.laydate_body .laydate_bottom #laydate_hms{position: relative; z-index: 1; float:left; }
+.laydate_body .laydate_time{ position:absolute; left:5px; bottom: 26px; width:129px; height:125px; *overflow:hidden;}
+.laydate_body .laydate_time .laydate_hmsno{ padding:5px 0 0 5px;}
+.laydate_body .laydate_time .laydate_hmsno span{display:block; float:left; width:24px; height:19px; line-height:19px; text-align:center; cursor:pointer; *margin-bottom:-5px;}
+.laydate_body .laydate_time1{width:228px; height:154px;}
+.laydate_body .laydate_time1 .laydate_hmsno{ padding:0; *padding:4px 0 0 5px;}
+.laydate_body .laydate_msg{left:49px; bottom:67px; width:141px; height:auto; overflow: hidden;}
+.laydate_body .laydate_msg p{padding:5px 10px;}
+.laydate_body .laydate_bottom li{float:left; height:20px; line-height:20px; border-right:none; font-weight:900;}
+.laydate_body .laydate_bottom .laydate_sj{width:33px; text-align:center; font-weight:400;}
+.laydate_body .laydate_bottom input{float:left; width:21px; height:20px; line-height:20px; border:none; text-align:center; cursor:pointer; font-size:12px; font-weight:400;}
+.laydate_body .laydate_bottom .laydte_hsmtex{height:20px; line-height:20px; text-align:center;}
+.laydate_body .laydate_bottom .laydte_hsmtex span{position:absolute; width:20px; top:0; right:0px; cursor:pointer;}
+.laydate_body .laydate_bottom .laydte_hsmtex span:hover{font-size:14px;}
+.laydate_body .laydate_bottom .laydate_btn{position:absolute; right:5px; top:5px;}
+.laydate_body .laydate_bottom .laydate_btn a{float:left; height:20px; padding:0 6px; _padding:0 5px;}
+.laydate_body .laydate_bottom .laydate_v{position:absolute; left:10px; top:6px; font-family:Courier; z-index:0;}
+
diff --git a/skins/dahong/icon.png b/skins/dahong/icon.png
new file mode 100644
index 0000000..dfd870d
Binary files /dev/null and b/skins/dahong/icon.png differ
diff --git a/skins/dahong/laydate.css b/skins/dahong/laydate.css
new file mode 100644
index 0000000..1a81ae1
--- /dev/null
+++ b/skins/dahong/laydate.css
@@ -0,0 +1,60 @@
+/**
+
+ @Name: laydate皮肤:大红
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #ccc; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time{border:1px solid #ccc;}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;}
+.laydate_body .laydate_box input{background:none!important; color:#fff;}
+.laydate_body .laydate_box .laydate_void{color:#ccc!important; /*text-decoration:line-through;*/}
+.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
+.laydate_body .laydate_box a:hover{color:#666;}
+.laydate_body .laydate_click{background-color:#F32043!important; color:#fff!important;}
+.laydate_body .laydate_top{border-top:1px solid #D91600; background-color:#D91600}
+.laydate_body .laydate_ym{background-color:#D91600;}
+.laydate_body .laydate_ym .laydate_yms{border:1px solid #D91600; background-color:#D91600; color:#fff;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #D91600;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #D91600; border-bottom:none;}
+.laydate_body .laydate_choose{border-left:1px solid #D91600;}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #D91600;}
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover{background-color:#F54766;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#fff;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#fff;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#fff;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#fff;}
+.laydate_body .laydate_table{width: 240px!important; margin: 0!important; border:1px solid #fff; border-left:none; border-right:none;}
+.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff; color:#333;}
+.laydate_body .laydate_table .laydate_nothis{color:#999;}
+.laydate_body .laydate_table thead{border-bottom:1px solid #ccc; height:21px!important; line-height:21px!important;}
+.laydate_body .laydate_table thead th{}
+.laydate_body .laydate_bottom{border-bottom:1px solid #ccc;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
+.laydate_body .laydate_time{background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #ccc; background-color:#fff;}
+.laydate_body .laydate_bottom input{background-color:#fff; color:#333;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #ccc;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #ccc;}
+.laydate_body .laydate_bottom .laydate_v{color:#999}
+.laydate_body .laydate_bottom .laydate_btn a{border: 1px solid #ccc; border-right:none; background-color:#fff;}
+
+.laydate_body .laydate_m .laydate_yms span:hover,
+.laydate_body .laydate_time .laydate_hmsno span:hover,
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_table td:hover,
+.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F54766; color:#fff;}
+
+
diff --git a/skins/danlan/icon.png b/skins/danlan/icon.png
new file mode 100644
index 0000000..1d75693
Binary files /dev/null and b/skins/danlan/icon.png differ
diff --git a/skins/danlan/laydate.css b/skins/danlan/laydate.css
new file mode 100644
index 0000000..c0d9e9f
--- /dev/null
+++ b/skins/danlan/laydate.css
@@ -0,0 +1,67 @@
+/**
+
+ @Name: laydate皮肤:淡蓝
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #B1D2EC; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_table,
+.laydate_body .laydate_table td,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time,
+.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #B1D2EC;}
+
+.laydate_body .laydate_y .laydate_yms a,
+.laydate_body .laydate_choose,
+.laydate_body .laydate_table thead{background-color:#DEECF8;}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#1F547E;}
+.laydate_body .laydate_box input{color:#1F547E;}
+.laydate_body .laydate_box .laydate_void{color:#BDD8EE!important;}
+.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#1F547E;}
+.laydate_body .laydate_click{background-color:#DEECF8!important;}
+.laydate_body .laydate_top{border-top:1px solid #B1D2EC;}
+.laydate_body .laydate_ym .laydate_yms{background-color:#fff;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #B1D2EC;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #B1D2EC; border-bottom:none;}
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_m .laydate_yms span:hover{color:#000;}
+.laydate_body .laydate_choose{border-left:1px solid #B1D2EC;}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #B1D2EC;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#3081C2;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#3081C2;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#3081C2;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#3081C2;}
+.laydate_body .laydate_table td{background-color:#fff; color:#1F547E;}
+.laydate_body .laydate_table .laydate_nothis{color:#60A2D7;}
+.laydate_body .laydate_table thead{color:#163A58;}
+.laydate_body .laydate_bottom{border-bottom:1px solid #B1D2EC;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
+.laydate_body .laydate_time{background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #B1D2EC; background-color:#ECF4FB;}
+.laydate_body .laydate_bottom input{background-color:#fff;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #B1D2EC;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #B1D2EC;}
+.laydate_body .laydate_bottom .laydate_v{color:#75AEDD}
+.laydate_body .laydate_bottom .laydate_btn a{ border-right:none; background-color:#ECF4FB;}
+.laydate_body .laydate_bottom .laydate_btn a:hover{ background-color:#fff;}
+
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_m .laydate_yms span:hover,
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover,
+.laydate_body .laydate_table td:hover,
+.laydate_body .laydate_bottom .laydate_time span:hover,
+.laydate_body .laydate_bottom .laydte_hsmtex{background-color:#ECF4FB}
+
diff --git a/skins/default/icon.png b/skins/default/icon.png
new file mode 100644
index 0000000..5a50673
Binary files /dev/null and b/skins/default/icon.png differ
diff --git a/skins/default/laydate.css b/skins/default/laydate.css
new file mode 100644
index 0000000..d4a8830
--- /dev/null
+++ b/skins/default/laydate.css
@@ -0,0 +1,67 @@
+/**
+
+ @Name: laydate皮肤:默认
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #C6C6C6; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_table,
+.laydate_body .laydate_table td,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time,
+.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #ccc;}
+
+.laydate_body .laydate_y .laydate_yms a,
+.laydate_body .laydate_choose,
+.laydate_body .laydate_table thead,
+.laydate_body .laydate_bottom .laydte_hsmtex{background-color:#F6F6F6;}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;}
+.laydate_body .laydate_box input{color:#333;}
+.laydate_body .laydate_box .laydate_void{color:#ccc!important; /*text-decoration:line-through;*/}
+.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
+.laydate_body .laydate_box a:hover{color:#666;}
+.laydate_body .laydate_click{background-color:#eee!important;}
+.laydate_body .laydate_top{border-top:1px solid #C6C6C6;}
+.laydate_body .laydate_ym .laydate_yms{border:1px solid #C6C6C6; background-color:#fff;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #C6C6C6; border-bottom:none;}
+.laydate_body .laydate_choose{border-left:1px solid #C6C6C6;}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #C6C6C6;}
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover{background-color:#fff;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#666;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#666;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#666;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#666;}
+.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#fff;}
+.laydate_body .laydate_table .laydate_nothis{color:#999;}
+.laydate_body .laydate_table thead{height:21px!important; line-height:21px!important; border-bottom:1px solid #ccc;}
+.laydate_body .laydate_table thead th{}
+.laydate_body .laydate_bottom{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
+.laydate_body .laydate_time{background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #C6C6C6; background-color:#F6F6F6;}
+.laydate_body .laydate_bottom input{background-color:#fff;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom .laydate_v{color:#999}
+.laydate_body .laydate_bottom .laydate_btn a{border-right:none; background-color:#F6F6F6;}
+.laydate_body .laydate_bottom .laydate_btn a:hover{color:#000; background-color:#fff;}
+
+.laydate_body .laydate_m .laydate_yms span:hover,
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_table td:hover{background-color:#F3F3F3}
+
+
diff --git a/skins/qianhuang/icon.png b/skins/qianhuang/icon.png
new file mode 100644
index 0000000..598d52b
Binary files /dev/null and b/skins/qianhuang/icon.png differ
diff --git a/skins/qianhuang/laydate.css b/skins/qianhuang/laydate.css
new file mode 100644
index 0000000..0fd067e
--- /dev/null
+++ b/skins/qianhuang/laydate.css
@@ -0,0 +1,70 @@
+/**
+
+ @Name: laydate皮肤:浅黄
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #E7D7CB; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_table,
+.laydate_body .laydate_table td,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time,
+.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #DEC8B8;}
+
+.laydate_body .laydate_y .laydate_yms a,
+.laydate_body .laydate_ym,
+.laydate_body .laydate_choose,
+.laydate_body .laydate_table thead{background-color:#fff;}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color: #F7F4ED!important; color:#8B743F;}
+.laydate_body .laydate_box input{color:#8B743F;}
+.laydate_body .laydate_box .laydate_void{color:#CBB98D!important;}
+.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important;}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#8B743F;}
+.laydate_body .laydate_box a:hover{color:#8B743F;}
+.laydate_body .laydate_click{background-color:#DEC8B8!important;}
+.laydate_body .laydate_top{border-top:1px solid #DEC8B8;}
+.laydate_body .laydate_ym .laydate_yms{background-color:#fff;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #DEC8B8;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #DEC8B8; border-bottom:none;}
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_m .laydate_yms span:hover{color:#8B743F;}
+.laydate_body .laydate_choose{border-left:1px solid #DEC8B8;}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #DEC8B8;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#8B743F;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#8B743F;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#8B743F;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#8B743F;}
+.laydate_body .laydate_table td{background-color:#F4F0E6; color:#8B743F;}
+.laydate_body .laydate_table .laydate_nothis{background-color:#fff; color:#C0AA76;}
+.laydate_body .laydate_table thead{color:#163A58;}
+.laydate_body .laydate_bottom{border-bottom:1px solid #DEC8B8;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
+.laydate_body .laydate_time{background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #DEC8B8;}
+.laydate_body .laydate_bottom input{background-color:#fff;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #DEC8B8;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #DEC8B8;}
+.laydate_body .laydate_bottom .laydate_btn a{ border-right:none; background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_btn a:hover{color:#163A58;}
+
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_m .laydate_yms span:hover,
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover,
+.laydate_body .laydate_table td:hover,
+.laydate_body .laydate_bottom .laydate_sj,
+.laydate_body .laydate_bottom .laydate_time span:hover,
+.laydate_body .laydate_bottom .laydte_hsmtex,
+.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#F7F4ED}
+
diff --git a/skins/yahui/icon.png b/skins/yahui/icon.png
new file mode 100644
index 0000000..5a50673
Binary files /dev/null and b/skins/yahui/icon.png differ
diff --git a/skins/yahui/laydate.css b/skins/yahui/laydate.css
new file mode 100644
index 0000000..7e95356
--- /dev/null
+++ b/skins/yahui/laydate.css
@@ -0,0 +1,68 @@
+/**
+
+ @Name: laydate皮肤:雅灰
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #C6C6C6; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_table,
+.laydate_body .laydate_table td,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time,
+.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #C6C6C6;}
+
+.laydate_body .laydate_y .laydate_yms a,
+.laydate_body .laydate_choose,
+.laydate_body .laydate_table thead,
+.laydate_body .laydate_bottom .laydte_hsmtex{background-color:#F0F0F0;}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_ym .laydate_yms,
+.laydate_body .laydate_time{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{border-top:none; border-bottom:none; background-color:#fff; color:#333;}
+.laydate_body .laydate_box input{color:#333;}
+.laydate_body .laydate_box .laydate_void{color:#ccc!important; /*text-decoration:line-through;*/}
+.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
+.laydate_body .laydate_box a:hover{color:#666;}
+.laydate_body .laydate_click{background-color:#E9E9E9!important;}
+.laydate_body .laydate_top{border-top:1px solid #C6C6C6;}
+.laydate_body .laydate_ym .laydate_yms{border:1px solid #C6C6C6; background-color:#fff;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #C6C6C6; border-bottom:none;}
+.laydate_body .laydate_y .laydate_yms ul li:hover{background-color:#F1F1F1; color:#000;}
+.laydate_body .laydate_m .laydate_yms span:hover{background-color:#F1F1F1; color:#000;}
+.laydate_body .laydate_choose{border-left:1px solid #C6C6C6;}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #C6C6C6;}
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover{background-color:#F6F6F6;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#666;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#666;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#666;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#666;}
+.laydate_body .laydate_table td{border:1px solid #C6C6C6; color:#333;}
+.laydate_body .laydate_table .laydate_nothis{color:#999;}
+.laydate_body .laydate_table thead{ background-color:#E3E3E3; color:#000;}
+.laydate_body .laydate_table thead th{}
+.laydate_body .laydate_bottom{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#fff;}
+.laydate_body .laydate_time{background-color:#fff;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #C6C6C6; background-color:#F3F3F3;}
+.laydate_body .laydate_bottom input{background-color:#fff;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #C6C6C6;}
+.laydate_body .laydate_bottom .laydate_v{color:#999}
+.laydate_body .laydate_bottom .laydate_btn a{border-right:none; background-color:#F0F0F0;}
+.laydate_body .laydate_bottom .laydate_btn a:hover{color:#000; background-color:#fff;}
+
+.laydate_body .laydate_table td:hover,
+.laydate_body .laydate_bottom .laydate_time span:hover{background-color:#F2F2F2}
+
+
diff --git a/skins/yalan/icon.png b/skins/yalan/icon.png
new file mode 100644
index 0000000..659ad71
Binary files /dev/null and b/skins/yalan/icon.png differ
diff --git a/skins/yalan/laydate.css b/skins/yalan/laydate.css
new file mode 100644
index 0000000..ab221d9
--- /dev/null
+++ b/skins/yalan/laydate.css
@@ -0,0 +1,57 @@
+/**
+
+ @Name: laydate皮肤:雅兰
+ @Author:贤心
+ @Site:http://sentsin.com/layui/laydate
+
+**/
+
+.laydate-icon{border:1px solid #34AADC; background-image:url(icon.png)}
+
+.laydate_body .laydate_box,
+.laydate_body .laydate_table,
+.laydate_body .laydate_table td,
+.laydate_body .laydate_bottom #laydate_hms,
+.laydate_body .laydate_time,
+.laydate_body .laydate_bottom .laydate_btn a{border:1px solid #34AADC;}
+
+.laydate_body .laydate_box{box-shadow: 2px 2px 5px rgba(0,0,0,.1);}
+
+.laydate_body .laydate_box{background-color:#34AADC!important; color:#fff;}
+.laydate_body .laydate_box input{background:none!important; color:#fff;}
+.laydate_body .laydate_box .laydate_void{color:#fff!important; background:none!important;}
+.laydate_body .laydate_box a, .laydate_body .laydate_box a:hover{color:#333;}
+.laydate_body .laydate_box a:hover{color:#666;}
+.laydate_body .laydate_click{background-color:#67BFE4!important; color:#fff!important;}
+.laydate_body .laydate_top{}
+.laydate_body .laydate_ym{background-color:#50B5E0; border:1px solid #50B5E0;}
+.laydate_body .laydate_ym .laydate_yms{border:1px solid #2293C4; background-color:#2293C4;}
+.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #50B5E0; background-color:#50B5E0;}
+.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #50B5E0; border-bottom:none;}
+.laydate_body .laydate_choose{}
+.laydate_body .laydate_chprev{border-left:none; border-right:1px solid #50B5E0;}
+.laydate_body .laydate_choose:hover,
+.laydate_body .laydate_y .laydate_yms a:hover{background-color:#61BBE2;}
+.laydate_body .laydate_chtop cite{border-bottom-color:#C7E8F5;}
+.laydate_body .laydate_chdown cite, .laydate_body .laydate_ym label{border-top-color:#C7E8F5;}
+.laydate_body .laydate_chprev cite{border-right-style:solid; border-right-color:#C7E8F5;}
+.laydate_body .laydate_chnext cite{border-left-style:solid; border-left-color:#C7E8F5;}
+.laydate_body .laydate_table td{border:none; height:21px!important; line-height:21px!important; background-color:#50B5E0; color:#fff;}
+.laydate_body .laydate_table .laydate_nothis{background:none;}
+.laydate_body .laydate_table thead{height:21px!important; line-height:21px!important;}
+.laydate_body .laydate_table thead th{}
+.laydate_body .laydate_bottom{border-bottom:1px solid #34AADC; color:#fff;}
+.laydate_body .laydate_bottom #laydate_hms{background-color:#50B5E0;}
+.laydate_body .laydate_time{background-color:#2293C4;}
+.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #50B5E0; background-color:#50B5E0; color:#fff;}
+.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #67BFE4; background-color:#2293C4;}
+.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #34AADC;}
+.laydate_body .laydate_bottom .laydate_v{color:#ccc}
+.laydate_body .laydate_bottom .laydate_btn a{border-right:none; background-color:#50B5E0; color:#fff;}
+.laydate_body .laydate_bottom .laydate_btn a:hover{background-color:#6BC0E4;}
+
+.laydate_body .laydate_m .laydate_yms span:hover,
+.laydate_body .laydate_y .laydate_yms ul li:hover,
+.laydate_body .laydate_table td:hover{background-color:#87CBE9; color:#fff;}
+
+