jQuery.extend({
    KTA: {}
});

jQuery.KTA.gmap = function(){
    
    return {
        
        contactMap: function(img) {
            
            if (GBrowserIsCompatible()) {
                
                var address = 'Knowledge to Action Ltd, 18 Quayside Lodge, William Morris Way, London SW6 2UZ';
                var map = new GMap2(document.getElementById('contact-map'));
                var ktaicon = new GIcon();
                ktaicon.image = img;
                ktaicon.iconSize = new GSize(21, 31);
                ktaicon.iconAnchor = new GPoint(6, 20);
                ktaicon.infoWindowAnchor = new GPoint(5, 1);
                opt = {icon:ktaicon};
                var geocoder = new GClientGeocoder();
                geocoder.getLatLng(
                    address,
                    function(pt) {
                        map.setCenter(pt, 14);
                        var marker = new GMarker(pt, opt);
                        map.addOverlay(marker);
                        GEvent.addListener(marker, "click", function() {
                            var html = '<div style="color:#000;"><strong style="font-weight: bold;">Knowledge To Action</strong><br><br>Knowledge to Action Ltd,<br>18 Quayside Lodge,<br>William Morris Way,<br>London SW6 2UZ</div>';
                            marker.openInfoWindowHtml(html);
                        });
                    }
                );
                map.setUIToDefault();
                
            }
            
        }
        
    };
    
}();

(function($){
    
    $.fn.extend({
        
        faqTabs: function(){
            
            return this.each(function(){
                
                $(this).find('ul li a').click(function(e){
                    e.preventDefault();
                    var id = $(e.currentTarget).attr('href');
                    var li = $(e.currentTarget).parent();
                    if (!li.hasClass('current')) {
                        var cli = li.parent().find('.current');
                        var cid = cli.find('a').attr('href');
                        $(cid).toggle();
                        cli.removeClass('current');
                        li.addClass('current');
                        $(id).toggle();
                    }
                });
                
            });
            
        }
        
    });
    
})(jQuery);

jQuery.KTA.gtPlayer = function() {
    
    return {
        
        loader: function(player) {
            
            var playerid = 'graduate-testimonials-player';
            var overlayid = 'player-overlay';
            
            $f(playerid, player, {
                
                key: '#$546c9f55ce346c305bf',
               
                onKeyPress: function(key) {
                	if (key == 27) {
            			$('#'+overlayid).overlay().close();
            		}
                },
                
                clip: {
                    autoPlay: false,
                    autoBuffering: true
                },
                
                plugins: {
                    controls: null
                }
                
            })
            .playlist('#graduate-testimonials-playlist li', {playOnClick: true})
            .controls('player-controls',
                {template:    '<div class="track-wrapper"><div class="track">'
    	                        + '<div class="buffer"></div>'
    	                        + '<div class="progress"></div>'
    	                        + '<div class="playhead"></div>'
    	                    + '</div></div>'
    	                    + '<div class="buttons">'
    	                        + '<a class="play">play</a>'
    	                        + '<div class="time"></div>'
    	                        + '<a class="expand">exp</a>'
    	                        + '<a class="mute">mute</a>'
    	                    + '</div>'
    	                });
    	                
    	    var playing = false;
            
            $('#'+overlayid).overlay({

            	expose: '#123448',

            	onLoad: function() {
                    
                    var embed = $('.video-player-wrapper').addClass('overlaid');
                    
                    var el = this.getContent();
                    var height = el.height();
                    
                    embed.css({
                        width: parseInt(el.width()),
                        height: parseInt(height)+1,
                        left: parseInt(el.css('left'))+2,
                        top: parseInt(el.css('top'))+1
                    });
                    
                    $(document).trigger('onResize');
                    
                    if (playing) {
                        $f().resume();
                    }
                    
            	},

            	onClose: function() {
            	    
                    if ($f().isPlaying()) {
                        playing = true;
                        $f().pause();
                    }
                    $('.video-player-wrapper').css({top: null, left: null, width: null, height: null}).removeClass('overlaid');
                    $(document).trigger('onResize');
                    if (playing) {
                        $f().resume();
                    }
                    
            	}
            	
            });
            
            $('#player-controls .expand').click(function(e){
                if ($f().isPlaying()) {
                    playing = true;
                    $f().pause();
                }
                $('#'+overlayid).overlay().load();
            });
            
        },
        
        paginate: function(lists) {
            
            if (typeof lists == 'object') {
                
                var total = 0;
                
                lists.each(function(){
                    
                    if ($(this).find('li').length > total) {
                        total = $(this).find('li').length;
                    }
                    
                });
                
                lists.gtPagination({total:total});
                
            }
            
        }
    
    };
    
}();

(function($){
    
    $.fn.extend({
        
        gtPagination: function(opts){
            
            return this.each(function(){
                
                var o = $.extend({},opts);
                var len = $(this).find('li').length
                
                if (o.total === undefined) {
                    o.total = len;
                }
                // if this is a short list, we need to add some empty list items
                else if (o.total > len) {
                    var width = $(this).find('li').filter(':first').css('width');
                    var str = '';
                    for (var i=0,l=o.total-len;i<l;i++) {
                        str += '<li style="width:'+width+'"></li>';
                    }
                    $(this).append(str);
                }
                
                if (o.scrollby === undefined) {
                    o.scrollby = 3;
                }
                
                // get the outer clip element
                var wrapper = $(this).parent();
                
                var adjust = wrapper.attr('offsetWidth')+21;
                
                var pages = Math.ceil(o.total/o.scrollby);
                var page = 1;
                
                var paginate = function(e){
                    e.preventDefault();
                    var target = e.currentTarget;
                    if (!$(target).hasClass('disabled')) {
                        var thisadjust = adjust;
                        var back = false;
                        if ($(target).hasClass('back')) {
                            thisadjust = -adjust;
                            back = true;
                        }
                        if(!wrapper.is(":animated")) {
                            wrapper.animate({
    		                    scrollLeft: wrapper.scrollLeft()+thisadjust
    		                },function(){
    		                    var dpage = $('#dummypage');
    		                    var rpage = $('#realpage');
    		                    var pagetarget = dpage;
    		                    if (!back && dpage.html() > rpage.html()) {
    		                        pagetarget = rpage;
    		                    }
    		                    if (back && dpage.html() < rpage.html()) {
    		                        pagetarget = rpage;
    		                    }
    		                    var currpage = pagetarget.html();
    		                    if (back) {
    		                        var newpage = Number(currpage)-1;
    		                        if (newpage == 1) {
    		                            $(target).addClass('disabled');
    		                        }
    		                        $(target).parent().find('a.next').removeClass('disabled');
    		                    } else {
    		                        var newpage = Number(currpage)+1;
    		                        if (Number(newpage) == Number(pages)) {
    		                            $(target).addClass('disabled');
    		                        }
    		                        $(target).parent().find('a.back').removeClass('disabled');
    		                    }
    		                    pagetarget.html(newpage);
    		                });
                        }
                    }
                };
                
                if ($('#playlist-nav').html() == '') {
                    $('#playlist-nav').html('<p><span id="dummypage" style="display: none;">'+page+'</span>Page <span id="realpage">'+page+'</span> of <span id="numpages">'+pages+'</span> <a href="" class="back disabled">Back</a> | <a href="" class="next">Next</a></p>');
                }
                
                $('#playlist-nav a').click(paginate);
                
            });
            
        }
        
    });
    
})(jQuery);

