(function(n,t,i,r){function f(t,i){this.obj=n(t);this.o=n.extend({},n.fn[u].defaults,i);this.objId=this.obj.attr("id");this.pwCtrls=".jarviswidget-ctrls";this.widget=this.obj.find(this.o.widgets);this.toggleClass=this.o.toggleClass.split("|");this.editClass=this.o.editClass.split("|");this.fullscreenClass=this.o.fullscreenClass.split("|");this.customClass=this.o.customClass.split("|");this.init()}var u="jarvisWidgets";f.prototype={_settings:function(){var n=this;storage=!!function(){var t,n=+new Date;try{return localStorage.setItem(n,n),t=localStorage.getItem(n)==n,localStorage.removeItem(n),t}catch(i){}}()&&localStorage;storage&&n.o.localStorage&&(n.o.ajaxnav===!0?(widget_url="eSpace-",keySettings="Plugin_settings_"+widget_url+"_"+n.objId,getKeySettings=localStorage.getItem(keySettings),keyPosition="Plugin_position_"+widget_url+"_"+n.objId,getKeyPosition=localStorage.getItem(keyPosition)):(keySettings="jarvisWidgets_settings_eSpace-_"+n.objId,getKeySettings=localStorage.getItem(keySettings),keyPosition="jarvisWidgets_position_eSpace-_"+n.objId,getKeyPosition=localStorage.getItem(keyPosition)));clickEvent="ontouchstart"in t||t.DocumentTouch&&i instanceof DocumentTouch?"touchstart":"click"},_runLoaderWidget:function(n){var t=this;t.o.indicator===!0&&n.parents(t.o.widgets).find(".jarviswidget-loader").stop(!0,!0).fadeIn(100).delay(t.o.indicatorTime).fadeOut(100)},_getPastTimestamp:function(n){var o=this,t=new Date(n),i=t.getMonth()+1,r=t.getDate(),s=t.getFullYear(),u=t.getHours(),f=t.getMinutes(),e=t.getUTCSeconds();return i<10&&(i="0"+i),r<10&&(r="0"+r),u<10&&(u="0"+u),f<10&&(f="0"+f),e<10&&(e="0"+e),o.o.timestampFormat.replace(/%d%/g,r).replace(/%m%/g,i).replace(/%y%/g,s).replace(/%h%/g,u).replace(/%i%/g,f).replace(/%s%/g,e)},_loadAjaxFile:function(t,i,r){var u=this;t.find(".widget-body").load(i,function(i,r,f){var o=n(this),e;r=="error"&&o.html('<h4 class="alert alert-danger">'+u.o.labelError+"<b> "+f.status+" "+f.statusText+"<\/b><\/h4>");r=="success"&&(e=t.find(u.o.timestampPlaceholder),e.length&&e.html(u._getPastTimestamp(new Date)),typeof u.o.afterLoad=="function"&&u.o.afterLoad.call(this,t))});u._runLoaderWidget(r)},_saveSettingsWidget:function(){var t=this,i;t._settings();storage&&t.o.localStorage&&(i=[],t.obj.find(t.o.widgets).each(function(){var t={};t.id=n(this).attr("id");t.style=n(this).attr("data-widget-attstyle");t.title=n(this).children("header").children("h2").text();t.hidden=n(this).is(":hidden")?1:0;t.collapsed=n(this).hasClass("jarviswidget-collapsed")?1:0;i.push(t)}),storeSettingsObj=JSON.stringify({widget:i}),getKeySettings!=storeSettingsObj&&localStorage.setItem(keySettings,storeSettingsObj));typeof t.o.onSave=="function"&&t.o.onSave.call(this,null,storeSettingsObj)},_savePositionWidget:function(){var t=this,r,i;t._settings();storage&&t.o.localStorage&&(r=[],t.obj.find(t.o.grid+".sortable-grid").each(function(){var i=[],u;n(this).children(t.o.widgets).each(function(){var t={};t.id=n(this).attr("id");i.push(t)});u={section:i};r.push(u)}),i=JSON.stringify({grid:r}),getKeyPosition!=i&&localStorage.setItem(keyPosition,i,null));typeof t.o.onSave=="function"&&t.o.onSave.call(this,i)},init:function(){var t=this,e,s,h,u,i,f,o;if(t._settings(),n("#"+t.objId).length||alert("It looks like your using a class instead of an ID, dont do that!"),t.o.rtl===!0&&n("body").addClass("rtl"),n(t.o.grid).each(function(){n(this).find(t.o.widgets).length&&n(this).addClass("sortable-grid")}),storage&&t.o.localStorage&&getKeyPosition){e=JSON.parse(getKeyPosition);for(i in e.grid){s=t.obj.find(t.o.grid+".sortable-grid").eq(i);for(h in e.grid[i].section)s.append(n("#"+e.grid[i].section[h].id))}}if(storage&&t.o.localStorage&&getKeySettings){u=JSON.parse(getKeySettings);for(i in u.widget)f=n("#"+u.widget[i].id),u.widget[i].style&&f.removeClassPrefix("jarviswidget-color-").addClass(u.widget[i].style).attr("data-widget-attstyle",""+u.widget[i].style+""),u.widget[i].hidden==1?f.hide(1):f.show(1).removeAttr("data-widget-hidden"),u.widget[i].collapsed==1&&f.addClass("jarviswidget-collapsed").children("div").hide(1),f.children("header").children("h2").text()!=u.widget[i].title&&f.children("header").children("h2").text(u.widget[i].title)}t.widget.each(function(){var i=n(this),u=n(this).children("header"),e,o,s,h,c,f,a,l,v;u.parent().attr("role")||(i.data("widget-hidden")===!0&&i.hide(),i.data("widget-collapsed")===!0&&i.addClass("jarviswidget-collapsed").children("div").hide(),e=t.o.customButton===!0&&i.data("widget-custombutton")===r&&t.customClass[0].length!==0?'<a href="javascript:void(0);" class="button-icon jarviswidget-custom-btn"><i class="'+t.customClass[0]+'"><\/i><\/a>':"",o=t.o.deleteButton===!0&&i.data("widget-deletebutton")===r?'<a href="javascript:void(0);" class="button-icon jarviswidget-delete-btn" rel="tooltip" title="Delete" data-placement="bottom"><i class="'+t.o.deleteClass+'"><\/i><\/a>':"",s=t.o.editButton===!0&&i.data("widget-editbutton")===r?'<a href="javascript:void(0);" class="button-icon jarviswidget-edit-btn" rel="tooltip" title="Edit Title" data-placement="bottom"><i class="'+t.editClass[0]+'"><\/i><\/a>':"",h=t.o.fullscreenButton===!0&&i.data("widget-fullscreenbutton")===r?'<a href="javascript:void(0);" class="button-icon jarviswidget-fullscreen-btn" rel="tooltip" title="Fullscreen" data-placement="bottom"><i class="'+t.fullscreenClass[0]+'"><\/i><\/a>':"",t.o.colorButton===!0&&i.data("widget-colorbutton")===r?(c='<a data-toggle="dropdown" class="dropdown-toggle color-box selector" href="javascript:void(0);"><\/a><ul class="dropdown-menu arrow-box-up-right color-select pull-right"><li><span class="bg-color-green" data-widget-setstyle="jarviswidget-color-green" rel="tooltip" data-placement="left" data-original-title="Green Grass"><\/span><\/li><li><span class="bg-color-greenDark" data-widget-setstyle="jarviswidget-color-greenDark" rel="tooltip" data-placement="top" data-original-title="Dark Green"><\/span><\/li><li><span class="bg-color-greenLight" data-widget-setstyle="jarviswidget-color-greenLight" rel="tooltip" data-placement="top" data-original-title="Light Green"><\/span><\/li><li><span class="bg-color-purple" data-widget-setstyle="jarviswidget-color-purple" rel="tooltip" data-placement="top" data-original-title="Purple"><\/span><\/li><li><span class="bg-color-magenta" data-widget-setstyle="jarviswidget-color-magenta" rel="tooltip" data-placement="top" data-original-title="Magenta"><\/span><\/li><li><span class="bg-color-pink" data-widget-setstyle="jarviswidget-color-pink" rel="tooltip" data-placement="right" data-original-title="Pink"><\/span><\/li><li><span class="bg-color-pinkDark" data-widget-setstyle="jarviswidget-color-pinkDark" rel="tooltip" data-placement="left" data-original-title="Fade Pink"><\/span><\/li><li><span class="bg-color-blueLight" data-widget-setstyle="jarviswidget-color-blueLight" rel="tooltip" data-placement="top" data-original-title="Light Blue"><\/span><\/li><li><span class="bg-color-teal" data-widget-setstyle="jarviswidget-color-teal" rel="tooltip" data-placement="top" data-original-title="Teal"><\/span><\/li><li><span class="bg-color-blue" data-widget-setstyle="jarviswidget-color-blue" rel="tooltip" data-placement="top" data-original-title="Ocean Blue"><\/span><\/li><li><span class="bg-color-blueDark" data-widget-setstyle="jarviswidget-color-blueDark" rel="tooltip" data-placement="top" data-original-title="Night Sky"><\/span><\/li><li><span class="bg-color-darken" data-widget-setstyle="jarviswidget-color-darken" rel="tooltip" data-placement="right" data-original-title="Night"><\/span><\/li><li><span class="bg-color-yellow" data-widget-setstyle="jarviswidget-color-yellow" rel="tooltip" data-placement="left" data-original-title="Day Light"><\/span><\/li><li><span class="bg-color-orange" data-widget-setstyle="jarviswidget-color-orange" rel="tooltip" data-placement="bottom" data-original-title="Orange"><\/span><\/li><li><span class="bg-color-orangeDark" data-widget-setstyle="jarviswidget-color-orangeDark" rel="tooltip" data-placement="bottom" data-original-title="Dark Orange"><\/span><\/li><li><span class="bg-color-red" data-widget-setstyle="jarviswidget-color-red" rel="tooltip" data-placement="bottom" data-original-title="Red Rose"><\/span><\/li><li><span class="bg-color-redLight" data-widget-setstyle="jarviswidget-color-redLight" rel="tooltip" data-placement="bottom" data-original-title="Light Red"><\/span><\/li><li><span class="bg-color-white" data-widget-setstyle="jarviswidget-color-white" rel="tooltip" data-placement="right" data-original-title="Purity"><\/span><\/li><li><a href="javascript:void(0);" class="jarviswidget-remove-colors" data-widget-setstyle="" rel="tooltip" data-placement="bottom" data-original-title="Reset widget color to default">Remove<\/a><\/li><\/ul>',u.prepend('<div class="widget-toolbar">'+c+"<\/div>")):c="",t.o.toggleButton===!0&&i.data("widget-togglebutton")===r?(a=i.data("widget-collapsed")===!0||i.hasClass("jarviswidget-collapsed")?t.toggleClass[1]:t.toggleClass[0],f='<a href="#" class="button-icon jarviswidget-toggle-btn" rel="tooltip" title="Collapse" data-placement="bottom"><i class="'+a+'"><\/i><\/a>'):f="",l=t.o.refreshButton===!0&&i.data("widget-refreshbutton")!==!1&&i.data("widget-load")?'<a href="#" class="button-icon jarviswidget-refresh-btn" data-loading-text="&nbsp;&nbsp;Loading...&nbsp;" rel="tooltip" title="Refresh" data-placement="bottom"><i class="'+t.o.refreshButtonClass+'"><\/i><\/a>':"",v=t.o.buttonOrder.replace(/%refresh%/g,l).replace(/%delete%/g,o).replace(/%custom%/g,e).replace(/%fullscreen%/g,h).replace(/%edit%/g,s).replace(/%toggle%/g,f),(l!==""||o!==""||e!==""||h!==""||s!==""||f!=="")&&u.prepend('<div class="jarviswidget-ctrls mobile-collapse">'+v+"<\/div>"),t.o.sortable===!0&&i.data("widget-sortable")===r&&i.addClass("jarviswidget-sortable"),i.find(t.o.editPlaceholder).length&&i.find(t.o.editPlaceholder).find("input").val(n.trim(u.children("h2").text())),u.append('<span class="jarviswidget-loader"><i class="fa fa-refresh fa-spin"><\/i><\/span>'),i.attr("role","widget").children("div").attr("role","content").prev("header").attr("role","heading").children("div").attr("role","menu"))});t.o.buttonsHidden===!0&&n(t.o.pwCtrls).hide();n(".jarviswidget header [rel=tooltip]").tooltip();t.obj.find("[data-widget-load]").each(function(){var i=n(this),r=i.children(),u=i.data("widget-load"),f=i.data("widget-refresh")*1e3,e=i.children();i.find(".jarviswidget-ajax-placeholder").length||(i.children("widget-body").append('<div class="jarviswidget-ajax-placeholder">'+t.o.loadingLabel+"<\/div>"),i.data("widget-refresh")>0?(t._loadAjaxFile(i,u,r),n.intervalArr.push(setInterval(function(){t._loadAjaxFile(i,u,r)},f))):t._loadAjaxFile(i,u,r))});t.o.sortable===!0&&jQuery.ui&&(o=t.obj.find(".sortable-grid").not("[data-widget-excludegrid]"),o.sortable({items:o.find(".jarviswidget-sortable"),connectWith:o,placeholder:t.o.placeholderClass,cursor:"move",revert:!0,opacity:t.o.opacity,delay:200,cancel:".button-icon, #jarviswidget-fullscreen-mode > div",zIndex:1e4,handle:t.o.dragHandle,forcePlaceholderSize:!0,forceHelperSize:!0,update:function(n,i){t._runLoaderWidget(i.item.children());t._savePositionWidget();typeof t.o.onChange=="function"&&t.o.onChange.call(this,i.item)}}));t.o.buttonsHidden===!0&&t.widget.children("header").hover(function(){n(this).children(t.o.pwCtrls).stop(!0,!0).fadeTo(100,1)},function(){n(this).children(t.o.pwCtrls).stop(!0,!0).fadeTo(100,0)});t._clickEvents();n(t.o.deleteSettingsKey).on(clickEvent,this,function(n){if(storage&&t.o.localStorage){var i=confirm(t.o.settingsKeyLabel);i&&localStorage.removeItem(keySettings)}n.preventDefault()});n(t.o.deletePositionKey).on(clickEvent,this,function(n){if(storage&&t.o.localStorage){var i=confirm(t.o.positionKeyLabel);i&&localStorage.removeItem(keyPosition)}n.preventDefault()});storage&&t.o.localStorage&&((getKeySettings===null||getKeySettings.length<1)&&t._saveSettingsWidget(),(getKeyPosition===null||getKeyPosition.length<1)&&t._savePositionWidget())},_clickEvents:function(){function r(){if(n("#jarviswidget-fullscreen-mode").length){var r=n(t).height(),u=n("#jarviswidget-fullscreen-mode").find(i.o.widgets).children("header").height();n("#jarviswidget-fullscreen-mode").find(i.o.widgets).children("div").height(r-u-15)}}var i=this;i._settings();i.widget.on(clickEvent,".jarviswidget-toggle-btn",function(t){var r=n(this),u=r.parents(i.o.widgets);i._runLoaderWidget(r);u.hasClass("jarviswidget-collapsed")?r.children().removeClass(i.toggleClass[1]).addClass(i.toggleClass[0]).parents(i.o.widgets).removeClass("jarviswidget-collapsed").children("[role=content]").slideDown(i.o.toggleSpeed,function(){i._saveSettingsWidget()}):r.children().removeClass(i.toggleClass[0]).addClass(i.toggleClass[1]).parents(i.o.widgets).addClass("jarviswidget-collapsed").children("[role=content]").slideUp(i.o.toggleSpeed,function(){i._saveSettingsWidget()});typeof i.o.onToggle=="function"&&i.o.onToggle.call(this,u);t.preventDefault();t.stopPropagation()});i.widget.on(clickEvent,".jarviswidget-fullscreen-btn",function(t){var u=n(this).parents(i.o.widgets),f=u.children("div");i._runLoaderWidget(n(this));n("#jarviswidget-fullscreen-mode").length?(n(".nooverflow").removeClass("nooverflow"),u.unwrap("<div>").children("div").removeAttr("style").end().find(".jarviswidget-fullscreen-btn").children().removeClass(i.fullscreenClass[1]).addClass(i.fullscreenClass[0]).parents(i.pwCtrls).children("a").show(),f.hasClass("jarviswidget-visible")&&f.hide().removeClass("jarviswidget-visible")):(n("body").addClass("nooverflow"),u.wrap('<div id="jarviswidget-fullscreen-mode"/>').parent().find(".jarviswidget-fullscreen-btn").children().removeClass(i.fullscreenClass[0]).addClass(i.fullscreenClass[1]).parents(i.pwCtrls).children("a:not(.jarviswidget-fullscreen-btn)").hide(),f.is(":hidden")&&f.show().addClass("jarviswidget-visible"));r();typeof i.o.onFullscreen=="function"&&i.o.onFullscreen.call(this,u);t.preventDefault()});n(t).resize(function(){r()});i.widget.on(clickEvent,".jarviswidget-edit-btn",function(t){var r=n(this).parents(i.o.widgets);i._runLoaderWidget(n(this));r.find(i.o.editPlaceholder).is(":visible")?n(this).children().removeClass(i.editClass[1]).addClass(i.editClass[0]).parents(i.o.widgets).find(i.o.editPlaceholder).slideUp(i.o.editSpeed,function(){i._saveSettingsWidget()}):n(this).children().removeClass(i.editClass[0]).addClass(i.editClass[1]).parents(i.o.widgets).find(i.o.editPlaceholder).slideDown(i.o.editSpeed);typeof i.o.onEdit=="function"&&i.o.onEdit.call(this,r);t.preventDefault()});n(i.o.editPlaceholder).find("input").keyup(function(){n(this).parents(i.o.widgets).children("header").children("h2").text(n(this).val())});i.widget.on(clickEvent,"[data-widget-setstyle]",function(t){var r=n(this).data("widget-setstyle"),u="";n(this).parents(i.o.editPlaceholder).find("[data-widget-setstyle]").each(function(){u+=n(this).data("widget-setstyle")+" "});n(this).parents(i.o.widgets).attr("data-widget-attstyle",""+r+"").removeClassPrefix("jarviswidget-color-").addClass(r);i._runLoaderWidget(n(this));i._saveSettingsWidget();t.preventDefault()});i.widget.on(clickEvent,".jarviswidget-custom-btn",function(t){var r=n(this).parents(i.o.widgets);i._runLoaderWidget(n(this));n(this).children("."+i.customClass[0]).length?(n(this).children().removeClass(i.customClass[0]).addClass(i.customClass[1]),typeof i.o.customStart=="function"&&i.o.customStart.call(this,r)):(n(this).children().removeClass(i.customClass[1]).addClass(i.customClass[0]),typeof i.o.customEnd=="function"&&i.o.customEnd.call(this,r));i._saveSettingsWidget();t.preventDefault()});i.widget.on(clickEvent,".jarviswidget-delete-btn",function(t){var r=n(this).parents(i.o.widgets),u=r.attr("id"),f=r.children("header").children("h2").text();n.SmartMessageBox({title:"<i class='fa fa-times' style='color:#ed1c24'><\/i> "+i.o.labelDelete+' "'+f+'"',content:"Warning: This action cannot be undone",buttons:"[No][Yes]"},function(t){t=="Yes"&&(i._runLoaderWidget(n(this)),n("#"+u).fadeOut(i.o.deleteSpeed,function(){n(this).remove();typeof i.o.onDelete=="function"&&i.o.onDelete.call(this,r)}))});t.preventDefault()});i.widget.on(clickEvent,".jarviswidget-refresh-btn",function(t){var r=n(this).parents(i.o.widgets),e=r.data("widget-load"),u=r.children(),f=n(this);f.button("loading");u.addClass("widget-body-ajax-loading");setTimeout(function(){f.button("reset");u.removeClass("widget-body-ajax-loading");i._loadAjaxFile(r,e,u)},1e3);t.preventDefault()})},destroy:function(){var n=this;n.widget.off("click",n._clickEvents());n.obj.removeData(u)}};n.fn[u]=function(t){return this.each(function(){var r=n(this),i=r.data(u),e=typeof t=="object"&&t;i||r.data(u,i=new f(this,e));typeof t=="string"&&i[t]()})};n.fn[u].defaults={grid:"section",widgets:".jarviswidget",localStorage:!0,deleteSettingsKey:"",settingsKeyLabel:"Reset settings?",deletePositionKey:"",positionKeyLabel:"Reset position?",sortable:!0,buttonsHidden:!1,toggleButton:!0,toggleClass:"min-10 | plus-10",toggleSpeed:200,onToggle:function(){},deleteButton:!0,deleteClass:"trashcan-10",deleteSpeed:200,onDelete:function(){},editButton:!0,editPlaceholder:".jarviswidget-editbox",editClass:"pencil-10 | delete-10",editSpeed:200,onEdit:function(){},colorButton:!0,fullscreenButton:!0,fullscreenClass:"fullscreen-10 | normalscreen-10",fullscreenDiff:3,onFullscreen:function(){},customButton:!0,customClass:"",customStart:function(){},customEnd:function(){},buttonOrder:"%refresh% %delete% %custom% %edit% %fullscreen% %toggle%",opacity:1,dragHandle:"> header",placeholderClass:"jarviswidget-placeholder",indicator:!0,indicatorTime:600,ajax:!0,loadingLabel:"loading...",timestampPlaceholder:".jarviswidget-timestamp",timestampFormat:"Last update: %m%/%d%/%y% %h%:%i%:%s%",refreshButton:!0,refreshButtonClass:"refresh-10",labelError:"Sorry but there was a error:",labelUpdated:"Last Update:",labelRefresh:"Refresh",labelDelete:"Delete widget:",afterLoad:function(){},rtl:!1,onChange:function(){},onSave:function(){},ajaxnav:!0};n.fn.removeClassPrefix=function(t){return this.each(function(i,r){var u=r.className.split(" ").map(function(n){return n.indexOf(t)===0?"":n});r.className=n.trim(u.join(" "))}),this}})(jQuery,window,document)