/*
* Copyright 2010 Fredrik Forsmo (@Frozzare)
* jSlider is under GPL Version 2 licenses.
* http://www.gnu.org/licenses/gpl-2.0.html
* Contribution by: David Rodrigues (@DavidProw)
*/

(function ($) {$.fn.jSlider = function (g) {var i = $(this);var j = $.extend({title: false,startWithZero: false,usingEasing: false,easingEffect: '',easingDuration: 'slow',timeChange: true,time: 5000,nextPrevPosition: 1,PrevText: 'Previous',NextText: 'Next',HideText: 'Hide',ShowText: 'Show',StartText: '<img src="images/play.png" alt="" />',StopText: '<img src="images/pause.png" alt="" />',StopStartClass: 'stop-auto',height: 0,hide: 'nextPrev',slideType: 'default'}, g || {});var k = 0;var b = 0;var l = 0;var h = 0;var m = 0;var o = 0;var p = 0;var t = 0;var a = $('#jSlider').attr('rel');function goToSlider(n) {l = i.find('.slide').length;if (m == l || m == l + 1) m = 0;if (j.title) {if (n == l) h = 0;else if (n == -1) h = l - 1;else h = n;setTitle($($('.slide img')[h]).attr('alt'))}if ($('.slide-title').hasClass('title-hide')) {$('.slide-title').hide()}if (n < 0) n = l - 1;else if (n > l - 1) n = 0;e = n - k;e = e * a;if (j.slideType === 'default') {slideThis(true, false, false, false, e, 0)} else if (j.slideType === 'slideDown') {j.title = false;slideDown(n, l)} else if (j.slideType === 'slideHalf') {j.title = false;slideHalf(e, l)} else if (j.slideType === 'slideHalfTwo') {j.title = false;slideHalfTwo(e, l)}$(".slidernumbers a").removeClass("active");$($(".slidernumbers a[rel^=" + n + "]")).addClass("active");k = n}function slideHalf(e, l) {var r = l * j.height;var b = l / 2;var c = b - 1;var d = c * a;m++;if (m == b) slideThis(true, true, true, false, d, j.height);else if (m >= l) slideThis(true, true, true, true, d, j.height);else slideThis(true, false, false, false, e, 0)}function slideHalfTwo(e, l) {var r = l * j.height;var b = l / 2;var c = b - 1;var d = c * j.height;if (m >= 2) m = 0;m++;o++;if (m == 2 && o != l) slideThis(true, true, true, false, a, j.height);else if (o == l) o = 0,slideThis(true, true, true, true, a, d);else slideThis(true, false, false, false, e, 0)}function slideDown(n, l) {var a = l - 1;var r = a * j.height;m++;if (n < 0) n = l - 1;else if (n > l - 1) n = 0;e = n - k;e = e * j.height;slideThis(true, true, false, false, 0, e)}function slideThis(a, b, c, d, e, f) {if (a && !b) {if (j.usingEasing) {if (c) {i.animate({	marginLeft: "+=" + e}, {	easing: j.easingEffect,	duration: j.easingDuration}, 'slow', 'swing')} else {i.animate({	marginLeft: "-=" + e}, {	easing: j.easingEffect,	duration: j.easingDuration}, 'slow', 'swing')}} else {if (c) {i.animate({	marginLeft: "+=" + e}, 'slow', 'swing')} else {i.animate({	marginLeft: "-=" + e}, 'slow', 'swing')}}} else if (a && b) {if (j.usingEasing) {if (c) {if (d) {	i.animate({		marginLeft: "+=" + e,		marginTop: "+=" + f	}, {		easing: j.easingEffect,		duration: j.easingDuration	}, 'slow', 'swing')} else {	i.animate({		marginLeft: "+=" + e,		marginTop: "-=" + f	}, {		easing: j.easingEffect,		duration: j.easingDuration	}, 'slow', 'swing')}} else {if (d) {	i.animate({		marginLeft: "-=" + e,		marginTop: "+=" + f	}, {		easing: j.easingEffect,		duration: j.easingDuration	}, 'slow', 'swing')} else {	i.animate({		marginLeft: "-=" + e,		marginTop: "-=" + f	}, {		easing: j.easingEffect,		duration: j.easingDuration	}, 'slow', 'swing')}}} else {if (c) {if (d) {	i.animate({		marginLeft: "+=" + e,		marginTop: "+=" + f	}, 'slow', 'swing')} else {	i.animate({		marginLeft: "+=" + e,		marginTop: "-=" + f	}, 'slow', 'swing')}} else {if (d) {	i.animate({		marginLeft: "-=" + e,		marginTop: "+=" + f	}, 'slow', 'swing')} else {	i.animate({		marginLeft: "-=" + e,		marginTop: "-=" + f	}, 'slow', 'swing')}}}}}function setTitle(t) {if (j.slideType === 'default') {if (typeof(t) !== 'undefined' && t != null) {$('.slide-title').show();$('.slide-title span:first').remove();$('.slide-title').prepend('<span id="spantitle">' + t + '</span>')} else {$('.slide-title').hide();$('.slide-show').hide()}} else {$('.slide-title').hide()}}function buttonsAndNumbers() {if (j.nextPrevPosition == 1) {if (j.hide != 'nextPrev' && j.hide != 'both') $('#jSlider').prepend('<p class="buttons"><a class="slideprev" href="#">' + j.PrevText + '</a><a class="slidenext" href="#">' + j.NextText + '</a></p>');if (j.hide != 'numbers' && j.hide != 'both') $('#jSliderNumbers').append('<div class="slidernumbers"></div>')} else if (j.nextPrevPosition == 2) {if (j.hide != 'numbers' && j.hide != 'both') $('#jSlider').prepend('<div class="slidernumbers"></div>');if (j.hide != 'nextPrev' && j.hide != 'both') $('#jSliderNumbers').append('<p class="buttons"><a class="slideprev" href="#">' + j.PrevText + '</a><a class="slidenext" href="#">' + j.NextText + '</a></p>')} else {alert("Error! You have to set nextPrevPosition value to 1 or 2 not " + j.nextPrevPosition + "!")}}function renderItem() {buttonsAndNumbers();$('#jSlider').find('.slider').append('<div class="slidetitle"><p class="slide-title"><span></span><span class="hide"><a href="#" class="slide-hide" rel="1">' + j.HideText + '</a></span></p><p class="slide-tools"><span class="hide"><a class="slide-show" href="#">' + j.ShowText + '</a></span></p></div>');var l = i.find('.slide').length;for (var c = 0; c < l; c++) {var n = 0;if (j.startWithZero) n = c;else n = c + 1;if (c == 0) {$(".slidernumbers").append('<a href="#" class="active" rel="' + c + '">' + n + '</a>')} else {$(".slidernumbers").append('<a href="#" rel="' + c + '">' + n + '</a>')}}}function slider() {renderItem();if (j.title) setTitle($($('.slide img')[0]).attr('alt'));else $('.slide-title').hide();$('.slide-show').hide();$(".slidernumbers a").live("click", function () {var b = parseInt($(this).attr('rel'));if (j.title) setTitle($($('.slide img')[b]).attr('alt'));goToSlider(b);t = 1});$(".slidenext").click(function () {goToSlider(k + 1);t = 1});$(".slideprev").click(function () {goToSlider(k - 1);t = 1});$('.slide-hide').click(function () {$('.slide-title').addClass('title-hide').hide();$('.slide-show').show()});$('.slide-show').click(function () {$('.slide-show').hide();$('.slide-title').removeClass('title-hide').show()});$('.' + j.StopStartClass).click(function () {if (p > 1) {$(this).html(j.StopText);p = 0;var a = j.time;j.time = 0;j.time = a;t = 0} else {p = 2;$(this).html(j.StartText)}});if (j.timeChange) {setInterval(function () {timeChanges()}, j.time)}}function timeChanges() {if (t > 0) {var a = j.time;j.time = 0;j.time = a;t = 0} else if (p != 2) {goToSlider(k + 1)}}return slider()}})(jQuery);
