var App = function () {
var isMainPage = false;
var isMapPage = false;
var isIE8 = false;
var handleJQVMAP = function () {
if (!sample_data) {
return;
}
var showMap = function (name) {
jQuery('.vmaps').hide();
jQuery('#vmap_' + name).show();
}
var setMap = function (name) {
var data = {
map: 'world_en',
backgroundColor: null,
borderColor: '#333333',
borderOpacity: 0.5,
borderWidth: 1,
color: '#c6c6c6',
enableZoom: true,
hoverColor: '#3daced',
hoverOpacity: null,
values: sample_data,
normalizeFunction: 'linear',
scaleColors: ['#e8e8e8', '#b0b0b0'],
selectedColor: '#3daced',
selectedRegion: null,
showTooltip: true,
onLabelShow: function (event, label, code) {
},
onRegionOver: function (event, code) {
if (code == 'ca') {
event.preventDefault();
}
},
onRegionClick: function (element, code, region) {
var message = 'You clicked "' + region + '" which has the code: ' + code.toUpperCase();
alert(message);
}
};
data.map = name + '_en';
var map = jQuery('#vmap_' + name);
map.width(map.parent().parent().width());
map.show();
map.vectorMap(data);
map.hide();
}
setMap("world");
setMap("usa");
setMap("europe");
setMap("russia");
setMap("germany");
showMap("world");
jQuery('#regional_stat_world').click(function () {
showMap("world");
});
jQuery('#regional_stat_usa').click(function () {
showMap("usa");
});
jQuery('#regional_stat_europe').click(function () {
showMap("europe");
});
jQuery('#regional_stat_russia').click(function () {
showMap("russia");
});
jQuery('#regional_stat_germany').click(function () {
showMap("germany");
});
$('#region_statistics_loading').hide();
$('#region_statistics_content').show();
}
var handleAllJQVMAP = function () {
if (!sample_data) {
return;
}
var setMap = function (name) {
var data = {
map: 'world_en',
backgroundColor: null,
borderColor: '#333333',
borderOpacity: 0.5,
borderWidth: 1,
color: '#c6c6c6',
enableZoom: true,
hoverColor: '#3daced',
hoverOpacity: null,
values: sample_data,
normalizeFunction: 'linear',
scaleColors: ['#e8e8e8', '#b0b0b0'],
selectedColor: '#3daced',
selectedRegion: null,
showTooltip: true,
onRegionOver: function (event, code) {
//sample to interact with map
if (code == 'ca') {
event.preventDefault();
}
},
onRegionClick: function (element, code, region) {
//sample to interact with map
var message = 'You clicked "' + region + '" which has the code: ' + code.toUpperCase();
alert(message);
}
};
data.map = name + '_en';
var map = jQuery('#vmap_' + name);
map.width(map.parent().width());
map.vectorMap(data);
}
setMap("world");
setMap("usa");
setMap("europe");
setMap("russia");
setMap("germany");
}
var handleDashboardCalendar = function () {
if (!jQuery().fullCalendar) {
return;
}
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var h = {};
if ($(window).width() <= 320) {
h = {
left: 'title, prev,next',
center: '',
right: 'today,month,agendaWeek,agendaDay'
};
} else {
h = {
left: 'title',
center: '',
right: 'prev,next,today,month,agendaWeek,agendaDay'
};
}
$('#calendar').html("");
$('#calendar').fullCalendar({
header: h,
editable: true,
events: [{
title: 'All Day Event',
start: new Date(y, m, 1),
className: 'label label-default',
}, {
title: 'Long Event',
start: new Date(y, m, d - 5),
end: new Date(y, m, d - 2),
className: 'label label-success',
}, {
title: 'Repeating Event',
start: new Date(y, m, d - 3, 16, 0),
allDay: false,
className: 'label label-default',
}, {
title: 'Repeating Event',
start: new Date(y, m, d + 4, 16, 0),
allDay: false,
className: 'label label-important',
}, {
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false,
className: 'label label-info',
}, {
title: 'Lunch',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false,
className: 'label label-warning',
}, {
title: 'Birthday Party',
start: new Date(y, m, d + 1, 19, 0),
end: new Date(y, m, d + 1, 22, 30),
allDay: false,
className: 'label label-success',
}, {
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/',
className: 'label label-warning',
}]
});
}
var handleCalendar = function () {
if (!jQuery().fullCalendar) {
return;
}
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
var h = {};
if ($(window).width() <= 320) {
h = {
left: 'title, prev,next',
center: '',
right: 'today,month,agendaWeek,agendaDay'
};
} else {
h = {
left: 'title',
center: '',
right: 'prev,next,today,month,agendaWeek,agendaDay'
};
}
var initDrag = function (el) {
// create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
// it doesn't need to have a start or end
var eventObject = {
title: $.trim(el.text()) // use the element's text as the event title
};
// store the Event Object in the DOM element so we can get to it later
el.data('eventObject', eventObject);
// make the event draggable using jQuery UI
el.draggable({
zIndex: 999,
revert: true, // will cause the event to go back to its
revertDuration: 0 // original position after the drag
});
}
var addEvent = function (title, priority) {
title = title.length == 0 ? "Untitled Event" : title;
priority = priority.length == 0 ? "default" : priority;
var html = $('
' + title + '
');
jQuery('#event_box').append(html);
initDrag(html);
}
$('#external-events div.external-event').each(function () {
initDrag($(this))
});
$('#event_add').click(function () {
var title = $('#event_title').val();
var priority = $('#event_priority').val();
addEvent(title, priority);
});
//modify chosen options
var handleDropdown = function () {
$('#event_priority_chzn .chzn-search').hide(); //hide search box
$('#event_priority_chzn_o_1').html('' + $('#event_priority_chzn_o_1').text() + '');
$('#event_priority_chzn_o_2').html('' + $('#event_priority_chzn_o_2').text() + '');
$('#event_priority_chzn_o_3').html('' + $('#event_priority_chzn_o_3').text() + '');
$('#event_priority_chzn_o_4').html('' + $('#event_priority_chzn_o_4').text() + '');
$('#event_priority_chzn_o_5').html('' + $('#event_priority_chzn_o_5').text() + '');
}
$('#event_priority_chzn').click(handleDropdown);
//predefined events
addEvent("My Event 1", "default");
addEvent("My Event 2", "success");
addEvent("My Event 3", "info");
addEvent("My Event 4", "warning");
addEvent("My Event 5", "important");
addEvent("My Event 6", "success");
addEvent("My Event 7", "info");
addEvent("My Event 8", "warning");
addEvent("My Event 9", "success");
addEvent("My Event 10", "default");
$('#calendar').fullCalendar({
header: h,
editable: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
drop: function (date, allDay) { // this function is called when something is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
copiedEventObject.className = $(this).attr("data-class");
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
},
events: [{
title: 'All Day Event',
start: new Date(y, m, 1),
className: 'label label-default',
}, {
title: 'Long Event',
start: new Date(y, m, d - 5),
end: new Date(y, m, d - 2),
className: 'label label-success',
}, {
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d - 3, 16, 0),
allDay: false,
className: 'label label-default',
}, {
id: 999,
title: 'Repeating Event',
start: new Date(y, m, d + 4, 16, 0),
allDay: false,
className: 'label label-important',
}, {
title: 'Meeting',
start: new Date(y, m, d, 10, 30),
allDay: false,
className: 'label label-info',
}, {
title: 'Lunch',
start: new Date(y, m, d, 12, 0),
end: new Date(y, m, d, 14, 0),
allDay: false,
className: 'label label-warning',
}, {
title: 'Birthday Party',
start: new Date(y, m, d + 1, 19, 0),
end: new Date(y, m, d + 1, 22, 30),
allDay: false,
className: 'label label-success',
}, {
title: 'Click for Google',
start: new Date(y, m, 28),
end: new Date(y, m, 29),
url: 'http://google.com/',
className: 'label label-warning',
}]
});
}
var handleChat = function () {
var cont = $('#chats');
var list = $('.chats', cont);
var form = $('.chat-form', cont);
var input = $('input', form);
var btn = $('.btn', form);
var handleClick = function () {
var text = input.val();
if (text.length == 0) {
return;
}
var time = new Date();
var time_str = time.toString('MMM dd, yyyy HH:MM');
var tpl = '';
tpl += '';
tpl += '
';
tpl += '';
tpl += '
';
tpl += '
Sumon Ahmed ';
tpl += '
at ' + time_str + '';
tpl += '
';
tpl += text;
tpl += '';
tpl += '
';
tpl += '';
var msg = list.append(tpl);
input.val("");
$('.scroller', cont).slimScroll({
scrollTo: list.height()
});
}
btn.click(handleClick);
input.keypress(function (e) {
if (e.which == 13) {
handleClick();
return false; //<---- Add this line
}
});
}
var handleClockfaceTimePickers = function () {
if (!jQuery().clockface) {
return;
}
$('#clockface_1').clockface();
$('#clockface_2').clockface({
format: 'HH:mm',
trigger: 'manual'
});
$('#clockface_2_toggle-btn').click(function (e) {
e.stopPropagation();
$('#clockface_2').clockface('toggle');
});
$('#clockface_3').clockface({
format: 'H:mm'
}).clockface('show', '14:30');
}
var handlePortletSortable = function () {
if (!jQuery().sortable) {
return;
}
$(".sortable").sortable({
connectWith: '.sortable',
iframeFix: false,
items: 'div.widget',
opacity: 0.8,
helper: 'original',
revert: true,
forceHelperSize: true,
placeholder: 'sortable-box-placeholder round-all',
forcePlaceholderSize: true,
tolerance: 'pointer'
});
}
var handleMainMenu = function () {
jQuery('#sidebar .has-sub > a').click(function () {
var last = jQuery('.has-sub.open', $('#sidebar'));
last.removeClass("open");
jQuery('.arrow', last).removeClass("open");
jQuery('.sub', last).slideUp(200);
var sub = jQuery(this).next();
if (sub.is(":visible")) {
jQuery('.arrow', jQuery(this)).removeClass("open");
jQuery(this).parent().removeClass("open");
sub.slideUp(200);
} else {
jQuery('.arrow', jQuery(this)).addClass("open");
jQuery(this).parent().addClass("open");
sub.slideDown(200);
}
});
}
var handleWidgetTools = function () {
jQuery('.widget .tools .icon-remove').click(function () {
jQuery(this).parents(".widget").parent().remove();
});
jQuery('.widget .tools .icon-refresh').click(function () {
var el = jQuery(this).parents(".widget");
App.blockUI(el);
window.setTimeout(function () {
App.unblockUI(el);
}, 1000);
});
jQuery('.widget .tools .icon-chevron-down, .widget .tools .icon-chevron-up').click(function () {
var el = jQuery(this).parents(".widget").children(".widget-body");
if (jQuery(this).hasClass("icon-chevron-down")) {
jQuery(this).removeClass("icon-chevron-down").addClass("icon-chevron-up");
el.slideUp(200);
} else {
jQuery(this).removeClass("icon-chevron-up").addClass("icon-chevron-down");
el.slideDown(200);
}
});
}
var handleDashboardCharts = function () {
// used by plot functions
var data = [];
var totalPoints = 200;
// random data generator for plot charts
function getRandomData() {
if (data.length > 0) data = data.slice(1);
// do a random walk
while (data.length < totalPoints) {
var prev = data.length > 0 ? data[data.length - 1] : 50;
var y = prev + Math.random() * 10 - 5;
if (y < 0) y = 0;
if (y > 100) y = 100;
data.push(y);
}
// zip the generated y values with the x values
var res = [];
for (var i = 0; i < data.length; ++i) res.push([i, data[i]])
return res;
}
if (!jQuery.plot) {
return;
}
function randValue() {
return (Math.floor(Math.random() * (1 + 40 - 20))) + 20;
}
var pageviews = [
[1, randValue()],
[2, randValue()],
[3, 2 + randValue()],
[4, 3 + randValue()],
[5, 5 + randValue()],
[6, 10 + randValue()],
[7, 15 + randValue()],
[8, 20 + randValue()],
[9, 25 + randValue()],
[10, 30 + randValue()],
[11, 35 + randValue()],
[12, 25 + randValue()],
[13, 15 + randValue()],
[14, 20 + randValue()],
[15, 45 + randValue()],
[16, 50 + randValue()],
[17, 65 + randValue()],
[18, 70 + randValue()],
[19, 85 + randValue()],
[20, 80 + randValue()],
[21, 75 + randValue()],
[22, 80 + randValue()],
[23, 75 + randValue()],
[24, 70 + randValue()],
[25, 65 + randValue()],
[26, 75 + randValue()],
[27, 80 + randValue()],
[28, 85 + randValue()],
[29, 90 + randValue()],
[30, 95 + randValue()]
];
var visitors = [
[1, randValue() - 5],
[2, randValue() - 5],
[3, randValue() - 5],
[4, 6 + randValue()],
[5, 5 + randValue()],
[6, 20 + randValue()],
[7, 25 + randValue()],
[8, 36 + randValue()],
[9, 26 + randValue()],
[10, 38 + randValue()],
[11, 39 + randValue()],
[12, 50 + randValue()],
[13, 51 + randValue()],
[14, 12 + randValue()],
[15, 13 + randValue()],
[16, 14 + randValue()],
[17, 15 + randValue()],
[18, 15 + randValue()],
[19, 16 + randValue()],
[20, 17 + randValue()],
[21, 18 + randValue()],
[22, 19 + randValue()],
[23, 20 + randValue()],
[24, 21 + randValue()],
[25, 14 + randValue()],
[26, 24 + randValue()],
[27, 25 + randValue()],
[28, 26 + randValue()],
[29, 27 + randValue()],
[30, 31 + randValue()]
];
$('#site_statistics_loading').hide();
$('#site_statistics_content').show();
var plot = $.plot($("#site_statistics"), [{
data: pageviews,
label: "Unique Visits"
}, {
data: visitors,
label: "Page Views"
}], {
series: {
lines: {
show: true,
lineWidth: 2,
fill: true,
fillColor: {
colors: [{
opacity: 0.05
}, {
opacity: 0.01
}]
}
},
points: {
show: true
},
shadowSize: 2
},
grid: {
hoverable: true,
clickable: true,
tickColor: "#eee",
borderWidth: 0
},
colors: ["#A5D16C", "#FCB322", "#32C2CD"],
xaxis: {
ticks: 11,
tickDecimals: 0
},
yaxis: {
ticks: 11,
tickDecimals: 0
}
});
function showTooltip(x, y, contents) {
$('' + contents + '
').css({
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 15,
border: '1px solid #333',
padding: '4px',
color: '#fff',
'border-radius': '3px',
'background-color': '#333',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#site_statistics").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2),
y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY, item.series.label + " of " + x + " = " + y);
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
//server load
var options = {
series: {
shadowSize: 1
},
lines: {
show: true,
lineWidth: 0.5,
fill: true,
fillColor: {
colors: [{
opacity: 0.1
}, {
opacity: 1
}]
}
},
yaxis: {
min: 0,
max: 100,
tickFormatter: function (v) {
return v + "%";
}
},
xaxis: {
show: false
},
colors: ["#A5D16C"],
grid: {
tickColor: "#eaeaea",
borderWidth: 0
}
};
$('#load_statistics_loading').hide();
$('#load_statistics_content').show();
var updateInterval = 30;
var plot = $.plot($("#load_statistics"), [getRandomData()], options);
function update() {
plot.setData([getRandomData()]);
plot.draw();
setTimeout(update, updateInterval);
}
update();
}
var handleCharts = function () {
// used by plot functions
var data = [];
var totalPoints = 250;
// random data generator for plot charts
function getRandomData() {
if (data.length > 0) data = data.slice(1);
// do a random walk
while (data.length < totalPoints) {
var prev = data.length > 0 ? data[data.length - 1] : 50;
var y = prev + Math.random() * 10 - 5;
if (y < 0) y = 0;
if (y > 100) y = 100;
data.push(y);
}
// zip the generated y values with the x values
var res = [];
for (var i = 0; i < data.length; ++i) res.push([i, data[i]])
return res;
}
if (!jQuery.plot) {
return;
}
if ($("#chart_1").size() == 0) {
return;
}
//Basic Chart
function chart1() {
var d1 = [];
for (var i = 0; i < Math.PI * 2; i += 0.25)
d1.push([i, Math.sin(i)]);
var d2 = [];
for (var i = 0; i < Math.PI * 2; i += 0.25)
d2.push([i, Math.cos(i)]);
var d3 = [];
for (var i = 0; i < Math.PI * 2; i += 0.1)
d3.push([i, Math.tan(i)]);
$.plot($("#chart_1"), [{
label: "sin(x)",
data: d1
}, {
label: "cos(x)",
data: d2
}, {
label: "tan(x)",
data: d3
}], {
series: {
lines: {
show: true
},
points: {
show: true
}
},
xaxis: {
ticks: [0, [Math.PI / 2, "\u03c0/2"],
[Math.PI, "\u03c0"],
[Math.PI * 3 / 2, "3\u03c0/2"],
[Math.PI * 2, "2\u03c0"]
]
},
yaxis: {
ticks: 10,
min: -2,
max: 2
},
grid: {
backgroundColor: {
colors: ["#fff", "#eee"]
}
}
});
}
//Interactive Chart
function chart2() {
function randValue() {
return (Math.floor(Math.random() * (1 + 40 - 20))) + 20;
}
var pageviews = [
[1, randValue()],
[2, randValue()],
[3, 2 + randValue()],
[4, 3 + randValue()],
[5, 5 + randValue()],
[6, 10 + randValue()],
[7, 15 + randValue()],
[8, 20 + randValue()],
[9, 25 + randValue()],
[10, 30 + randValue()],
[11, 35 + randValue()],
[12, 25 + randValue()],
[13, 15 + randValue()],
[14, 20 + randValue()],
[15, 45 + randValue()],
[16, 50 + randValue()],
[17, 65 + randValue()],
[18, 70 + randValue()],
[19, 85 + randValue()],
[20, 80 + randValue()],
[21, 75 + randValue()],
[22, 80 + randValue()],
[23, 75 + randValue()],
[24, 70 + randValue()],
[25, 65 + randValue()],
[26, 75 + randValue()],
[27, 80 + randValue()],
[28, 85 + randValue()],
[29, 90 + randValue()],
[30, 95 + randValue()]
];
var visitors = [
[1, randValue() - 5],
[2, randValue() - 5],
[3, randValue() - 5],
[4, 6 + randValue()],
[5, 5 + randValue()],
[6, 20 + randValue()],
[7, 25 + randValue()],
[8, 36 + randValue()],
[9, 26 + randValue()],
[10, 38 + randValue()],
[11, 39 + randValue()],
[12, 50 + randValue()],
[13, 51 + randValue()],
[14, 12 + randValue()],
[15, 13 + randValue()],
[16, 14 + randValue()],
[17, 15 + randValue()],
[18, 15 + randValue()],
[19, 16 + randValue()],
[20, 17 + randValue()],
[21, 18 + randValue()],
[22, 19 + randValue()],
[23, 20 + randValue()],
[24, 21 + randValue()],
[25, 14 + randValue()],
[26, 24 + randValue()],
[27, 25 + randValue()],
[28, 26 + randValue()],
[29, 27 + randValue()],
[30, 31 + randValue()]
];
var plot = $.plot($("#chart_2"), [{
data: pageviews,
label: "Unique Visits"
}, {
data: visitors,
label: "Page Views"
}], {
series: {
lines: {
show: true,
lineWidth: 2,
fill: true,
fillColor: {
colors: [{
opacity: 0.05
}, {
opacity: 0.01
}]
}
},
points: {
show: true
},
shadowSize: 2
},
grid: {
hoverable: true,
clickable: true,
tickColor: "#eee",
borderWidth: 0
},
colors: ["#FCB322", "#A5D16C", "#52e136"],
xaxis: {
ticks: 11,
tickDecimals: 0
},
yaxis: {
ticks: 11,
tickDecimals: 0
}
});
function showTooltip(x, y, contents) {
$('' + contents + '
').css({
position: 'absolute',
display: 'none',
top: y + 5,
left: x + 15,
border: '1px solid #333',
padding: '4px',
color: '#fff',
'border-radius': '3px',
'background-color': '#333',
opacity: 0.80
}).appendTo("body").fadeIn(200);
}
var previousPoint = null;
$("#chart_2").bind("plothover", function (event, pos, item) {
$("#x").text(pos.x.toFixed(2));
$("#y").text(pos.y.toFixed(2));
if (item) {
if (previousPoint != item.dataIndex) {
previousPoint = item.dataIndex;
$("#tooltip").remove();
var x = item.datapoint[0].toFixed(2),
y = item.datapoint[1].toFixed(2);
showTooltip(item.pageX, item.pageY, item.series.label + " of " + x + " = " + y);
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
}
//Tracking Curves
function chart3() {
//tracking curves:
var sin = [],
cos = [];
for (var i = 0; i < 14; i += 0.1) {
sin.push([i, Math.sin(i)]);
cos.push([i, Math.cos(i)]);
}
plot = $.plot($("#chart_3"), [{
data: sin,
label: "sin(x) = -0.00"
}, {
data: cos,
label: "cos(x) = -0.00"
}], {
series: {
lines: {
show: true
}
},
crosshair: {
mode: "x"
},
grid: {
hoverable: true,
autoHighlight: false
},
colors: ["#FCB322", "#A5D16C", "#52e136"],
yaxis: {
min: -1.2,
max: 1.2
}
});
var legends = $("#chart_3 .legendLabel");
legends.each(function () {
// fix the widths so they don't jump around
$(this).css('width', $(this).width());
});
var updateLegendTimeout = null;
var latestPosition = null;
function updateLegend() {
updateLegendTimeout = null;
var pos = latestPosition;
var axes = plot.getAxes();
if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max || pos.y < axes.yaxis.min || pos.y > axes.yaxis.max) return;
var i, j, dataset = plot.getData();
for (i = 0; i < dataset.length; ++i) {
var series = dataset[i];
// find the nearest points, x-wise
for (j = 0; j < series.data.length; ++j)
if (series.data[j][0] > pos.x) break;
// now interpolate
var y, p1 = series.data[j - 1],
p2 = series.data[j];
if (p1 == null) y = p2[1];
else if (p2 == null) y = p1[1];
else y = p1[1] + (p2[1] - p1[1]) * (pos.x - p1[0]) / (p2[0] - p1[0]);
legends.eq(i).text(series.label.replace(/=.*/, "= " + y.toFixed(2)));
}
}
$("#chart_3").bind("plothover", function (event, pos, item) {
latestPosition = pos;
if (!updateLegendTimeout) updateLegendTimeout = setTimeout(updateLegend, 50);
});
}
//Dynamic Chart
function chart4() {
//server load
var options = {
series: {
shadowSize: 1
},
lines: {
show: true,
lineWidth: 0.5,
fill: true,
fillColor: {
colors: [{
opacity: 0.1
}, {
opacity: 1
}]
}
},
yaxis: {
min: 0,
max: 100,
tickFormatter: function (v) {
return v + "%";
}
},
xaxis: {
show: false
},
colors: ["#6ef146"],
grid: {
tickColor: "#a8a3a3",
borderWidth: 0
}
};
var updateInterval = 30;
var plot = $.plot($("#chart_4"), [getRandomData()], options);
function update() {
plot.setData([getRandomData()]);
plot.draw();
setTimeout(update, updateInterval);
}
update();
}
//bars with controls
function chart5() {
var d1 = [];
for (var i = 0; i <= 10; i += 1)
d1.push([i, parseInt(Math.random() * 30)]);
var d2 = [];
for (var i = 0; i <= 10; i += 1)
d2.push([i, parseInt(Math.random() * 30)]);
var d3 = [];
for (var i = 0; i <= 10; i += 1)
d3.push([i, parseInt(Math.random() * 30)]);
var stack = 0,
bars = true,
lines = false,
steps = false;
function plotWithOptions() {
$.plot($("#chart_5"), [d1, d2, d3], {
series: {
stack: stack,
lines: {
show: lines,
fill: true,
steps: steps
},
bars: {
show: bars,
barWidth: 0.6
}
}
});
}
$(".stackControls input").click(function (e) {
e.preventDefault();
stack = $(this).val() == "With stacking" ? true : null;
plotWithOptions();
});
$(".graphControls input").click(function (e) {
e.preventDefault();
bars = $(this).val().indexOf("Bars") != -1;
lines = $(this).val().indexOf("Lines") != -1;
steps = $(this).val().indexOf("steps") != -1;
plotWithOptions();
});
plotWithOptions();
}
//graph
function graphs() {
var graphData = [];
var series = Math.floor(Math.random() * 10) + 1;
for (var i = 0; i < series; i++) {
graphData[i] = {
label: "Series" + (i + 1),
data: Math.floor((Math.random() - 1) * 100) + 1
}
}
$.plot($("#graph_1"), graphData, {
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 1,
formatter: function (label, series) {
return '' + label + '
' + Math.round(series.percent) + '%
';
},
background: {
opacity: 0.8
}
}
}
},
legend: {
show: false
}
});
$.plot($("#graph_2"), graphData, {
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 3 / 4,
formatter: function (label, series) {
return '' + label + '
' + Math.round(series.percent) + '%
';
},
background: {
opacity: 0.5
}
}
}
},
legend: {
show: false
}
});
$.plot($("#graph_3"), graphData, {
series: {
pie: {
show: true
}
},
grid: {
hoverable: true,
clickable: true
}
});
$("#graph_3").bind("plothover", pieHover);
$("#graph_3").bind("plotclick", pieClick);
function pieHover(event, pos, obj) {
if (!obj) return;
percent = parseFloat(obj.series.percent).toFixed(2);
$("#hover").html('' + obj.series.label + ' (' + percent + '%)');
}
function pieClick(event, pos, obj) {
if (!obj) return;
percent = parseFloat(obj.series.percent).toFixed(2);
alert('' + obj.series.label + ': ' + percent + '%');
}
$.plot($("#graph_4"), graphData, {
series: {
pie: {
innerRadius: 0.5,
show: true
}
}
});
}
chart1();
chart2();
chart3();
chart4();
chart5();
graphs();
}
var handleFancyBox = function () {
if (!jQuery().fancybox) {
return;
}
if (jQuery(".fancybox-button").size() > 0) {
jQuery(".fancybox-button").fancybox({
groupAttr: 'data-rel',
prevEffect: 'none',
nextEffect: 'none',
closeBtn: true,
helpers: {
title: {
type: 'inside'
}
}
});
}
}
var handleLoginForm = function () {
jQuery('#forget-password').click(function () {
jQuery('#loginform').hide();
jQuery('#forgotform').show(200);
});
jQuery('#forget-btn').click(function () {
jQuery('#loginform').slideDown(200);
jQuery('#forgotform').slideUp(200);
});
}
var handleFixInputPlaceholderForIE = function () {
//fix html5 placeholder attribute for ie7 & ie8
if (jQuery.browser.msie && jQuery.browser.version.substr(0, 1) <= 9) { // ie7&ie8
jQuery('input[placeholder], textarea[placeholder]').each(function () {
var input = jQuery(this);
jQuery(input).val(input.attr('placeholder'));
jQuery(input).focus(function () {
if (input.val() == input.attr('placeholder')) {
input.val('');
}
});
jQuery(input).blur(function () {
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.val(input.attr('placeholder'));
}
});
});
}
}
var handleStyler = function () {
var scrollHeight = '25px';
jQuery('#theme-change').click(function () {
if ($(this).attr("opened") && !$(this).attr("opening") && !$(this).attr("closing")) {
$(this).removeAttr("opened");
$(this).attr("closing", "1");
$("#theme-change").css("overflow", "hidden").animate({
width: '20px',
height: '22px',
'padding-top': '3px'
}, {
complete: function () {
$(this).removeAttr("closing");
$("#theme-change .settings").hide();
}
});
} else if (!$(this).attr("closing") && !$(this).attr("opening")) {
$(this).attr("opening", "1");
$("#theme-change").css("overflow", "visible").animate({
width: '190px',
height: scrollHeight,
'padding-top': '3px'
}, {
complete: function () {
$(this).removeAttr("opening");
$(this).attr("opened", 1);
}
});
$("#theme-change .settings").show();
}
});
jQuery('#theme-change .colors span').click(function () {
var color = $(this).attr("data-style");
setColor(color);
});
jQuery('#theme-change .layout input').change(function () {
setLayout();
});
var setColor = function (color) {
$('#style_color').attr("href", "css/style_" + color + ".css");
}
}
var handlePulsate = function () {
if (!jQuery().pulsate) {
return;
}
if (isIE8 == true) {
return; // pulsate plugin does not support IE8 and below
}
if (jQuery().pulsate) {
jQuery('#pulsate-regular').pulsate({
color: "#bf1c56"
});
jQuery('#pulsate-once').click(function () {
$(this).pulsate({
color: "#399bc3",
repeat: false
});
});
jQuery('#pulsate-hover').pulsate({
color: "#5ebf5e",
repeat: false,
onHover: true
});
jQuery('#pulsate-crazy').click(function () {
$(this).pulsate({
color: "#fdbe41",
reach: 50,
repeat: 10,
speed: 100,
glow: true
});
});
}
}
var handlePeity = function () {
if (!jQuery().peity) {
return;
}
if (jQuery.browser.msie && jQuery.browser.version.substr(0, 2) <= 8) { // ie7&ie8
return;
}
$(".stat.bad .line-chart").peity("line", {
height: 20,
width: 50,
colour: "#d12610",
strokeColour: "#666"
}).show();
$(".stat.bad .bar-chart").peity("bar", {
height: 20,
width: 50,
colour: "#d12610",
strokeColour: "#666"
}).show();
$(".stat.ok .line-chart").peity("line", {
height: 20,
width: 50,
colour: "#37b7f3",
strokeColour: "#757575"
}).show();
$(".stat.ok .bar-chart").peity("bar", {
height: 20,
width: 50,
colour: "#37b7f3"
}).show();
$(".stat.good .line-chart").peity("line", {
height: 20,
width: 50,
colour: "#52e136"
}).show();
$(".stat.good .bar-chart").peity("bar", {
height: 20,
width: 50,
colour: "#52e136"
}).show();
//
$(".stat.bad.huge .line-chart").peity("line", {
height: 20,
width: 40,
colour: "#d12610",
strokeColour: "#666"
}).show();
$(".stat.bad.huge .bar-chart").peity("bar", {
height: 20,
width: 40,
colour: "#d12610",
strokeColour: "#666"
}).show();
$(".stat.ok.huge .line-chart").peity("line", {
height: 20,
width: 40,
colour: "#37b7f3",
strokeColour: "#757575"
}).show();
$(".stat.ok.huge .bar-chart").peity("bar", {
height: 20,
width: 40,
colour: "#37b7f3"
}).show();
$(".stat.good.huge .line-chart").peity("line", {
height: 20,
width: 40,
colour: "#52e136"
}).show();
$(".stat.good.huge .bar-chart").peity("bar", {
height: 20,
width: 40,
colour: "#52e136"
}).show();
}
var handleDeviceWidth = function () {
function fixWidth(e) {
var winHeight = $(window).height();
var winWidth = $(window).width();
//alert(winWidth);
//for tablet and small desktops
if (winWidth < 1125 && winWidth > 767) {
$(".responsive").each(function () {
var forTablet = $(this).attr('data-tablet');
var forDesktop = $(this).attr('data-desktop');
if (forTablet) {
$(this).removeClass(forDesktop);
$(this).addClass(forTablet);
}
});
} else {
$(".responsive").each(function () {
var forTablet = $(this).attr('data-tablet');
var forDesktop = $(this).attr('data-desktop');
if (forTablet) {
$(this).removeClass(forTablet);
$(this).addClass(forDesktop);
}
});
}
}
fixWidth();
running = false;
jQuery(window).resize(function () {
if (running == false) {
running = true;
setTimeout(function () {
// fix layout width
fixWidth();
// fix calendar width by just reinitializing
handleDashboardCalendar();
if (isMainPage) {
handleDashboardCalendar(); // handles full calendar for main page
} else {
handleCalendar(); // handles full calendars
}
// fix vector maps width
if (isMainPage) {
jQuery('.vmaps').each(function () {
var map = jQuery(this);
map.width(map.parent().parent().width());
});
}
if (isMapPage) {
jQuery('.vmaps').each(function () {
var map = jQuery(this);
map.width(map.parent().width());
});
}
// fix event form chosen dropdowns
$('#event_priority_chzn').width($('#event_title').width() + 15);
$('#event_priority_chzn .chzn-drop').width($('#event_title').width() + 13);
$(".chzn-select").val('').trigger("liszt:updated");
//finish
running = false;
}, 200); // wait for 200ms on resize event
}
});
}
var handleGritterNotifications = function () {
if (!jQuery.gritter) {
return;
}
$('#gritter-sticky').click(function () {
var unique_id = $.gritter.add({
// (string | mandatory) the heading of the notification
title: 'This is a sticky notice!',
// (string | mandatory) the text inside the notification
text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus eget tincidunt velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.',
// (string | optional) the image to display on the left
image: 'img/avatar-mini.png',
// (bool | optional) if you want it to fade out on its own or just sit there
sticky: true,
// (int | optional) the time you want it to be alive for before fading out
time: '',
// (string | optional) the class name you want to apply to that specific message
class_name: 'my-sticky-class'
});
return false;
});
$('#gritter-regular').click(function () {
$.gritter.add({
// (string | mandatory) the heading of the notification
title: 'This is a regular notice!',
// (string | mandatory) the text inside the notification
text: 'This will fade out after a certain amount of time. Vivamus eget tincidunt velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.',
// (string | optional) the image to display on the left
image: 'img/avatar-mini.png',
// (bool | optional) if you want it to fade out on its own or just sit there
sticky: false,
// (int | optional) the time you want it to be alive for before fading out
time: ''
});
return false;
});
$('#gritter-max').click(function () {
$.gritter.add({
// (string | mandatory) the heading of the notification
title: 'This is a notice with a max of 3 on screen at one time!',
// (string | mandatory) the text inside the notification
text: 'This will fade out after a certain amount of time. Vivamus eget tincidunt velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.',
// (string | optional) the image to display on the left
image: 'img/avatar-mini.png',
// (bool | optional) if you want it to fade out on its own or just sit there
sticky: false,
// (function) before the gritter notice is opened
before_open: function () {
if ($('.gritter-item-wrapper').length == 3) {
// Returning false prevents a new gritter from opening
return false;
}
}
});
return false;
});
$('#gritter-without-image').click(function () {
$.gritter.add({
// (string | mandatory) the heading of the notification
title: 'This is a notice without an image!',
// (string | mandatory) the text inside the notification
text: 'This will fade out after a certain amount of time. Vivamus eget tincidunt velit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.'
});
return false;
});
$('#gritter-light').click(function () {
$.gritter.add({
// (string | mandatory) the heading of the notification
title: 'This is a light notification',
// (string | mandatory) the text inside the notification
text: 'Just add a "gritter-light" class_name to your $.gritter.add or globally to $.gritter.options.class_name',
class_name: 'gritter-light'
});
return false;
});
$("#gritter-remove-all").click(function () {
$.gritter.removeAll();
return false;
});
}
var handleTooltip = function () {
jQuery('.tooltips').tooltip();
}
var handlePopover = function () {
jQuery('.popovers').popover();
}
var handleChoosenSelect = function () {
if (!jQuery().chosen) {
return;
}
$(".chosen").chosen();
$(".chosen-with-diselect").chosen({
allow_single_deselect: true
});
}
var handleUniform = function () {
if (!jQuery().uniform) {
return;
}
if (test = $("input[type=checkbox]:not(.toggle), input[type=radio]:not(.toggle)")) {
test.uniform();
}
}
var handleWysihtml5 = function () {
if (!jQuery().wysihtml5) {
return;
}
if ($('.wysihtml5').size() > 0) {
$('.wysihtml5').wysihtml5();
}
}
var handleToggleButtons = function () {
if (!jQuery().toggleButtons) {
return;
}
$('.basic-toggle-button').toggleButtons();
$('.text-toggle-button').toggleButtons({
width: 200,
label: {
enabled: "Lorem Ipsum",
disabled: "Dolor Sit"
}
});
$('.danger-toggle-button').toggleButtons({
style: {
// Accepted values ["primary", "danger", "info", "success", "warning"] or nothing
enabled: "danger",
disabled: "info"
}
});
$('.info-toggle-button').toggleButtons({
style: {
enabled: "info",
disabled: ""
}
});
$('.success-toggle-button').toggleButtons({
style: {
enabled: "success",
disabled: "danger"
}
});
$('.warning-toggle-button').toggleButtons({
style: {
enabled: "warning",
disabled: "success"
}
});
$('.height-toggle-button').toggleButtons({
height: 100,
font: {
'line-height': '100px',
'font-size': '20px',
'font-style': 'italic'
}
});
$('.not-animated-toggle-button').toggleButtons({
animated: false
});
$('.transition-value-toggle-button').toggleButtons({
transitionspeed: 1 // default value: 0.05
});
}
var handleTables = function () {
if (!jQuery().dataTable) {
return;
}
// begin first table
$('#sample_1').dataTable({
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}]
});
jQuery('#sample_1 .group-checkable').change(function () {
var set = jQuery(this).attr("data-set");
var checked = jQuery(this).is(":checked");
jQuery(set).each(function () {
if (checked) {
$(this).attr("checked", true);
} else {
$(this).attr("checked", false);
}
});
jQuery.uniform.update(set);
});
jQuery('#sample_1_wrapper .dataTables_filter input').addClass("input-medium"); // modify table search input
jQuery('#sample_1_wrapper .dataTables_length select').addClass("input-mini"); // modify table per page dropdown
// begin second table
$('#sample_2').dataTable({
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}]
});
jQuery('#sample_2 .group-checkable').change(function () {
var set = jQuery(this).attr("data-set");
var checked = jQuery(this).is(":checked");
jQuery(set).each(function () {
if (checked) {
$(this).attr("checked", true);
} else {
$(this).attr("checked", false);
}
});
jQuery.uniform.update(set);
});
jQuery('#sample_2_wrapper .dataTables_filter input').addClass("input-small"); // modify table search input
jQuery('#sample_2_wrapper .dataTables_length select').addClass("input-mini"); // modify table per page dropdown
// begin: third table
$('#sample_3').dataTable({
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ per page",
"oPaginate": {
"sPrevious": "Prev",
"sNext": "Next"
}
},
"aoColumnDefs": [{
'bSortable': false,
'aTargets': [0]
}]
});
jQuery('#sample_3 .group-checkable').change(function () {
var set = jQuery(this).attr("data-set");
var checked = jQuery(this).is(":checked");
jQuery(set).each(function () {
if (checked) {
$(this).attr("checked", true);
} else {
$(this).attr("checked", false);
}
});
jQuery.uniform.update(set);
});
jQuery('#sample_3_wrapper .dataTables_filter input').addClass("input-small"); // modify table search input
jQuery('#sample_3_wrapper .dataTables_length select').addClass("input-mini"); // modify table per page dropdown
}
var handleDateTimePickers = function () {
if (!jQuery().daterangepicker) {
return;
}
$('.date-range').daterangepicker();
$('#dashboard-report-range').daterangepicker({
ranges: {
'Today': ['today', 'today'],
'Yesterday': ['yesterday', 'yesterday'],
'Last 7 Days': [Date.today().add({
days: -6
}), 'today'],
'Last 30 Days': [Date.today().add({
days: -29
}), 'today'],
'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()],
'Last Month': [Date.today().moveToFirstDayOfMonth().add({
months: -1
}), Date.today().moveToFirstDayOfMonth().add({
days: -1
})]
},
opens: 'left',
format: 'MM/dd/yyyy',
separator: ' to ',
startDate: Date.today().add({
days: -29
}),
endDate: Date.today(),
minDate: '01/01/2012',
maxDate: '12/31/2014',
locale: {
applyLabel: 'Submit',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom Range',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
},
showWeekNumbers: true,
buttonClasses: ['btn-danger']
},
function (start, end) {
App.blockUI(jQuery("#page"));
setTimeout(function () {
App.unblockUI(jQuery("#page"));
$.gritter.add({
title: 'Dashboard',
text: 'Dashboard date range updated.'
});
App.scrollTo();
}, 1000);
$('#dashboard-report-range span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy'));
});
$('#dashboard-report-range span').html(Date.today().add({
days: -29
}).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy'));
$('#form-date-range').daterangepicker({
ranges: {
'Today': ['today', 'today'],
'Yesterday': ['yesterday', 'yesterday'],
'Last 7 Days': [Date.today().add({
days: -6
}), 'today'],
'Last 30 Days': [Date.today().add({
days: -29
}), 'today'],
'This Month': [Date.today().moveToFirstDayOfMonth(), Date.today().moveToLastDayOfMonth()],
'Last Month': [Date.today().moveToFirstDayOfMonth().add({
months: -1
}), Date.today().moveToFirstDayOfMonth().add({
days: -1
})]
},
opens: 'right',
format: 'MM/dd/yyyy',
separator: ' to ',
startDate: Date.today().add({
days: -29
}),
endDate: Date.today(),
minDate: '01/01/2012',
maxDate: '12/31/2014',
locale: {
applyLabel: 'Submit',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom Range',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
},
showWeekNumbers: true,
buttonClasses: ['btn-danger']
},
function (start, end) {
$('#form-date-range span').html(start.toString('MMMM d, yyyy') + ' - ' + end.toString('MMMM d, yyyy'));
});
$('#form-date-range span').html(Date.today().add({
days: -29
}).toString('MMMM d, yyyy') + ' - ' + Date.today().toString('MMMM d, yyyy'));
if (!jQuery().datepicker || !jQuery().timepicker) {
return;
}
$('.date-picker').datepicker();
$('.timepicker-default').timepicker();
$('.timepicker-24').timepicker({
minuteStep: 1,
showSeconds: true,
showMeridian: false
});
}
var handleColorPicker = function () {
if (!jQuery().colorpicker) {
return;
}
$('.colorpicker-default').colorpicker({
format: 'hex'
});
$('.colorpicker-rgba').colorpicker();
}
var handleAccordions = function () {
$(".accordion").collapse().height('auto');
}
var handleScrollers = function () {
if (!jQuery().slimScroll) {
return;
}
$('.scroller').each(function () {
$(this).slimScroll({
//start: $('.blah:eq(1)'),
height: $(this).attr("data-height"),
alwaysVisible: ($(this).attr("data-always-visible") == "1" ? true : false),
railVisible: ($(this).attr("data-rail-visible") == "1" ? true : false),
disableFadeOut: true
});
});
}
var handleFormWizards = function () {
if (!jQuery().bootstrapWizard) {
return;
}
$('#form_wizard_1').bootstrapWizard({
'nextSelector': '.button-next',
'previousSelector': '.button-previous',
onTabClick: function (tab, navigation, index) {
alert('on tab click disabled');
return false;
},
onNext: function (tab, navigation, index) {
var total = navigation.find('li').length;
var current = index + 1;
// set wizard title
$('.step-title', $('#form_wizard_1')).text('Step ' + (index + 1) + ' of ' + total);
// set done steps
jQuery('li', $('#form_wizard_1')).removeClass("done");
var li_list = navigation.find('li');
for (var i = 0; i < index; i++) {
jQuery(li_list[i]).addClass("done");
}
if (current == 1) {
$('#form_wizard_1').find('.button-previous').hide();
} else {
$('#form_wizard_1').find('.button-previous').show();
}
if (current >= total) {
$('#form_wizard_1').find('.button-next').hide();
$('#form_wizard_1').find('.button-submit').show();
} else {
$('#form_wizard_1').find('.button-next').show();
$('#form_wizard_1').find('.button-submit').hide();
}
App.scrollTo($('.page-title'));
},
onPrevious: function (tab, navigation, index) {
var total = navigation.find('li').length;
var current = index + 1;
// set wizard title
$('.step-title', $('#form_wizard_1')).text('Step ' + (index + 1) + ' of ' + total);
// set done steps
jQuery('li', $('#form_wizard_1')).removeClass("done");
var li_list = navigation.find('li');
for (var i = 0; i < index; i++) {
jQuery(li_list[i]).addClass("done");
}
if (current == 1) {
$('#form_wizard_1').find('.button-previous').hide();
} else {
$('#form_wizard_1').find('.button-previous').show();
}
if (current >= total) {
$('#form_wizard_1').find('.button-next').hide();
$('#form_wizard_1').find('.button-submit').show();
} else {
$('#form_wizard_1').find('.button-next').show();
$('#form_wizard_1').find('.button-submit').hide();
}
App.scrollTo($('.page-title'));
},
onTabShow: function (tab, navigation, index) {
var total = navigation.find('li').length;
var current = index + 1;
var $percent = (current / total) * 100;
$('#form_wizard_1').find('.bar').css({
width: $percent + '%'
});
}
});
$('#form_wizard_1').find('.button-previous').hide();
$('#form_wizard_1 .button-submit').click(function () {
alert('Finished!');
}).hide();
}
var handleTagsInput = function () {
if (!jQuery().tagsInput) {
return;
}
$('#tags_1').tagsInput({
width: 'auto'
});
$('#tags_2').tagsInput({
width: 240
});
}
var handleGoTop = function () {
/* set variables locally for increased performance */
jQuery('#footer .go-top').click(function () {
App.scrollTo();
});
}
// this is optional to use if you want animated show/hide. But plot charts can make the animation slow.
var handleSidebarTogglerAnimated = function () {
$('.sidebar-toggler').click(function () {
if ($('#sidebar > ul').is(":visible") === true) {
$('#main-content').animate({
'margin-left': '25px'
});
$('#sidebar').animate({
'margin-left': '-190px'
}, {
complete: function () {
$('#sidebar > ul').hide();
$("#container").addClass("sidebar-closed");
}
});
} else {
$('#main-content').animate({
'margin-left': '215px'
});
$('#sidebar > ul').show();
$('#sidebar').animate({
'margin-left': '0'
}, {
complete: function () {
$("#container").removeClass("sidebar-closed");
}
});
}
})
}
// by default used simple show/hide without animation due to the issue with handleSidebarTogglerAnimated.
var handleSidebarToggler = function () {
$('.sidebar-toggler').click(function () {
if ($('#sidebar > ul').is(":visible") === true) {
$('#main-content').css({
'margin-left': '25px'
});
$('#sidebar').css({
'margin-left': '-190px'
});
$('#sidebar > ul').hide();
$("#container").addClass("sidebar-closed");
} else {
$('#main-content').css({
'margin-left': '215px'
});
$('#sidebar > ul').show();
$('#sidebar').css({
'margin-left': '0'
});
$("#container").removeClass("sidebar-closed");
}
})
}
return {
//main function to initiate template pages
init: function () {
if (jQuery.browser.msie && jQuery.browser.version.substr(0, 1) == 8) {
isIE8 = true; // checkes for IE8 browser version
$('.visible-ie8').show();
}
handleDeviceWidth(); // handles proper responsive features of the page
handleChoosenSelect(); // handles bootstrap chosen dropdowns
if (isMainPage) {
handleDashboardCharts(); // handles plot charts for main page
handleJQVMAP(); // handles vector maps for home page
handleDashboardCalendar(); // handles full calendar for main page
handleChat() // handles dashboard chat
} else {
handleCalendar(); // handles full calendars
handlePortletSortable(); // handles portlet draggable sorting
}
if (isMapPage) {
handleAllJQVMAP(); // handles vector maps for interactive map page
}
handleScrollers(); // handles slim scrolling contents
handleUniform(); // handles uniform elements
handleClockfaceTimePickers(); //handles form clockface timepickers
handleTagsInput() // handles tag input elements
handleTables(); // handles data tables
handleCharts(); // handles plot charts
handleWidgetTools(); // handles portlet action bar functionality(refresh, configure, toggle, remove)
handlePulsate(); // handles pulsate functionality on page elements
handlePeity(); // handles pierty bar and line charts
handleGritterNotifications(); // handles gritter notifications
handleTooltip(); // handles bootstrap tooltips
handlePopover(); // handles bootstrap popovers
handleToggleButtons(); // handles form toogle buttons
handleWysihtml5(); //handles WYSIWYG Editor
handleDateTimePickers(); //handles form timepickers
handleColorPicker(); // handles form color pickers
handleFancyBox(); // handles fancy box image previews
handleStyler(); // handles style customer tool
handleMainMenu(); // handles main menu
handleFixInputPlaceholderForIE(); // fixes/enables html5 placeholder attribute for IE9, IE8
handleGoTop(); //handles scroll to top functionality in the footer
handleAccordions();
handleFormWizards();
handleSidebarToggler();
if (isMainPage) { // this is for demo purpose. you may remove handleIntro function for your project
handleIntro();
}
},
// login page setup
initLogin: function () {
handleLoginForm();
handleFixInputPlaceholderForIE();
},
// wrapper function for page element pulsate
pulsate: function (el, options) {
var opt = jQuery.extend(options, {
color: '#d12610', // set the color of the pulse
reach: 15, // how far the pulse goes in px
speed: 300, // how long one pulse takes in ms
pause: 0, // how long the pause between pulses is in ms
glow: false, // if the glow should be shown too
repeat: 1, // will repeat forever if true, if given a number will repeat for that many times
onHover: false // if true only pulsate if user hovers over the element
});
jQuery(el).pulsate(opt);
},
// wrapper function to scroll to an element
scrollTo: function (el) {
pos = el ? el.offset().top : 0;
jQuery('html,body').animate({
scrollTop: pos
}, 'slow');
},
// wrapper function to block element(indicate loading)
blockUI: function (el, loaderOnTop) {
lastBlockedUI = el;
jQuery(el).block({
message: '
',
css: {
border: 'none',
padding: '2px',
backgroundColor: 'none'
},
overlayCSS: {
backgroundColor: '#000',
opacity: 0.05,
cursor: 'wait'
}
});
},
// wrapper function to un-block element(finish loading)
unblockUI: function (el) {
jQuery(el).unblock({
onUnblock: function () {
jQuery(el).removeAttr("style");
}
});
},
// set main page
setMainPage: function (flag) {
isMainPage = flag;
},
// set map page
setMapPage: function (flag) {
isMapPage = flag;
}
};
//input mask
$('.inputmask').inputmask();
}();
//tooltips
$('.element').tooltip();
// Slider input js
try{
jQuery("#Slider1").slider({ from: 5, to: 50, step: 2.5, round: 1, dimension: ' $', skin: "round_plastic" });
jQuery("#Slider2").slider({ from: 5000, to: 150000, heterogeneity: ['50/50000'], step: 1000, dimension: ' $', skin: "round_plastic" });
jQuery("#Slider3").slider({ from: 1, to: 30, heterogeneity: ['50/5', '75/15'], scale: [1, '|', 3, '|', '5', '|', 15, '|', 30], limits: false, step: 1, dimension: '', skin: "round_plastic" });
jQuery("#Slider4").slider({ from: 480, to: 1020, step: 15, dimension: '', scale: ['8:00', '9:00', '10:00', '11:00', '12:00', '13:00', '14:00', '15:00', '16:00', '17:00'], limits: false, skin: "round_plastic", calculate: function( value ){
var hours = Math.floor( value / 60 );
var mins = ( value - hours*60 );
return (hours < 10 ? "0"+hours : hours) + ":" + ( mins == 0 ? "00" : mins );
}});
} catch (e){
errorMessage(e);
}
//knob
$(".knob").knob();