Current File : /home/inlingua/public_html/noida/icentex/calendar/js/jquery.eventCalendar.min.js
/* =
    jquery.eventCalendar.js
    version: 0.65
    date: 09-12-2014
    author:
        Jaime Fernandez (@vissit)
    company:
        Paradigma Tecnologico (@paradigmate)
*/

$.fn.eventCalendar=function(j){var a=$.extend({},$.fn.eventCalendar.defaults,j);var b={wrap:"",directionLeftMove:"300",eventsJson:{}};this.each(function(){b.wrap=$(this);b.wrap.addClass("eventCalendar-wrap").append("<div class='eventsCalendar-list-wrap'><p class='eventsCalendar-subtitle'></p><span class='eventsCalendar-loading'>"+a.txt_loading+"</span><div class='eventsCalendar-list-content'><ul class='eventsCalendar-list'></ul></div></div>");if(a.eventsScrollable){b.wrap.find(".eventsCalendar-list-content").addClass("scrollable")}f();$(window).resize(function(){f()});e("current");g(a.eventsLimit,false,false,false,false);c();b.wrap.on("click",".eventsCalendar-day a",function(o){o.preventDefault();var m=b.wrap.attr("data-current-year"),n=b.wrap.attr("data-current-month"),l=$(this).parent().attr("rel");g(false,m,n,l,"day")});b.wrap.on("click",".monthTitle",function(n){n.preventDefault();var l=b.wrap.attr("data-current-year"),m=b.wrap.attr("data-current-month");g(a.eventsLimit,l,m,false,"month")})});b.wrap.find(".eventsCalendar-list").on("click",".eventTitle",function(n){if(!a.showDescription){n.preventDefault();var o=$(this).parent().find(".eventDesc");if(!o.find("a").size()){var l=$(this).attr("href");var m=$(this).attr("target");o.append('<a href="'+l+'" target="'+m+'" class="bt">'+a.txt_GoToEventUrl+"</a>")}if(o.is(":visible")){o.slideUp()}else{if(a.onlyOneDescription){b.wrap.find(".eventDesc").slideUp()}o.slideDown()}}});function h(m,l){return m.date.toLowerCase()>l.date.toLowerCase()?1:-1}function e(z,w,t){var n=$("<div class='eventsCalendar-slider'></div>"),m=$("<div class='eventsCalendar-monthWrap'></div>"),p=$("<div class='eventsCalendar-currentTitle'><a href='#' class='monthTitle'></a></div>"),y=$("<a href='#' class='arrow prev'><span>"+a.txt_prev+"</span></a><a href='#' class='arrow next'><span>"+a.txt_next+"</span></a>");$eventsCalendarDaysList=$("<ul class='eventsCalendar-daysList'></ul>"),date=new Date();if(!b.wrap.find(".eventsCalendar-slider").size()){b.wrap.prepend(n);n.append(m)}else{b.wrap.find(".eventsCalendar-slider").append(m)}b.wrap.find(".eventsCalendar-monthWrap.currentMonth").removeClass("currentMonth").addClass("oldMonth");m.addClass("currentMonth").append(p,$eventsCalendarDaysList);if(z==="current"){day=date.getDate();n.append(y)}else{date=new Date(b.wrap.attr("data-current-year"),b.wrap.attr("data-current-month"),1,0,0,0);day=0;moveOfMonth=1;if(z==="prev"){moveOfMonth=-1}date.setMonth(date.getMonth()+moveOfMonth);var l=new Date();if(date.getMonth()===l.getMonth()){day=l.getDate()}}var w=date.getFullYear(),r=(new Date).getFullYear(),t=date.getMonth(),q=t+1;if(z!="current"){g(a.eventsLimit,w,t,false,z)}b.wrap.attr("data-current-month",t).attr("data-current-year",w);p.find(".monthTitle").html(a.monthNames[t]+" "+w);var v=32-new Date(w,t,32).getDate();var u=[];if(a.showDayAsWeeks){$eventsCalendarDaysList.addClass("showAsWeek");if(a.showDayNameInCalendar){$eventsCalendarDaysList.addClass("showDayNames");var o=0;if(a.startWeekOnMonday){o=1}for(;o<7;o++){u.push('<li class="eventsCalendar-day-header">'+a.dayNamesShort[o]+"</li>");if(o===6&&a.startWeekOnMonday){u.push('<li class="eventsCalendar-day-header">'+a.dayNamesShort[0]+"</li>")}}}dt=new Date(w,t,1);var s=dt.getDay();if(a.startWeekOnMonday){s=dt.getDay()-1}if(s<0){s=6}for(o=s;o>0;o--){u.push('<li class="eventsCalendar-day empty"></li>')}}for(dayCount=1;dayCount<=v;dayCount++){var x="";if(day>0&&dayCount===day&&w===r){x="today"}u.push('<li id="dayList_'+dayCount+'" rel="'+dayCount+'" class="eventsCalendar-day '+x+'"><a href="#">'+dayCount+"</a></li>")}$eventsCalendarDaysList.append(u.join(""));n.css("height",m.height()+"px")}function i(o){var l=o.length,n=o.charAt(l-1),m;if(l===2&&o.charAt(0)==="1"){m="th"}else{if(n==="1"){m=a.txt_NumAbbrevSt}else{if(n==="2"){m=a.txt_NumAbbrevNd}else{if(n==="3"){m=a.txt_NumAbbrevRd}else{m=a.txt_NumAbbrevTh}}}}return o+m}function g(l,n,p,m,o){var l=l||0;var n=n||"";var m=m||"";if(typeof p!="undefined"){var p=p}else{var p=""}b.wrap.find(".eventsCalendar-loading").fadeIn();if(a.jsonData){a.cacheJson=true;b.eventsJson=a.jsonData;k(b.eventsJson,l,n,p,m,o)}else{if(!a.cacheJson||!o){$.getJSON(a.eventsjson+"?limit="+l+"&year="+n+"&month="+p+"&day="+m,function(q){b.eventsJson=q;k(b.eventsJson,l,n,p,m,o)}).error(function(){d("error getting json: ")})}else{k(b.eventsJson,l,n,p,m,o)}}if(m>""){b.wrap.find(".current").removeClass("current");b.wrap.find("#dayList_"+m).addClass("current")}}function k(o,l,n,q,m,p){directionLeftMove="-="+b.directionLeftMove;eventContentHeight="auto";subtitle=b.wrap.find(".eventsCalendar-list-wrap .eventsCalendar-subtitle");if(!p){subtitle.html(a.txt_NextEvents);eventContentHeight="auto";directionLeftMove="-=0"}else{if(m!=""){subtitle.html(a.txt_SpecificEvents_prev+a.monthNames[q]+" "+i(m)+" "+a.txt_SpecificEvents_after)}else{subtitle.html(a.txt_SpecificEvents_prev+a.monthNames[q]+" "+a.txt_SpecificEvents_after)}if(p==="prev"){directionLeftMove="+="+b.directionLeftMove}else{if(p==="day"||p==="month"){directionLeftMove="+=0";eventContentHeight=0}}}b.wrap.find(".eventsCalendar-list").animate({opacity:a.moveOpacity,left:directionLeftMove,height:eventContentHeight},a.moveSpeed,function(){b.wrap.find(".eventsCalendar-list").css({left:0,height:"auto"}).hide();var s=[];o=$(o).sort(h);if(o.length){var u="";if(!a.showDescription){u="hidden"}var t="_self";if(a.openEventInNewWindow){t="_target"}var r=0;$.each(o,function(G,w){if(a.jsonDateFormat=="human"){var F=w.date.split(" "),D=F[0].split("-"),C=F[1].split(":"),x=D[0],v=parseInt(D[1])-1,H=parseInt(D[2]),A=parseInt(v)+1,E=C[0],z=C[1],B=C[2],D=new Date(x,v,H,E,z,B)}else{var D=new Date(parseInt(w.date)),x=D.getFullYear(),v=D.getMonth(),H=D.getDate(),A=v+1,E=D.getHours(),z=D.getMinutes()}if(parseInt(z)<=9){z="0"+parseInt(z)}if(l===0||l>r){if((q===false||q==v)&&(m==""||m==H)&&(n==""||n==x)){if(q===false&&D<new Date()){}else{eventStringDate=moment(D).format(a.dateFormat);if(w.url){var y='<a href="'+w.url+'" target="'+t+'" class="eventTitle">'+w.title+"</a>"}else{var y='<span class="eventTitle">'+w.title+"</span>"}s.push('<li id="'+G+'" class="'+w.type+'"><time datetime="'+D+'"><em>'+eventStringDate+"</em><small>"+E+":"+z+"</small></time>"+y+'<p class="eventDesc '+u+'">'+w.description+"</p></li>");r++}}}if(x==b.wrap.attr("data-current-year")&&v==b.wrap.attr("data-current-month")){b.wrap.find(".currentMonth .eventsCalendar-daysList #dayList_"+parseInt(H)).addClass("dayWithEvents")}})}if(!s.length){s.push('<li class="eventsCalendar-noEvents"><p>'+a.txt_noEvents+"</p></li>")}b.wrap.find(".eventsCalendar-loading").hide();b.wrap.find(".eventsCalendar-list").html(s.join(""));b.wrap.find(".eventsCalendar-list").animate({opacity:1,height:"toggle"},a.moveSpeed)});f()}function c(){b.wrap.find(".arrow").click(function(m){m.preventDefault();if($(this).hasClass("next")){e("next");var l="-="+b.directionLeftMove}else{e("prev");var l="+="+b.directionLeftMove}b.wrap.find(".eventsCalendar-monthWrap.oldMonth").animate({opacity:a.moveOpacity,left:l},a.moveSpeed,function(){b.wrap.find(".eventsCalendar-monthWrap.oldMonth").remove()})})}function d(l){b.wrap.find(".eventsCalendar-list-wrap").html("<span class='eventsCalendar-loading error'>"+l+" "+a.eventsjson+"</span>")}function f(){b.directionLeftMove=b.wrap.width();b.wrap.find(".eventsCalendar-monthWrap").width(b.wrap.width()+"px");b.wrap.find(".eventsCalendar-list-wrap").width(b.wrap.width()+"px")}};$.fn.eventCalendar.defaults={eventsjson:"js/events.json",eventsLimit:4,monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],txt_noEvents:"There are no events in this period",txt_SpecificEvents_prev:"",txt_SpecificEvents_after:"events:",txt_next:"next",txt_prev:"prev",txt_NextEvents:"Next events:",txt_GoToEventUrl:"See the event",txt_NumAbbrevTh:"th",txt_NumAbbrevSt:"st",txt_NumAbbrevNd:"nd",txt_NumAbbrevRd:"rd",txt_loading:"loading...",showDayAsWeeks:true,startWeekOnMonday:true,showDayNameInCalendar:true,showDescription:false,onlyOneDescription:true,openEventInNewWindow:false,eventsScrollable:false,dateFormat:"D/MM/YYYY",jsonDateFormat:"timestamp",moveSpeed:500,moveOpacity:0.15,jsonData:"",cacheJson:true};