/*
	Kwicks for jQuery (version 1.5.1)
	Copyright (c) 2008 Jeremy Martin
	http://www.jeremymartin.name/projects.php?project=kwicks
	
	Licensed under the MIT license:
		http://www.opensource.org/licenses/mit-license.php

	Any and all use of this script must be accompanied by this copyright/license notice in its present form.
*/
var vidKwickPlaying = -1;

var kwikBaseHeightMin = "22px";
var kwikBaseHeightMax = "115px";
var aniArgs = {};

(function ($) {
    $.fn.kwicks = function (options) {
        var defaults = {
            isVertical: false,
            sticky: false,
            defaultKwick: 0,
            event: 'mouseover',
            spacing: 0,
            duration: 500
        };
        var o = $.extend(defaults, options);
        var WoH = (o.isVertical ? 'height' : 'width'); // WoH = Width or Height
        var LoT = (o.isVertical ? 'top' : 'left'); // LoT = Left or Top

        return this.each(function () {
            container = $(this);
            var kwicks = container.children('li');
            var normWoH = kwicks.eq(0).css(WoH).replace(/px/, ''); // normWoH = Normal Width or Height
            if (!o.max) {
                o.max = (normWoH * kwicks.size()) - (o.min * (kwicks.size() - 1));
            } else {
                o.min = ((normWoH * kwicks.size()) - o.max) / (kwicks.size() - 1);
            }
            // set width of container ul
            if (o.isVertical) {
                container.css({
                    width: kwicks.eq(0).css('width'),
                    height: (normWoH * kwicks.size()) + (o.spacing * (kwicks.size() - 1)) + 'px'
                });
            } else {
                container.css({
                    width: (normWoH * kwicks.size()) + (o.spacing * (kwicks.size() - 1)) + 'px',
                    height: kwicks.eq(0).css('height')
                });
            }

            // pre calculate left or top values for all kwicks but the first and last
            // i = index of currently hovered kwick, j = index of kwick we're calculating
            var preCalcLoTs = []; // preCalcLoTs = pre-calculated Left or Top's
            for (i = 0; i < kwicks.size(); i++) {
                preCalcLoTs[i] = [];
                // don't need to calculate values for first or last kwick
                for (j = 1; j < kwicks.size() - 1; j++) {
                    if (i == j) {
                        preCalcLoTs[i][j] = o.isVertical ? j * o.min + (j * o.spacing) : j * o.min + (j * o.spacing);
                    } else {
                        preCalcLoTs[i][j] = (j <= i ? (j * o.min) : (j - 1) * o.min + o.max) + (j * o.spacing);
                    }
                }
            }

            // loop through all kwick elements
            kwicks.each(function (i) {
                var kwick = $(this);
                // set initial width or height and left or top values
                // set first kwick
                if (i === 0) {
                    kwick.css(LoT, '0px');
                }
                // set last kwick
                else if (i == kwicks.size() - 1) {
                    kwick.css(o.isVertical ? 'bottom' : 'right', '0px');
                }
                // set all other kwicks
                else {
                    if (o.sticky) {
                        kwick.css(LoT, preCalcLoTs[o.defaultKwick][i]);
                    } else {
                        kwick.css(LoT, (i * normWoH) + (i * o.spacing));
                    }
                }
                // correct size in sticky mode
                if (o.sticky) {
                    if (o.defaultKwick == i) {
                        kwick.css(WoH, o.max + 'px');
                        kwick.addClass('active');
                    } else {
                        kwick.css(WoH, o.min + 'px');
                    }
                }
                kwick.css({
                    margin: 0,
                    position: 'absolute'
                });

                kwick.bind('click', function() {
                    var thisID = kwick.attr("id");
                    if (vidKwickPlaying == 1)
                    {
                        vidStopAllExcept('vid' + thisID.toString());
                        $('#' + thisID).trigger('mouseenter');
                    }

                    });

                kwick.bind(o.event, function () {
                    // calculate previous width or heights and left or top values

                    if ((o.event != 'click' && vidKwickPlaying < 1) || (o.event == 'click'))
                    {
                        var prevWoHs = []; // prevWoHs = previous Widths or Heights
                        var prevLoTs = []; // prevLoTs = previous Left or Tops
                        var thisID = kwick.attr("id");   // ********************* WP 
                        clearTimeout(oTimer);
                        kwicks.stop().removeClass('active').not('[id = ' + thisID + ']').find('.kwickpop').stop().hide();   // ********************* WP    $(this).animate({ marginTop: "40px" }, 500);
                        vidStopAllExcept('vid' + thisID.toString());
                        aniArgs = {}; // ********************* WP   */
                        aniArgs["height"] = kwikBaseHeightMin; // ********************* WP   */
                        kwicks.find('.kwickbase').stop();
                        kwicks.find('.kwickbase-small').stop();
                        //kwicks.find('.kwickpop').stop().hide();

                        kwicks.not('[id = ' + thisID + ']').find('.kwickbase').animate(aniArgs, 300, function(){
                        kwicks.not('[id = ' + thisID + ']').find('.kwickbase').hide();
                        }); 
                        // ********************* WP  , function(){ $(this).hide();$(this).parent().find('.kwickbase-small').show() */
                        //kwicks.find('.kwickbase').fadeTo(50, 0).hide(); // WP   , function(){kwicks.find('.kwickbase').fadeTo(50, 0).hide();}
                    
                        for (j = 0; j < kwicks.size(); j++) {
                            prevWoHs[j] = kwicks.eq(j).css(WoH).replace(/px/, '');
                            prevLoTs[j] = kwicks.eq(j).css(LoT).replace(/px/, '');
                        }
                        var aniObj = {};
                        aniObj[WoH] = o.max;
                        var maxDif = o.max - prevWoHs[i];
                        var prevWoHsMaxDifRatio = prevWoHs[i] / maxDif;

                        kwick.addClass('active').animate(aniObj, {

                            complete: function () {
                                kwicks.find('.kwickbase-small').fadeTo(100, 1).show(); // WP 
                                kwick.find('.kwickpop').delay(400).fadeTo(500, 1);   // ********************* WP 
                                kwick.find('.kwickbase-small').fadeTo(100, 0).hide();   // ********************* WP 
                                kwick.find('.kwickbase').fadeTo(100, 1).show();   // ********************* WP                     
                            },

                            step: function (now) {
                                // calculate animation completeness as percentage
                                var percentage = maxDif != 0 ? now / maxDif - prevWoHsMaxDifRatio : 1;
                                // adjsut other elements based on percentage
                                kwicks.each(function (j) {
                                    if (j != i) {
                                        kwicks.eq(j).css(WoH, prevWoHs[j] - ((prevWoHs[j] - o.min) * percentage) + 'px');
                                    }
                                    if (j > 0 && j < kwicks.size() - 1) { // if not the first or last kwick
                                        kwicks.eq(j).css(LoT, prevLoTs[j] - ((prevLoTs[j] - preCalcLoTs[i][j]) * percentage) + 'px');
                                    }
                                });
                            },
                            duration: o.duration,
                            easing: o.easing
                        });
                    } // jwplayer testing/changes
                });
            });
            if (!o.sticky) {
                container.bind("mouseleave", function () {
                    var prevWoHs = [];
                    var prevLoTs = [];
                    kwicks.removeClass('active').stop();
                    for (i = 0; i < kwicks.size(); i++) {
                        prevWoHs[i] = kwicks.eq(i).css(WoH).replace(/px/, '');
                        prevLoTs[i] = kwicks.eq(i).css(LoT).replace(/px/, '');
                    }
                    var aniObj = {};
                    aniObj[WoH] = normWoH;
                    var normDif = normWoH - prevWoHs[0];
                    kwicks.eq(0).animate(aniObj, {
                        step: function (now) {
                            var percentage = normDif != 0 ? (now - prevWoHs[0]) / normDif : 1;
                            for (i = 1; i < kwicks.size(); i++) {
                                kwicks.eq(i).css(WoH, prevWoHs[i] - ((prevWoHs[i] - normWoH) * percentage) + 'px');
                                if (i < kwicks.size() - 1) {
                                    kwicks.eq(i).css(LoT, prevLoTs[i] - ((prevLoTs[i] - ((i * normWoH) + (i * o.spacing))) * percentage) + 'px');
                                }
                            }
                        },
                        duration: o.duration,
                        easing: o.easing
                    });
                });
            }
        });
    };
})(jQuery);



			var iOpenSlide = 0;
            var iTimerOn = 0;
            var oTimer;

            $().ready(function () {

                $('.kwickbase').css("height", kwikBaseHeightMin);
                $('.kwickbase-small').css("height", kwikBaseHeightMin);
                $('#concertina').css("visibility", "visible");

                $('.kwicks').kwicks({
                    min: 85,
                    event: 'mouseenter',
                    sticky: true,
                    //duration: 400,
                    defaultKwick: 4
                });

                if (iOpenSlide == -1) {
                    iOpenSlide = Math.floor(Math.random() * 5); // random num: 0,1,2,3,4
                }
                iOpenSlide = ((iOpenSlide < 0) || (iOpenSlide > 4) || (iOpenSlide.length > 1)) ? 0 : iOpenSlide;

                $('.kwickbase').eq(iOpenSlide).trigger('mouseenter');

                //if (iTimerOn == 0) {
                //    iTimerOn = 1;
                //    doSlide(iOpenSlide);
                //}

                var aniArgu = {};
                $('.kwickbase').click(function () {
                    var strHeight = $(this).css('height');
                    if (strHeight == kwikBaseHeightMin) {
                        if (vidKwickPlaying != 1) {
                            $(this).parent().find('.kwickpop').fadeTo(500, 0, function () { $(this).hide(); });
                        }
                        aniArgu["height"] = kwikBaseHeightMax;
                        $(this).animate(aniArgu, 300);
                    }
                    else {
                        aniArgu["height"] = kwikBaseHeightMin;
                        $(this).animate(aniArgu, 300);
                        if (vidKwickPlaying != 1) {
                            $(this).parent().find('.kwickpop').fadeTo(500, 1);
                        }
                    }
                });

            });


        function doSlide(i) {
            $('.kwickbase').eq(i).trigger('mouseenter');
            i = (i + 1) <= 4 ? (i + 1) : 0;

            oTimer = setTimeout("doSlide(" + i.toString() + ")", 2500);
        }

        function vidStopAll() {
            var i;
            if (vidKwickPlaying > -1) {
                for (i = 0; i <= 10; i++) {
                    if (jwplayer(i)) {
                        jwplayer(i).stop();
                    }
                }
            }
        }

        function vidStopNum(i) {
            if (vidKwickPlaying > -1) {
                if (jwplayer(i)) {
                    jwplayer(i).stop();
                }
            }
        }

         function vidStopAllExcept(vname) {
             var i;
             if (vidKwickPlaying > -1) {
                 for (i = 0; i <= 10; i++) {
                     if (jwplayer(i)) {
                         if (jwplayer(i).id != vname) {
                             jwplayer(i).pause(true);
                         }
                     }
                 }
             }

        }


