File: /home/grainesdfo/www/wp-content/plugins/LayerSlider/assets/static/iguider/jquery.iGuider.js
/*
* jQuery iGuider v 5.3.1
*
* Copyright 2017, Linnik Yura | LI MASS CODE | http://masscode.ru
*
* Last Update 12/11/2021
*/
var iGuider;
(function ($) {
"use strict";
var methods = {
init: function (options) {
var p = {
tourID:'anyTourID', //This string allows you to save data with a unique name about tour progress.
//It can be used to save information on the progress of the tour for several users.
//Or save the progress of each tour separately
tourTitle:'Tour Title Default', //Tour title
tourSubtitle:'Tour Subtitle Default',
startStep:1, //Step from which the tour begins
overlayClickable:true, //This parameter enables or disables the click event for overlying layer
overlayColor:'#000', //Global color values of the overlay layer.
overlayOpacity:0.5, //Global opacity values of the overlay layer.
pagination:true, //Shows the total number of steps and the current step number
registerMissingElements:true, //Shows an absent element in tour map and find this element in DOM.
textDirection:'ltr', //Global text direction. (ltr, rtl)
shape:0, //Global shape of highlighting. 0 - rectangle (default), 1 - circle, 2 - rounded rectangle
shapeBorderRadius:5, //Global corner radius of rounded rectangle shape. Only when "shape" value is "2"
width:320, //Global width of the message block
bgColor:false, //Global background color of the message block
titleColor:false, //Global title color of the message block
modalContentColor:false, //Global content color of the message block
modalTypeColor:false, //Global modal type color of the message block
paginationColor:false, //Global pagination color of the message block
timerColor:false, //Global timer color of the message block
btnColor:false, //Global buttons color
btnHoverColor:false, //Global buttons hover color
spacing:10, //Global indent highlighting around the element
baseurl:false, //The initial portion of the URL that is common to all steps.
//Required if you specify a relative URL in the LOC parameter value.
loc:false, //Global relative/absolute path to the page for steps for which the LOC parameter is not specified
timer:false, //Global time after which an automatic switching to the next step
timerType:'line', //Global timer shape type: 'line' or 'circle'
keyboard:true, //Tour control by keyboard buttons. Left - the previous step, right - the next step, Esc - close tour.
keyboardEvent:false, //This parameter sets the permission to trigger custom events.
intro:{ //Default intro settings
enable:true, //If set to true, before the tour you will see the introductory slide, which will offer to see a tour.
title:'Welcome to the interactive tour', //Title of introduction dialog
content:'This tour will tell you about the main site functionalities', //Content of introduction dialog
cover:'', //Path to the cover of intro
overlayColor:false, //For intro, you can specify the different color values of the overlay layer.
overlayOpacity:false, //For intro, you can specify the different opacity values of the overlay layer.
width:false, //Width of the intro message block
bgColor:false, //Background color of the intro message block
titleColor:false, //Title color of the intro message block
modalContentColor:false, //Content color of the intro message block
modalTypeColor:false, //Modal type color of the intro message block
btnColor:false, //Buttons color of the intro message block
btnHoverColor:false //Buttons Hover color of the intro message block
},
continue:{ //Default the continue message settings
enable:true, //This parameter add the ability to continue the unfinished tour.
title:'Continue the unfinished tour?', //Title of continue dialog
content:'Click "Continue" to start with step on which finished last time.', //Content of continue dialog
cover:'', //Path to the cover of continue message
overlayColor:false, //For continue message, you can specify the different color values of the overlay layer.
overlayOpacity:false, //For continue message, you can specify the different opacity values of the overlay layer.
width:false, //Width of the continue message block
bgColor:false, //Background color of the continue message block
titleColor:false, //Title color of the continue message block
modalContentColor:false, //Content color of the continue message block
modalTypeColor:false, //Modal type color of the continue message block
btnColor:false, //Buttons color of the continue message block
btnHoverColor:false //Buttons Hover color of the continue message block
},
tourMap: { //Default Tour Checklist settings
enable:true, //This parameter add the ability view list of steps.
position:'right', //Checklist Position
clickable:true, //Specifies the clickability of links in the checklist of steps: true - clickable, false - disabled, or 'ready' - clickable only completed steps and current
open:false, //Specifies to show or hide the Checklist at the start of the tour
bgColor:false, //Background color of the Checklist
titleColor:false, //Title color of the Checklist
btnColor:false, //Buttons color of the checklist block
btnHoverColor:false, //Buttons hover color of the checklist block
itemColor:false, //Item color of the Checklist
itemHoverColor:false, //Item hover color of the Checklist
itemActiveColor:false, //Item Active color of the Checklist
itemActiveBg:false, //Item Active BG color of the Checklist
itemNumColor:false, //Item Number color of the Checklist
checkColor:false, //Check color of the Checklist
checkReadyColor:false //Check Ready color of the Checklist
},
steps:[{ //Default step settings
cover:'', //Path to image file
title:'New Step Title', //Name of step
content:'New Step Description', //Description of step
position:'auto', //Position of message
target:'uniqueName', //Unique Name (<div data-target="uniqueName"></div>) of highlighted element or .className (<div class="className"></div>) or #idValue (<div id="idValue"></div>)
disable:false, //Block access to element
overlayOpacity:0.5, //For each step, you can specify the different opacity values of the overlay layer.
overlayColor:'#000', //For each step, you can specify the different color values of the overlay layer in HEX .
spacing:10, //Indent highlighting around the element, px
shape:0, //Shape of highlighting (0 - rectangle, 1 - circle, 2 - rounded rectangle)
shapeBorderRadius:5, //The corner radius of rounded rectangle shape. Only when "shape" value is "2"
timer:false, //The time after which an automatic switching to the next step
event:'next', //An event that you need to do to go to the next step
eventMessage:'Follow the required conditions to continue.', //Message hint for steps with custom events
skip: false, //Step can be skipped if you set parameter "skip" to true.
nextText:'Next', //The text in the Next Button
prevText:'Prev', //The text in the Prev Button
trigger:false, //An event which is generated on the selected element, in the transition from step to step
stepID:'', //Unique ID Name. This name is assigned to the "html" tag as "data-g-stepid" attribute (If not specified, the plugin generates it automatically in the form: "step-N")
waitElementTime:0, //The parameter "waitElementTime" sets the time (ms) to wait for an item to appear
loc:false, //The path to the page on which the step should work
ready:false, //This parameter indicates whether the step was completed or not.
width:320, //Width of the message block
autofocus:true, //Automatically puts the cursor in the selected form element.
bgColor:false, //Background color of the message block
titleColor:false, //Title color of the message block
modalContentColor:false, //Content color of the message block
paginationColor:false, //Pagination color of the message block
timerColor:false, //Timer color of the message block
btnColor:false, //Buttons color of the message block
btnHoverColor:false, //Buttons Hover color of the message block
keyboardEvent:false, //This parameter sets the permission to simulate user events for step.
checkNext:{ //Function in which you can carry out any verification by clicking on the "Next" button.
func:function(){return true;}, ////If the function returns True, the step will be switched.
messageError:'Fulfill all conditions!' //If the function returns "False", an error message will appear in the message window
},
checkPrev:{ //Function in which you can carry out any verification by clicking on the "Prev" button.
func:function(){return true;},
messageError:'Fulfill all conditions!'
},
before:function(target){}, //Triggered before the start of step
during:function(target){}, //Triggered after the onset of step
after:function(target){}, //Triggered After completion of the step, but before proceeding to the next
delayBefore:0, //The delay before the element search, ms
delayAfter:0 //The delay before the transition to the next step, ms
}],
lang: { //Default language settings
cancelTitle: 'Cancel Tour', //The title in the cancel tour button
cancelText: '×', //The text in the cancel tour button
hideText: 'Hide Tour Map', //The text in the hidden tour map button
tourMapText:'≡', //The text in the show tour button
tourMapTitle: 'Tour Map', //Title of Tour map button
nextTextDefault:'Next', //The text in the Next Button
prevTextDefault:'Prev', //The text in the Prev Button
endText:'End Tour', //The text in the End Tour Button
contDialogBtnBegin:'Start over', //Text in the start button of continue dialog
contDialogBtnContinue:'Continue', //Text in the continue button of continue dialog
introDialogBtnStart:'Start', //Text in the start button of introduction dialog
introDialogBtnCancel:'Cancel', //Text in the cancel button of introduction dialog
modalIntroType:'Tour Intro', //Type Name of intro dialog
modalContinueType:'Unfinished Tour' //Type Name of continue dialog
},
create: function(){}, //Triggered when the iGuider is created
start: function(){}, //Triggered before first showing the step
progress: function(data){}, //Triggered together with start any step
end: function(){}, //Triggered when the tour ended, or was interrupted
abort: function(){}, //Triggered when the tour aborted
finish: function(){}, //Triggered when step sequence is over
play: function(){}, //Triggered when the timer state switches to "play"
pause: function(){}, //Triggered when the timer state switches to "pause"
modalTemplate: //Modal window template
'<div class="gWidget">'+
'<div class="gCover">[modal-cover]</div>'+
'<div class="gAction">'+
'<span class="gType">[modal-type]</span>'+
'<span class="gBtn">[modal-map]</span>'+
'<span class="gBtn">[modal-close]</span>'+
'<div class="gTimer">[modal-timer]</div>'+
'</div>'+
'<div class="gScroll">'+
'<div class="gHeader">[modal-header]</div>'+
'<div class="gContent">[modal-body]</div>'+
'</div>'+
'<div class="gFooter">'+
'<span class="gPage">'+
'<span class="gPageVal">[step-value]</span>'+
'<span class="gPageTotal">[step-total]</span>'+
'</span>'+
'<span class="gBtn">[modal-prev]</span>'+
'<span class="gBtn">[modal-next]</span>'+
'<span class="gBtn">[modal-cancel]</span>'+
'<span class="gBtn">[modal-start]</span>'+
'<span class="gBtn">[modal-begin-first]</span>'+
'<span class="gBtn">[modal-begin-continue]</span>'+
'</div>'+
'</div>',
mapTemplate: //Tour Map template
'<div class="g-map-pos">'+
'<div class="gMapAction">'+
'<span class="gBtn">[map-toggle]</span>'+
'<span class="gBtn">[map-hide]</span>'+
'</div>'+
'<div class="gMapHeader">[map-header]</div>'+
'<span class="gPage">'+
'<span class="gPageVal">[step-value]</span>'+
'<span class="gPageTotal">[step-total]</span>'+
'</span>'+
'<div class="gMapContent">[map-content]</div>'+
'<div class="gMapBufer"></div>'+
'</div>',
debug: false //Display of messages in the console
};
if(!$.iGuider){
$.iGuider = {};
}
/*create method attr()*/
(function(old) {
$.fn.attr = function() {
if(arguments.length === 0) {
if(this.length === 0) {
return null;
}
var obj = {};
$.each(this[0].attributes, function() {
if(this.specified) {
obj[this.name] = this.value;
}
});
return obj;
}
return old.apply(this, arguments);
};
})($.fn.attr);
if(!$.iGuider.opt){
/*Set dinamic variables*/
var requestID;
var overlayCreateFlag = false;
var savePar = [];
var resizeID = function(){};
var waitInterval = 500;
/**/
/*save all options in base data object*/
/**/
$.iGuider.opt = {};
if (options) {
$.extend(p.lang, options.lang);
$.extend(p.intro, options.intro);
$.extend(p.continue, options.continue);
$.extend(p.tourMap, options.tourMap);
$.extend(options.lang,p.lang);
$.extend(options.intro,p.intro);
$.extend(options.continue,p.continue);
$.extend(options.tourMap,p.tourMap);
p.stepsDef = p.steps;
if(options.steps && options.steps.length){
p.steps = options.steps;
}else{
p.steps = false;
}
if(options.modalTemplate && $.trim(options.modalTemplate) != ''){
p.modalTemplate = options.modalTemplate;
}else{
p.modalTemplate = false;
}
if(options.mapTemplate && $.trim(options.mapTemplate) != ''){
p.mapTemplate = options.mapTemplate;
}else{
p.mapTemplate = false;
}
$.extend(p, options);
}
$.extend($.iGuider.opt, p);
/*Fix Number Values*/
$.iGuider.opt.startStep = parseFloat($.iGuider.opt.startStep);
$.iGuider.opt.overlayOpacity = parseFloat($.iGuider.opt.overlayOpacity);
$.iGuider.opt.intro.overlayOpacity = parseFloat($.iGuider.opt.intro.overlayOpacity);
$.iGuider.opt.continue.overlayOpacity = parseFloat($.iGuider.opt.continue.overlayOpacity);
var setIntroDefaultColor = function(){
$.iGuider.opt.intro.overlayColor = $.iGuider.opt.overlayColor;
};
var setContDefaultColor = function(){
$.iGuider.opt.continue.overlayColor = $.iGuider.opt.overlayColor;
};
var setIntroDefaultOpacity = function(){
$.iGuider.opt.intro.overlayOpacity = $.iGuider.opt.overlayOpacity;
};
var setContDefaultOpacity = function(){
$.iGuider.opt.continue.overlayOpacity = $.iGuider.opt.overlayOpacity;
};
if($.iGuider.opt.overlayColor){
if(options.intro){
if(!options.intro.overlayColor) {
setIntroDefaultColor();
}
}else{
setIntroDefaultColor();
}
if(options.continue){
if(!options.continue.overlayColor) {
setContDefaultColor();
}
}else{
setContDefaultColor();
}
}
if($.iGuider.opt.overlayOpacity > -1){
if(options.intro){
if(!options.intro.overlayOpacity && options.intro.overlayOpacity !== 0) {
setIntroDefaultOpacity();
}
}else{
setIntroDefaultOpacity();
}
if(options.continue){
if(!options.continue.overlayOpacity && options.continue.overlayOpacity !== 0) {
setContDefaultOpacity();
}
}else{
setContDefaultOpacity();
}
}
if($.iGuiderLang){
$.extend($.iGuider.opt.lang, $.iGuiderLang);
}
/**/
/*creating object for addition vars*/
/**/
$.iGuider.v = {};
$.iGuider.v.scrollDoc = $('html,body');
/**/
/*Creating tour map block*/
/**/
var mapTemplate = $.iGuider.opt.mapTemplate ? $($.iGuider.opt.mapTemplate) : $(mapTpl);
$.iGuider.v.gMapPos = mapTemplate.addClass('g-map-pos-'+$.iGuider.opt.tourMap.position).appendTo('body');
$.iGuider.v.stepTimerId = function(){};
$.iGuider.v.delayAfterId = function(){};
$.iGuider.v.delayBeforeId = function(){};
$.iGuider.v.duration = 300;
$.iGuider.v.sTop = {};
$.iGuider.v.sBot = {};
$.iGuider.v.sLeft = {};
$.iGuider.v.sRight = {};
/*new*/
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback, element){
window.setTimeout(callback, 1000 / 60);
};
})();
$.iGuider.v.easeOutQuad = function(currentIteration, startValue, changeInValue, totalIterations) {
return (parseFloat(-changeInValue * (currentIteration /= totalIterations) * (currentIteration - 2)) + parseFloat(startValue));
};
/*Detect old IE browser*/
var GetIEVersion = function() {
var sAgent = window.navigator.userAgent;
var Idx = sAgent.indexOf("MSIE");
if (Idx > 0) {
return parseInt(sAgent.substring(Idx+ 5, sAgent.indexOf(".", Idx)));
}else{
if (!!navigator.userAgent.match(/Trident\/7\./)){
return 11;
}else{
return 0; //It is not IE
}
}
};
var ieFlag = GetIEVersion();
if (ieFlag > 0){
if(ieFlag >= 11){
if(window.location.protocol == 'file:'){
console.log('Some plugin functions "localStorage" is not available on local files (using the file: protocol) for this browser!');
return false;
}
}else{
console.log('The plugin \"iGuider\" does not support this version of the browser!');
return false;
}
}
$.iGuider.v.debug = function(text){
if($.iGuider.opt.debug){
console.log(text);
}
};
/*This function create preloader*/
var createPreloader = function(){
$.iGuider.v.gLoader = $('<div class="g-loader"><div class="g-loader-b"></div><div class="g-loader-s"></div></div>');
$.iGuider.v.gLoader.appendTo('body');
};
var showPreloader = function(){
$.iGuider.v.createOverlayLayer();
$('html').addClass('g-preloader');
};
var hidePreloader = function(){
$('html').removeClass('g-preloader');
};
createPreloader();
/*Create Circle Progress bar animation*/
var RADIUS = 21;
var CIRCUMFERENCE = 2 * Math.PI * RADIUS;
$.iGuider.v.progressCircleTimer = function(value){
var progress = value / 100;
var dashoffset = CIRCUMFERENCE * (1 - progress);
//console.log('progress:', value + '%', '|', 'offset:', dashoffset)
$.iGuider.v.progressValue.style.strokeDashoffset = dashoffset;
};
$.iGuider.v.correctColor = function(myColor){
function RGBColor(color_string) {
this.ok = false;
// strip any leading #
if (color_string.charAt(0) == '#') { // remove # if any
color_string = color_string.substr(1,6);
}
color_string = color_string.replace(/ /g,'');
color_string = color_string.toLowerCase();
// before getting into regexps, try simple matches
// and overwrite the input
var simple_colors = {
aliceblue: 'f0f8ff',
antiquewhite: 'faebd7',
aqua: '00ffff',
aquamarine: '7fffd4',
azure: 'f0ffff',
beige: 'f5f5dc',
bisque: 'ffe4c4',
black: '000000',
blanchedalmond: 'ffebcd',
blue: '0000ff',
blueviolet: '8a2be2',
brown: 'a52a2a',
burlywood: 'deb887',
cadetblue: '5f9ea0',
chartreuse: '7fff00',
chocolate: 'd2691e',
coral: 'ff7f50',
cornflowerblue: '6495ed',
cornsilk: 'fff8dc',
crimson: 'dc143c',
cyan: '00ffff',
darkblue: '00008b',
darkcyan: '008b8b',
darkgoldenrod: 'b8860b',
darkgray: 'a9a9a9',
darkgreen: '006400',
darkkhaki: 'bdb76b',
darkmagenta: '8b008b',
darkolivegreen: '556b2f',
darkorange: 'ff8c00',
darkorchid: '9932cc',
darkred: '8b0000',
darksalmon: 'e9967a',
darkseagreen: '8fbc8f',
darkslateblue: '483d8b',
darkslategray: '2f4f4f',
darkturquoise: '00ced1',
darkviolet: '9400d3',
deeppink: 'ff1493',
deepskyblue: '00bfff',
dimgray: '696969',
dodgerblue: '1e90ff',
feldspar: 'd19275',
firebrick: 'b22222',
floralwhite: 'fffaf0',
forestgreen: '228b22',
fuchsia: 'ff00ff',
gainsboro: 'dcdcdc',
ghostwhite: 'f8f8ff',
gold: 'ffd700',
goldenrod: 'daa520',
gray: '808080',
green: '008000',
greenyellow: 'adff2f',
honeydew: 'f0fff0',
hotpink: 'ff69b4',
indianred : 'cd5c5c',
indigo : '4b0082',
ivory: 'fffff0',
khaki: 'f0e68c',
lavender: 'e6e6fa',
lavenderblush: 'fff0f5',
lawngreen: '7cfc00',
lemonchiffon: 'fffacd',
lightblue: 'add8e6',
lightcoral: 'f08080',
lightcyan: 'e0ffff',
lightgoldenrodyellow: 'fafad2',
lightgrey: 'd3d3d3',
lightgreen: '90ee90',
lightpink: 'ffb6c1',
lightsalmon: 'ffa07a',
lightseagreen: '20b2aa',
lightskyblue: '87cefa',
lightslateblue: '8470ff',
lightslategray: '778899',
lightsteelblue: 'b0c4de',
lightyellow: 'ffffe0',
lime: '00ff00',
limegreen: '32cd32',
linen: 'faf0e6',
magenta: 'ff00ff',
maroon: '800000',
mediumaquamarine: '66cdaa',
mediumblue: '0000cd',
mediumorchid: 'ba55d3',
mediumpurple: '9370d8',
mediumseagreen: '3cb371',
mediumslateblue: '7b68ee',
mediumspringgreen: '00fa9a',
mediumturquoise: '48d1cc',
mediumvioletred: 'c71585',
midnightblue: '191970',
mintcream: 'f5fffa',
mistyrose: 'ffe4e1',
moccasin: 'ffe4b5',
navajowhite: 'ffdead',
navy: '000080',
oldlace: 'fdf5e6',
olive: '808000',
olivedrab: '6b8e23',
orange: 'ffa500',
orchid: 'da70d6',
palegoldenrod: 'eee8aa',
palegreen: '98fb98',
paleturquoise: 'afeeee',
palevioletred: 'd87093',
papayawhip: 'ffefd5',
peachpuff: 'ffdab9',
peru: 'cd853f',
pink: 'ffc0cb',
plum: 'dda0dd',
powderblue: 'b0e0e6',
purple: '800080',
red: 'ff0000',
rosybrown: 'bc8f8f',
royalblue: '4169e1',
saddlebrown: '8b4513',
salmon: 'fa8072',
sandybrown: 'f4a460',
seagreen: '2e8b57',
seashell: 'fff5ee',
sienna: 'a0522d',
silver: 'c0c0c0',
skyblue: '87ceeb',
slateblue: '6a5acd',
slategray: '708090',
snow: 'fffafa',
springgreen: '00ff7f',
steelblue: '4682b4',
tan: 'd2b48c',
teal: '008080',
thistle: 'd8bfd8',
tomato: 'ff6347',
turquoise: '40e0d0',
violet: 'ee82ee',
violetred: 'd02090',
wheat: 'f5deb3',
white: 'ffffff',
whitesmoke: 'f5f5f5',
yellow: 'ffff00',
yellowgreen: '9acd32'
};
for (var key in simple_colors) {
if (color_string == key) {
color_string = simple_colors[key];
}
}
// end of simple type-in colors
// array of color definition objects
var color_defs = [
{
re: /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,
example: ['rgb(123, 234, 45)', 'rgb(255,234,245)'],
process: function (bits){
return [
parseInt(bits[1]),
parseInt(bits[2]),
parseInt(bits[3])
];
}
},
{
re: /^(\w{2})(\w{2})(\w{2})$/,
example: ['#00ff00', '336699'],
process: function (bits){
return [
parseInt(bits[1], 16),
parseInt(bits[2], 16),
parseInt(bits[3], 16)
];
}
},
{
re: /^(\w{1})(\w{1})(\w{1})$/,
example: ['#fb0', 'f0f'],
process: function (bits){
return [
parseInt(bits[1] + bits[1], 16),
parseInt(bits[2] + bits[2], 16),
parseInt(bits[3] + bits[3], 16)
];
}
}
];
// search through the definitions to find a match
for (var i = 0; i < color_defs.length; i++) {
var re = color_defs[i].re;
var processor = color_defs[i].process;
var bits = re.exec(color_string);
if (bits) {
var channels = processor(bits);
this.r = channels[0];
this.g = channels[1];
this.b = channels[2];
this.ok = true;
}
}
// validate/cleanup values
this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);
this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);
this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);
// some getters
this.toRGB = function () {
return 'rgb(' + this.r + ', ' + this.g + ', ' + this.b + ')';
};
this.toHex = function () {
var r = this.r.toString(16);
var g = this.g.toString(16);
var b = this.b.toString(16);
if (r.length == 1) r = '0' + r;
if (g.length == 1) g = '0' + g;
if (b.length == 1) b = '0' + b;
return '#' + r + g + b;
};
}
if(myColor.search('gradient') !== -1 || myColor.search('rgba') !== -1){
return myColor;
}else{
var color = new RGBColor(myColor);
if (color.ok) {
return color.toHex();
}
}
};
/*Convert hex to rgba*/
$.iGuider.v.hexToRGBA = function(hex, opacity) {
var c;
if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
c= hex.substring(1).split('');
if(c.length== 3){
c= [c[0], c[0], c[1], c[1], c[2], c[2]];
}
c= '0x'+c.join('');
return 'rgba('+[(c>>16)&255, (c>>8)&255, c&255].join(',')+','+opacity+')';
}
};
$.iGuider.v.hexToRGBCODE = function(hex) {
var c;
if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)){
c= hex.substring(1).split('');
if(c.length== 3){
c= [c[0], c[0], c[1], c[1], c[2], c[2]];
}
c= '0x'+c.join('');
return [(c>>16)&255, (c>>8)&255, c&255];
}
};
$.iGuider.v.clearSavePar = function(){
savePar = [];
};
/*create overlay*/
$.iGuider.v.createOverlayLayer = function(){
if($.iGuider.v.tCanvas.tColor && $.iGuider.v.tCanvas.tOpacity > -1){
if(!overlayCreateFlag){
overlayCreateFlag = true;
$('html').addClass('g-show g-event');
$.iGuider.v.ctx.fillStyle = $.iGuider.v.hexToRGBA($.iGuider.v.tCanvas.tColor,$.iGuider.v.tCanvas.tOpacity);
$.iGuider.v.ctx.fillRect(0,0,$.iGuider.v.tCanvas.width,$.iGuider.v.tCanvas.height);
}else{
var hexCode = $.iGuider.v.hexToRGBCODE($.iGuider.v.tCanvas.tColor);
$.iGuider.v.redrawOverlay(hexCode[0],hexCode[1],hexCode[2],$.iGuider.v.tCanvas.tOpacity);
}
}
};
/*delete overlay*/
$.iGuider.v.deleteOverlayLayer = function(){
if(overlayCreateFlag){
$('html').removeClass('g-show');
$.iGuider.v.shapeRemove();
$('html').removeClass('g-event');
overlayCreateFlag = false;
$.iGuider.v.ctx.clearRect(0,0,$.iGuider.v.tCanvas.width,$.iGuider.v.tCanvas.height);
$('.g-active').removeClass('g-active');
$.iGuider.v.clearSavePar();
}
};
/*Redraw Overlay*/
$.iGuider.v.redrawOverlay = function(r,g,b,a){
if(overlayCreateFlag){
$.iGuider.v.ctx.clearRect(0,0,$.iGuider.v.tCanvas.width,$.iGuider.v.tCanvas.height);
$.iGuider.v.ctx.fillStyle = 'rgba('+r+','+g+','+b+','+a+')';
$.iGuider.v.ctx.fillRect(0,0,$.iGuider.v.tCanvas.width,$.iGuider.v.tCanvas.height);
}
};
var addSuccess = function(stepItemLink){
stepItemLink.addClass('g-step-success');
};
/*Create Canvas*/
$.iGuider.v.createCanvas = function(){
if(!$('#g-overlay-wrap').length){
$.iGuider.v.tCanvas = document.createElement('canvas');
$($.iGuider.v.tCanvas).appendTo('body');
$.iGuider.v.tCanvas.id = 'g-overlay-wrap';
}else{
$.iGuider.v.tCanvas = document.getElementById('g-overlay-wrap');
}
$.iGuider.v.ctx = $.iGuider.v.tCanvas.getContext('2d');
};
/*Set Canvas Size*/
$.iGuider.v.setCanvasSize = function(){
$.iGuider.v.tCanvas.width = $(window).width();
$.iGuider.v.tCanvas.height = $(window).height();
$.iGuider.v.createOverlayLayer();
};
/*Remove All Rectangles*/
$.iGuider.v.delRect = function(sLength){
if(overlayCreateFlag){
for(var i = 0; i < sLength; i++){
var index = i;
var delX = savePar[index].prevX;
var delY = savePar[index].prevY;
var delW = savePar[index].prevW;
var delH = savePar[index].prevH;
if($.iGuider.v.tCanvas.shape === 0){
$.iGuider.v.ctx.clearRect(delX,delY,delW,delH);
$.iGuider.v.ctx.fillRect(delX,delY,delW,delH);
}
if($.iGuider.v.tCanvas.shape == 1){
$.iGuider.v.redrawOverlay($.iGuider.v.tCanvas.saveColorR,$.iGuider.v.tCanvas.saveColorG,$.iGuider.v.tCanvas.saveColorB,$.iGuider.v.tCanvas.saveOpacity);
}
if($.iGuider.v.tCanvas.shape == 2){
$.iGuider.v.redrawOverlay($.iGuider.v.tCanvas.saveColorR,$.iGuider.v.tCanvas.saveColorG,$.iGuider.v.tCanvas.saveColorB,$.iGuider.v.tCanvas.saveOpacity);
}
if(i == (sLength - 1)){
savePar = [];
}
}
$.iGuider.v.shapeRemove();
}
};
/*Start Animate*/
$.iGuider.v.start_animate = function(rectPar,lengthDef) {
if(overlayCreateFlag){
cancelAnimationFrame(requestID);
/*Set dinamic variables*/
var iteration = 0;
var durationFrame = $.iGuider.v.tCanvas.tDuration / 16.666;
var durationF = durationFrame+1;
var startOp = $.iGuider.v.tCanvas.saveOpacity*10; /*opacity*/
var pathOp = $.iGuider.v.tCanvas.pathOpacity*10; /*opacity*/
/*Draw Rectangle*/
$.iGuider.v.tCanvas.draw = function(){
var newColorR,newColorG,newColorB,newOpacity,newBR;
if($.iGuider.v.tCanvas.changeColor){
if($.iGuider){
newColorR = $.iGuider.v.easeOutQuad(iteration, $.iGuider.v.tCanvas.saveColorR, $.iGuider.v.tCanvas.pathColorR, durationF); /*color*/
newColorG = $.iGuider.v.easeOutQuad(iteration, $.iGuider.v.tCanvas.saveColorG, $.iGuider.v.tCanvas.pathColorG, durationF); /*color*/
newColorB = $.iGuider.v.easeOutQuad(iteration, $.iGuider.v.tCanvas.saveColorB, $.iGuider.v.tCanvas.pathColorB, durationF); /*color*/
newOpacity = $.iGuider.v.easeOutQuad(iteration, startOp, pathOp, durationF) / 10; /*opacity*/
$.iGuider.v.redrawOverlay(newColorR,newColorG,newColorB,newOpacity);
}
}
if($.iGuider.v.tCanvas.saveShape == 1){
/*Remove Old Arc*/
if($.iGuider.v.tCanvas.changeColor){
$.iGuider.v.redrawOverlay(newColorR,newColorG,newColorB,newOpacity);
}else{
$.iGuider.v.redrawOverlay($.iGuider.v.tCanvas.saveColorR,$.iGuider.v.tCanvas.saveColorG,$.iGuider.v.tCanvas.saveColorB,$.iGuider.v.tCanvas.saveOpacity);
}
}
if($.iGuider.v.tCanvas.saveShape == 2){
if($.iGuider.v.tCanvas.changeColor){
$.iGuider.v.redrawOverlay(newColorR,newColorG,newColorB,newOpacity);
}else{
$.iGuider.v.redrawOverlay($.iGuider.v.tCanvas.saveColorR,$.iGuider.v.tCanvas.saveColorG,$.iGuider.v.tCanvas.saveColorB,$.iGuider.v.tCanvas.saveOpacity);
}
}
for(var i = 0; i < rectPar.length; i++){
/*Set dinamic variables*/
var index = i;
if(!savePar[index]){
savePar.push({});
}
var saveParItem = savePar[index];
var rectParItem = rectPar[index];
var prevX = saveParItem.prevX || rectParItem.x;
var prevY = saveParItem.prevY || rectParItem.y;
var prevW = saveParItem.prevW || rectParItem.width;
var prevH = saveParItem.prevH || rectParItem.height;
var prevBR = saveParItem.prevBR || rectParItem.BR;
if($.iGuider.v.tCanvas.saveShape === 0){
/*Remove Old Rect*/
$.iGuider.v.ctx.clearRect(prevX,prevY,prevW,prevH);
$.iGuider.v.ctx.fillRect(prevX,prevY,prevW,prevH);
}
/*Get New Position*/
var newPosX = $.iGuider.v.easeOutQuad(iteration, rectParItem.saveX, rectParItem.pathX, durationF);
var newPosY = $.iGuider.v.easeOutQuad(iteration, rectParItem.saveY, rectParItem.pathY, durationF);
var newW = $.iGuider.v.easeOutQuad(iteration, rectParItem.saveW, rectParItem.pathW, durationF);
var newH = $.iGuider.v.easeOutQuad(iteration, rectParItem.saveH, rectParItem.pathH, durationF);
var newBR = $.iGuider.v.easeOutQuad(iteration, rectParItem.saveBR, rectParItem.pathBR, durationF);
/*Draw New Rect*/
if($.iGuider.v.tCanvas.shape === 0){
$.iGuider.v.ctx.clearRect(newPosX,newPosY,newW,newH);
}
/*Draw New Arc*/
if($.iGuider.v.tCanvas.shape == 1){
var arcLeft = (newPosX + newW/2).toFixed(0);
var arcTop = (newPosY + newH/2).toFixed(0);
var radius = (Math.sqrt(newW * newW + newH * newH)/2).toFixed(0);
$.iGuider.v.ctx.globalCompositeOperation = 'destination-out';
$.iGuider.v.ctx.beginPath();
$.iGuider.v.ctx.arc(arcLeft,arcTop,radius,0,Math.PI*2);
$.iGuider.v.ctx.closePath();
$.iGuider.v.ctx.fillStyle = 'rgba(0,0,0,1)';
$.iGuider.v.ctx.fill();
$.iGuider.v.ctx.globalCompositeOperation = 'source-over';
}
/*Draw New Round Rect*/
if($.iGuider.v.tCanvas.shape == 2){
$.iGuider.v.ctx.globalCompositeOperation = 'destination-out';
$.iGuider.v.ctx.fillStyle = 'rgba(0,0,0,1)';
if (typeof newBR === 'undefined') {
newBR = 5;
}
$.iGuider.v.ctx.beginPath();
$.iGuider.v.ctx.moveTo(newPosX + newBR, newPosY);
$.iGuider.v.ctx.lineTo(newPosX + newW - newBR, newPosY);
$.iGuider.v.ctx.quadraticCurveTo(newPosX + newW, newPosY, newPosX + newW, newPosY + newBR);
$.iGuider.v.ctx.lineTo(newPosX + newW, newPosY + newH - newBR);
$.iGuider.v.ctx.quadraticCurveTo(newPosX + newW, newPosY + newH, newPosX + newW - newBR, newPosY + newH);
$.iGuider.v.ctx.lineTo(newPosX + newBR, newPosY + newH);
$.iGuider.v.ctx.quadraticCurveTo(newPosX, newPosY + newH, newPosX, newPosY + newH - newBR);
$.iGuider.v.ctx.lineTo(newPosX, newPosY + newBR);
$.iGuider.v.ctx.quadraticCurveTo(newPosX, newPosY, newPosX + newBR, newPosY);
$.iGuider.v.ctx.closePath();
$.iGuider.v.ctx.fill();
$.iGuider.v.ctx.globalCompositeOperation = 'source-over';
}
saveParItem.prevX = newPosX;
saveParItem.prevY = newPosY;
saveParItem.prevW = newW;
saveParItem.prevH = newH;
saveParItem.saveX = rectParItem.x;
saveParItem.saveY = rectParItem.y;
saveParItem.saveW = rectParItem.width;
saveParItem.saveH = rectParItem.height;
saveParItem.saveBR = rectParItem.BR;
}
if (iteration < durationFrame) {
iteration ++;
requestID = requestAnimFrame($.iGuider.v.tCanvas.draw);
}else{
iteration = 0;
cancelAnimationFrame(requestID);
$.iGuider.v.tCanvas.saveColor = $.iGuider.v.tCanvas.color; /*color*/
$.iGuider.v.tCanvas.saveColorR = $.iGuider.v.tCanvas.colorR; /*color*/
$.iGuider.v.tCanvas.saveColorG = $.iGuider.v.tCanvas.colorG; /*color*/
$.iGuider.v.tCanvas.saveColorB = $.iGuider.v.tCanvas.colorB; /*color*/
$.iGuider.v.tCanvas.saveOpacity = $.iGuider.v.tCanvas.opacity; /*color*/
$.iGuider.v.tCanvas.saveShape = $.iGuider.v.tCanvas.shape; /*color*/
if(lengthDef){
for(var j = 0; j < lengthDef; j++){
savePar.pop();
}
}
}
};
/*Start Draw Rect*/
$.iGuider.v.tCanvas.draw();
}
};
$.iGuider.v.shapeRemove = function(){
$('.g-shape').remove();
};
$.iGuider.v.searchEl = function(collect){
$.iGuider.v.createOverlayLayer();
if(overlayCreateFlag){
var rectPar = [];
var color = $.iGuider.v.tCanvas.tColor; /*color*/
var colorCode = $.iGuider.v.hexToRGBCODE(color); /*color*/
var colorR = colorCode[0]; /*color*/
var colorG = colorCode[1]; /*color*/
var colorB = colorCode[2]; /*color*/
var opacity = $.iGuider.v.tCanvas.tOpacity; /*opacity*/
var shape = $.iGuider.v.tCanvas.shape; /*shape*/
var saveColor = $.iGuider.v.tCanvas.saveColor || color; /*color*/
var saveColorR = $.iGuider.v.tCanvas.saveColorR || colorR; /*color*/
var saveColorG = $.iGuider.v.tCanvas.saveColorG || colorG; /*color*/
var saveColorB = $.iGuider.v.tCanvas.saveColorB || colorB; /*color*/
var saveOpacity = $.iGuider.v.tCanvas.saveOpacity >= 0 ? $.iGuider.v.tCanvas.saveOpacity : opacity; /*opacity*/
$.iGuider.v.tCanvas.colorR = colorR; /*color*/
$.iGuider.v.tCanvas.colorG = colorG; /*color*/
$.iGuider.v.tCanvas.colorB = colorB; /*color*/
$.iGuider.v.tCanvas.saveColor = saveColor; /*color*/
$.iGuider.v.tCanvas.saveColorR = saveColorR; /*color*/
$.iGuider.v.tCanvas.saveColorG = saveColorG; /*color*/
$.iGuider.v.tCanvas.saveColorB = saveColorB; /*color*/
$.iGuider.v.tCanvas.saveShape = $.iGuider.v.tCanvas.saveShape || shape; /*shape*/
$.iGuider.v.tCanvas.saveOpacity = saveOpacity; /*opacity*/
$.iGuider.v.tCanvas.pathColorR = colorR - saveColorR; /*color*/
$.iGuider.v.tCanvas.pathColorG = colorG - saveColorG; /*color*/
$.iGuider.v.tCanvas.pathColorB = colorB - saveColorB; /*color*/
$.iGuider.v.tCanvas.pathOpacity = opacity - saveOpacity; /*opacity*/
if($.iGuider.v.tCanvas.saveColor != $.iGuider.v.tCanvas.color || $.iGuider.v.tCanvas.saveOpacity != $.iGuider.v.tCanvas.opacity){
$.iGuider.v.tCanvas.changeColor = true;
}else{
$.iGuider.v.tCanvas.changeColor = false;
}
$.iGuider.v.shapeRemove();
collect.each(function(i){
var index = i;
var el = $(this);
var elW = el.outerWidth();
var elH = el.outerHeight();
var elLeft = (el.offset().left - $(window).scrollLeft()).toFixed(0);
var elTop = (el.offset().top - $(window).scrollTop()).toFixed(0);
var margin = $.iGuider.v.tCanvas.tMargin;
var width = elW + margin * 2;
var height = elH + margin * 2;
var x = elLeft - margin;
var y = elTop - margin;
var maxBRSize = width > height ? height/2 : width/2;
var shapeBorderRadius = $.iGuider.v.tCanvas.shapeBorderRadius;
var shapeLeft = el.offset().left - margin;
var shapeTop = el.offset().top - margin;
var shapeW = width;
var shapeH = height;
var shapeBRadius = 0;
if($.iGuider.v.tCanvas.shape == 2){
shapeBRadius = shapeBorderRadius > maxBRSize ? maxBRSize : shapeBorderRadius;
shapeBorderRadius = shapeBRadius;
}
if(el.is('body')){
margin = 0;
width = 0;
height = 0;
x = $(window).width()/2;
y = $(window).height()/2;
}
if(!savePar[index]){
savePar.push({});
}
var saveX = savePar[index].saveX || x;
var saveY = savePar[index].saveY || y;
var saveW = savePar[index].saveW || width;
var saveH = savePar[index].saveH || height;
var saveBR = savePar[index].saveBR || shapeBorderRadius;
rectPar.push({
width:width,
height:height,
x:x,
y:y,
BR:shapeBorderRadius,
saveX:saveX,
saveY:saveY,
saveW:saveW,
saveH:saveH,
saveBR:saveBR,
pathX:x - saveX,
pathY:y - saveY,
pathW:width - saveW,
pathH:height - saveH,
pathBR:shapeBorderRadius - saveBR,
prevX:savePar[index].prevX || x,
prevY:savePar[index].prevY || y,
prevW:savePar[index].prevW || width,
prevH:savePar[index].prevH || height,
prevBR:savePar[index].prevBR || shapeBorderRadius
});
if(i == (collect.length - 1)){
$.iGuider.v.setEmpty(savePar,rectPar);
}
/*if $.iGuider.v.tCanvas.shape == 0*/
if($.iGuider.v.tCanvas.shape == 1){
var radius = (Math.sqrt(shapeW * shapeW + shapeH * shapeH)/2);
shapeLeft = (shapeLeft - (radius - shapeW/2));
shapeTop = (shapeTop - (radius - shapeH/2));
shapeW = radius*2;
shapeH = radius*2;
shapeBRadius = '50%';
}
var fixedTop = (shapeTop - $(window).scrollTop());
var fixedLeft = (shapeLeft - $(window).scrollLeft());
$('<div>')
.addClass('g-shape')
.css({left:fixedLeft, top:fixedTop, width:shapeW, height:shapeH, borderRadius:shapeBRadius})
.appendTo('body');
});
if(!collect.length){
$.iGuider.v.delRect(savePar.length);
}
}
};
$.iGuider.v.fixStepNumVal = function(stepObj){
if(stepObj){
if(stepObj.overlayOpacity > -1){stepObj.overlayOpacity = parseFloat(stepObj.overlayOpacity);}
if(stepObj.spacing > -1){stepObj.spacing = parseFloat(stepObj.spacing);}
if(stepObj.shape > -1){stepObj.shape = parseFloat(stepObj.shape);}
if(stepObj.shapeBorderRadius > -1){stepObj.shapeBorderRadius = parseFloat(stepObj.shapeBorderRadius);}
if(stepObj.waitElementTime > -1){stepObj.waitElementTime = parseFloat(stepObj.waitElementTime);}
}
return stepObj;
};
/*Set Addition Empty Objects*/
$.iGuider.v.setEmpty = function(savePar,rectPar){
var sLength = savePar.length;
var rLength = rectPar.length;
if(sLength > rLength){
var saveIndex = (rLength-1);
var lengthDef = sLength - rLength;
var jsonItem = JSON.stringify(rectPar[saveIndex]);
var saveItem = JSON.parse(jsonItem);
for(var i = 0; i < sLength; i++){
var index = i;
if(index > (rLength - 1)){
rectPar[index] = saveItem;
rectPar[index].saveX = savePar[index].saveX;
rectPar[index].saveY = savePar[index].saveY;
rectPar[index].saveW = savePar[index].saveW;
rectPar[index].saveH = savePar[index].saveH;
rectPar[index].prevX = savePar[index].prevX;
rectPar[index].prevY = savePar[index].prevY;
rectPar[index].prevW = savePar[index].prevW;
rectPar[index].prevH = savePar[index].prevH;
rectPar[index].pathX = rectPar[index].x - savePar[index].saveX;
rectPar[index].pathY = rectPar[index].y - savePar[index].saveY;
rectPar[index].pathW = rectPar[index].width - savePar[index].saveW;
rectPar[index].pathH = rectPar[index].height - savePar[index].saveH;
if(index == (sLength - 1)){
$.iGuider.v.start_animate(rectPar,lengthDef);
}
}
}
}else{
if(rLength){
$.iGuider.v.start_animate(rectPar);
}else{
$.iGuider.v.delRect(savePar.length);
}
}
};
/*Set Canvas Def Options*/
$.iGuider.v.setCanvasDefault = function(){
$.iGuider.v.tCanvas.def = {
tOpacity:$.iGuider.opt.overlayOpacity > -1 ? $.iGuider.opt.overlayOpacity : 0.5,
tColor:$.iGuider.opt.overlayColor || '#000',
tMargin:parseFloat($.iGuider.opt.spacing) > -1 ? parseFloat($.iGuider.opt.spacing) : 10,
tDuration:300,
shape:parseFloat($.iGuider.opt.shape) > -1 ? parseFloat($.iGuider.opt.shape) : 0,
shapeBorderRadius:parseFloat($.iGuider.opt.shapeBorderRadius) > -1 ? parseFloat($.iGuider.opt.shapeBorderRadius) : 5
};
$.iGuider.v.tCanvas.startOpt = {
tOpacity:1.1,
tColor:'#0000',
tMargin:10,
tDuration:300,
shape:0,
shapeBorderRadius:4
};
$.iGuider.v.tCanvas.tOpacity = $.iGuider.v.tCanvas.def.tOpacity;
$.iGuider.v.tCanvas.tColor = $.iGuider.v.tCanvas.def.tColor;
$.iGuider.v.tCanvas.tMargin = $.iGuider.v.tCanvas.def.tMargin;
$.iGuider.v.tCanvas.tDuration = $.iGuider.v.tCanvas.def.tDuration;
$.iGuider.v.tCanvas.shape = $.iGuider.v.tCanvas.def.shape;
$.iGuider.v.tCanvas.shapeBorderRadius = $.iGuider.v.tCanvas.def.shapeBorderRadius;
};
$.iGuider.v.tIni = function(){
$.iGuider.v.createCanvas();
$.iGuider.v.setCanvasSize();
$.iGuider.v.setCanvasDefault();
};
$.iGuider.v.tIni();
/**/
/*Any Tour ID*/
/**/
$.iGuider.v.tourid = '';
if($.iGuider.opt.tourTitle){
$.iGuider.v.tourid = $.iGuider.opt.tourTitle;
$.iGuider.v.gMapHeader = $('<div>')
.addClass('g-map-header')
.html($.iGuider.opt.tourTitle)
.appendTo($(':contains([map-header])',mapTemplate).last().empty());
}
$.iGuider.v.gMapContent = $('<div>')
.addClass('g-map-content')
.appendTo($(':contains([map-content])',mapTemplate).last().empty());
/**/
/*Step can be skipped if you set parameter "skip" to true.*/
/**/
var actualStepsCombine = [];
var actualIndex = 0;
var uid = 0;
var stepReplace = function(hStepItem){
if(!hStepItem.loc){
if($.iGuider.opt.baseurl){
hStepItem.loc = $.iGuider.opt.loc || location.href.split($.iGuider.opt.baseurl)[1];
}else{
hStepItem.loc = $.iGuider.opt.loc || location.href;
}
}
if(typeof hStepItem.keyboardEvent == "undefined"){
hStepItem.keyboardEvent = $.iGuider.opt.keyboardEvent;
}
/*Set Step Timer*/
if(!parseFloat(hStepItem.timer)){
if(hStepItem.timer === false || hStepItem.timer === 0 || hStepItem.timer === '0'){
hStepItem.timer = false;
}else{
if(parseFloat($.iGuider.opt.timer) > 0){
hStepItem.timer = $.iGuider.opt.timer;
}else{
hStepItem.timer = false;
}
}
}
actualStepsCombine.push(hStepItem);
/**/
/*Creating step links*/
/**/
var hStepItemTitle = hStepItem.title ? hStepItem.title : '№'+(actualIndex+1);
var hindexStep = $('<div data-hindex="'+actualIndex+'" class="g-step-item" data-title="'+hStepItemTitle+'"><span class="g-step-item-text">'+hStepItemTitle+'</span></div>').appendTo($.iGuider.v.gMapContent);
if(hStepItem.ready){
addSuccess(hindexStep);
}
actualIndex++;
};
var escapeRe = function (value) {
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
};
if($.iGuider.opt.steps && $.iGuider.opt.steps.length){
for(var i = 0; i < $.iGuider.opt.steps.length; i++){
var skip = $.iGuider.opt.steps[i].skip;
if(!skip){
var hStepItem = $.iGuider.opt.steps[i];
if($.iGuider.opt.registerMissingElements || hStepItem.position == 'center'){
stepReplace(hStepItem);
}else{
var targetElement;
if($(hStepItem.target).length){
targetElement = $(hStepItem.target);
}else{
targetElement = $('[data-target ="'+hStepItem.target+'"]');
}
if(targetElement.length){
stepReplace(hStepItem);
}
}
}
$.iGuider.v.tourid = $.iGuider.v.tourid + $.iGuider.opt.steps[i].target;
}
$.iGuider.opt.steps = actualStepsCombine;
}
/**/
/*Save Desktop Events $ Save Touch Events*/
/**/
var iOs = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
$.iGuider.v.clickEvent = iOs ? 'touchend' : 'click';
var touchMoving = false;
if (iOs){
document.ontouchmove = function(e){
touchMoving = true;
};
document.ontouchend = function(e){
setTimeout(function(){
touchMoving = false;
},100);
};
}
var mousemoveEvent = 'mousemove.'+$.iGuider.hName;
var mousedownEvent = 'mousedown.'+$.iGuider.hName;
var mouseupEvent = 'mouseup.'+$.iGuider.hName;
if('ontouchstart' in window){
mousemoveEvent = 'touchmove.'+$.iGuider.hName;
mousedownEvent = 'touchstart.'+$.iGuider.hName;
mouseupEvent = 'touchend.'+$.iGuider.hName;
}
$.iGuider.v.mousemoveEvent = mousemoveEvent;
$.iGuider.v.mouseupEvent = mouseupEvent;
$.iGuider.v.mousedownEvent = mousedownEvent;
/**/
/*Detect Privacy Mode in Safari (iOS)*/
/**/
var iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);
if(iOS){
try { localStorage.test = 2; } catch (e) {
alert('You are in Privacy Mode\nPlease deactivate Privacy Mode and then reload the page to view the Tour.');
$.fn.iGuider('destroy');
return false;
}
}
/**/
/*This function converts the parameters of the object to a string*/
/**/
var toStringObjIndex = 0;
var typeDetect = function(per){
if(typeof per == 'function'){
//function
return typeof per;
}
if(typeof per == 'boolean'){
//boolean
return typeof per;
}
if(typeof per == 'string'){
//string
return typeof per;
}
if(typeof per == 'number'){
//number
return typeof per;
}
if(typeof per == 'object'){
if(Array.isArray(per)){
//Array
return 'array';
}else{
//Object
return 'object';
}
}
};
$.iGuider.v.toStringObj = function(obj){
var newIndex = toStringObjIndex++;
var objEnter = obj;
var tempObj = {};
tempObj[newIndex] = {};
for (var i in objEnter) {
if(objEnter.hasOwnProperty(i)){
var key1 = i;
var val = objEnter[key1];
//function
if(typeDetect(val) == 'function'){
tempObj[newIndex][key1] = val.toString();
}
//array
if(typeDetect(val) == 'array'){
var valEach = val;
for(var f = 0; f < valEach.length; f++){
if(typeDetect(valEach[f]) == 'object'){
var objMass = valEach[f];
var val3 = $.iGuider.v.toStringObj(objMass);
valEach[f] = val3;
}
}
tempObj[newIndex][key1] = valEach;
}
//object
if(typeDetect(val) == 'object'){
var val2 = $.iGuider.v.toStringObj(val);
tempObj[newIndex][key1] = val2;
}
//string, number, boolean
if(typeDetect(val) == 'string' || typeDetect(val) == 'number' || typeDetect(val) == 'boolean'){
tempObj[newIndex][key1] = objEnter[key1];
}
}
}
return tempObj[newIndex];
};
$.iGuider.v.coneHide = function(){
$.iGuider.v.modalPos.addClass('cone-hide');
};
$.iGuider.v.coneShow = function(){
$.iGuider.v.modalPos.removeClass('cone-hide');
};
$.iGuider.v.selectCallback = function(){
if($.iGuider.opt.steps[$.iGuider.v.startIndex].autofocus !== false){
$(':focus').blur();
$.iGuider.v.targetEl.focus();
}
$.iGuider.v.messHide();
$.iGuider.v.messEvHide();
};
$.iGuider.v.posCorrect = function(pos_0, pos_1, pos_2){
if(!pos_0){
pos_0 = $.iGuider.v.modalPos.attr('data-pos');
}
if(!pos_1){
pos_1 = $.iGuider.v.modalPos.attr('data-cone');
}
if(!pos_2){
pos_2 = $.iGuider.v.modalPos.attr('data-cont');
}
var ww = $(window).width();
var sizeW = $.iGuider.v.modalSize.outerWidth();
if(sizeW > (ww - 20)){
$.iGuider.v.modalSize.css({minWidth:(ww - 20)});
}
var corrected = false;
$.iGuider.v.modalSize.css({marginTop:'', marginLeft:''});
$.iGuider.v.modalPos.css({marginLeft:''});
var sumW = ($.iGuider.v.modalSize.offset().left + $.iGuider.v.modalSize.width());
var wh = $(window).height();
var elOffsetTop = ($.iGuider.v.modalSize.offset().top - $(window).scrollTop());
var sumH = elOffsetTop + $.iGuider.v.modalSize.height();
$.iGuider.v.coneShow();
var corVal;
$.iGuider.v.coneCheckHor = function(corVal){
if(pos_0 == 'l' || pos_0 == 'r'){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_0 == 't' || pos_0 == 'b'){
if(pos_2 == 'r' && corVal > 0){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_2 == 'l' && corVal < 0){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_1 == 'c'){
if(pos_2 == 'c'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerWidth()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerWidth()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'r'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerWidth()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'l'){
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerWidth()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
}
if(pos_1 == 'r' || pos_1 == 'l'){
if(pos_2 == 'r'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerWidth()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'l'){
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerWidth()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'c'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerWidth()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerWidth()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
}
}
}
};
$.iGuider.v.coneCheckVert = function(corVal){
if(pos_0 == 't' || pos_0 == 'b'){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_0 == 'l' || pos_0 == 'r'){
if(pos_2 == 'b' && corVal > 0){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_2 == 't' && corVal < 0){
//hide cone
$.iGuider.v.coneHide();
}
if(pos_1 == 'c'){
if(pos_2 == 'c'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerHeight()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerHeight()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'b'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerHeight()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 't'){
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerHeight()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
}
if(pos_1 == 'b' || pos_1 == 't'){
if(pos_2 == 'b'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerHeight()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 't'){
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerHeight()){
//hide cone
$.iGuider.v.coneHide();
}
}
}
if(pos_2 == 'c'){
if(corVal < 0){
if((corVal-15) < -$.iGuider.v.modalSize.outerHeight()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
if(corVal > 0){
if((corVal+15) > $.iGuider.v.modalSize.outerHeight()/2){
//hide cone
$.iGuider.v.coneHide();
}
}
}
}
}
};
/*start correct*/
/*for horizontal correct*/
if(sumW > (ww - 10)){
corrected = true;
corVal = -((sumW - ww)+10);
$.iGuider.v.modalSize.css({marginLeft:corVal});
$.iGuider.v.coneCheckHor(corVal);
}
if($.iGuider.v.modalSize.offset().left < 10){
corrected = true;
corVal = -$.iGuider.v.modalSize.offset().left+10;
$.iGuider.v.modalSize.css({marginLeft:corVal});
$.iGuider.v.coneCheckHor(corVal);
}
/*for vertical correct*/
if(sumH > (wh - 10)){
corrected = true;
corVal = -((sumH - wh)+10);
$.iGuider.v.modalSize.css({marginTop:corVal});
$.iGuider.v.coneCheckVert(corVal);
}
if(elOffsetTop < 10){
corrected = true;
corVal = (elOffsetTop*-1+10);
$.iGuider.v.modalSize.css({marginTop:corVal});
$.iGuider.v.coneCheckVert(corVal);
}
/*end correct*/
if(pos_0 == 'c' && pos_1 == 'c' && pos_2 == 'c'){
$.iGuider.v.modalSize.css({marginLeft:''});
}
if(pos_2 !== 'c' && corrected){
//hide cone
//$.iGuider.v.coneHide();
}
if($.iGuider.v.modalSize.height() > wh - 20){
//hide cone
$.iGuider.v.coneHide();
}
if(corrected){
$.iGuider.v.modalPos.addClass('g-pos-correct');
}else{
$.iGuider.v.modalPos.removeClass('g-pos-correct');
}
};
$.iGuider.v.play = function(){
if ($.iGuider.opt.play !== undefined) {
try{
var play_Func = new Function('return ' + $.iGuider.opt.play)();
play_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.pause = function(){
if ($.iGuider.opt.pause !== undefined) {
try{
var pause_Func = new Function('return ' + $.iGuider.opt.pause)();
pause_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
/*Callback functions*/
$.iGuider.v.start = function(){
localStorage.setItem('iGuider_event','start');
if ($.iGuider.opt.start !== undefined) {
try{
var start_Func = new Function('return ' + $.iGuider.opt.start)();
start_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.end = function(){
localStorage.setItem('iGuider_event','end');
//$.iGuider.v.progressFunc(0);
if ($.iGuider.opt.end !== undefined) {
try{
var end_Func = new Function('return ' + $.iGuider.opt.end)();
end_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.abort = function(){
localStorage.setItem('iGuider_event','abort');
localStorage.setItem('iGuider_restored','0');
localStorage.removeItem('iGuider_opt');
localStorage.removeItem('iGuider_step');
if ($.iGuider.opt.abort !== undefined) {
try{
var abort_Func = new Function('return ' + $.iGuider.opt.abort)();
abort_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.finish = function(){
localStorage.setItem('iGuider_event','finish');
if ($.iGuider.opt.finish !== undefined) {
try{
var finish_Func = new Function('return ' + $.iGuider.opt.finish)();
finish_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
localStorage.removeItem('iGuider_step');
localStorage.removeItem('iGuider_opt');
localStorage.removeItem('iGuider_data-'+$.iGuider.opt.tourID);
localStorage.removeItem('itour_options');
};
$.iGuider.v.create = function(){
localStorage.setItem('iGuider_event','create');
if ($.iGuider.opt.create !== undefined) {
try{
var create_Func = new Function('return ' + $.iGuider.opt.create)();
create_Func();
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
if(!$.iGuider.opt.steps){
localStorage.setItem('iGuider_event','no_steps');
}
};
$(document).on('keydown.iGuider',function(e){
if($.iGuider){
if(!$.iGuider.v.design){
if($.iGuider.opt.keyboard){
if(parseFloat(e.keyCode) == 27){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Esc and Destroy');
$.iGuider.v.end();
$.iGuider.v.abort();
$.fn.iGuider('destroy');
}
if(parseFloat(e.keyCode) == 39){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Keyboard Next');
iGuider('next');
}
if(parseFloat(e.keyCode) == 37){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Keyboard Prev');
iGuider('prev');
}
if(parseFloat(e.keyCode) == 13){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Keyboard Enter');
if($('html').is('.g-modal-intro-show')){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Keyboard Start');
$.iGuider.v.modalStart.addClass('active');
$.iGuider.v.modalStart.trigger('click');
}
if($('html').is('.g-modal-continue-show')){
$.iGuider.v.debug(new Error().lineNumber+ ' Click Keyboard Continue');
$.iGuider.v.modalBeginContinue.addClass('active');
$.iGuider.v.modalBeginContinue.trigger('click');
}
}
}
}
}
});
/**/
/*Overlay Elements Positioning*/
/**/
$.iGuider.v.overlayPos = function(targetEl){
$.iGuider.v.debug(new Error().lineNumber+ ' Start overlayPos func');
if(targetEl && targetEl.length){
$.iGuider.v.modalData = [];
var vw = $(window).width();
var vh = $(window).height();
var wst = $(window).scrollTop();
var wsl = $(window).scrollLeft();
var indent = 10;
targetEl.each(function(i){
var targetElItem = $(this);
var targetElWidth = Math.round(targetElItem.outerWidth());
var targetElHeight = Math.round(targetElItem.outerHeight());
var targetElTop = Math.round(targetElItem.offset().top);
var targetElLeft = Math.round(targetElItem.offset().left);
/**/
/*Specifies the data for the starting step*/
/**/
var targetOpt = $.iGuider.opt.steps[$.iGuider.v.startIndex];
var contentPos = $.trim(targetOpt.position).split('');
var top;
var left;
var blockTransLeft = '0';
var blockTransTop = '0';
var blockLeft;
var blockTop;
if($.iGuider.opt.steps){
if($.iGuider.opt.steps[$.iGuider.v.startIndex].disable){
$('html').addClass('g-disable');
}else{
$('html').removeClass('g-disable');
}
var setSpacing = $.iGuider.v.tCanvas.tMargin;
/*Set Width of Message Block*/
var widthVal = '';
var widthPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].width || $.iGuider.opt.width;
if(widthPar){
widthVal = widthPar;
widthVal = widthVal.toString();
if(widthVal.search('%') != -1 || widthVal.search('vw') != -1){
widthVal = widthVal.replace('%','vw');
}else{
widthVal = parseFloat(widthVal);
}
}
$.iGuider.v.modalSize.css({minWidth:widthVal});
/*Set Background of Message Block*/
var bgColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].bgColor || $.iGuider.opt.bgColor;
if(bgColorPar){
$.iGuider.v.modalTimerControll.css({background:bgColorPar});
$.iGuider.v.modalSize.css({background:bgColorPar});
$.iGuider.v.modalPos.css({color:bgColorPar});
}else{
$.iGuider.v.modalTimerControll.css({background:''});
$.iGuider.v.modalSize.css({background:''});
$.iGuider.v.modalPos.css({color:''});
}
/*Set Title Color of Message Block*/
var titleColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].titleColor || $.iGuider.opt.titleColor;
if(titleColorPar){
$.iGuider.v.modalHeader.css({color:titleColorPar});
}else{
$.iGuider.v.modalHeader.css({color:''});
}
/*Set Content Color of Message Block*/
var modalContentColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].modalContentColor || $.iGuider.opt.modalContentColor;
if(modalContentColorPar){
$.iGuider.v.modalBody.css({color:modalContentColorPar});
}else{
$.iGuider.v.modalBody.css({color:''});
}
/*Set Pagination Color of Message Block*/
var paginationColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].paginationColor || $.iGuider.opt.paginationColor;
if(paginationColorPar){
$('#paginationColorStyle').remove();
$('<style id="paginationColorStyle">').html('.g-modal-pos .g-modal-step-value, .g-modal-pos .g-modal-step-total {color:'+paginationColorPar+'}').appendTo('html');
}else{
$('#paginationColorStyle').remove();
}
/*Set Timer of Message Block*/
var timerColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].timerColor || $.iGuider.opt.timerColor;
if(timerColorPar){
$('#timerColorStyle').remove();
$('<style id="timerColorStyle">').html('.g-modal-timer-line .g-modal-timer { background: '+timerColorPar+'; } .g-progress__value { stroke: '+timerColorPar+'; }').appendTo('html');
}else{
$('#timerColorStyle').remove();
}
/*Set Buttons Color of Message Block*/
var btnColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].btnColor || $.iGuider.opt.btnColor;
if(btnColorPar){
$('#btnColorStyle').remove();
$('<style id="btnColorStyle">').html('.g-modal-pos .gBtn {color:'+btnColorPar+'}').appendTo('html');
}else{
$('#btnColorStyle').remove();
}
/*Set Buttons Hover Color of Message Block*/
var btnHoverColorPar = $.iGuider.opt.steps[$.iGuider.v.startIndex].btnHoverColor || $.iGuider.opt.btnHoverColor;
if(btnHoverColorPar){
$('#btnHoverColorStyle').remove();
$('<style id="btnHoverColorStyle">').html('.g-modal-pos .gBtn:hover {color:'+btnHoverColorPar+'}').appendTo('html');
}else{
$('#btnHoverColorStyle').remove();
}
/*Set Checklist Buttons Color*/
var listBtnColorPar = $.iGuider.opt.tourMap.btnColor || $.iGuider.opt.btnColor;
if(listBtnColorPar){
$('#listBtnColorStyle').remove();
$('<style id="listBtnColorStyle">').html('.g-map-pos .gBtn {color:'+listBtnColorPar+'}').appendTo('html');
}else{
$('#listBtnColorStyle').remove();
}
/*Set Checklist Buttons Hover Color*/
var listBtnHoverColorPar = $.iGuider.opt.tourMap.btnHoverColor || $.iGuider.opt.btnHoverColor;
if(listBtnHoverColorPar){
$('#listBtnHoverColorStyle').remove();
$('<style id="listBtnHoverColorStyle">').html('.g-map-pos .gBtn:hover {color:'+listBtnHoverColorPar+'}').appendTo('html');
}else{
$('#listBtnHoverColorStyle').remove();
}
/*Set Background of Checklist*/
var listBgColorPar = $.iGuider.opt.tourMap.bgColor || $.iGuider.opt.bgColor;
if(listBgColorPar){
$.iGuider.v.gMapPos.css({background:listBgColorPar});
}else{
$.iGuider.v.gMapPos.css({background:''});
}
/*Set Title Color of Checklist*/
var listTitleColorPar = $.iGuider.opt.tourMap.titleColor || $.iGuider.opt.titleColor;
if(listTitleColorPar){
$.iGuider.v.gMapHeader.css({color:listTitleColorPar});
}else{
$.iGuider.v.gMapHeader.css({color:''});
}
/*Set Step Item Number color of Checklist*/
var itemNumColorPar = $.iGuider.opt.tourMap.itemNumColor;
if(itemNumColorPar){
$('#itemNumColorStyle').remove();
$('<style id="itemNumColorStyle">').html('.g-step-item:before {color:'+itemNumColorPar+'}').appendTo('html');
}else{
$('#itemNumColorStyle').remove();
}
/*Set Step Item color of Checklist*/
var itemColorPar = $.iGuider.opt.tourMap.itemColor;
if(itemColorPar){
$('#itemColorStyle').remove();
$('<style id="itemColorStyle">').html('.g-step-item:not(.hCur):not(:hover) {color:'+itemColorPar+'}').appendTo('html');
}else{
$('#itemColorStyle').remove();
}
/*Set Step Item Hover color of Checklist*/
var itemHoverColorPar = $.iGuider.opt.tourMap.itemHoverColor;
if(itemHoverColorPar){
$('#itemHoverColorStyle').remove();
$('<style id="itemHoverColorStyle">').html('.g-step-item:not(.hCur):hover {color:'+itemHoverColorPar+'}').appendTo('html');
}else{
$('#itemHoverColorStyle').remove();
}
/*Set Step Item Active color of Checklist*/
var itemActiveColorPar = $.iGuider.opt.tourMap.itemActiveColor;
if(itemActiveColorPar){
$('#itemActiveColorStyle').remove();
$('<style id="itemActiveColorStyle">').html('.hCur .g-step-item-text {color:'+itemActiveColorPar+'}').appendTo('html');
}else{
$('#itemActiveColorStyle').remove();
}
/*Set Step Item Active BG color of Checklist*/
var itemActiveBgPar = $.iGuider.opt.tourMap.itemActiveBg;
if(itemActiveBgPar){
$('#itemActiveBgStyle').remove();
$('<style id="itemActiveBgStyle">').html('.g-step-item.hCur:before {background:'+itemActiveBgPar+'}').appendTo('html');
}else{
$('#itemActiveBgStyle').remove();
}
/*Set Check color of Checklist*/
var checkColorPar = $.iGuider.opt.tourMap.checkColor;
if(checkColorPar){
$('#checkColorStyle').remove();
$('<style id="checkColorStyle">').html('.g-step-item:after {border-color:'+checkColorPar+'}').appendTo('html');
}else{
$('#checkColorStyle').remove();
}
/*Set Check Ready color of Checklist*/
var checkReadyColorPar = $.iGuider.opt.tourMap.checkReadyColor;
if(checkReadyColorPar){
$('#checkReadyColorStyle').remove();
$('<style id="checkReadyColorStyle">').html('.g-step-item.g-step-success:after {border-color:'+checkReadyColorPar+'}').appendTo('html');
}else{
$('#checkReadyColorStyle').remove();
}
/*Set Pagination Color of Checklist Block*/
var checkPaginationColorPar = $.iGuider.opt.tourMap.paginationColor || $.iGuider.opt.paginationColor;
if(checkPaginationColorPar){
$('#checkPaginationColorStyle').remove();
$('<style id="checkPaginationColorStyle">').html('.g-map-pos .g-modal-step-value, .g-map-pos .g-modal-step-total {color:'+checkPaginationColorPar+'}').appendTo('html');
}else{
$('#checkPaginationColorStyle').remove();
}
/**/
/*Positioning in center of the screen */
/**/
if($.iGuider.opt.steps[$.iGuider.v.startIndex].position == 'center' || !$.iGuider.opt.steps[$.iGuider.v.startIndex].target){
contentPos = ['c','c','c'];
left = '50%';
top = '50%';
}else{
/**/
/*Automatic positioning of message */
/**/
if(contentPos.length != 3 || contentPos[0] != 't' && contentPos[0] != 'r' && contentPos[0] != 'b' && contentPos[0] != 'l'){
$.iGuider.opt.steps[$.iGuider.v.startIndex].position = 'auto';
}
if($.iGuider.opt.steps[$.iGuider.v.startIndex].position == 'auto'){
/*start auto positioning*/
contentPos = [];
$.iGuider.v.eTop = targetElTop - wst;
$.iGuider.v.eLeft = targetElLeft - wsl;
$.iGuider.v.mbw = $.iGuider.v.modalSize.outerWidth();
$.iGuider.v.mbh = $.iGuider.v.modalSize.outerHeight();
$.iGuider.v.sTop.h = $.iGuider.v.eTop - (indent + setSpacing);
$.iGuider.v.sBot.h = vh - ($.iGuider.v.eTop + targetElHeight) - (indent + setSpacing);
$.iGuider.v.sLeft.w = $.iGuider.v.eLeft - (indent + setSpacing);
$.iGuider.v.sRight.w = vw - ($.iGuider.v.eLeft + targetElWidth) - (indent + setSpacing);
$.iGuider.v.sMaxH = $.iGuider.v.sTop.h;
$.iGuider.v.sMaxW = $.iGuider.v.sLeft.w;
$.iGuider.v.sideTB = 't';
$.iGuider.v.sideLR = 'l';
if($.iGuider.v.sBot.h > $.iGuider.v.sTop.h){
$.iGuider.v.sMaxH = $.iGuider.v.sBot.h
$.iGuider.v.sideTB = 'b';
}
if($.iGuider.v.sRight.w > $.iGuider.v.sLeft.w){
$.iGuider.v.sMaxW = $.iGuider.v.sRight.w
$.iGuider.v.sideLR = 'r';
}
if($.iGuider.v.sMaxH > $.iGuider.v.mbh){
// bottom, top
contentPos[0] = $.iGuider.v.sideTB;
contentPos[1] = $.iGuider.v.sideLR;
contentPos[2] = $.iGuider.v.sideLR;
if($.iGuider.v.sideTB == 't'){
top = $.iGuider.v.eTop - (setSpacing + 15);
}else{
top = ($.iGuider.v.eTop + targetElHeight + setSpacing + 15);
}
if($.iGuider.v.sideLR == 'l'){
left = $.iGuider.v.eLeft - (setSpacing);
}else{
left = ($.iGuider.v.eLeft + targetElWidth + setSpacing);
}
}else{
if($.iGuider.v.sMaxW > $.iGuider.v.mbw){
// right, left
contentPos[0] = $.iGuider.v.sideLR;
contentPos[1] = $.iGuider.v.sideTB;
contentPos[2] = $.iGuider.v.sideTB;
if($.iGuider.v.sideLR == 'l'){
left = $.iGuider.v.eLeft - (setSpacing + 15);
}else{
left = ($.iGuider.v.eLeft + targetElWidth + setSpacing + 15);
}
if($.iGuider.v.sideTB == 't'){
top = $.iGuider.v.eTop - (setSpacing);
}else{
top = ($.iGuider.v.eTop + targetElHeight + setSpacing);
}
}else{
// bottom, top
contentPos[0] = $.iGuider.v.sideTB;
contentPos[1] = $.iGuider.v.sideLR;
contentPos[2] = $.iGuider.v.sideLR;
if($.iGuider.v.sideTB == 't'){
top = $.iGuider.v.eTop - (setSpacing + 15);
}else{
top = ($.iGuider.v.eTop + targetElHeight + setSpacing + 15);
}
if($.iGuider.v.sideLR == 'l'){
left = $.iGuider.v.eLeft - (setSpacing);
}else{
left = ($.iGuider.v.eLeft + targetElWidth + setSpacing);
}
}
}
/*end auto positioning*/
}else{
/**/
/*Decoding of first symbol*/
/**/
if(contentPos[0] == 'r'){
left = (targetElLeft + setSpacing + targetElWidth + 15) - $(window).scrollLeft();
blockTransLeft = '0';
blockLeft = '0';
}
if(contentPos[0] == 'l'){
left = (targetElLeft - (setSpacing + 15)) - $(window).scrollLeft();
blockTransLeft = '-100%';
blockLeft = '0';
}
if(contentPos[0] == 'b'){
top = ((targetElTop + setSpacing + targetElHeight) - $(window).scrollTop()) + 15;
blockTransTop = '0';
blockTop = '0';
}
if(contentPos[0] == 't'){
top = ((targetElTop - (setSpacing + 15)) - $(window).scrollTop());
blockTransTop = '-100%';
blockTop = '0';
}
/**/
/*Decoding of second symbol*/
/**/
if(contentPos[1] == 'c' && contentPos[0] == 'r' || contentPos[1] == 'c' && contentPos[0] == 'l'){
top = (targetElTop + targetElHeight/2) - $(window).scrollTop();
}
if(contentPos[1] == 'b'){
top = (targetElTop + targetElHeight + setSpacing) - $(window).scrollTop();
}
if(contentPos[1] == 't'){
top = (targetElTop - setSpacing) - $(window).scrollTop();
}
if(contentPos[1] == 'c' && contentPos[0] == 'b' || contentPos[1] == 'c' && contentPos[0] == 't'){
left = (targetElLeft + targetElWidth/2) - $(window).scrollLeft();
}
if(contentPos[1] == 'l'){
left = (targetElLeft - setSpacing) - $(window).scrollLeft();
}
if(contentPos[1] == 'r'){
left = (targetElLeft + targetElWidth + setSpacing) - $(window).scrollLeft();
}
}
}
/**/
/*Set of the position code*/
/**/
if(i === 0){
$.iGuider.v.modalPos.css({left:left,top:top}).attr({
'data-pos':contentPos[0],
'data-cone':contentPos[1],
'data-cont':contentPos[2]
});
$.iGuider.v.contentPos = contentPos;
}
/*Show Message Window*/
$.iGuider.v.modalPosShow($.iGuider.v.tCanvas.tDuration);
/**/
/*Position correction*/
/**/
$.iGuider.v.modalPos.stop(true).css({opacity:0}).show();
$.iGuider.v.debug(new Error().lineNumber+ ' posCorrect func - 1');
$.iGuider.v.posCorrect(contentPos[0],contentPos[1],contentPos[2]);
$.iGuider.v.modalData.push({
left:left,
top:top,
'dataPos':contentPos[0],
'dataCone':contentPos[1],
'dataCont':contentPos[2]
});
}else{
console.log('Parameter "steps" is undefined or empty');
}
});
$.iGuider.v.indexActive = 0;
}
};
$.iGuider.v.modalNextShow = function(){
$('html').addClass('g-modal-next-show');
$('html').removeClass('g-modal-next-hide');
$.iGuider.v.modalNext.html($.iGuider.opt.steps[$.iGuider.v.startIndex].nextText);
};
$.iGuider.v.modalNextHide = function(){
$('html').addClass('g-modal-next-hide');
$('html').removeClass('g-modal-next-show');
};
$.iGuider.v.modalPrevShow = function(){
$('html').addClass('g-modal-prev-show');
$('html').removeClass('g-modal-prev-hide');
$.iGuider.v.modalPrev.html($.iGuider.opt.steps[$.iGuider.v.startIndex].prevText);
};
$.iGuider.v.modalPrevHide = function(){
$('html').addClass('g-modal-prev-hide');
$('html').removeClass('g-modal-prev-show');
};
$.iGuider.v.modalStartShow = function(){
$('html').removeClass('g-modal-start-hide');
};
$.iGuider.v.modalStartHide = function(){
$('html').addClass('g-modal-start-hide');
};
$.iGuider.v.coverShow = function(){
$('html').addClass('g-modal-cover-show');
$('html').removeClass('g-modal-cover-hide');
};
$.iGuider.v.coverHide = function(){
$('html').addClass('g-modal-cover-hide');
$('html').removeClass('g-modal-cover-show');
};
$.iGuider.v.modalStepShow = function(){
$('html').addClass('g-modal-step-show');
$('html').removeClass('g-modal-step-hide');
};
$.iGuider.v.modalStepHide = function(){
$('html').removeClass('g-modal-step-show');
$('html').addClass('g-modal-step-hide');
};
$.iGuider.v.modalContShow = function(){
$('html').addClass('g-modal-cont-show');
$('html').removeClass('g-modal-cont-hide');
};
$.iGuider.v.modalContHide = function(){
$('html').removeClass('g-modal-cont-show');
$('html').addClass('g-modal-cont-hide');
};
$.iGuider.v.modalTitleShow = function(){
$('html').addClass('g-modal-title-show');
$('html').removeClass('g-modal-title-hide');
};
$.iGuider.v.modalTitleHide = function(){
$('html').removeClass('g-modal-title-show');
$('html').addClass('g-modal-title-hide');
};
$.iGuider.v.modalIntroShow = function(){
$('html').addClass('g-modal-intro-show');
$('html').removeClass('g-modal-intro-hide');
};
$.iGuider.v.modalIntroHide = function(){
$('html').removeClass('g-modal-intro-show');
$('html').addClass('g-modal-intro-hide');
};
$.iGuider.v.modalCloseHide = function(){
$('html').addClass('g-modal-close-hide');
$('html').removeClass('g-modal-close-show');
};
$.iGuider.v.modalCloseShow = function(){
$('html').removeClass('g-modal-close-hide');
$('html').addClass('g-modal-close-show');
};
$.iGuider.v.modalMapHide = function(){
$('html').addClass('g-modal-map-hide');
$('html').removeClass('g-modal-map-show');
};
$.iGuider.v.modalMapShow = function(){
$('html').removeClass('g-modal-map-hide');
$('html').addClass('g-modal-map-show');
};
$.iGuider.v.modalContinueShow = function(){
$('html').addClass('g-modal-continue-show');
$('html').removeClass('g-modal-continue-hide');
};
$.iGuider.v.modalContinueHide = function(){
$('html').removeClass('g-modal-continue-show');
$('html').addClass('g-modal-continue-hide');
};
$.iGuider.v.timerShow = function(){
$('html').addClass('g-timer-show');
$('html').removeClass('g-timer-hide');
};
$.iGuider.v.timerHide = function(){
$('html').removeClass('g-timer-show');
$('html').addClass('g-timer-hide');
};
$.iGuider.v.modalPosShowId = function(){};
$.iGuider.v.modalPosShow = function(delay){
$.iGuider.v.debug(new Error().lineNumber+ ' start modalPosShow func');
clearTimeout($.iGuider.v.modalPosShowId);
$.iGuider.v.modalPos.stop(true).css({opacity:0}).show();
$.iGuider.v.modalPosShowId = setTimeout(function(){
$.iGuider.v.modalPos.stop(true).animate({opacity:1},300,function(){
if($.iGuider){
$.iGuider.v.posCorrect();
}
});
},delay);
};
$.iGuider.v.modalPosHide = function(duration){
$.iGuider.v.debug(new Error().lineNumber+ ' start modalPosHide func');
$.iGuider.v.modalPos.stop(true).animate({opacity:0},duration,function(){
$.iGuider.v.modalPos.hide();
});
};
/**/
/*Creating message block*/
/**/
$.iGuider.v.modalPos = $('<div>').addClass('g-modal-pos').appendTo('body');
$.iGuider.v.modalSize = $('<div>').addClass('g-modal-size').appendTo($.iGuider.v.modalPos);
var modalTemplate = $.iGuider.opt.modalTemplate ? $($.iGuider.opt.modalTemplate) : $(modalTpl);
modalTemplate.appendTo($.iGuider.v.modalSize);
$.iGuider.v.modalStart = $(':contains([modal-start])',modalTemplate).last().empty()
.addClass('g-modal-start')
.html($.iGuider.opt.lang.introDialogBtnStart);
$.iGuider.v.modalCloseIntro = $(':contains([modal-cancel])',modalTemplate).last().empty()
.addClass('g-modal-close-intro g-modal-close')
.html($.iGuider.opt.lang.introDialogBtnCancel);
$.iGuider.v.modalBeginFirst = $(':contains([modal-begin-first])',modalTemplate).last().empty()
.addClass('g-modal-begin-first')
.html($.iGuider.opt.lang.introDialogBtnStart);
$.iGuider.v.modalBeginContinue = $(':contains([modal-begin-continue])',modalTemplate).last().empty()
.addClass('g-modal-begin-continue')
.html($.iGuider.opt.lang.introDialogBtnCancel);
if($.iGuider.opt.timerType == 'line'){
$.iGuider.v.modalTimer = $('<div>').addClass('g-modal-timer')
.appendTo($(':contains([modal-timer])',modalTemplate).last().empty());
$('html').addClass('g-modal-timer-line');
}
if($.iGuider.opt.timerType == 'circle'){
$.iGuider.v.modalTimer = $('<div>').addClass('g-modal-timer')
.html('<svg class="g-progress" width="44" height="44" viewBox="0 0 44 44"><circle class="g-progress__meter" cx="22" cy="22" r="21" stroke-width="2" /><circle class="g-progress__value" cx="22" cy="22" r="21" stroke-width="2" /></svg>')
.appendTo($(':contains([modal-timer])',modalTemplate).last().empty());
$('html').addClass('g-modal-timer-circle');
$.iGuider.v.progressValue = document.querySelector('.g-progress__value');
$.iGuider.v.progressValue.style.strokeDasharray = CIRCUMFERENCE;
$.iGuider.v.progressCircleTimer(0);
}
$.iGuider.v.modalTimerControll = $('<div>').addClass('g-timer-controll g-timer-pause gBtn').insertAfter($.iGuider.v.modalTimer);
$.iGuider.v.modalImage = $('<div>').addClass('g-modal-cover').appendTo($(':contains([modal-cover])',modalTemplate).last().empty());
$.iGuider.v.modalMap = $(':contains([modal-map])',modalTemplate).last().empty()
.addClass('g-modal-map')
.attr('title',$.iGuider.opt.lang.tourMapTitle)
.html($.iGuider.opt.lang.tourMapText);
$.iGuider.v.tourMapDetect = function(){
if($.iGuider.opt.tourMap.enable === true || $.iGuider.opt.tourMap.enable === 'true'){
$.iGuider.v.modalMapShow();
}else{
$.iGuider.v.modalMapHide();
}
};
$.iGuider.v.tourMapDetect();
$.iGuider.v.modalCloseTour = $(':contains([modal-close])',modalTemplate).last().empty()
.addClass('g-modal-close-tour g-modal-close')
.attr('title',$.iGuider.opt.lang.cancelTitle)
.html($.iGuider.opt.lang.cancelText);
$.iGuider.v.modalType = $(':contains([modal-type])',modalTemplate).last().empty().addClass('g-modal-type');
$.iGuider.v.modalCloseShow();
$.iGuider.v.modalHeader = $('<div>').addClass('g-modal-header').appendTo($(':contains([modal-header])',modalTemplate).last().empty());
$.iGuider.v.modalBody = $('<div>').addClass('g-modal-body').appendTo($(':contains([modal-body])',modalTemplate).last().empty());
$.iGuider.v.modalPrev = $(':contains([modal-prev])',modalTemplate).last().empty()
.addClass('g-modal-prev')
.html($.iGuider.opt.lang.prevTextDefault);
$.iGuider.v.modalNext = $(':contains([modal-next])',modalTemplate).last().empty()
.addClass('g-modal-next')
.html($.iGuider.opt.lang.nextTextDefault);
$.iGuider.v.modalStepValue = [];
$.iGuider.v.modalStepTotal = [];
var findByContentText = function(obj, parentEl, textVal){
obj.push($(':contains("'+textVal+'")', parentEl).filter(function() {
return $(this).text() == textVal;
}).last().empty());
};
findByContentText($.iGuider.v.modalStepValue, modalTemplate, '[step-value]');
findByContentText($.iGuider.v.modalStepValue, mapTemplate,'[step-value]');
findByContentText($.iGuider.v.modalStepTotal, modalTemplate, '[step-total]');
findByContentText($.iGuider.v.modalStepTotal, mapTemplate,'[step-total]');
if($.iGuider.opt.textDirection == "rtl"){
$.iGuider.v.modalSize.addClass('rtl');
$.iGuider.v.gMapPos.addClass('rtl');
}
$($.iGuider.v.modalStepTotal).each(function(){
$(this).addClass('g-modal-step-total').html($.iGuider.opt.steps.length);
});
/**/
/*This function skip an absent element*/
/**/
var searchElement = function(mess){
if((parseFloat($.iGuider.v.startIndex) + 1) < $.iGuider.opt.steps.length){
if($.iGuider.opt.registerMissingElements){
$('[data-hindex="'+$.iGuider.v.startIndex+'"]').addClass('g-el-absent');
}
if($.iGuider.v.event === 'next'){
$.iGuider.v.startIndex++;
}else{
$.iGuider.v.startIndex--;
}
if(!$.iGuider.v.event){
$.iGuider.v.event = 'next';
}
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 1');
hStep();
}else{
console.log('Target is '+mess);
$.iGuider.v.debug(new Error().lineNumber+ ' Target is '+mess+' (HTML) and Destroy');
$.fn.iGuider('destroy');
}
};
/**/
/*Creating the tour map buttons*/
/**/
$.iGuider.v.hClose = $(':contains([map-close])',mapTemplate).last().empty()
.addClass('g-map-close-tour g-modal-close')
.html($.iGuider.opt.lang.cancelTitle);
$.iGuider.v.hHide = $(':contains([map-hide])',mapTemplate).last().empty()
.addClass('g-map-hide')
.html($.iGuider.opt.lang.hideText);
$.iGuider.v.hToggle = $(':contains([map-toggle])',mapTemplate).last().empty()
.addClass('g-map-toggle');
/**/
/*Changing the content of message block*/
/**/
$.iGuider.opt.startStep = parseFloat($.iGuider.opt.startStep);
if($.iGuider.opt.startStep < 1) {
$.iGuider.opt.startStep = 1;
}
$.iGuider.v.progressFunc = function(step){
if ($.iGuider.opt.progress !== undefined) {
try{
var progress_Func = new Function('return ' + $.iGuider.opt.progress)();
progress_Func({
step: step,
steps: $.iGuider.opt.steps.length
});
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.beforeFunc = function(){
if ($.iGuider.opt.steps[$.iGuider.v.startIndex].before !== undefined) {
try{
var before_Func = new Function('return ' + $.iGuider.opt.steps[$.iGuider.v.startIndex].before)();
before_Func($.iGuider.v.targetEl);
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.after_beforeFunc = function(){
$.iGuider.v.targetEl.addClass('iGuider-highlight');
$.iGuider.v.progressFunc(iGuider('getStep'));
};
$.iGuider.v.duringFunc = function(){
if ($.iGuider.opt.steps[$.iGuider.v.startIndex].during !== undefined) {
try{
var during_Func = new Function('return ' + $.iGuider.opt.steps[$.iGuider.v.startIndex].during)();
during_Func($.iGuider.v.targetEl);
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.afterFunc = function(){
if ($.iGuider.opt.steps[$.iGuider.v.startIndex].after !== undefined) {
try{
var after_Func = new Function('return ' + $.iGuider.opt.steps[$.iGuider.v.startIndex].after)();
after_Func($.iGuider.v.targetEl);
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
};
$.iGuider.v.after_afterFunc = function(){
$('.iGuider-highlight').removeClass('iGuider-highlight');
};
$.iGuider.v.messageErrorId = function(){};
$.iGuider.v.messageEventId = function(){};
$.iGuider.v.messHide = function(){
var errorMessage = $('.gErrorMessage');
errorMessage.stop(true).animate({opacity:0},function(){
errorMessage.animate({height:0, padding:0},function(){
errorMessage.remove();
});
});
};
$.iGuider.v.messEvHide = function(){
var eventMessage = $('.gEventMessage');
eventMessage.stop(true).animate({opacity:0},function(){
eventMessage.animate({height:0, padding:0},function(){
eventMessage.remove();
});
});
};
$.iGuider.v.messageErrorHide = function(){
clearTimeout($.iGuider.v.messageErrorId);
$.iGuider.v.messageErrorId = setTimeout(function(){
$.iGuider.v.messHide();
},3000);
};
$.iGuider.v.messageEventHide = function(){
clearTimeout($.iGuider.v.messageEventId);
$.iGuider.v.messageEventId = setTimeout(function(){
$.iGuider.v.messEvHide();
},3000);
};
var messageErrorNext = function(){
clearTimeout($.iGuider.v.messageErrorId);
var mess = $.iGuider.opt.stepsDef[0].checkNext.messageError;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext.messageError && $.trim($.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext.messageError) !== ''){
mess = $.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext.messageError;
}
var errorMessage = $('<div>').addClass('gErrorMessage').text(mess);
$('.gErrorMessage').remove();
$('.gFooter').after(errorMessage);
$.iGuider.v.posCorrect();
$.iGuider.v.messageErrorHide();
};
var messageErrorPrev = function(){
var mess = $.iGuider.opt.stepsDef[0].checkPrev.messageError;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev.messageError && $.trim($.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev.messageError) !== ''){
mess = $.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev.messageError;
}
var errorMessage = $('<div>').addClass('gErrorMessage').text(mess);
$('.gErrorMessage').remove();
$('.gFooter').after(errorMessage);
setTimeout(function(){
errorMessage.stop(true).animate({opacity:0},function(){
errorMessage.animate({height:0, padding:0},function(){
errorMessage.remove();
});
});
},3000);
};
var checkNextFunc = function(targetElObj){
var result = true;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext){
if ($.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext.func !== undefined){
try{
var next_Func = new Function('return ' + $.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext.func)();
result = next_Func(targetElObj);
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
}
return result;
};
var checkPrevFunc = function(targetElObj){
var result = true;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev){
if ($.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev.func !== undefined){
try{
var prev_Func = new Function('return ' + $.iGuider.opt.steps[$.iGuider.v.startIndex].checkPrev.func)();
result = prev_Func(targetElObj);
}catch(e) {
$.iGuider.v.debug(new Error().lineNumber+ ' The callback function specified is not correct.');
}
}
}
return result;
};
$.iGuider.v.stopTimer = function(){
clearTimeout($.iGuider.v.stepTimerId);
if($.iGuider.opt.timerType == 'line'){
$.iGuider.v.modalTimer.stop(true).animate({width:0},300);
}
if($.iGuider.opt.timerType == 'circle'){
$.iGuider.v.modalTimer.stop(true).animate({bottom:'0%'}, {
duration:300,
step: function(now,fx) {
$.iGuider.v.progressCircleTimer(now);
}
});
}
};
$.iGuider.v.startTimer = function(time){
clearTimeout($.iGuider.v.stepTimerId);
if(time > 0){
$.iGuider.v.timeSave = time;
$.iGuider.v.timerShow();
if($.iGuider.v.timerState == 'play'){
$.iGuider.v.stepTimerId = setTimeout(function(){
$.fn.iGuider('next',true);
},time);
if($.iGuider.opt.timerType == 'line'){
$.iGuider.v.modalTimer.stop(true).css({width:0}).show().animate({width:'100%'},time);
}
if($.iGuider.opt.timerType == 'circle'){
$.iGuider.v.progressCircleTimer(0);
$.iGuider.v.modalTimer.stop(true).css({bottom:'0%'}).show().animate({bottom:'100%'}, {
duration:time,
step: function(now,fx) {
$.iGuider.v.progressCircleTimer(now);
}
});
}
}
}else{
$.iGuider.v.timeSave = false;
$.iGuider.v.timerHide();
}
};
$(document).on('mouseenter.iGuider mousemove.iGuider','.gWidget, .g-shape, .iGuider-highlight',function(){
$('html').removeClass('g-timer-progress-show').addClass('g-timer-progress-hide');
});
$(document).on('mouseleave.iGuider','.gWidget, .g-shape, .iGuider-highlight',function(){
$('html').removeClass('g-timer-progress-hide').addClass('g-timer-progress-show');
});
$.iGuider.v.changeDelayId = function(){};
var hStep = function(){
$.iGuider.v.tourMapDetect();
$.iGuider.v.modalIntroHide();
$.iGuider.v.modalContinueHide();
clearTimeout($.iGuider.v.stepTimerId);
clearTimeout($.iGuider.v.changeDelayId);
var changeDelay = $.iGuider.v.tCanvas.tDuration;
if($.iGuider.goFlag){
changeDelay = 1;
localStorage.removeItem('iGuider_go');
$.iGuider.goFlag = false;
}
/**/
/*Cleaning the content of message block*/
/**/
$.iGuider.v.modalPosHide(0);
$.iGuider.v.modalHeader.empty();
$.iGuider.v.modalBody.empty();
/**/
/*If listed steps in parameters*/
/**/
if($.iGuider.opt.steps){
if(localStorage.getItem('iGuider_event') != 'start'){
$.iGuider.v.start();
}
localStorage.setItem('iGuider_step',parseFloat($.iGuider.v.startIndex)+1);
var targetOpt = $.iGuider.opt.steps[$.iGuider.v.startIndex];
targetOpt = $.iGuider.v.fixStepNumVal(targetOpt);
if(targetOpt){
var targetElSelector;
$.iGuider.v.debug(new Error().lineNumber+ ' targetOpt.target: '+targetOpt.target);
if(targetOpt.target){
if (targetOpt.target.search(/<([^>]*)>/g) != -1){
$.iGuider.v.debug(new Error().lineNumber+ ' The target is HTML code');
/*This is Full Tag*/
var newEl = $(targetOpt.target);
var tagName = newEl[0].tagName;
var attrMass = newEl.attr();
var selectorMass = [];
for (var key in attrMass) {
if(attrMass[key].search('function') == -1){
selectorMass.push('['+key+'*="'+attrMass[key]+'"]');
}
}
targetElSelector = tagName+selectorMass.join('');
}else{
if($(targetOpt.target).length || targetOpt.target.search('\\.') != -1 || targetOpt.target.search('#') != -1 || targetOpt.target.search('\\[') != -1){
targetElSelector = targetOpt.target;
$.iGuider.v.debug(new Error().lineNumber+ ' The target is jQuery object');
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' The selector is data-target attribute');
targetElSelector = '[data-target="'+targetOpt.target+'"]';
}
}
}
/**/
/*If the specified element (purpose) for this step*/
/**/
if(targetOpt.position == 'center' || !targetOpt.target){
targetElSelector = 'body';
}
$.iGuider.v.debug(new Error().lineNumber+ ' targetElSelector: '+targetElSelector);
targetOpt.waitElementTime = targetOpt.waitElementTime || 0;
$.iGuider.v.targetElSave = $.iGuider.v.targetEl;
$.iGuider.v.targetEl = $(targetElSelector);
$.iGuider.v.beforeFunc();
/**/
/*The delay before the element search*/
/**/
targetOpt.delayBefore = targetOpt.delayBefore || 0;
clearTimeout($.iGuider.v.delayBeforeId);
$.iGuider.v.delayBeforeId = setTimeout(function(){
var stepFunc = function(){
$.iGuider.v.after_beforeFunc();
var durationTime = $.iGuider.v.duration;
$.iGuider.v.changeDelayId = setTimeout(function(){
$.iGuider.v.selectCallback();
},durationTime);
if($.iGuider.v.targetEl.length){
if($.iGuider.v.targetEl.is(':visible')){
/**/
/*Show the tour map block by default, if there is a flag*/
/**/
if($.iGuider.opt.tourMap.open === true || $.iGuider.opt.tourMap.open === "true"){
$('html').addClass('g-map-open');
}
var myFunc = function(){
$('[data-hindex="'+$.iGuider.v.startIndex+'"]').removeClass('g-el-absent');
$('[data-hindex="'+$.iGuider.v.startIndex+'"]').removeClass('hElHidden');
/**/
/*Transmits the step data to the overlay function*/
/**/
$('html').removeAttr('data-g-stepid');
$('html').removeAttr('data-g-step');
var stepNum = (parseFloat($.iGuider.v.startIndex) + 1);
var stepID = 'step-'+stepNum;
if(targetOpt.stepID){
stepID = targetOpt.stepID;
}
$('html').attr('data-g-stepid',stepID);
$('html').attr('data-g-step',stepNum);
if(targetOpt.shape >= 0){
$.iGuider.v.tCanvas.shape = targetOpt.shape;
}else{
$.iGuider.v.tCanvas.shape = $.iGuider.v.tCanvas.def.shape;
}
if($.iGuider.v.tCanvas.shape == 2){
if(targetOpt.shapeBorderRadius >= 0){
$.iGuider.v.tCanvas.shapeBorderRadius = targetOpt.shapeBorderRadius;
}else{
$.iGuider.v.tCanvas.shapeBorderRadius = $.iGuider.v.tCanvas.def.shapeBorderRadius;
}
}
if(targetOpt.overlayColor){
$.iGuider.v.tCanvas.tColor = $.iGuider.v.correctColor(targetOpt.overlayColor);
}else{
$.iGuider.v.tCanvas.tColor = $.iGuider.v.correctColor($.iGuider.v.tCanvas.def.tColor);
}
if(parseFloat(targetOpt.overlayOpacity) >= 0){
$.iGuider.v.tCanvas.tOpacity = parseFloat(targetOpt.overlayOpacity);
}else{
$.iGuider.v.tCanvas.tOpacity = $.iGuider.v.tCanvas.def.tOpacity;
}
if(parseFloat(targetOpt.spacing) >= 0){
$.iGuider.v.tCanvas.tMargin = parseFloat(targetOpt.spacing);
}else{
$.iGuider.v.tCanvas.tMargin = $.iGuider.v.tCanvas.def.tMargin;
}
$.iGuider.v.tCanvas.tDuration = $.iGuider.v.duration;
$.iGuider.v.searchEl($.iGuider.v.targetEl);
var targetOptTitle = targetOpt.title ? targetOpt.title : '№'+(parseFloat($.iGuider.v.startIndex)+1);
/**/
/*Insert new content*/
/**/
$.iGuider.v.modalImage.empty();
if(targetOpt.cover && $.trim(targetOpt.cover) !== ''){
var coverEl = $('<img>').hide()
.attr('src',targetOpt.cover)
.on('load',function(){
coverEl.show();
});
coverEl.appendTo($.iGuider.v.modalImage);
$.iGuider.v.coverShow();
}else{
$.iGuider.v.modalImage.empty();
$.iGuider.v.coverHide();
}
if(targetOpt.title){
$.iGuider.v.modalTitleShow();
$.iGuider.v.modalHeader.html(targetOptTitle);
}else{
$.iGuider.v.modalHeader.html('');
$.iGuider.v.modalTitleHide();
}
if($.trim(targetOpt.content) != ''){
$.iGuider.v.modalContShow();
$.iGuider.v.modalBody.html(targetOpt.content);
}else{
$.iGuider.v.modalContHide();
}
$.iGuider.v.overlayPos($.iGuider.v.targetEl);
/**/
/*Sets the text to the default buttons*/
/**/
if(!$.iGuider.opt.steps[$.iGuider.v.startIndex].prevText) {$.iGuider.opt.steps[$.iGuider.v.startIndex].prevText = $.iGuider.opt.lang.prevTextDefault;}
if(!$.iGuider.opt.steps[$.iGuider.v.startIndex].nextText) {$.iGuider.opt.steps[$.iGuider.v.startIndex].nextText = (parseFloat($.iGuider.v.startIndex)+1) == $.iGuider.opt.steps.length ? $.iGuider.opt.lang.endText : $.iGuider.opt.lang.nextTextDefault;}
/**/
/*Insert step numbers*/
/**/
var stepValue = parseFloat($.iGuider.v.startIndex)+1;
$($.iGuider.v.modalStepValue).each(function(){
$(this).addClass('g-modal-step-value').html(stepValue);
});
if($.iGuider.opt.pagination){
$.iGuider.v.modalStepShow();
$.iGuider.v.modalIntroHide();
$('.g-modal-type').hide().empty();
}else{
$.iGuider.v.modalStepHide();
}
/**/
/*Save step numbers in localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(stepValue > 1){
$.iGuider.v.iGuider_data = {
tourId:$.iGuider.v.tourid,
stepValue:stepValue,
page:location.href
};
}else{
$.iGuider.v.iGuider_data = {
tourId:false,
stepValue:stepValue,
page:location.href
};
}
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
localStorage.setItem('iGuider_step',stepValue);
/**/
/*Insert buttons*/
/**/
var prevIndex = parseFloat($.iGuider.v.startIndex)-1;
if($.iGuider.opt.steps[prevIndex]){
$.iGuider.v.modalPrevShow();
}else{
$.iGuider.v.modalPrevHide();
}
if($.iGuider.opt.steps[$.iGuider.v.startIndex]){
if($.iGuider.opt.steps[$.iGuider.v.startIndex].ready){
$.iGuider.v.modalNextShow();
}
}else{
$.iGuider.v.modalNextHide();
}
if(!$.iGuider.opt.steps[$.iGuider.v.startIndex].event){
$.iGuider.opt.steps[$.iGuider.v.startIndex].event = 'next';
}
$.iGuider.v.customEvent = false;
$.iGuider.v.customTarget = false;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'next'){
$.iGuider.v.modalNextShow();
}else{
$.iGuider.v.modalNextHide();
if(typeof $.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'object'){
$.iGuider.v.customEvent = $.iGuider.opt.steps[$.iGuider.v.startIndex].event[0];
$.iGuider.v.customTarget = $($.iGuider.opt.steps[$.iGuider.v.startIndex].event[1]);
}
if(typeof $.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'string'){
$.iGuider.v.customEvent = $.iGuider.opt.steps[$.iGuider.v.startIndex].event;
$.iGuider.v.customTarget = $.iGuider.v.targetEl;
}
if($.iGuider.v.customEvent){
if($.iGuider.v.customTarget){
$.iGuider.v.customTarget.attr('data-uid','h-'+uid++);
$.iGuider.v.customTargetSelector = '[data-uid="'+$.iGuider.v.customTarget.attr('data-uid')+'"]';
if($.iGuider.v.customTargetSelector){
if($.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext){
if(checkNextFunc($($.iGuider.v.customTargetSelector)) === true){
$.iGuider.v.modalNextShow();
addSuccess($('[data-hindex="'+$.iGuider.v.startIndex+'"]'));
targetOpt.ready = true;
$.iGuider.opt.steps[$.iGuider.v.startIndex].ready = true;
}
}
$.iGuider.v.eventFlag = true;
$(document).on($.iGuider.v.customEvent+'.iGuider',$.iGuider.v.customTargetSelector,function(e){
if(checkNextFunc($($.iGuider.v.customTargetSelector)) === true){
if($.iGuider.v.eventFlag == true){
$.iGuider.v.eventFlag = false;
$('.gErrorMessage').remove();
$(this).off(e);
targetOpt.ready = true;
$.iGuider.opt.steps[$.iGuider.v.startIndex].ready = true;
/**/
/*Step is marked as completed (painted over)*/
/**/
addSuccess($('[data-hindex="'+$.iGuider.v.startIndex+'"]'));
$.iGuider.v.afterFunc();
targetOpt.delayAfter = targetOpt.delayAfter || 0;
/*NEW*/
$.iGuider.v.nowLoc = location.href;
var targetLoc = $.iGuider.v.nowLoc;
$.iGuider.v.nextIndex = (parseFloat($.iGuider.v.startIndex) + 1);
/**/
/*Check presence of next step */
/**/
if($.iGuider.v.nextIndex < $.iGuider.opt.steps.length){
targetLoc = $.iGuider.opt.steps[$.iGuider.v.nextIndex].loc;
}
var iGuider_opt = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_opt',JSON.stringify(iGuider_opt));
localStorage.setItem('iGuider_step',parseFloat($.iGuider.v.startIndex)+2);
clearTimeout($.iGuider.v.delayAfterId);
$.iGuider.v.delayAfterId = setTimeout(function(){
$.iGuider.v.after_afterFunc();
$.iGuider.v.eventFlag = true;
/*START PAST 2*/
$.iGuider.v.compareLoc2 = function(nowLoc){
if(nowLoc !== targetLoc){
/**/
/*Redirect 2*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 4');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
$.iGuider.v.startIndex++;
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 2');
hStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc2($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc2(relativeNowLoc);
}
/*END PAST*/
},targetOpt.delayAfter);
}
return true;
}else{
messageErrorNext();
return false;
}
});
}else{
console.log('Custom target don\'t have class and id attributes');
}
}else{
console.log('Custom target is absent');
}
}else{
console.log('Custom event is absent');
}
}
/**/
/*Highlighting the active step*/
/**/
var stepItemLink = $('[data-hindex]').removeClass('hCur').filter('[data-hindex="'+$.iGuider.v.startIndex+'"]').addClass('hCur');
var mapContHeight = parseFloat($('.gMapContent').height());
var stepLinkH = parseFloat(stepItemLink.outerHeight());
var flat = Math.floor(mapContHeight/stepLinkH/2);
$('.gMapContent').stop(true).animate({scrollTop:(stepItemLink.position().top + $('.gMapContent').scrollTop()) - stepLinkH*flat});
if($.iGuider.opt.steps[$.iGuider.v.startIndex].trigger && $.iGuider.opt.steps[$.iGuider.v.startIndex].trigger !== false && $.iGuider.opt.steps[$.iGuider.v.startIndex].trigger != 'false'){
$.iGuider.v.targetEl.trigger($.iGuider.opt.steps[$.iGuider.v.startIndex].trigger);
}
/**/
/*During callback function*/
/**/
$.iGuider.v.duringFunc();
$.iGuider.v.startTimer(parseFloat(targetOpt.timer));
var iGuider_opt = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_opt',JSON.stringify(iGuider_opt));
};
/**/
/*Animation scroll to selected item*/
/**/
if(targetOpt.position == 'center' || !targetOpt.target){
myFunc();
}else{
if($.iGuider.v.targetEl.offset().top < $(window).scrollTop()){
$.iGuider.v.scrolling = true;
$.iGuider.v.scrollDoc.animate({scrollTop:($.iGuider.v.targetEl.offset().top - $(window).height()/2)},changeDelay).promise().then(function(){
$.iGuider.v.scrolling = false;
myFunc();
});
}else{
if(($.iGuider.v.targetEl.offset().top + $.iGuider.v.targetEl.outerHeight()) > ($(window).scrollTop() + $(window).height())){
$.iGuider.v.scrolling = true;
$.iGuider.v.scrollDoc.animate({scrollTop:($.iGuider.v.targetEl.offset().top - $(window).height()/2)},changeDelay).promise().then(function(){
$.iGuider.v.scrolling = false;
myFunc();
});
}else{
myFunc();
}
}
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Run "searchElement" func - 1');
searchElement('hidden');
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Run "searchElement" func - 2');
searchElement('absent');
}
};
/**/
/*This function implements the check for the presence of the element and its waiting.*/
/**/
var waitTimeId = function(){};
var waitIntervalId = function(){};
var elementPresentCheck = function(){
if($(targetElSelector).length){
$.iGuider.v.debug(new Error().lineNumber+ ' $(\''+targetElSelector+'\') ' + 'is found!');
var elVisible = 0;
$(targetElSelector).each(function(){
if($(this).is(':visible')){
elVisible++;
}
})
if(elVisible == $(targetElSelector).length){
$.iGuider.v.debug(new Error().lineNumber+ ' $(\''+targetElSelector+'\') ' + 'is visible!');
clearInterval(waitIntervalId);
clearTimeout(waitTimeId);
hidePreloader();
$.iGuider.v.debug(new Error().lineNumber+ ' Run "stepFunc" func - 1');
$.iGuider.v.targetEl = $(targetElSelector);
stepFunc();
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' $(\''+targetElSelector+'\') ' + 'is hidden');
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' $(\''+targetElSelector+'\') ' + 'is absent on the page');
}
};
if(targetOpt.waitElementTime > 0){
$.iGuider.v.debug(new Error().lineNumber+ ' Waiting for item max: '+targetOpt.waitElementTime+'ms');
showPreloader();
$.iGuider.v.debug(new Error().lineNumber+ ' Start the timer');
waitTimeId = setTimeout(function(){
clearInterval(waitIntervalId);
clearTimeout(waitTimeId);
hidePreloader();
$.iGuider.v.debug(new Error().lineNumber+ ' Time is up');
$.iGuider.v.debug(new Error().lineNumber+ ' Run "stepFunc" func - 2');
stepFunc();
},targetOpt.waitElementTime);
waitIntervalId = setInterval(function(){
elementPresentCheck();
},waitInterval);
elementPresentCheck();
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Run "stepFunc" func - 3');
stepFunc();
}
},targetOpt.delayBefore);
}else{
$.iGuider.v.startIndex--;
/**/
/*Triggered when sequence is over*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Empty object of parameters for current step and Destroy');
$.iGuider.v.end();
$.iGuider.v.finish();
$.fn.iGuider('destroy');
}
}else{
console.log('step data is missing');
}
};
var startStep = function(){
var delayTimeout = 0;
setTimeout(function(){
/**/
/*Correcting start index*/
/**/
$.iGuider.v.startIndex = (parseFloat($.iGuider.opt.startStep) - 1) || 0 ;
/**/
/*Start step function*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 3');
hStep();
},delayTimeout);
};
/**/
/*This function display continue modal window*/
/**/
$.iGuider.v.windowContinue = function(){
clearTimeout($.iGuider.v.storageDetectId);
$.iGuider.v.modalImage.empty();
if($.trim($.iGuider.opt.continue.cover)){
var coverEl = $('<img>').hide()
.attr('src',$.iGuider.opt.continue.cover)
.addClass('hTourCover')
.on('load',function(){
coverEl.show();
});
coverEl.appendTo($.iGuider.v.modalImage);
$.iGuider.v.coverShow();
}else{
$.iGuider.v.modalImage.empty();
$.iGuider.v.coverHide();
}
if($.iGuider.opt.continue.title && $.iGuider.opt.continue.title != ''){
$.iGuider.v.modalHeader.html($.iGuider.opt.continue.title);
$.iGuider.v.modalTitleShow();
}else{
$.iGuider.v.modalTitleHide();
}
if($.iGuider.opt.continue.content && $.iGuider.opt.continue.content != ''){
$.iGuider.v.modalBody.html($.iGuider.opt.continue.content);
$.iGuider.v.modalContShow();
}else{
$.iGuider.v.modalContHide();
}
$.iGuider.v.modalBeginFirst.html($.iGuider.opt.lang.contDialogBtnBegin);
$.iGuider.v.modalBeginContinue.html($.iGuider.opt.lang.contDialogBtnContinue);
$.iGuider.v.modalPos.css({left:'50%',top:'50%'}).attr({
'data-pos':'c',
'data-cone':'c',
'data-cont':'c'
});
/*Set Width of Message Block*/
var widthVal = '';
var widthPar = $.iGuider.opt.continue.width || $.iGuider.opt.width;
if(widthPar){
widthVal = widthPar;
widthVal = widthVal.toString();
if(widthVal.search('%') != -1 || widthVal.search('vw') != -1){
widthVal = widthVal.replace('%','vw');
}else{
widthVal = parseFloat(widthVal);
}
}
$.iGuider.v.modalSize.css({minWidth:widthVal});
/*Set Background of Message Block*/
var bgColorPar = $.iGuider.opt.continue.bgColor || $.iGuider.opt.bgColor;
if(bgColorPar){
$.iGuider.v.modalSize.css({background:bgColorPar});
}else{
$.iGuider.v.modalSize.css({background:''});
}
/*Set Title Color of Message Block*/
var titleColorPar = $.iGuider.opt.continue.titleColor || $.iGuider.opt.titleColor;
if(titleColorPar){
$.iGuider.v.modalHeader.css({color:titleColorPar});
}else{
$.iGuider.v.modalHeader.css({color:''});
}
/*Set Content Color of Message Block*/
var modalContentColorPar = $.iGuider.opt.continue.modalContentColor || $.iGuider.opt.modalContentColor;
if(modalContentColorPar){
$.iGuider.v.modalBody.css({color:modalContentColorPar});
}else{
$.iGuider.v.modalBody.css({color:''});
}
/*Set Modal Type Color of Message Block*/
var modalTypeColorPar = $.iGuider.opt.continue.modalTypeColor || $.iGuider.opt.modalTypeColor;
if(modalTypeColorPar){
$.iGuider.v.modalType.css({color:modalTypeColorPar});
}else{
$.iGuider.v.modalType.css({color:''});
}
/*Set Buttons Color of Message Block*/
var btnColorPar = $.iGuider.opt.continue.btnColor || $.iGuider.opt.btnColor;
if(btnColorPar){
$('#btnColorStyle').remove();
$('<style id="btnColorStyle">').html('.g-modal-pos .gBtn {color:'+btnColorPar+'}').appendTo('html');
}else{
$('#btnColorStyle').remove();
}
/*Set Buttons Hover Color of Message Block*/
var btnHoverColorPar = $.iGuider.opt.continue.btnHoverColor || $.iGuider.opt.btnHoverColor;
if(btnHoverColorPar){
$('#btnHoverColorStyle').remove();
$('<style id="btnHoverColorStyle">').html('.g-modal-pos .gBtn:hover {color:'+btnHoverColorPar+'}').appendTo('html');
}else{
$('#btnHoverColorStyle').remove();
}
/**/
/*Position correction*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' posCorrect func - 2');
$.iGuider.v.posCorrect('c','c','c');
$.iGuider.v.tCanvas.tColor = $.iGuider.v.correctColor($.iGuider.opt.continue.overlayColor);
$.iGuider.v.tCanvas.tOpacity = $.iGuider.opt.continue.overlayOpacity;
$.iGuider.v.tCanvas.saveColor = $.iGuider.v.tCanvas.tColor;
$.iGuider.v.tCanvas.saveOpacity = $.iGuider.v.tCanvas.tOpacity;
$.iGuider.v.createOverlayLayer();
$.iGuider.v.modalPrevHide();
$.iGuider.v.modalNextHide();
$.iGuider.v.modalStepHide();
$.iGuider.v.modalMapHide();
$.iGuider.v.modalPosShow(0);
$.iGuider.v.modalIntroHide();
$.iGuider.v.modalContinueShow();
$.iGuider.v.timerHide();
$('.g-modal-type').html($.iGuider.opt.lang.modalContinueType).show();
if($.iGuider.v.iGuider_data){
$.iGuider.v.stepValue = $.iGuider.v.iGuider_data.stepValue;
var pageLoc = $.iGuider.v.iGuider_data.page;
if($.iGuider.v.nowLoc.search(escapeRe(pageLoc)) === -1 && pageLoc.search(escapeRe($.iGuider.v.nowLoc)) === -1 && $.iGuider.v.nowLoc !== pageLoc){
$.iGuider.v.otherPage = $.iGuider.v.iGuider_data.page;
}else{
$.iGuider.v.otherPage = false;
}
}
};
/**/
/*Detect unfinished tour*/
/**/
$.iGuider.v.storageDetectId = function(){};
var storageDetect = function(){
var delayTimeout = 0;
if($.iGuider.v.modalPos.is(':visible')){
$.iGuider.v.modalPosHide(300);
delayTimeout = 300;
}
if($.iGuider.goFlag){
delayTimeout = 1;
}
$.iGuider.v.storageDetectId = setTimeout(function(){
$.iGuider.v.nowLoc = location.href;
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
if($.iGuider.v.iGuider_data.tourId == $.iGuider.v.tourid){
if($.iGuider.goFlag){
$.iGuider.v.stepValue = $.iGuider.v.iGuider_data.stepValue;
$.iGuider.opt.startStep = $.iGuider.v.stepValue;
startStep();
}else{
if($.iGuider.opt.continue.enable && localStorage.getItem('iGuider_restored') != '1'){
/*display modal window*/
$.iGuider.v.windowContinue();
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' continue.enable: ' + $.iGuider.opt.continue.enable);
$.iGuider.v.debug(new Error().lineNumber+ ' iGuider_restored: ' + localStorage.getItem('iGuider_restored'));
if(localStorage.getItem('iGuider_restored') != '1'){
$.iGuider.v.startStepVal = $.iGuider.opt.startStep;
$.iGuider.v.stepVal = $.iGuider.opt.steps[$.iGuider.v.startStepVal-1];
$.iGuider.v.targetLocVal = $.iGuider.v.stepVal.loc;
/*START PAST*/
$.iGuider.v.compareLoc = function(nowLoc){
if(nowLoc !== $.iGuider.v.targetLocVal){
$.iGuider.v.debug(new Error().lineNumber+ ' $.iGuider.v.nowLoc: '+$.iGuider.v.nowLoc);
$.iGuider.v.debug(new Error().lineNumber+ ' $.iGuider.v.targetLocVal: '+$.iGuider.v.targetLocVal);
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/**/
$.iGuider.v.iGuider_data = {
tourId:$.iGuider.v.tourid,
stepValue:$.iGuider.opt.startStep
};
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Redirect*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 8');
if(!$.iGuider.opt.baseurl){
location.href = $.iGuider.v.targetLocVal;
}else{
location.href = $.iGuider.opt.baseurl + $.iGuider.v.targetLocVal;
}
}else{
startStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc(relativeNowLoc);
}
/*END PAST*/
}else{
startStep();
}
}
}
}else{
var targetLoc;
if($.iGuider.opt.steps){
if($.iGuider.opt.steps.length){
targetLoc = $.iGuider.opt.steps[(parseFloat($.iGuider.opt.startStep) - 1)].loc || $.iGuider.v.nowLoc;
$.iGuider.v.debug(new Error().lineNumber+ ' targetLoc: '+targetLoc);
$.iGuider.v.debug(new Error().lineNumber+ ' $.iGuider.v.nowLoc: '+$.iGuider.v.nowLoc);
/*START PAST 4*/
$.iGuider.v.compareLoc4 = function(nowLoc){
if(nowLoc !== targetLoc){
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
}
$.extend($.iGuider.v.iGuider_data, {
tourId:$.iGuider.v.tourid,
stepValue:$.iGuider.opt.startStep
});
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Redirect 4*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 1');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
startStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc4($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc4(relativeNowLoc);
}
/*END PAST*/
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Steps array does not have abject items');
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Steps parameter is absent.');
}
}
}else{
$.iGuider.v.startStepVal = $.iGuider.opt.startStep;
$.iGuider.v.stepVal = $.iGuider.opt.steps[$.iGuider.v.startStepVal-1];
$.iGuider.v.targetLocVal = $.iGuider.v.stepVal.loc;
if($.iGuider.v.nowLoc.search(escapeRe($.iGuider.v.targetLocVal)) === -1 && $.iGuider.v.targetLocVal.search(escapeRe($.iGuider.v.nowLoc)) === -1 && $.iGuider.v.nowLoc !== $.iGuider.v.targetLocVal){
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/**/
$.iGuider.v.iGuider_data = {
tourId:$.iGuider.v.tourid,
stepValue:$.iGuider.opt.startStep
};
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Redirect*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 7');
location.href = $.iGuider.v.targetLocVal;
}else{
startStep();
}
}
},delayTimeout);
};
$(document).on('click','.g-modal-start',function(){
if(!$.iGuider.v.design){
storageDetect();
}
});
$(document).on('click','.g-modal-begin-first',function(){
if(!$.iGuider.v.design){
/**/
/*Set present and necessary location path*/
/**/
$.iGuider.v.nowLoc = location.href;
var targetLoc = $.iGuider.v.nowLoc;
$.iGuider.v.nextIndex = (parseFloat($.iGuider.opt.startStep) - 1);
/**/
/*Check presence of next step */
/**/
if($.iGuider.v.nextIndex < $.iGuider.opt.steps.length && $.iGuider.v.nextIndex >= 0){
targetLoc = $.iGuider.opt.steps[$.iGuider.v.nextIndex].loc;
}
/**/
/*compare the paths*/
/**/
/*START PAST 3*/
$.iGuider.v.compareLoc3 = function(nowLoc){
if(nowLoc !== targetLoc){
/*If the paths are not the same:*/
/**/
/*create new options object for transfer to another page*/
/**/
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/*Get iGuider_data object from localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
}
/**/
/*Merge the getting object with the new values*/
/**/
$.extend($.iGuider.v.iGuider_data, {
tourId:$.iGuider.v.tourid,
stepValue:$.iGuider.opt.startStep
});
/**/
/*Save new data in localStorage*/
/**/
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Redirect 3*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 2');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
startStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc3($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc3(relativeNowLoc);
}
/*END PAST*/
}
});
$(document).on('click','.g-modal-begin-continue',function(){
if(!$.iGuider.v.design){
$.iGuider.opt.startStep = $.iGuider.v.stepValue;
if($.iGuider.v.otherPage){
$.iGuider.v.customTarget = $.iGuider.v.otherPage;
/**/
/*Add Redirect Flag*/
/**/
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Redirect*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 3');
location.href = $.iGuider.v.customTarget;
}else{
/*Highlight all ready steps*/
var targetIndex = ($.iGuider.opt.startStep-1);
for(var i = 0; i < $.iGuider.opt.steps.length; i ++){
if(i < targetIndex){
$.iGuider.opt.steps[i].ready = true;
addSuccess($('[data-hindex="'+i+'"]'));
}else{
break;
}
}
startStep();
}
}
});
/**/
/*Update position after window resize*/
/**/
var researchEl = function(){
if(!$('html').is('.g-preloader')){
/*Search previous element if new element is not ready*/
var targetEl = $.iGuider.v.targetElSave;
if($.iGuider.v.targetEl){
if($.iGuider.v.targetEl.length && $.iGuider.v.targetEl.is(':visible')){
targetEl = $.iGuider.v.targetEl;
}
if(targetEl){
if(targetEl.length){
var color = $.iGuider.v.tCanvas.tColor;
var rgbCode = $.iGuider.v.hexToRGBCODE(color);
$.iGuider.v.redrawOverlay(rgbCode[0],rgbCode[1],rgbCode[2],$.iGuider.v.tCanvas.tOpacity);
$.iGuider.v.searchEl(targetEl);
}
}
}
}
};
$(window).on('resize.iGuider',function(){
if($.iGuider){
if(!$.iGuider.v.scrolling){
$.iGuider.v.overlayPos($.iGuider.v.targetEl);
if(overlayCreateFlag){
clearTimeout(resizeID);
resizeID = setTimeout(function(){
$.iGuider.v.setCanvasSize();
researchEl();
},200);
}
}
}
});
$(window).on('scroll.iGuider',function(){
if($.iGuider){
if(!$.iGuider.v.scrolling){
$.iGuider.v.overlayPos($.iGuider.v.targetEl);
if(overlayCreateFlag){
researchEl();
}
}
}
});
var brouserNotSupport = function(){
console.log('Your browser does not support multi-page');
$.iGuider.v.debug(new Error().lineNumber+ ' Old Browser and Destroy');
$.fn.iGuider('destroy');
};
/**/
/*This function call the next step*/
/**/
var nextActive = false;
$.iGuider.v.nextStep = function(){
$.iGuider.v.nextIndex = (parseFloat($.iGuider.v.startIndex) + 1);
if(nextActive === false && $($.iGuider.v.targetEl).length){
nextActive = true;
/**/
/*Set present and necessary location path*/
/**/
$.iGuider.v.nowLoc = location.href;
var targetLoc = $.iGuider.v.nowLoc;
$.iGuider.v.nextIndex = (parseFloat($.iGuider.v.startIndex) + 1);
/**/
/*Check presence of next step */
/**/
if($.iGuider.v.nextIndex < $.iGuider.opt.steps.length){
targetLoc = $.iGuider.opt.steps[$.iGuider.v.nextIndex].loc;
}else{
if($.iGuider.opt.baseurl){
targetLoc = targetLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
}
}
$.iGuider.v.targetEl.off($.iGuider.opt.steps[$.iGuider.v.startIndex].event+'.iGuider');
if($.iGuider.v.customTargetSelector){
$($.iGuider.v.customTargetSelector).off($.iGuider.v.customEvent+'.iGuider');
}
if($.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'next'){
$.iGuider.opt.steps[$.iGuider.v.startIndex].ready = true;
addSuccess($('[data-hindex="'+$.iGuider.v.startIndex+'"]'));
}
$.iGuider.v.afterFunc();
$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter = $.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter || 0;
clearTimeout($.iGuider.v.delayAfterId);
$.iGuider.v.delayAfterId = setTimeout(function(){
$.iGuider.v.after_afterFunc();
setTimeout(function(){
nextActive = false;
},500);
/**/
/*compare 1*/
/*START PAST 1*/
$.iGuider.v.compareLoc1 = function(nowLoc){
if(nowLoc !== targetLoc){
/*If the paths are not the same:*/
/**/
/*create new options object for transfer to another page*/
/**/
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/*Get iGuider_data object from localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
}
/**/
/*Merge the getting object with the new values*/
/**/
$.extend($.iGuider.v.iGuider_data, {
tourId:$.iGuider.v.tourid,
stepValue:(parseFloat($.iGuider.v.iGuider_data.stepValue) + 1)
});
/**/
/*Save new data in localStorage*/
/**/
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Main Redirect 1*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 4');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
console.log($.iGuider.opt.baseurl)
console.log(targetLoc)
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
$.iGuider.v.startIndex++;
$.iGuider.v.event = 'next';
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 4');
hStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc1($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc1(relativeNowLoc);
}
/*END PAST*/
},$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter);
}
};
$(document).on('click','.g-modal-next',function(){
if(!$.iGuider.v.design){
if(checkNextFunc($($.iGuider.v.targetEl)) === true){
$('.gErrorMessage').remove();
localStorage.setItem('iGuider_step',parseFloat($.iGuider.v.startIndex)+2);
$.iGuider.v.nextStep();
}else{
messageErrorNext();
}
}
});
/**/
/*This function call the prev step*/
/**/
var prevActive = false;
$.iGuider.v.prevStep = function(){
/**/
/*Check presence of next step */
/**/
$.iGuider.v.nextIndex = (parseFloat($.iGuider.v.startIndex) - 1);
if($.iGuider.v.nextIndex >= 0){
if(prevActive === false && $($.iGuider.v.targetEl).length){
prevActive = true;
$.iGuider.v.targetEl.off($.iGuider.opt.steps[$.iGuider.v.startIndex].event+'.iGuider');
if($.iGuider.v.customTargetSelector){
$($.iGuider.v.customTargetSelector).off($.iGuider.v.customEvent+'.iGuider');
}
if($.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'prev'){
$.iGuider.opt.steps[$.iGuider.v.startIndex].ready = true;
addSuccess($('[data-hindex="'+$.iGuider.v.startIndex+'"]'));
}
clearTimeout($.iGuider.v.delayAfterId);
$.iGuider.v.afterFunc();
$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter = $.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter || 0;
$.iGuider.v.delayAfterId = setTimeout(function(){
$.iGuider.v.after_afterFunc();
/**/
/*Set present and necessary location path*/
/**/
$.iGuider.v.nowLoc = location.href;
var targetLoc = $.iGuider.opt.steps[$.iGuider.v.nextIndex].loc;
/**/
/*compare the paths*/
/**/
/*START PAST 5*/
$.iGuider.v.compareLoc5 = function(nowLoc){
if(nowLoc !== targetLoc){
/*If the paths are not the same:*/
/**/
/*create new options object for transfer to another page*/
/**/
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/*Get iGuider_data object from localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
}
/**/
/*Merge the getting object with the new values*/
/**/
$.extend($.iGuider.v.iGuider_data, {
tourId:$.iGuider.v.tourid,
stepValue:(parseFloat($.iGuider.v.iGuider_data.stepValue) - 1)
});
/**/
/*Save new data in localStorage*/
/**/
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
/**/
/*Redirect 5*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 5');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
$.iGuider.v.startIndex--;
$.iGuider.v.event = 'prev';
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 5');
hStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc5($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc5(relativeNowLoc);
}
/*END PAST*/
},$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter);
setTimeout(function(){
prevActive = false;
},500);
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' No previous steps');
}
};
$(document).on('click','.g-modal-prev',function(){
if(!$.iGuider.v.design){
if(checkPrevFunc($($.iGuider.v.targetEl)) === true){
localStorage.setItem('iGuider_step',$.iGuider.v.startIndex);
$.iGuider.v.prevStep();
}else{
messageErrorPrev();
}
}
});
/**/
/*This function off tour*/
/**/
$(document).on('click','.g-modal-close',function(){
if(!$.iGuider.v.design){
$.iGuider.v.end();
$.iGuider.v.abort();
$.iGuider.v.debug(new Error().lineNumber+ ' Click Close and Destroy');
$.fn.iGuider('destroy');
}
});
/**/
/*This function set active step*/
/**/
$.iGuider.v.setStep = function(stepLinkIndex){
if(stepLinkIndex < $.iGuider.opt.steps.length){
clearTimeout($.iGuider.v.storageDetectId);
$.iGuider.v.nowLoc = location.href;
var targetLoc = $.iGuider.opt.steps[stepLinkIndex].loc;
if(!$.iGuider.v.startIndex && parseFloat($.iGuider.v.startIndex) != 0){
$.iGuider.v.startIndex = 999;
}
if(parseFloat($.iGuider.v.startIndex) !== parseFloat(stepLinkIndex)){
$.iGuider.v.startIndex = stepLinkIndex;
if($.iGuider.opt.steps[$.iGuider.v.startIndex].event == 'next' && !$.iGuider.opt.steps[$.iGuider.v.startIndex].checkNext){
$.iGuider.opt.steps[$.iGuider.v.startIndex].ready = true;
addSuccess($('[data-hindex="'+$.iGuider.v.startIndex+'"]'));
}
clearTimeout($.iGuider.v.delayAfterId);
$.iGuider.v.afterFunc();
$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter = $.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter || 0;
$.iGuider.v.delayAfterId = setTimeout(function(){
$.iGuider.v.after_afterFunc();
/*START PAST 6*/
$.iGuider.v.compareLoc6 = function(nowLoc){
if(nowLoc !== targetLoc){
$.iGuider.v.iGuider_go = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_go',JSON.stringify($.iGuider.v.iGuider_go));
/**/
/*Save step numbers in localStorage*/
/**/
$.iGuider.v.iGuider_data = {};
if(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID)){
$.iGuider.v.iGuider_data = $.parseJSON(localStorage.getItem('iGuider_data-'+$.iGuider.opt.tourID));
}
$.extend($.iGuider.v.iGuider_data, {
tourId:$.iGuider.v.tourid,
stepValue:(parseFloat(stepLinkIndex) + 1)
});
localStorage.setItem('iGuider_data-'+$.iGuider.opt.tourID,JSON.stringify($.iGuider.v.iGuider_data));
localStorage.setItem('iGuider_step',parseFloat(stepLinkIndex) + 1);
/**/
/*Redirect 6*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' Redirect 6');
if(!$.iGuider.opt.baseurl){
location.href = targetLoc;
}else{
location.href = $.iGuider.opt.baseurl + targetLoc;
}
}else{
localStorage.setItem('iGuider_step',parseFloat(stepLinkIndex) + 1);
if($.iGuider.v.targetEl){
$.iGuider.v.targetEl.off($.iGuider.opt.steps[$.iGuider.v.startIndex].event+'.iGuider');
}
if($.iGuider.v.customTargetSelector){
$($.iGuider.v.customTargetSelector).off($.iGuider.v.customEvent+'.iGuider');
}
$.iGuider.v.debug(new Error().lineNumber+ ' Run "hStep" func - 6');
hStep();
}
};
if(!$.iGuider.opt.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc6($.iGuider.v.nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = $.iGuider.v.nowLoc.split($.iGuider.opt.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc6(relativeNowLoc);
}
/*END PAST*/
},$.iGuider.opt.steps[$.iGuider.v.startIndex].delayAfter);
}
}else{
$.iGuider.v.debug(new Error().lineNumber+ ' Attention: Invalid step number');
}
};
if(!$.iGuider.opt.tourMap.clickable){
$('html').addClass('g-map-no-clickable');
}else{
if($.iGuider.opt.tourMap.clickable == true || $.iGuider.opt.tourMap.clickable == 'true'){
$(document).on('click','[data-hindex]',function(){
if(!$('html').is('.g-preloader')){
var stepLink = $(this);
var stepLinkIndex = stepLink.attr('data-hindex');
$.iGuider.v.setStep(stepLinkIndex);
}
});
}
if($.iGuider.opt.tourMap.clickable == 'ready'){
$(document).on('click','[data-hindex]',function(){
if(!$('html').is('.g-preloader')){
var stepLink = $(this);
if(stepLink.is('.g-step-success') || stepLink.prev().is('.g-step-success')){
var stepLinkIndex = stepLink.attr('data-hindex');
$.iGuider.v.setStep(stepLinkIndex);
}
}
});
}
}
/**/
/*This function off tour*/
/**/
if($.iGuider.opt.overlayClickable){
$(document).on($.iGuider.v.clickEvent+'.iGuider',function(e){
if($.iGuider){
if(!$.iGuider.v.design){
if (touchMoving) return false;
if($(e.target).is('html')){
$.iGuider.v.end();
$.iGuider.v.abort();
$.iGuider.v.debug(new Error().lineNumber+ ' Click "overlay" (HTML) and Destroy');
$.fn.iGuider('destroy');
}
}
}
});
}
/**/
/*Tour map toggle*/
/**/
$.iGuider.v.modalMap.on('click',function(){
if($('html').is('.g-map-open')){
$('html').removeClass('g-map-open');
$.iGuider.opt.tourMap.open = false;
}else{
$('html').addClass('g-map-open');
$.iGuider.opt.tourMap.open = true;
}
});
$.iGuider.v.hHide.on('click',function(){
if($('html').is('.g-map-open')){
$('html').removeClass('g-map-open');
$.iGuider.opt.tourMap.open = false;
}else{
$('html').addClass('g-map-open');
$.iGuider.opt.tourMap.open = true;
}
});
$.iGuider.v.hToggle.on('click',function(){
iGuider('map','toggle');
});
/*Change target for message*/
var changeMsgPos = function(indexShape){
if(indexShape != $.iGuider.v.indexActive){
$.iGuider.v.indexActive = indexShape;
var modalDataItem = $.iGuider.v.modalData[indexShape];
$.iGuider.v.modalPos
.css({
left:modalDataItem.left,
top:modalDataItem.top
})
.attr({
'data-pos':modalDataItem.dataPos,
'data-cone':modalDataItem.dataCone,
'data-cont':modalDataItem.dataCont
});
$.iGuider.v.debug(new Error().lineNumber+ ' posCorrect func - 3');
$.iGuider.v.posCorrect(modalDataItem.dataPos,modalDataItem.dataCone,modalDataItem.dataCont);
$.iGuider.v.modalPosShow(0);
}
};
$(document).on('mouseenter.iGuider','.iGuider-highlight',function(){
if($('.iGuider-highlight').length > 1){
var shapeEl = $(this);
var indexShape = $('.iGuider-highlight').index(shapeEl);
changeMsgPos(indexShape);
}
});
$(document).on('mouseenter.iGuider','.g-shape',function(){
if($('.g-shape').length > 1){
var shapeEl = $(this);
var indexShape = $('.g-shape').index(shapeEl);
changeMsgPos(indexShape);
}
});
$(document).on('mouseenter','.gErrorMessage',function(){
clearTimeout($.iGuider.v.messageErrorId);
}).on('mouseleave','.gErrorMessage',function(){
$.iGuider.v.messageErrorHide();
});
$(document).on('mouseenter','.gEventMessage',function(){
clearTimeout($.iGuider.v.messageEventId);
}).on('mouseleave','.gEventMessage',function(){
$.iGuider.v.messageEventHide();
});
$(document).on('click','.g-timer-controll',function(){
if($.iGuider.v.timerState == 'pause'){
$.fn.iGuider('timerState','play');
}else{
$.fn.iGuider('timerState','pause');
}
return false;
});
/**/
/*Set timer state*/
/**/
var timerStateDef = 'play';
$.iGuider.v.timerStateDefault = function(){
$.fn.iGuider('timerState',timerStateDef);
};
if(localStorage.getItem('iGuider_timer')){
$.fn.iGuider('timerState',localStorage.getItem('iGuider_timer'));
}else{
$.iGuider.v.timerStateDefault();
}
/**/
/*This function display intro modal window*/
/**/
$.iGuider.v.windowIntro = function(){
$.iGuider.v.debug(new Error().lineNumber+ ' Start generate intro window');
clearTimeout($.iGuider.v.storageDetectId);
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro content installation');
$.iGuider.v.modalImage.empty();
if($.trim($.iGuider.opt.intro.cover)){
var coverEl = $('<img>').hide()
.attr('src',$.iGuider.opt.intro.cover)
.addClass('hTourCover')
.on('load',function(){
coverEl.show();
});
coverEl.appendTo($.iGuider.v.modalImage);
$.iGuider.v.coverShow();
}else{
$.iGuider.v.modalImage.empty();
$.iGuider.v.coverHide();
}
if($.iGuider.opt.intro.title && $.iGuider.opt.intro.title != ''){
$.iGuider.v.modalHeader.html($.iGuider.opt.intro.title);
$.iGuider.v.modalTitleShow();
}else{
$.iGuider.v.modalTitleHide();
}
if($.iGuider.opt.intro.content && $.iGuider.opt.intro.content != ''){
$.iGuider.v.modalBody.html($.iGuider.opt.intro.content);
$.iGuider.v.modalContShow();
}else{
$.iGuider.v.modalContHide();
}
$.iGuider.v.modalCloseIntro.html($.iGuider.opt.lang.introDialogBtnCancel);
$.iGuider.v.modalStart.html($.iGuider.opt.lang.introDialogBtnStart);
/*Set Width of Message Block*/
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro width installation');
var widthVal = '';
var widthPar = $.iGuider.opt.intro.width || $.iGuider.opt.width;
if(widthPar){
widthVal = widthPar;
widthVal = widthVal.toString();
if(widthVal.search('%') != -1 || widthVal.search('vw') != -1){
widthVal = widthVal.replace('%','vw');
}else{
widthVal = parseFloat(widthVal);
}
}
$.iGuider.v.modalSize.css({minWidth:widthVal});
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro style installation');
/*Set Background of Message Block*/
var bgColorPar = $.iGuider.opt.intro.bgColor || $.iGuider.opt.bgColor;
if(bgColorPar){
$.iGuider.v.modalSize.css({background:bgColorPar});
}else{
$.iGuider.v.modalSize.css({background:''});
}
/*Set Title Color of Message Block*/
var titleColorPar = $.iGuider.opt.intro.titleColor || $.iGuider.opt.titleColor;
if(titleColorPar){
$.iGuider.v.modalHeader.css({color:titleColorPar});
}else{
$.iGuider.v.modalHeader.css({color:''});
}
/*Set Content Color of Message Block*/
var modalContentColorPar = $.iGuider.opt.intro.modalContentColor || $.iGuider.opt.modalContentColor;
if(modalContentColorPar){
$.iGuider.v.modalBody.css({color:modalContentColorPar});
}else{
$.iGuider.v.modalBody.css({color:''});
}
/*Set Modal Type Color of Message Block*/
var modalTypeColorPar = $.iGuider.opt.intro.modalTypeColor || $.iGuider.opt.modalTypeColor;
if(modalTypeColorPar){
$.iGuider.v.modalType.css({color:modalTypeColorPar});
}else{
$.iGuider.v.modalType.css({color:''});
}
/*Set Buttons Color of Message Block*/
var btnColorPar = $.iGuider.opt.intro.btnColor || $.iGuider.opt.btnColor;
if(btnColorPar){
$('#btnColorStyle').remove();
$('<style id="btnColorStyle">').html('.g-modal-pos .gBtn {color:'+btnColorPar+'}').appendTo('html');
}else{
$('#btnColorStyle').remove();
}
/*Set Buttons Hover Color of Message Block*/
var btnHoverColorPar = $.iGuider.opt.intro.btnHoverColor || $.iGuider.opt.btnHoverColor;
if(btnHoverColorPar){
$('#btnHoverColorStyle').remove();
$('<style id="btnHoverColorStyle">').html('.g-modal-pos .gBtn:hover {color:'+btnHoverColorPar+'}').appendTo('html');
}else{
$('#btnHoverColorStyle').remove();
}
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro position installation');
$.iGuider.v.modalPos.css({left:'50%',top:'50%'}).attr({
'data-pos':'c',
'data-cone':'c',
'data-cont':'c'
});
/**/
/*Position correction*/
/**/
$.iGuider.v.debug(new Error().lineNumber+ ' posCorrect func - 4');
$.iGuider.v.posCorrect('c','c','c');
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro overlay installation');
$.iGuider.v.tCanvas.tColor = $.iGuider.v.correctColor($.iGuider.opt.intro.overlayColor);
$.iGuider.v.tCanvas.tOpacity = $.iGuider.opt.intro.overlayOpacity;
$.iGuider.v.tCanvas.saveColor = $.iGuider.v.tCanvas.tColor;
$.iGuider.v.tCanvas.saveOpacity = $.iGuider.v.tCanvas.tOpacity;
$.iGuider.v.createOverlayLayer();
$.iGuider.v.debug(new Error().lineNumber+ ' Start intro block display installation');
$.iGuider.v.modalPrevHide();
$.iGuider.v.modalNextHide();
$.iGuider.v.modalStepHide();
$.iGuider.v.modalPosShow(0);
$.iGuider.v.modalMapHide();
$.iGuider.v.modalContinueHide();
$.iGuider.v.modalIntroShow();
$.iGuider.v.timerHide();
$('.g-modal-type').html($.iGuider.opt.lang.modalIntroType).show();
if(!$.iGuider.opt.steps){
$.iGuider.v.debug(new Error().lineNumber+ ' Parameter "steps" is not set.');
$.iGuider.v.modalStartHide();
}else{
if(!$.iGuider.opt.steps.length){
$.iGuider.v.debug(new Error().lineNumber+ ' Parameter "steps" is empty.');
$.iGuider.v.modalStartHide();
}else{
$.iGuider.v.modalStartShow();
$.iGuider.v.debug(new Error().lineNumber+ ' Run Steps');
}
}
};
/**/
/*If steps is more then 0*/
/**/
if($.iGuider.opt.steps.length === 0){
$.iGuider.v.debug(new Error().lineNumber+ ' Mess: All target elements is absent.');
$.iGuider.v.debug(new Error().lineNumber+ ' Council: Check the "Steps" parameter.');
$.fn.iGuider('destroy');
}else{
/**/
/*Creating intro message*/
/**/
if ($.iGuider.opt.intro){
if ($.iGuider.opt.intro.enable && localStorage.getItem('iGuider_event') != 'start'){
if($.iGuider.goFlag){
storageDetect();
}else{
/*display modal window*/
$.iGuider.v.windowIntro();
}
}else{
storageDetect();
}
}
}
$.iGuider.v.clearData = function(type){
$.iGuider.v.design = type;
localStorage.removeItem('iGuider_event');
localStorage.removeItem('iGuider_restored');
localStorage.removeItem('iGuider_opt');
localStorage.removeItem('iGuider_step');
localStorage.removeItem('iGuider_go');
localStorage.removeItem('iGuider_timer');
localStorage.removeItem('iGuider_data-'+$.iGuider.opt.tourID);
};
$.iGuider.v.create();
}else{
console.log('Warning! \nDetected re-initialization of plugin. Check the code calling the plugin!');
}
},
timerState: function(state){
if($.iGuider && $.iGuider.v){
if(state == 'pause'){
if($.iGuider.v.timerState !== 'pause'){
$.iGuider.v.timerState = 'pause';
localStorage.setItem('iGuider_timer','pause');
$.iGuider.v.modalTimerControll.removeClass('g-timer-pause').addClass('g-timer-play');
$('html').removeClass('g-state-play').addClass('g-state-pause');
$.iGuider.v.stopTimer();
$.iGuider.v.pause();
}
}
if(state == 'play'){
if($.iGuider.v.timerState !== 'play'){
$.iGuider.v.timerState = 'play';
localStorage.setItem('iGuider_timer','play');
$.iGuider.v.modalTimerControll.removeClass('g-timer-play').addClass('g-timer-pause');
$('html').removeClass('g-state-pause').addClass('g-state-play');
if($.iGuider.v.timeSave){
$.iGuider.v.startTimer($.iGuider.v.timeSave);
}
$.iGuider.v.play();
}
}
}
},
getStep: function (){
return localStorage.getItem('iGuider_step') || false;
},
setStep: function (num){
if($.iGuider && $.iGuider.opt){
var stepNeed = parseFloat(num);
$.iGuider.v.setStep(stepNeed-1);
}
},
prev: function (){
if($.iGuider && $.iGuider.opt){
if(parseFloat($.iGuider.v.startIndex) > 0){
if($('html').is('.g-modal-prev-show')){
$.iGuider.v.modalPrev.trigger('click');
}
}
}
},
next: function (flag){
if($.iGuider && $.iGuider.opt){
if((parseFloat($.iGuider.v.startIndex)+1) < $.iGuider.opt.steps.length || flag){
if($('html').is('.g-modal-next-show')){
$.iGuider.v.modalNext.trigger('click');
}else{
if($.iGuider.opt.steps[$.iGuider.v.startIndex].keyboardEvent){
var eventVal = $.iGuider.opt.steps[$.iGuider.v.startIndex].event;
if(typeof eventVal == 'string'){
$.iGuider.v.targetEl.trigger(eventVal);
}
if(typeof eventVal == 'object'){
$(eventVal[1]).trigger(eventVal[0]);
}
}else{
//message
var eventMessage = $('<div>').addClass('gEventMessage').text($.iGuider.opt.steps[$.iGuider.v.startIndex].eventMessage || $.iGuider.opt.stepsDef[0].eventMessage);
$('.gEventMessage').remove();
$('.gFooter').after(eventMessage);
$.iGuider.v.posCorrect();
$.iGuider.v.messageEventHide();
}
}
}
}
},
update: function (){
if($.iGuider && $.iGuider.opt){
$(window).trigger('scroll.iGuider');
}
},
map: function (position){
if($.iGuider && $.iGuider.opt){
if(position == 'toggle'){
if($('.g-map-pos-right').length){
position = 'left';
}else{
position = 'right';
}
}
$.iGuider.opt.tourMap.position = position;
$('.g-map-pos-left, .g-map-pos-right').removeClass('g-map-pos-left g-map-pos-right');
$('.g-map-pos').addClass('g-map-pos-'+position);
var iGuider_opt = {
opt:$.iGuider.v.toStringObj($.iGuider.opt)
};
localStorage.setItem('iGuider_opt',JSON.stringify(iGuider_opt));
}
},
design: function(type){
if($.iGuider && $.iGuider.opt){
if(type == parseFloat(type)){
type = parseFloat(type);
}
if(type == 'intro'){
$.iGuider.v.clearData(type);
$.iGuider.v.windowIntro();
}
if(type == 'continue'){
$.iGuider.v.clearData(type);
$.iGuider.v.windowContinue();
}
if(typeof type == 'number'){
if(type-1 < $.iGuider.opt.steps.length){
$.iGuider.v.clearData(type);
iGuider('setStep',type);
}
}
if(!$.iGuider.v.design){
return false;
}
}else{
return false;
}
},
button:function(data,position){
if(typeof data == 'object'){
$.iGuiderItemAdd = function(optItem,i){
var tourlistItem = $('<div>').addClass('tourlist-item').attr('id',i).appendTo('.iguider-btnCont').animate({opacity:1},300);
var tourTitleEl = '';
var tourSubtitle = '';
if(optItem.tourTitle){
tourTitleEl = $('<div>').addClass('tourlist-item-title').html(optItem.tourTitle).appendTo(tourlistItem);
}
if(optItem.tourSubtitle){
tourSubtitle = $('<div>').addClass('tourlist-item-subtitle').html(optItem.tourSubtitle).appendTo(tourlistItem);
}
};
$.iGuiderBtnAdd = function(){
$(document).off('click','.iguider-btn');
$('.iguider-btn').remove();
var iguiderBtn = $('<div>')
.addClass('iguider-btn')
.html('<div class="iguider-btn-shape"><span class="iguider-btn-icon" style="color:#fff"></span></div><div class="iguider-btnCont"></div>')
.appendTo('body');
if(position){
iguiderBtn.css({
'inset':position
})
}
};
if(Array.isArray(data)){
//Array
if(data.length > 0){
if(data.length > 1){
$(document).off('click.iguiderbtn');
$(document).off('click','.tourlist-item');
//create button
$.iGuiderBtnAdd();
//create tour list
$('.iguider-btnCont').empty();
for(var i = 0; i < data.length; i++){
var optItem = data[i];
$.iGuiderItemAdd(optItem,i);
}
//create open event for button
$(document).on('click','.iguider-btn',function(){
$('html').toggleClass('g-tour-list-show');
return false;
});
/* Close list if out click */
$(document).on('click.iguiderbtn',function(e){
if(!$(e.target).is('.iguider-btn') && !$('.iguider-btn').find(e.target).length){
$('html').removeClass('g-tour-list-show');
}
});
//create start event for list items
$(document).on('click','.tourlist-item',function(){
var tItem = $(this);
var id = parseFloat(tItem.attr('id'));
iGuider(data[id]);
return false;
});
}else{
//create button
$.iGuiderBtnAdd();
//create start event for button
$(document).on('click','.iguider-btn',function(){
iGuider(data[0]);
});
}
}else{
console.log('Options array is empty');
}
}else{
//Object
//create button
$.iGuiderBtnAdd();
//create start event for button
$(document).on('click','.iguider-btn',function(){
iGuider(data);
});
}
}else{
console.log('Parameters passed in wrong format');
}
},
set:function(data){
if(!$.iGuiderSet){
$.iGuiderSet = {};
}
if(typeof data == 'object'){
if(Array.isArray(data)){
//Array
if(data.length > 0){
for(var i = 0; i < data.length; i++){
var dataItem = data[i];
var dataItemId = dataItem.tourID;
if(dataItemId){
$.iGuiderSet[dataItemId] = dataItem;
}
}
}else{
console.log('Options array is empty');
}
}else{
//Object
var tourId = data.tourID;
if(tourId){
$.iGuiderSet[tourId] = data;
}
}
}else{
console.log('Parameters passed in wrong format');
}
},
run:function(id){
if($.iGuiderSet){
var optItem = $.iGuiderSet[id];
if(optItem){
iGuider('destroy');
iGuider(optItem);
}
}else{
console.log('The parameter set is missing');
}
},
setTitle: function(text){
$('.g-modal-header').html(text);
$('.g-step-item.hCur .g-step-item-text').html(text);
},
setContent: function(text){
$('.g-modal-body').html(text);
},
/**/
/*Destroe Method*/
/**/
destroy: function (arg) {
if($.iGuider && $.iGuider.opt){
clearTimeout($.iGuider.v.storageDetectId);
clearTimeout($.iGuider.v.stepTimerId);
clearTimeout($.iGuider.v.messageErrorId);
clearTimeout($.iGuider.v.delayAfterId);
clearTimeout($.iGuider.v.delayBeforeId);
clearTimeout($.iGuider.v.changeDelayId);
$.iGuider.v.modalPos.stop(true);
$.iGuider.v.modalTimer.stop(true);
$.iGuider.v.scrollDoc.stop(true);
localStorage.removeItem('iGuider_event');
localStorage.removeItem('iGuider_restored');
localStorage.removeItem('iGuider_opt');
localStorage.removeItem('iGuider_step');
localStorage.removeItem('iGuider_go');
localStorage.removeItem('iGuider_timer');
$('#timerColorStyle').remove();
$('#btnColorStyle').remove();
$('#btnHoverColorStyle').remove();
$('#listBtnColorStyle').remove();
$('#listBtnHoverColorStyle').remove();
$('#itemNumColorStyle').remove();
$('#itemColorStyle').remove();
$('#itemHoverColorStyle').remove();
$('#itemActiveColorStyle').remove();
$('#itemActiveBgStyle').remove();
$('#checkColorStyle').remove();
$('#checkReadyColorStyle').remove();
$('#paginationColorStyle').remove();
$.iGuider.goFlag = false;
$.iGuider.v.timeSave = false;
$('.iGuider-highlight').removeClass('iGuider-highlight');
$('html').removeAttr('data-g-stepid');
$('html').removeAttr('data-g-step');
/**/
/*Return style*/
/**/
$('html').removeClass('g-map-open');
$('html').removeClass('hNav-disable');
$('html').removeClass('g-map-no-clickable');
$('html').removeClass('g-modal-step-num-show');
$('html').removeClass('g-modal-step-num-hide');
$('html').removeClass('g-modal-prev-show');
$('html').removeClass('g-modal-prev-hide');
$('html').removeClass('g-modal-next-show');
$('html').removeClass('g-modal-next-hide');
$('html').removeClass('g-modal-timer-line');
$('html').removeClass('g-modal-timer-circle');
$('html').removeClass('g-modal-close-show');
$('html').removeClass('g-modal-close-hide');
$('html').removeClass('g-state-play');
$('html').removeClass('g-state-pause');
$('html').removeClass('g-modal-title-show');
$('html').removeClass('g-modal-title-hide');
$('html').removeClass('g-modal-cont-show');
$('html').removeClass('g-modal-cont-hide');
$('html').removeClass('g-modal-continue-show');
$('html').removeClass('g-modal-continue-hide');
$('html').removeClass('g-timer-hide');
$('html').removeClass('g-timer-show');
$('html').removeClass('g-modal-map-show');
$('html').removeClass('g-modal-map-hide');
$('html').removeClass('g-modal-intro-show');
$('html').removeClass('g-modal-intro-hide');
$('html').removeClass('g-modal-cover-show');
$('html').removeClass('g-modal-cover-hide');
$('html').removeClass('g-modal-step-show');
$('html').removeClass('g-modal-step-hide');
$('html').removeClass('g-timer-progress-show');
$('html').removeClass('g-timer-progress-hide');
$('[data-uid]').removeAttr('data-uid');
/**/
/*Delete plugin elements*/
/**/
$($.iGuider.v.gLoader).remove();
$($.iGuider.v.modalPos).remove();
$($.iGuider.v.overlays).remove();
$($.iGuider.v.gMapContent).remove();
$($.iGuider.v.gMapPos).remove();
$($.iGuider.v.introDialog).remove();
$('#g-overlay-wrap').remove();
/**/
/*Clear Canvas*/
$.iGuider.v.deleteOverlayLayer();
/**/
/**/
/*Events off*/
/**/
$(document).off('click','.g-timer-controll');
$(document).off('click','.g-modal-begin-first');
$(document).off('click','.g-modal-begin-continue');
$(document).off('click','.g-modal-next');
$(document).off('click','.g-modal-prev');
$(document).off('click','.g-modal-start');
$(document).off($.iGuider.v.clickEvent+'.iGuider');
$(document).off('mouseenter.iGuider','.iGuider-highlight');
$(document).off('mousemove.iGuider','.iGuider-highlight');
$(document).off('mouseenter.iGuider','.g-shape');
$(window).off('resize.iGuider');
$(window).off('scroll.iGuider');
$(document).off('mouseenter.iGuider','.gWidget, .g-shape, .iGuider-highlight');
$(document).off('mouseleave.iGuider','.gWidget, .g-shape, .iGuider-highlight');
if($.iGuider.opt.steps[$.iGuider.v.startIndex]){
if($.iGuider.v.targetEl){
$.iGuider.v.targetEl.off($.iGuider.opt.steps[$.iGuider.v.startIndex].event+'.iGuider');
}
}
$(document).off($.iGuider.v.customEvent+'.iGuider',$.iGuider.v.customTargetSelector);
if($.iGuider.v.customTargetSelector){
$($.iGuider.v.customTargetSelector).off($.iGuider.v.customEvent+'.iGuider');
}
$(document).off('click','.g-modal-close');
$.iGuider.v.hHide.off('click');
$.iGuider.v.hToggle.off('click');
$(document).off('click','.hOverlay');
$(document).off('click','[data-hindex]');
$(document).off('keydown.iGuider');
$.iGuider.v.modalMap.off('click');
$.iGuider.v = null;
/**/
/*Delete data*/
/**/
if(!arg){
if($.iGuider.opt.debug){
console.log('All plugin data is destroyed.');
}
$.iGuider.opt = null;
delete $.iGuider;
}
}else{
console.log('Warning! \nDetected call of method Destroy for an element that is not associated with plugin. Check the code!');
}
}
};
$.fn.iGuider = function (method) {
if (typeof(Storage) !== 'undefined'){
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
if(Array.isArray(method)){
return methods.set.apply(this, arguments);
}else{
return methods.init.apply(this, arguments);
}
} else {
$.error("Method " + method + " in jQuery.iGuider doesn't exist");
}
}else{
console.log('Sorry! No Web Storage support.');
}
};
iGuider = $.fn.iGuider;
$(window).on('load',function(){
$(document).on('click','[data-iguider]',function(){
var tourID = $(this).attr('data-iguider');
iGuider('run', tourID);
});
var escapeRe = function (value) {
return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
};
if (typeof(Storage) !== 'undefined'){
if(localStorage){
if(localStorage.getItem('iGuider_go')){
if(!$.iGuider){
$.iGuider = {};
}
if(!$.iGuider.v){
$.iGuider.v = {};
}
$.iGuider.goFlag = true;
$.iGuider.v.iGuider_go = $.parseJSON(localStorage.getItem('iGuider_go'));
var opt = $.iGuider.v.iGuider_go.opt;
$.fn.iGuider(opt);
}else{
if(localStorage.getItem('iGuider_event') == 'start' && localStorage.getItem('iGuider_opt')){
console.log('Interrupted tour detected.');
if(!$.iGuider){
$.iGuider = {};
}
var temp_opt = $.parseJSON(localStorage.getItem('iGuider_opt'));
var restoreObject = temp_opt.opt;
localStorage.setItem('iGuider_restored','1');
var targetIndex = parseFloat(localStorage.getItem('iGuider_step'));
var continueObj = $.extend(restoreObject,{startStep:targetIndex});
/*NEW*/
var nowLoc = location.href;
var targetLoc = nowLoc;
/**/
/*Check presence of next step */
/**/
if((targetIndex-1) < continueObj.steps.length){
targetLoc = continueObj.steps[targetIndex-1].loc;
if(continueObj.debug){
console.log('Recovery step title: '+continueObj.steps[targetIndex-1].title);
console.log('Recovery step loc: '+targetLoc);
}
}
targetLoc = targetLoc.split('?')[0];
/*START PAST 7*/
if(!$.iGuider){
$.iGuider = {};
}
if(!$.iGuider.v){
$.iGuider.v = {};
}
$.iGuider.v.compareLoc7 = function(nowLoc7){
if(nowLoc7 !== targetLoc){
localStorage.setItem('iGuider_event','abort');
localStorage.setItem('iGuider_restored','0');
localStorage.removeItem('iGuider_opt');
localStorage.removeItem('iGuider_step');
}else{
$.fn.iGuider(continueObj);
}
};
if(!continueObj.baseurl){
/*only for absolute path URL*/
$.iGuider.v.compareLoc7(nowLoc);
}else{
/*only for relative path URL*/
var relativeNowLoc = nowLoc.split(continueObj.baseurl)[1].split('#')[0];
$.iGuider.v.compareLoc7(relativeNowLoc);
}
/*END PAST*/
}
}
}
}else{
console.log('Sorry! No Web Storage support.');
}
});
})(jQuery);