/**
 * @author mkirk
 */
// configuration variables
	var URL_images = 'http://observerdigital/matt/thatsracin/images/'; // URL of where the blank.gif image will live.

// jQuery code
	$(document).ready(function(){

		// create tabbed content areas
		// uses jQuery UI tabs plugin - http://ui.jquery.com/
			$('div.tabbed>ul').tabs({ remote: true });
			$('div.tabbed ul.tabs li a').focus(function(){
				this.blur();
			});
		
		// driver standings row hover
			$('#driver-standing tr.driver').mouseover(function() {
                $(this).addClass('hover');
            }).mouseout(function(){
                $(this).removeClass('hover');
            });
			
		// table zebra stripes
			$('ul.zebra').each(function(){
				$('li:nth-child(odd)',this).addClass('odd');
			});
			$('table.zebra').each(function(){
				$('tr:nth-child(odd)',this).addClass('odd');
			});

			
			
			
			
		//login form show/hide
			$('p.login-link').click(function() {
				$('div#login-form').slideToggle();
			});

		// multimedia panel switcher
			$('div#media-bar div.mb-panels').cycle(
				{
					fx:'scrollHorz',
					speed:500,
					timeout:7500,
					next:'div#media-bar span.next a', 
	    			prev:'div#media-bar span.prev a',
					pager:'div#media-bar span.pagination',
					pagerAnchorBuilder:function(idx,slide){
						return '<a href="#"><img src="http://media.charlotteobserver.com/static/design/blank.gif" alt=""><\/a>';
					}
				}
			);
			$('#mediabar .mb-pagination a,#mediabar .mb-left a, #mediabar .mb-right a').focus(function(){ this.blur(); });
            
       // change background of photo container on hover
	   		$('div.mb-panel li').mouseover(function() {
                $(this).addClass('active');
				$('div#media-bar div.mb-panels').cycle('pause');
            }).mouseout(function(){
                $(this).removeClass('active');
				$('div#media-bar div.mb-panels').cycle('resume');
            });
            
		
		// mini-slideshow cycle function, builds pagination and sets transition
			$('div#mini-slideshow div.slides ul').cycle(
				{
					fx: 'scrollHorz',
					speed:1,
					timeout:0,
					prev:'div#mini-slideshow span.prev a',
					next:'div#mini-slideshow span.next a',
					pager:'div#mini-slideshow span.pagination',
					pagerAnchorBuilder:function(idx,slide){
						return '<a href="#"><img src="http://media.charlotteobserver.com/static/design/blank.gif" alt=""><\/a>';
					},
					after: after
				}
			);
			
            function after(){
                var thisHeight = parseInt($('img', this).attr('height'));
                var calcHeight = parseInt(thisHeight)+200;
                var minidivHeight = parseInt(calcHeight)+50;
                $('#mini-slideshow').css('height',minidivHeight+'px');
                $('#mini-slideshow div.slides ul').css('height',calcHeight+'px');
                $('#mini-slideshow div.slides ul li').css('height',calcHeight+'px');
                $('span#mini-slideshow-loader').hide();
            };
			
			
		// drivers list margin adjust
			var count = 0;
			$('div.contentlist-vert div.list-item').each(function(i){
				if(count == 3){ 
					count = 0;
					$(this).css("margin-right", "0");
				} else {
					count++;
					$(this).css({'margin-right':'14px', 'padding-right':'14px'});
				}
			 });
			
		// article tools share show/hide
			$('div.story-tools li.share').click( function() {
				var span = $('li.share span');
				if ($('div#share').is(":hidden")) {
					$(span).removeClass('icon-down');
					$(span).addClass('icon-up');
				}
				else {
					$(span).removeClass('icon-up');
					$(span).addClass('icon-down');
				}
				$('div#share').slideToggle("normal");
			});
			
		// Comment Disclaimer
            $('a#disclaimer-link').click( function() {
                var id = this.id;
				if ($('div.'+id).is(":hidden")) {
					$('span.'+id).removeClass('icon-down');
					$('span.'+id).addClass('icon-up');
				}
				else {
					var height = $('div#disclaimer-wrap').height();
					var nHeight = height + 18;
					$('div#disclaimer-wrap').css('height', nHeight);
					$('span.'+id).removeClass('icon-up');
					$('span.'+id).addClass('icon-down');
				}
				$('div.'+id).slideToggle("normal", hide);
				
				function hide(){
					$('div#disclaimer-wrap').css('height', 'auto');
				}
            });
            
            
        // Homepage Stats
            $('div#homepage-stats h2.section-header').click( function(){
                var span = $('div#homepage-stats h2.section-header span');
                if ($('div.stats-wrap').is(":hidden")) {
                    $(span).removeClass('icon-down');
                    $(span).addClass('icon-up');
                }
                else {
                    $(span).removeClass('icon-up');
                    $(span).addClass('icon-down');
                }
                $('div.stats-wrap').slideToggle('normal');
            });
            
            
        // Secondary Stories Height Adjust
        var thisHeight = '';
        var tallest = '';
        $('#sec_articles .img100-list-item').each(function(i) {
            if(i==0) {
                tallest = $(this).height();
            } else {
                thisHeight = $(this).height();
                if(thisHeight > tallest) {
                    tallest = thisHeight;
                }
            }  
        });
        
        $('#sec_articles .img100-list-item').each(function() {
            $(this).css("height", tallest);
        });
			
});
        
        //PLUCK FUNCTIONS THAT HIT MANY SECTIONS, PAGES

                function MostActivity() {
                        
                        var items = new Array();
                        var i = 0;
                        var counter = 1;
                        var searchCategories = new Array(); 
                        var activityDisco = new Activity('Commented');  
                        var requestBatch = new RequestBatch();
                        var activityRecommended = new DiscoverArticlesAction('',searchCategories,'',activityDisco,14,5);
                        requestBatch.AddToRequest(activityRecommended);
                        requestBatch.BeginRequest(serverUrl, ActiveCallBack);
                        
                        function ActiveCallBack(responseBatch) {
                                var str = '';
                                var list = '';
                                var Discover = responseBatch.Responses[0].DiscoverArticlesAction.DiscoveredArticles;
                                
                                var result = jQuery.each(Discover, function () {
                                        var noCom = parseInt(this.Comments.NumberOfComments);
                                        var noRec = parseInt(this.Recommendations.NumberOfRecommendations);
                                        var total = noCom + noRec;
                                        str+='<li class="clearfix">';
                                        str+='<div class="rank"><\/div><!-- \/div.rank -->';
                                        str+='<div class="article">';
                                        str+='<h4><a href="' + this.PageUrl + '">' + this.PageTitle+ '<\/a><\/h4>';
                                        str+='<div class="time-stamp">(' + noCom + ') comments | (' + noRec + ') recommends<\/div><!-- \/div.time-stamp -->';
                                        str+='<\/div><!-- \/div.article -->';
                                        str+='<\/li>';
                                        items[i] = [total, str];
                                        i = i + 1;
                                        str = '';
                                        });
                                
                                function sortNumber(a,b)
                                {
                                        return a[0] < b[0]
                                }
                                items.sort(sortNumber);
                                
                                for (var c=0; c<items.length; c++) {
                                        list += items[c].pop();
                                        }
                                        $('#most-popular').append(list);
                                        }
                                        }
