KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /home/queenjbs/www/test/imgshow/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/queenjbs/www/test/imgshow/raindrop.schedule.js
/*!------------------------------------------------*
 * Monochrome (www.monocr.com)
 * Creater: Kim, Ki-hong (raindrop@monocr.com)
 *-------------------------------------------------*/
;(function($){
	$.fn.raindropSchedule = function(set){
		var now = new Date();
		var y, m, artist, lang_code;

		var opts = {
			title:			'.cal-head p',
			calTable:		'.side-calendar',
			btnPrev: 		'.side-calendar input.btn-prev',
			btnNext: 		'.side-calendar input.btn-next',
			schList:		'.side-schedule',
			schSlider:		'.side-schedule > .schedule-slider',
			schBtnPrev:		'.side-schedule input.btn-prev',
			schBtnNext:		'.side-schedule input.btn-next',
			monthJSON:		null,
			dayJSON:		null
		};
		
		$.extend(opts, set);
		
		var calendar = {
			init: function($t){
				var _this = this;
					
				lang_code = $t.data('lang');
				artist = $t.data('artist');
				y = now.getFullYear();
				m = now.getMonth();
				
				function dayActive(data){
					$( opts.calTable + ' table tbody td:not(.dim)', $t).each(function(k,v){
						if( data[k] >= 1 )
							$(this).addClass('active');
					});
					$( opts.calTable + ' table tbody td.select input', $t).each(dayLoad);
				}
				
				function dayLoad(){
					$(this).parents('tbody').find('td.select').removeClass('select');
					$(this).parent().removeClass('hover').addClass('select');
					$(this).addClass('ajax');
					
					var d = $(this).val();
					var btn = $(this);
					_this.dayDataLoad(y,m,d,function(data){
						btn.removeClass('ajax');
						
						if( opts.schSlider ){
							$(opts.schSlider + ' ul', $t).empty();
							for( s in data ){
								$('<li>').html('<div class="date">' + data[s][0] + '<span>' + ( data[s][2] ? ('<sup>' + data[s][1] + '</sup>' + data[s][2] ) : '' ) + '</span></div>'
									+ '<div class="content"><strong>' + data[s][3] + '</strong><p>' + data[s][4] + '</p></div>').appendTo( $(opts.schSlider + ' ul', $t) );
							}
						}
					});
				}
				
				if( opts.title )
					$( opts.title , $t).html( y + '<span>/</span>' + this.numberZero(m+1) );
				
				if( opts.calTable ){
					$( opts.calTable + ' table tbody', $t).html( this.render(now) );
					$( opts.calTable + ' table tbody td:not(.select):not(.dim) input', $t).live({
						mouseenter: function(){
							$(this).parent().addClass('hover');
						},
						mouseleave: function(){
							$(this).parent().removeClass('hover');
						},
						click: dayLoad
					});
					$( opts.calTable + ' table tbody td.select input', $t).each(dayLoad);
					this.monthDataLoad(y, m, dayActive);
				}
					
				if( opts.btnPrev || opts.btnNext ){
					var btnEl;
					
					if( opts.btnPrev && opts.btnNext )
						btnEl = opts.btnPrev + ',' + opts.btnNext;
					else if( opts.btnPrev )
						btnEl = opts.btnPrev;
					else
						btnEl = opts.btnNext;
					
					$( btnEl , $t).bind('click',function(){
						var get;
							
						if( $(this).is( opts.btnPrev ) )
							get = _this.getMonth('prev');
						else
							get = _this.getMonth('next');
							
						var clickDate = new Date(get.year, get.month, 1);
						
						if( opts.title )
							$( opts.title , $t).html( get.year + '<span>/</span>' + _this.numberZero( get.month+1 ) );
							
						if( opts.calTable ){
							$( opts.calTable + ' table tbody', $t).html( _this.render( clickDate ) );
							_this.monthDataLoad(get.year, get.month, dayActive);
						}
					});
				}
				
				// slider
				if( opts.schSlider && ( opts.schBtnPrev || opts.schBtnNext ) ){
					var btnSchEl;
					var $slider = $(opts.schSlider, $t);
					
					$slider.data({page:1});
					//$( opts.schBtnPrev , $t).attr('disabled','disabled');
					
					if( opts.schBtnPrev && opts.schBtnNext )
						btnSchEl = opts.schBtnPrev + ',' + opts.schBtnNext;
					else if( opts.schBtnPrev )
						btnSchEl = opts.schBtnPrev;
					else
						btnSchEl = opts.schBtnNext;
					
					$( btnSchEl , $t).bind('click',function(){
						var $ul = $('ul',$slider);
						var page = $slider.data('page');
						var totalpage = Math.ceil( $ul.height() / $slider.height() );
						
						if( $(this).is( opts.schBtnPrev ) ){
							if( page <= 1 )return;
							page = (page-1);
							$ul.animate({marginTop:'+=284px'});
						}else{
							if( page >= totalpage )return;
							page = (page+1);
							$ul.animate({marginTop:'-=284px'});
						}
						$slider.data({page:page});
					});
				}
			},
			render: function(date){
				var cal = new Date(date.getFullYear(),date.getMonth(),1,0,0,0,0);
				var year = cal.getFullYear();
				var month = cal.getMonth();
				var week = cal.getDay();
				var day = cal.getDate();
				var today = now.getDate();
				var days = [];
				var lastDay = this.lastDay(year, month);
				var getPrevMonth = this.getMonth('prev', year, month);
				var getNextMonth = this.getMonth('next', year, month);
				var prevMonthDay = this.lastDay(getPrevMonth.year, getPrevMonth.month) - week;
				
				// 이전달 미리 출력
				for(var i=0; i<week; i++){
					prevMonthDay++;
					days.push('<td class="dim" data-month="'+getPrevMonth.year+'-'+getPrevMonth.month+'" data-day="'+prevMonthDay+'"><input type="button" value="'+prevMonthDay+'" /></td>');
				}
				
				// 이번달
				for(var i=1; i<=lastDay; i++){
					var holiday;
					if((i+week)%7 == 1)
						holiday = ' class="sun"';
					else if((i+week)%7 == 0)
						holiday = ' class="sat"';
					else
						holiday = '';
					
					if( (year+''+month+''+i) == (year+''+month+''+today) )
						days.push('<td data-day="'+i+'" class="select"><input type="button" value="'+i+'"'+holiday+' /></td>');
					else if( (year+''+month+''+i) == (now.getFullYear()+''+now.getMonth()+''+now.getDate()) )
						days.push('<td data-day="'+i+'" class="today"><input type="button" value="'+i+'"'+holiday+' /></td>');
					else
						days.push('<td data-day="'+i+'"><input type="button" value="'+i+'"'+holiday+' /></td>');
					
					if((i+week)%7 == 0){
						days.push('</tr><tr>');
					}
					if(i == lastDay && (i+week)%7 != 0){
						for(var k=0; k<parseInt( 7 - (i+week)%7 ); k++){
							days.push('<td class="dim" data-month="'+getNextMonth.year+'-'+getNextMonth.month+'" data-day="'+parseInt(k+1)+'"><input type="button" value="'+parseInt(k+1)+'" /></td>');
						}
					}
				}
				
				return '<tr>' + days.join('') + '</tr>';
			},
			getMonth: function(is){
				if(is == 'next'){
					if(m == 11){
						year = parseInt(y)+1;
						month = 0;
					}else{
						year = y;
						month = parseInt(m)+1;
					}
				}else if(is == 'prev'){
					if(m == 0){
						year = parseInt(y)-1;
						month = 11;
					}else{
						year = y;
						month = parseInt(m)-1;
					}
				}
				y = year;
				m = month;
				return {year:year, month:month};
			},
			lastDay: function(year, month){
				var daysArr = [31,28,31,30,31,30,31,31,30,31,30,31],lastDay;
				if(month == 1)
					lastDay = ((( year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))? 29 : 28;
				else
					lastDay = daysArr[month];
				return lastDay;
			},
			numberZero: function(n){
				n = Number(n);
				if( n < 10 )
					n = '0' + n;
				return n;
			},
			monthDataLoad: function(year,month,callback){
				$.getJSON(opts.monthJSON,{
					artist: artist,
					lang_code: lang_code,
					startdate: (year + '-' + this.numberZero(month+1))
				},function(data){
					if( data.status == 'success' ){
						callback(data.sch);
					}
				});
			},
			dayDataLoad: function(year,month,day,callback){
				$.getJSON(opts.dayJSON,{
					artist: artist,
					lang_code: lang_code,
					startdate: (year + '-' + this.numberZero(month+1) + '-' + this.numberZero(day))
				},function(data){
					if( data.status == 'success' ){
						callback(data.list);
					}
				});
			}
		};

		this.each(function(){
			calendar.init( $(this) );
		});
		return this;
	};
})(jQuery);

Anon7 - 2021