(function ($) {
var opts = new Array;
var level = new Array;
var img = new Array;
var links = new Array;
var titles = new Array;
var order = new Array;
var imgInc = new Array;
var inc = new Array;
var stripInt = new Array;
var imgInt = new Array;
$.fn.jqFancyTransitions = $.fn.jqfancytransitions = function (options) {
init = function (el) {
opts[el.id] = $.extend({}, $.fn.jqFancyTransitions.defaults, options);
img[el.id] = new Array();
links[el.id] = new Array();
titles[el.id] = new Array();
order[el.id] = new Array();
imgInc[el.id] = 0;
inc[el.id] = 0;
params = opts[el.id];
if (params.effect == 'zipper') {
params.direction = 'alternate';
params.position = 'alternate';
}
if (params.effect == 'wave') {
params.direction = 'alternate';
params.position = 'top';
}
if (params.effect == 'curtain') {
params.direction = 'alternate';
params.position = 'curtain';
}
stripWidth = parseInt(params.width / params.strips);
gap = params.width - stripWidth * params.strips;
stripLeft = 0;
$.each($('#' + el.id + ' img'), function (i, item) {
img[el.id][i] = $(item).attr('src');
links[el.id][i] = $(item).next().attr('href');
titles[el.id][i] = $(item).attr('alt') ? $(item).attr('alt') : '';
$(item).hide();
});
$('#' + el.id).css({
'background-image': 'url(' + img[el.id][0] + ')',
'width': params.width,
'height': params.height,
'position': 'relative',
'background-position': 'top left'
});
$('#' + el.id).append("
" + titles[el.id][0] + "
");
if (titles[el.id][imgInc[el.id]]) $('#ft-title-' + el.id).css('opacity', opts[el.id].titleOpacity);
else $('#ft-title-' + el.id).css('opacity', 0);
if (params.navigation) {
$.navigation(el);
$('#ft-buttons-' + el.id).children().first().addClass('ft-button-' + el.id + '-active');
}
odd = 1;
for (j = 1; j < params.strips + 1; j++) {
if (gap > 0) {
tstripWidth = stripWidth + 1;
gap--;
} else {
tstripWidth = stripWidth;
}
if (params.links) $('#' + el.id).append("");
else $('#' + el.id).append("");
$("#ft-" + el.id + j).css({
'background-position': -stripLeft + 'px top',
'left': stripLeft
});
stripLeft += tstripWidth;
if (params.position == 'bottom') $("#ft-" + el.id + j).css('bottom', 0);
if (j % 2 == 0 && params.position == 'alternate') $("#ft-" + el.id + j).css('bottom', 0);
if (params.direction == 'fountain' || params.direction == 'fountainAlternate') {
order[el.id][j - 1] = parseInt(params.strips / 2) - (parseInt(j / 2) * odd);
order[el.id][params.strips - 1] = params.strips;
odd *= -1;
} else {
order[el.id][j - 1] = j;
}
}
$('.ft-' + el.id).mouseover(function () {
opts[el.id].pause = true;
});
$('.ft-' + el.id).mouseout(function () {
opts[el.id].pause = false;
});
$('#ft-title-' + el.id).mouseover(function () {
opts[el.id].pause = true;
});
$('#ft-title-' + el.id).mouseout(function () {
opts[el.id].pause = false;
});
clearInterval(imgInt[el.id]);
imgInt[el.id] = setInterval(function () {
$.transition(el)
}, params.delay + params.stripDelay * params.strips);
};
$.transition = function (el, direction) {
if (opts[el.id].pause == true) return;
stripInt[el.id] = setInterval(function () {
$.strips(order[el.id][inc[el.id]], el)
}, opts[el.id].stripDelay);
$('#' + el.id).css({
'background-image': 'url(' + img[el.id][imgInc[el.id]] + ')'
});
if (typeof(direction) == "undefined") imgInc[el.id]++;
else if (direction == 'prev') imgInc[el.id]--;
else imgInc[el.id] = direction;
if (imgInc[el.id] == img[el.id].length) {
imgInc[el.id] = 0;
}
if (imgInc[el.id] == -1) {
imgInc[el.id] = img[el.id].length - 1;
}
if (titles[el.id][imgInc[el.id]] != '') {
$('#ft-title-' + el.id).animate({
opacity: 0
}, opts[el.id].titleSpeed, function () {
$(this).html(titles[el.id][imgInc[el.id]]).animate({
opacity: opts[el.id].titleOpacity
}, opts[el.id].titleSpeed);
});
} else {
$('#ft-title-' + el.id).animate({
opacity: 0
}, opts[el.id].titleSpeed);
}
inc[el.id] = 0;
buttons = $('#ft-buttons-' + el.id).children();
buttons.each(function (index) {
if (index == imgInc[el.id]) {
$(this).addClass('ft-button-' + el.id + '-active');
} else {
$(this).removeClass('ft-button-' + el.id + '-active');
}
});
if (opts[el.id].direction == 'random') $.fisherYates(order[el.id]);
if ((opts[el.id].direction == 'right' && order[el.id][0] == 1) || opts[el.id].direction == 'alternate' || opts[el.id].direction == 'fountainAlternate') order[el.id].reverse();
};
$.strips = function (itemId, el) {
temp = opts[el.id].strips;
if (inc[el.id] == temp) {
clearInterval(stripInt[el.id]);
return;
}
$('.ft-' + el.id).attr('href', links[el.id][imgInc[el.id]]);
if (opts[el.id].position == 'curtain') {
currWidth = $('#ft-' + el.id + itemId).width();
$('#ft-' + el.id + itemId).css({
width: 0,
opacity: 0,
'background-image': 'url(' + img[el.id][imgInc[el.id]] + ')'
});
$('#ft-' + el.id + itemId).animate({
width: currWidth,
opacity: 1
}, 1000);
} else {
$('#ft-' + el.id + itemId).css({
height: 0,
opacity: 0,
'background-image': 'url(' + img[el.id][imgInc[el.id]] + ')'
});
$('#ft-' + el.id + itemId).animate({
height: opts[el.id].height,
opacity: 1
}, 1000);
}
inc[el.id]++;
};
$.navigation = function (el) {
/* $('#' + el.id).append("prev");
$('#' + el.id).append("next");
$('#ft-prev-' + el.id).css({
'position': 'absolute',
'top': params.height / 2 - 15,
'left': 0,
'z-index': 1001,
'line-height': '30px',
'opacity': 0.7
}).click(function (e) {
e.preventDefault();
$.transition(el, 'prev');
clearInterval(imgInt[el.id]);
imgInt[el.id] = setInterval(function () {
$.transition(el)
}, params.delay + params.stripDelay * params.strips);
});
$('#ft-next-' + el.id).css({
'position': 'absolute',
'top': params.height / 2 - 15,
'right': 0,
'z-index': 1001,
'line-height': '30px',
'opacity': 0.7
}).click(function (e) {
e.preventDefault();
$.transition(el);
clearInterval(imgInt[el.id]);
imgInt[el.id] = setInterval(function () {
$.transition(el)
}, params.delay + params.stripDelay * params.strips);
});*/
$("").insertAfter($('#' + el.id));
$('#ft-buttons-' + el.id).css({'position': 'absolute',
'z-index': 1001,
'margin': '-25px',
'text-align': 'right',
'padding-top': 0,
'width': opts[el.id].width
});
for (k = 1; k < img[el.id].length + 1; k++) {
$('#ft-buttons-' + el.id).append("" + k + "");
}
$('.c-button-' + el.id).css({
'padding': 2, 'height': 25
});
$('.ft-button-' + el.id+' span').css({
'padding':5,'width':30
});
$.each($('.ft-button-' + el.id), function (i, item) {
$(item).click(function (e) {
e.preventDefault();
$.transition(el, i);
clearInterval(imgInt[el.id]);
})
});
}
$.fisherYates = function (arr) {
var i = arr.length;
if (i == 0) return false;
while (--i) {
var j = Math.floor(Math.random() * (i + 1));
var tempi = arr[i];
var tempj = arr[j];
arr[i] = tempj;
arr[j] = tempi;
}
}
this.each(function () {
init(this);
});
};
$.fn.jqFancyTransitions.defaults = {
width: 661,
height: 342,
strips: 20,
delay: 3000,
stripDelay: 50,
titleOpacity: 0.7,
titleSpeed: 1000,
position: 'effCurtainAlternate',
direction: 'fountainAlternate',
effect: 'wave',
navigation: false,
links: false
};
})(jQuery);
// //position: 'effCurtainAlternate',
// position: 'alternate',
//direction: 'fountainAlternate',