/**
 * $$ because noConflict is set within jquery.js
 */
//(function($){
    $.fn.hrefId = function() { return $(this).attr('href').substr($(this).attr('href').indexOf('#') + 1); };
    $.fn.hrefTarget = function() { return $('#' + $(this).hrefId()); };
//})($$);

var TIME = 1000;

function setReferenceSlider($navigation, $sliderContent, dst) {
    $navigation.find('li.active').removeClass('active');
    $navigation.find('li:eq(' + (dst - 1) + ')').addClass('active');
    $sliderContent.find('li:visible').fadeOut(TIME, function() {
        $sliderContent.find('#slide-' + dst).fadeIn(TIME);
    });
}


$('.reference-slider').each(function() {
    var $slider = $(this);
    var $navigation = $slider.find('div.navigation');
    var $anchors = $navigation.find('a');
    var $sliderContent = $('ul.slider-content');

    $anchors.each(function() {
        var $a = $(this);
        $a.click(function(e) {
            e.preventDefault();
            setReferenceSlider(
                $navigation,
                $sliderContent,
                parseInt($a.attr('href').replace(/.*#/, '').split('-')[1], 10)
            );
        });
    });
});


$('.slider').each(function() {
    var $slider = $(this);
    var $sliderNavigationUl = $slider.find('.navigation');
    var $navigationItems = $sliderNavigationUl.find('li');
    var $sliderContent = $slider.find('.slider-content');
    var activeIndex = 0;
    var itemsCount = $sliderNavigationUl.find('li').length;
    var interval;
    var timeout;
    var TIME = 4000;

    var setup = function() {
        $('.slider div.slider-content ul li').css({'opacity': 1});
        $('.slider div.slider-content ul li + li').css({'opacity': 0});
    };

    setup();

    var animateTo = function(index) {
        if ($slider.find('.slider-content li:animated').length)
            return;

        activeIndex = $navigationItems.filter('.active').prevAll('li').length;

        if (index == activeIndex)
            return;

        $sliderContent.find('li:eq(' + activeIndex + ')').removeClass('active').animate({'opacity': 0}, 750, function() {
            $navigationItems.filter('li:eq(' + activeIndex + ')').removeClass('active');
        });

        $sliderContent.find('li:eq(' + index + ')').addClass('active').animate({'opacity': 1}, 750, function() {
           $navigationItems.filter('li:eq(' + index + ')').addClass('active');
        });
    };

    $navigationItems.each(function() {
        var $li = $(this);
        $li.click(function(e) {
            e.preventDefault();
            stopAnimation();
            animateTo($('.navigation li').index($li));
            timeout = setTimeout(startAnimation, TIME);
        });
    });

    var startAnimation = function() {
        interval = setInterval(function() {
            activeIndex = $navigationItems.filter('.active').prevAll('li').length;
            if (activeIndex + 1 == itemsCount)
                activeIndex = 0;
            else
                activeIndex++;
            animateTo(activeIndex);
        }, TIME);
    };

    var stopAnimation = function() {
        clearInterval(interval);
        clearTimeout(timeout);
        interval = undefined;
        timeout = undefined;
    };

    startAnimation();
});


/*
 * Maps
 */
$('img.positionfield-google-map').each(function () {
    var width = $(this).width(), height = $(this).height();
    var rel = $(this).attr('rel').split(',');
    var zoom = parseInt(rel[2], 10);

    var center = new google.maps.LatLng(parseFloat(rel[0]), parseFloat(rel[1]));
    var $map = $(this).parent().css({width: width, height: height});

    var map = new google.maps.Map($map[0], {
        center: center,
        zoom: zoom,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        mapTypeControl: false,
        streetViewControl: false,
        zoomControlOptions: {
            style: google.maps.ZoomControlStyle.SMALL
        }
    });

    /*
     * Add a marker to the map
     */
    var marker = new google.maps.Marker({
        map: map,
        position: center,
        icon: themePath + '/images/marker.png'
    });

    $map.data('positionfield-map', {map: map, marker: marker});
});

$('.map').each(function() {
    var $positionField = $(this);
    var $form = $('<form>').attr({'action': '', 'method': 'post'}).addClass('roadmap');
    $form.append('<p><small>Z jakiej lokalizacji chcesz dojechać?</small><br />\
                    <span class="input-text">\
                        <span>\
                            <input type="text" title="np. Głogowska, Poznań" value="np. Głogowska, Poznań" />\
                        </span>\
                    </span>\
                     <button type="submit">\
                        <span><span>Pokaż trasę <img src="' + themePath + '/images/go.png" alt="go" /></span></span>\
                    </button>\
                </p>');
    $form.submit(function(e) {
        e.preventDefault();
        findDirections();
    });
    $form.insertBefore($positionField);
});

var $form = $('form.roadmap');
var directionsTimeout, directionsService, directionsRenderer, $origin, map, marker;

if ($form.length) {
    $origin = $form.find('input:text');
    map = $form.next().data('positionfield-map').map;
    marker = $form.next().data('positionfield-map').marker;
}

var findDirections = function() {
    if (directionsTimeout)
        clearTimeout(directionsTimeout);

    directionsTimeout = setTimeout(function() {
        if (!directionsService) {
            directionsService = new google.maps.DirectionsService();
            directionsRenderer = new google.maps.DirectionsRenderer();
            marker.setMap(null);
            directionsRenderer.setMap(map);
            directionsRenderer.setOptions({
                markerOptions: {
                    icon: themePath + '/images/marker.png'
                }
            });
        }

        directionsService.route({
            origin: $origin.val(),
            destination: marker.getPosition(),
            travelMode: google.maps.TravelMode['DRIVING']
        }, function(result, status) {
            if (status == google.maps.DirectionsStatus.OK)
                directionsRenderer.setDirections(result);
        });
    }, 300);
};


$('input:text').focus(function() {
    if (this.value == this.title)
        this.value = '';
}).blur(function() {
    if (this.value == '' && this.title)
        this.value = this.title;
});

/*
*jQuery browser plugin detection 1.0.2
* http://plugins.jquery.com/project/jqplugin
* Checks for plugins / mimetypes supported in the browser extending the jQuery.browser object
* Copyright (c) 2008 Leonardo Rossetti motw.leo@gmail.com
* MIT License: http://www.opensource.org/licenses/mit-license.php
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  THE SOFTWARE.
*/

(function($){
    if(typeof $.browser==="undefined"||!$.browser){
        var browser={};
        $.extend(browser);
    }
    var pluginList={
        flash:{
            activex:"ShockwaveFlash.ShockwaveFlash",
            plugin:/flash/gim
        },
        sl:{
            activex:["AgControl.AgControl"],
            plugin:/silverlight/gim
        },
        pdf:{
            activex:"PDF.PdfCtrl",
            plugin:/adobe\s?acrobat/gim
        },
        qtime:{
            activex:"QuickTime.QuickTime",
            plugin:/quicktime/gim
        },
        wmp:{
            activex:"WMPlayer.OCX",
            plugin:/(windows\smedia)|(Microsoft)/gim
        },
        shk:{
            activex:"SWCtl.SWCtl",
            plugin:/shockwave/gim
        },
        rp:{
            activex:"RealPlayer",
            plugin:/realplayer/gim
        },
        java:{
            activex:navigator.javaEnabled(),
            plugin:/java/gim
        }
    };

    var isSupported = function(p) {
        if (window.ActiveXObject) {
            try {
                new ActiveXObject(pluginList[p].activex);
                $.browser[p] = true;
            } catch(e) {
                $.browser[p] = false;
            }
        } else {
            $.each(navigator.plugins, function() {
                if (this.name.match(pluginList[p].plugin)) {
                    $.browser[p]=true;
                    return false;
                } else {
                    $.browser[p] = false;
                }
            });
        }
    };

    $.each(pluginList, function(i,n) {
        isSupported(i);
    });
})(jQuery);

/*
 * Embed QuickTime - jQuery plugin for embedding videos
 *
 * Copyright (c) 2007-2008 Andreas Haugstrup Pedersen
 *
 * Mail: andreas [at] solitude [dot] dk
 * Web: http://www.solitude.dk/archives/embedquicktime/
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 */
(function(A){A.embedquicktime=function(E){E=A.extend({jquery:null,plugin:null,target:null},E);var F=new Array("video/quicktime","video/mp4","video/x-m4v");var G=new Array("mov","mp4","m4v","3gp");var C=new Array("avi","wmv","mpeg","mpg","asf","asx");var H=new Array("video/mpeg","video/x-ms-asf","video/x-msvideo","video/x-ms-wmv");var I=new Array("audio/x-wav","audio/x-aiff","audio/x-mpegurl","audio/mpeg");var D=new Array("wav","aiff","aif","mp3","m3u","m4a","m4b");function B(K,J){for(i in J){if(K==J[i]){return true}}return false}A(".hvlog").not(".hvlog-processed").each(function(){if(E.target!=null&&A(this).attr("id")!=E.target){return }var K=null;A(this).find("a[rel=enclosure]").each(function(){var M=A(this);var N=M.attr("href");var P=N.substr(N.lastIndexOf(".")+1);var O=M.attr("type");K=null;if(B(P,G)||B(O,F)){K="qt"}else{if(B(P,C)||B(O,H)){K="wmv"}else{if(B(P,D)||B(O,I)){K="audio"}}}if(K!=null){A(M).click(function(){A(M).embedquicktime(M,{eqttype:K});return false})}});if(K!=null&&A(this).hasClass("share")){embedHTML="Error: JavaScript URLs not found.";if(E.jquery!=null&&E.plugin!=null){var L="eqt-"+(new Date()).getTime();embedHTML='<script type="text/javascript" src="'+E.jquery+'"><\/script> <script type="text/javascript" src="'+E.plugin+'"><\/script> <script type="text/javascript">jQuery.noConflict();jQuery(document).ready(function() { jQuery.embedquicktime({jquery: "'+E.jquery+'", plugin: "'+E.plugin+'", target: "'+L+'"});});<\/script><div class="'+A(this).attr("class")+'" id="'+L+'">'+A(this).html()+"</div>"}var J=A(this);J.append('<div class="hvlog_share"><div class="hvlog_share_link">share media</div></div>').find("div.hvlog_share_link").each(function(){A(this).css({background:"#fc9",color:"black",font:"12px sans-serif",cursor:"pointer",width:"12ex","text-align":"center",padding:"1px"}).hover(function(){A(this).css({color:"green"})},function(){A(this).css({color:"black"})}).click(function(){var N=A(this).parents(".hvlog_share");if(N.find(".hvlog_share_share:visible").length>0){N.find(".hvlog_share_share").slideUp("slow");N.find(".hvlog_share_link").empty().append("share media")}else{var M=N.parents(".hvlog").find("img").eq(0);if(M.length==0){M=N.parents(".hvlog").find("object").eq(0)}N.width(M.width());N.find(".hvlog_share_link").empty().append("close");if(N.find("div.hvlog_share_share").length==0){A('<div class="hvlog_share_share" style="display:none"><span style="text-align:right;padding:4px">Copy &amp; paste</span><textarea readonly="readonly">'+embedHTML+"</textarea></div>").css({width:N.width()-20,height:"100px",background:"#fc9",color:"black",font:"12px sans-serif",padding:"8px 10px"}).find("textarea").css({"font-size":"10px",display:"block",overflow:"hidden",margin:"0 auto 15px auto",width:N.width()-30,height:"85px"}).end().hide().click(function(){A(this).find("textarea").select();A(this).find("textarea").focus();return false}).appendTo(N).slideDown("slow")}else{N.find("div.hvlog_share_share").slideDown("slow")}}return false})})}A(this).addClass("hvlog-processed")});return this};A.fn.embedquicktime=function(B,C){var D=A.extend({},A.fn.embedquicktime.defaults,C);return this.each(function(){var J=A(this).parents(".hvlog");var H=J.metadata?A.extend({},D,J.metadata()):D;H=B.metadata?A.extend({},H,B.metadata()):H;var E=A(this).attr("href");if(H.src){E=H.src}var F=J.find("img").eq(0);if(F.length>0){var G=F.width();var M=F.height();if(H.width){G=H.width}if(H.height){M=H.height}if(H.eqttype=="audio"){M=0}if((!H.controller||H.controller!="true")||(!H.showcontrols||H.showcontrols!="true")){M=parseInt(M)+16}var I="";var K="";for(i in H){if(i!="height"&&i!="width"&&i!="src"&&i!="autoplay"&&i!="autoStart"&&i!="pluginspage"&&i!="eqttype"){I=I+'<param name="'+i+'" value="'+H[i]+'">';K=K+" "+i+'="'+H[i]+'"'}}var L=J.find(".hvlog_share").eq(0).clone(true);J.empty();if(H.eqttype=="qt"||H.eqttype=="audio"){J.append('<object width="'+G+'" height="'+M+'" autoplay="'+H.autoplay+'" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"><param name="src" value="'+E+'"><param name="autoplay" value="'+H.autoplay+'">'+I+'<embed src="'+E+'" width="'+G+'" height="'+M+'" autoplay="'+H.autoplay+'" pluginspage="http://www.apple.com/quicktime/download/"'+K+"></embed></object>").append(L)}else{if(H.eqttype=="wmv"){J.append('<object CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" type="application/x-oleobject" width="'+G+'" height="'+M+'"><param name="fileName" value="'+E+'" ><param name="autoStart" value="'+H.autoStart+'">'+I+'<embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" width="'+G+'" height="'+M+'" src="'+E+'" autostart="'+H.autoStart+'"'+K+"></embed></object>").append(L)}}return true}return false})};A.fn.embedquicktime.defaults={autoplay:"true",autoStart:"true",eqttype:"qt"}})(jQuery);


// displaying movie
$("a.show-movie").click(function(e){
	e.preventDefault();
    var flashVersion = swfobject.getFlashPlayerVersion();
	if(flashVersion.major > 0){
		$(".modal").append('<object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="720" height="429"> <param name="movie" value="' + modalPlayerUrl + '"> <param name="allowfullscreen" value="true"> <param name="allowscriptaccess" value="always"> <param name="wmode" value="transparent"> <param name="flashvars" value="file=' + modalMp4VideoUrl + '&amp;provider=http&amp;autoplay=true"> <embed type="application/x-shockwave-flash" id="player2" name="player2" src="' + modalPlayerUrl + '" width="720" height="429" wmode="transparent" allowscriptaccess="always" allowfullscreen="false" autoplay="true" flashvars="file=' + modalMp4VideoUrl + '&amp;provider=http&amp;playerready=playerReadyCallback"></object>');
	//} else if($.browser.qtime) {
//        console.log('Quicktime browser');
		//$(".modal").append('<object class="quicktime" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=7,3,0,0" id="" width="720" height="429"><param name="src" value="' + modalMovVideoUrl + '?width=720&amp;height=429"><param name="showlogo" value="false"><param name="scale" value="tofit"><param name="saveembedtags" value="true"><param name="postdomevents" value="true"><embed scale="tofit" showlogo="false" controller="true" postdomevents="true" type="video/quicktime" src="' + modalMovVideoUrl + '?width=720&amp;height=429" width="720" height="429"><param name="controller" value="true"><param name="showlogo" value="false"><param name="autostart" value="true"><param name="cache" value="true"><param name="bgcolor" value="#ffffff"><param name="aggressivecleanup" value="false"><param name="controller" value="true"><param name="posterframe" value="video/preview.jpg"><param name="showlogo" value="false"><param name="autostart" value="true"><param name="cache" value="true"> <param name="bgcolor" value="#ffffff"> <param name="aggressivecleanup" value="false"> </object>');
	}
	if($.browser.msie)
        $(".modal, .overlay").show();
	else
        $(".modal, .overlay").fadeIn();
});

var player;
function playerReadyCallback(obj){
	player = document.getElementById(obj['id']);
	player.sendEvent("PLAY","true");
}

$(".modal a.close, .overlay").click(function(e){
	e.preventDefault();
	$(".modal object").remove();
	if($.browser.msie) $(".modal, .overlay").hide();
	else $(".modal, .overlay").fadeOut();
});

