File "itro-scripts.js"
Full Path: /home/attunedd/public_html/wp-content/plugins/itr-popup/scripts/itro-scripts.js
File size: 4.95 KB
MIME-type: text/plain
Charset: utf-8
/*
This file is part of ITRO Popup Plugin. (email : support@itroteam.com)
*/
/* init variables */
var itro_is_preview;
var itro_cookie_expiration;
var itro_age_restriction;
/**
* Manage popup appearing
*
*
* @since 1.0
*
*/
function itro_enter_anim(auto_margin)
{
if (document.cookie.indexOf("popup_cookie") == -1 || itro_is_preview === true)
{
//align the popup before fadein
if (auto_margin == 'yes') {
itro_margin_refresh(50);
}
jQuery("#itro_popup").css('display', 'none');
jQuery("#itro_popup").css('opacity', 1);
jQuery("#itro_popup").css('visibility', 'visible');
jQuery("#itro_opaco").fadeIn(function ()
{
jQuery("#itro_popup").fadeIn();
if (itro_age_restriction === false)
{
itro_set_cookie("popup_cookie", "one_time_popup", itro_cookie_expiration);
}
// refresh every 0.5 second the popup top margin (needed for browser window resizeing)
if (auto_margin == 'yes') {
setInterval(function () {
itro_margin_refresh();
}, 500);
}
});
} else {
jQuery("#itro_popup").css('display', 'none');
}
}
/**
* Manage popup closing
*
*
* @since 1.0
*
*/
function itro_exit_anim() {
jQuery('#itro_popup').fadeOut(function () {
jQuery('#popup_content').remove();
jQuery('#itro_opaco').fadeOut();
});
}
/**
* Center the popup vertically
*
* @param {int} speed : the milesec speed fo the alignment animation
*
* @since 1.0
*
*/
function itro_margin_refresh(speed) {
if (typeof (speed) == undefined) {
speed = 200;
}
if (typeof (window.innerWidth) == 'number')
{
/* Non-IE */
browserWidth = window.innerWidth;
browserHeight = window.innerHeight;
} else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
{
/* IE 6+ in 'standards compliant mode' */
browserWidth = document.documentElement.clientWidth;
browserHeight = document.documentElement.clientHeight;
} else if (document.body && (document.body.clientWidth || document.body.clientHeight))
{
/* IE 4 compatible */
browserWidth = document.body.clientWidth;
browserHeight = document.body.clientHeight;
}
popupHeight = document.getElementById('itro_popup').offsetHeight; //get the px size of popup div
parentOffset = jQuery('#itro_popup').position().top;
docOffset = jQuery('#itro_popup').offset().top;
desTopWindowMargin = Math.round((browserHeight - popupHeight) / 2); //desired top margin of popup (window related)
desTopWindowMargin = desTopWindowMargin < 0 ? 0 : desTopWindowMargin; //avoid that negative top position will hide the popup
popupTopMargin = desTopWindowMargin - docOffset + parentOffset;
if (jQuery('#itro_popup').css('position') == 'absolute') {
//set a tollerance to avoid flickering
if (Math.abs(popupTopMargin - parentOffset) > 2) {
jQuery('#itro_popup').animate({top: popupTopMargin}, speed);
}
} else {
if (Math.abs(popupTopMargin - parentOffset) > 2) {
jQuery('#itro_popup').animate({top: desTopWindowMargin}, speed);
}
}
}
/**
* Invert an hex color with the # char
*
* @param string hexTripletColor: the hex string
*
* @since 4.9
*
*/
function itro_invert_color(hexTripletColor) {
var color = hexTripletColor;
color = color.substring(1); // remove #
color = parseInt(color, 16); // convert to integer
color = 0xFFFFFF ^ color; // invert three bytes
color = color.toString(16); // convert to hex
color = "#" + color; // prepend #
return color;
}
/**
* Convert an rgb string like rgb(255, 255, 255) to an hex code
*
* @param string rgbString: the rgb string
*
* @since 4.9
*
*/
function itro_rgb2hex(rgbString) {
var parts = rgbString.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete (parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = parseInt(parts[i]).toString(16);
if (parts[i].length == 1)
parts[i] = '0' + parts[i];
}
return '#' + parts.join('').toUpperCase();
}
/* function for countdown to show popup when the delay is set */
function popup_delay(auto_margin) {
delay--;
if (delay <= 0)
{
clearInterval(interval_id_delay);
itro_enter_anim(auto_margin);
}
}
/**
* Countdown for automatic closing
*
* @since 1.0
*
*/
function popTimer() {
if (popTime > 0) {
document.getElementById("timer").innerHTML = popTime;
popTime--;
} else {
clearInterval(interval_id);
itro_exit_anim();
}
}
/* function use to set the cookie for next visualization time */
function itro_set_cookie(c_name, value, exhours) {
var exdate = new Date();
exdate.setTime(exdate.getTime() + (exhours * 3600 * 1000));
var c_value = escape(value) + ((exhours == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value + "; path=/";
}