/** 
* @filepath: slideshow,itemSlider,schedule,textmessage,mosaic,mosaicSlider
* @created: Tue, 30 Mar 10 06:06:57 -0700
*/


/** 
* @filepath: /slideshow/slideshow.js
* @created: Fri, 26 Mar 10 16:43:38 -0700
*/
$j132(function () {
	$j132(".carouselViewport").itemSlider({
		sliderNext: '#sliderNext',
		sliderPrev: '#sliderPrev',
		loop: true,
		autoScroll: true,
		autoScrollTimer: 10000
	});
});

/** 
* @filepath: /utils/jquery.itemSlider.js
* @created: Fri, 26 Mar 10 16:43:39 -0700
*/
(function ($) {
    $.fn.itemSlider = function (options) {
        var defaults = {
            sliderNext: ".sliderNext",
            sliderPrev: ".sliderPrev",
            speed: 1500,
            resetSpeed: 10,
            loop: true,
            autoScroll: true,
            autoScrollTimer: 4000
        },
            settings = $.extend({}, defaults, options);
        return this.each(function () {
                var obj = $(this).children();
                var thumbs = $('a.carouselThumb');
                var viewport = obj.parent();
                var panelNums = obj.children().length;
                var currPanel = 0;
                var lastPanel = panelNums - 1;
                var firstPanel = 0;
                var w = obj.children().width();
                var h = obj.children().height();
                obj.width(w * panelNums);
                obj.css({
                    position: "absolute"
                });
                obj.children().css({
                    display: "inline",
                    float: "left"
                })
                viewport.width(w);
                viewport.height(h);
                viewport.css("overflow", "hidden");
                viewport.css("position", "relative");
                var checkPanels = function () {
                    if ((currPanel == lastPanel) && (!settings.loop)) {
                        $(settings.sliderNext).hide();
                    } else if ((currPanel == lastPanel) && (settings.loop)) {
                        $(settings.sliderNext).show();
                    } else {
                        $(settings.sliderNext).show();
                    }
                    if ((currPanel == firstPanel) && (!settings.loop)) {
                        $(settings.sliderPrev).hide();
                    } else if ((currPanel == firstPanel) && (settings.loop)) {
                        $(settings.sliderPrev).show();
                    } else {
                        $(settings.sliderPrev).show();
                    }
                    var block = obj.children();
                    block.click(function (e) {
                        if ($(this).find("a.slidelink").attr("href").length > 0) {
                            window.location = $(this).find("a.slidelink").attr("href");
                        }
                    });
                    block.addClass("isClickable");
                    block.hover(function () {
                        window.status = $(this).find("a.slidelink").attr("href")
                    }, function () {
                        window.status = ""
                    })
                }
                checkPanels();
               /* thumbs.each(function () {
                    $(this).click(function () {
                        $(this).addClass("active");
                        var tempArray = this.id.split("thumb");
                        var num = tempArray[1];
                        if (currPanel > parseInt(num)) {
                            var amountToMove = parseInt(currPanel) - parseInt(num);
                            if (settings.autoScroll) {
                                clearInterval(theTimer);
                            }
                            slideLeft(amountToMove);
                        } else if (currPanel < parseInt(num)) {
                            var amountToMove = parseInt(num) - parseInt(currPanel);
                            if (settings.autoScroll) {
                                clearInterval(theTimer);
                            }
                            slideRight(amountToMove);
                        }
                        return false;
                    });
                })*/
                var movingRight = function () {
                    thumbs.each(function () {
                        $(this).removeClass("active");
                    });
                    if (currPanel == lastPanel) {
                        $("#thumb0").addClass("active");
                    } else {
                        $("#thumb" + (currPanel + 1)).addClass("active");
                    }
                }
                var movingLeft = function () {
                    thumbs.each(function () {
                        $(this).removeClass("active");
                    });
                    if (currPanel == firstPanel) {
                        $("#thumb" + (panelNums - 1)).addClass("active");
                    } else {
                        $("#thumb" + (currPanel - 1)).addClass("active");
                    }
                }
                var slideLeft = function () {
                    var moveNum = (arguments[0] != null) ? arguments[0] : 1;
                    var currentOffset = obj.position();
                    if (!obj.is(":animated")) {
                        movingLeft();
                        if ((currPanel == 0) && (settings.loop)) {
                            obj.fadeTo('fast', 0.0, function () {
                                obj.animate({
                                    left: ((currentOffset.left) - (panelNums * w) + (w))
                                }, settings.resetSpeed, function () {
                                    obj.fadeTo('normal', 1);
                                });
                            });
                            currPanel = lastPanel;
                            checkPanels();
                        } else {
                            obj.animate({
                                left: (currentOffset.left + (w * moveNum))
                            }, settings.speed);
                            currPanel = (arguments[0] != null) ? currPanel - moveNum : currPanel - 1;
                            checkPanels();
                        }
                    }
                }
                var slideRight = function () {
                    var moveNum = (arguments[0] != null) ? arguments[0] : 1;
                    var currentOffset = obj.position();
                    if (!obj.is(":animated")) {
                        movingRight();
                        if ((currPanel == (panelNums - 1)) && (settings.loop)) {
                            obj.fadeTo('fast', 0.0, function () {
                                obj.animate({
                                    left: (panelNums / w)
                                }, settings.resetSpeed, function () {
                                    obj.fadeTo('normal', 1);
                                });
                            });
                            currPanel = 0;
                            checkPanels();
                        } else if ((currPanel == (panelNums - 1)) && (settings.autoScroll)) {
                            obj.animate({
                                left: (panelNums / w)
                            }, settings.speed);
                            currPanel = 0;
                            checkPanels();
                        } else {
                            obj.animate({
                                left: (currentOffset.left - (w * moveNum))
                            }, settings.speed);
                            currPanel = (arguments[0] != null) ? currPanel + moveNum : currPanel + 1;
                            checkPanels();
                        }
                    }
                }
                if (settings.autoScroll) {
                    autoScroll = function () {
                        theTimer = setInterval(function () {
                            slideRight();
                        }, settings.autoScrollTimer);
                    }
                    autoScroll();
                    $(this).hover(function () {
                        clearInterval(theTimer);
                    });
                    $('div.carouselContainer').click(function () {
					$("#sliderPause").attr({title:'Play', src:'wp-content/themes/myTheme/images/global/play.gif'});
                        clearInterval(theTimer);
                    }, function () {
						slideRight();
						$("#sliderPause").attr({title:'Pause', src:'wp-content/themes/myTheme/images/global/pause.gif'});
                        clearInterval(theTimer);
                        autoScroll();
                    });
                }

				$(".sliderControls").append('<img src="wp-content/themes/myTheme/images/global/left.gif" title="Prev" id="sliderPrev">');
				$(".sliderControls").append('<img src="wp-content/themes/myTheme/images/global/pause.gif" title="Pause" id="sliderPause">');
				$(".sliderControls").append('<img src="wp-content/themes/myTheme/images/global/right.gif" title="Next" id="sliderNext">');

                $("#sliderPrev").click(function () {
                    if (settings.autoScroll) {
                        clearInterval(theTimer);
                    }
                    slideLeft();
                    return false;
                });
				
				$("#sliderPause").click(function(){
						if ($(this).attr('title') == "Pause") {
							clearInterval(theTimer);
						 	$(this).attr({title:'Play', src:'wp-content/themes/myTheme/images/global/play.gif'});
						}
						else {
                            slideRight();
							theTimer = setInterval(function () {
                            slideRight();
                        	}, settings.autoScrollTimer);
						 	$(this).attr({title:'Pause', src:'wp-content/themes/myTheme/images/global/pause.gif'});
						}
						 
				});
				
                $("#sliderNext").click(function () {
                    if (settings.autoScroll) {
                        clearInterval(theTimer);
                    }
                    slideRight();
                    return false;
                });
				
            });
    };
})($j132);

