127 lines
2.9 KiB
JavaScript
127 lines
2.9 KiB
JavaScript
var AIRTIME = (function(AIRTIME){
|
|
var mod;
|
|
|
|
if (AIRTIME.utilities === undefined) {
|
|
AIRTIME.utilities = {};
|
|
}
|
|
mod = AIRTIME.utilities;
|
|
|
|
mod.findViewportDimensions = function() {
|
|
var viewportwidth,
|
|
viewportheight;
|
|
|
|
// the more standards compliant browsers (mozilla/netscape/opera/IE7) use
|
|
// window.innerWidth and window.innerHeight
|
|
if (typeof window.innerWidth != 'undefined') {
|
|
viewportwidth = window.innerWidth, viewportheight = window.innerHeight;
|
|
}
|
|
// IE6 in standards compliant mode (i.e. with a valid doctype as the first
|
|
// line in the document)
|
|
else if (typeof document.documentElement != 'undefined'
|
|
&& typeof document.documentElement.clientWidth != 'undefined'
|
|
&& document.documentElement.clientWidth != 0) {
|
|
viewportwidth = document.documentElement.clientWidth;
|
|
viewportheight = document.documentElement.clientHeight;
|
|
}
|
|
// older versions of IE
|
|
else {
|
|
viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
|
|
viewportheight = document.getElementsByTagName('body')[0].clientHeight;
|
|
}
|
|
|
|
return {
|
|
width: viewportwidth,
|
|
height: viewportheight
|
|
};
|
|
};
|
|
|
|
mod.fnGetSecondsEpoch = function(oDate) {
|
|
var iTime,
|
|
iUserOffset,
|
|
iClientOffset;
|
|
|
|
iTime = oDate.getTime(); //value is in millisec.
|
|
iTime = Math.round(iTime / 1000);
|
|
iUserOffset = userTimezoneOffset;
|
|
iClientOffset = oDate.getTimezoneOffset() * -60;//function returns minutes
|
|
|
|
//adjust for the fact the the Date object is in client time.
|
|
iTime = iTime + iClientOffset + iUserOffset;
|
|
|
|
return iTime;
|
|
};
|
|
|
|
/*
|
|
* Get the schedule range start in unix timestamp form (in seconds).
|
|
* defaults to NOW if nothing is selected.
|
|
*
|
|
* @param String sDatePickerId
|
|
*
|
|
* @param String sTimePickerId
|
|
*
|
|
* @return Number iTime
|
|
*/
|
|
mod.fnGetTimestamp = function(sDateId, sTimeId) {
|
|
var date,
|
|
time,
|
|
temp;
|
|
|
|
temp = $(sDateId).val();
|
|
if ( temp === "") {
|
|
return 0;
|
|
}
|
|
else {
|
|
date = temp;
|
|
}
|
|
|
|
time = $(sTimeId).val();
|
|
|
|
date = date.split("-");
|
|
time = time.split(":");
|
|
|
|
//0 based month in js.
|
|
oDate = new Date(date[0], date[1]-1, date[2], time[0], time[1]);
|
|
|
|
return mod.fnGetSecondsEpoch(oDate);
|
|
};
|
|
|
|
/*
|
|
* Returns an object containing a unix timestamp in seconds for the start/end range
|
|
*
|
|
* @return Object {"start", "end", "range"}
|
|
*/
|
|
mod.fnGetScheduleRange = function(dateStartId, timeStartId, dateEndId, timeEndId) {
|
|
var start,
|
|
end,
|
|
time;
|
|
|
|
start = $(dateStartId).val();
|
|
start = start === "" ? null : start;
|
|
|
|
time = $(timeStartId).val();
|
|
time = time === "" ? "00:00" : time;
|
|
|
|
if (start) {
|
|
start = start + " " + time;
|
|
}
|
|
|
|
end = $(dateEndId).val();
|
|
end = end === "" ? null : end;
|
|
|
|
time = $(timeEndId).val();
|
|
time = time === "" ? "00:00" : time;
|
|
|
|
if (end) {
|
|
end = end + " " + time;
|
|
}
|
|
|
|
return {
|
|
start: start,
|
|
end: end
|
|
};
|
|
};
|
|
|
|
return AIRTIME;
|
|
|
|
}(AIRTIME || {}));
|