// *****************************************************************************

/* footer sitemap */	
function footernav_init() {
		//var dd = document.domain;
		var fnav = jQuery("div#footernav div#fnav");
		fnav.load("/static/footer.html");		
 		
 		var expander = jQuery("div#footernav a.expander");
 		expander.click(
			function() {
				fnav.toggle();				
				return false;
			}
		);
		expander.toggle(
      				function () {
        				$(this).css({"backgroundPosition":"bottom right"});
        				jQuery("#footernav").css({"marginBottom":"525px"});
      				},
      				function () {
        				$(this).css({"backgroundPosition":"top right"});
        				jQuery("#footernav").css({"marginBottom":"0"});
      				}
    			);
	
}
function gateway_init() {
        /* Check whether the browser is IE. If so, flashVideoPlayer is
        window.videoPlayer. Otherwise, it's document.videoPlayer. The
        videoPlayer is the ID assigned to the <object> and <embed> tags. */
        var isIE = navigator.appName.indexOf("Microsoft") != -1;
        flash_player = (isIE) ? window['flash_player1'] : document['flash_player1'];
}

/* clear input field  */	
function doClear(theText) {
     if (theText.value == theText.defaultValue) {theText.value = "";}
}
/*
 * clear and restore input field
 * Usage: Put the following line in $(document).ready: 
 * 		$(".ClassNameOfClearableFields").doClear2();
 */ 
$.fn.doClear2 = function() {
	return this.focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});
};
 
/* get today's date */	
function todaystring() {	
	var today = new Date();
	var day = '';
	switch (today.getDay()) {
    case 0:
      day = 'Sunday'; break;
    case 1:
      day = 'Monday'; break;
    case 2:
      day = 'Tuesday'; break;
    case 3:
      day = 'Wednesday'; break;
    case 4:
      day = 'Thursday'; break;
    case 5:
      day = 'Friday'; break;
    case 6:
      day = 'Saturday'; break;
  }
	var mo = today.getMonth()+1;
	mo = (mo < 10) ? '0'+mo : mo;
	var daydigit = today.getDate();
	daydigit = (daydigit < 10) ? '0'+daydigit : daydigit;
	var year = today.getFullYear();
	year = (year+"").substring(2,4);
	return day+', '+mo+'.'+daydigit+'.'+year;
}
/* load file */
function loadFile(id, file){
	$('div#'+id).load(file);
}

/* load grid pane on bloggers and columnists with sort options */	
function loadGridPane_sort(file) {
	$('div#grid div.latest').load(file+'.html');	
	//setTimeout("reinitialiseScrollPane();", 200);
	$('div#grid div.alpha').load(file+'_alpha.html');
}

/* load grid pane */
function loadGridPane(file) {
	$('div#grid').load(file);	
	//setTimeout("reinitialiseScrollPane();", 200);
}
function reinitialiseScrollPane(){
	$('#grid').jScrollPane({showArrows:true, scrollbarWidth: 16, scrollbarMargin: 0, arrowSize: 24, dragMinHeight:88});
}

/* load community panel */	
function loadCommunity(section, obj) {
	$('p#newsfrom_bcounty').remove();
	$('li.load_msg').show();
	$('div#community_template').load('/'+section+'/v-community/index.html', function(){
			$('li.load_msg').hide();
			if (section == 467){drawNewsFrom(obj);}
		});
	return false;
}
function drawNewsFrom(obj){
	var aText = $(obj).text();
	var newsFrom = '<p id="newsfrom_bcounty" class="newsfrom" style="float: none;"><span>NEWS FROM:</span> Broward County and '+aText+'</p>';
	$('div#community_template').prepend(newsFrom);
}

jQuery(document).ready(function() { 
	window.setTimeout("footernav_init();", 500); 
	
/* panel nav - change background image to highlighted */		
	var navLink = jQuery("div.panelnav ul:not(.link-list) li:not(.sort) a, div.tab div.subnav ul li a, div.subnav_bottom ul li a");
 		navLink.click(
			function() {
				jQuery(this).parent("li").siblings().removeClass("x");				
				jQuery(this).parent("li").addClass("x");				
				return false;
			}
		);
		
/* initialize news grid */	
	$("ul.newsgrid li:eq(1)").addClass("x");
	$("div#newsgrid span.newsgrid").children("div.topStories:first").show();

/* define newsgrid tab clicks */
	$('a.newsgridTab').click(
			function() {
                var tabID = $(this).attr('id');
                tabID = tabID.replace('tab_','');
				$('#newsgrid span.newsgrid').children('div.topStories').hide();
                $('div.'+tabID).show();
                return false;
			}
		);

/* calculate timestamps for mainstage stories */
	var timestamps = $('span.timestamp');
	jQuery.each(timestamps, function(){
		var current_time = Math.round(new Date().getTime()/1000.0);
		var modified_time = $(this).html();	
		var time_diff = current_time - modified_time; 
		var timestamp = new Date(modified_time * 1000);
		var hrs = timestamp.getHours();		
		var ampm = (hrs < 12) ? ' AM ' : ' PM ';
		hrs = (hrs > 12) ? hrs - 12 : hrs;
		var mins = timestamp.getMinutes();
		mins = (mins < 10) ? '0'+mins : mins;		
		var mins_ago = new Date((current_time - modified_time) * 1000);
		mins_ago = mins_ago.getMinutes();
		mins_ago = (mins_ago == 0) ? 1 : mins_ago;
		var min_string = (mins_ago == 1) ? ' minute ago' : ' minutes ago';
		if (time_diff < 3300){
			timestamp = 'Updated '+mins_ago+ min_string;
		} else {		
			timestamp = hrs+':'+mins+ampm+' ET';
		}
		$(this).text('- '+timestamp);
		$(this).show();
	});	

/* scroll left and right functionality for inside miamiherald panels */
	$.scrollTo.defaults.axis = 'x';
	$('div.scroll').scrollTo( 0 );//reset all scrollable panes to (0,0)
	$.scrollTo( 0 );//reset the screen to (0,0)
	var paneTarget = $('div.scroll');	
	$('img.right').click(function(){
				$(this).nextAll(paneTarget).stop().scrollTo( '+=264px', 800 );
			});
	$('img.left').click(function(){
				$(this).nextAll(paneTarget).stop().scrollTo( '-=264px', 800 );
			});
			
/* tabs - change background image to highlighted */	
	$('ul.tabs li a').click(
			function() {
				jQuery(this).parent("li").siblings().removeClass("x");				
				jQuery(this).parent("li").addClass("x");				
				return false;
			}
		);		
		
/* sort functionality for columnists and bloggers pages */
	$('a#alpha').click(
			function() {
				$('div.panelnav ul li.sort a').removeClass("x");				
				$(this).addClass("x");			
				$('div.latest').hide();						
				$('div.alpha').show();		
				return false;
			}
		);
	$('a#latest').click(
			function() {
				$('div.panelnav ul li.sort a').removeClass("x");				
				$(this).addClass("x");			
				$('div.alpha').hide();						
				$('div.latest').show();		
				return false;
			}
		);
		
/* set the highlighted background image for the first and last navbar items w rounded corner images */
	if ($('#navbar ul li.f').children('a').hasClass('x')){
		$('#navbar ul li.f').css({ backgroundPosition:'-26px 100%'});
	}
	if ($('#navbar ul li.l').children('a').hasClass('x')){
		$('#navbar').css({ backgroundPosition:'976px 100%'});
	}
	$('#navbar ul li.f a').hover(
		function() {$('#navbar ul li.f').css({ backgroundPosition:'-26px 100%'});},
		function() {
			if ($(this).hasClass('x')){	return false;}
			else{$('#navbar ul li.f').css({ backgroundPosition:'-26px 0'});	}
		});
	$('#navbar ul li.l a').hover(
		function() {$('#navbar').css({ backgroundPosition:'976px 100%'});},
		function() {
			if ($(this).hasClass('x')){return false;}
			else{$('#navbar').css({ backgroundPosition:'976px 0'});	}
		});
	$('ul.newsgrid li:last').addClass('end');	
	$('a.external').append('&nbsp;<img src="/images/redesign/icons/external.gif" />');	
	
/* add Next button to comments */
	window.setTimeout("addPagerLinks();", 3000);      

});	

/*********************
 * Use this to parse a query string
 * If only a single argument is passed, the browsers URL will be used for the query
 * If both arguments are passed, the first will be searched for in the second
 */ 
function getQueryStrVariable(variable,hrefstring) { 
	if (!(hrefstring)) {
		var hrefstring = window.location.href;
	}
	var queryIndex = hrefstring.indexOf('?') + 1; 
	var query = hrefstring.substring(queryIndex); 
	var vars = query.split("&"); 
	for (var i=0;i<vars.length;i++) { 
		var pair = vars[i].split("="); 
		if (pair[0] == variable) { 
			return pair[1]; 
		} 
	} 
	return false;
} // END getQueryString()

// *****************************************************************************
function addPagerLinks() {
	var pageNum = parseInt($('div#nyxComments_pager span.paginationNavLinks span').text());
	pageNext = pageNum + 1;
	var pageUrl = location.href;
	pageUrl = pageUrl.substring(0,pageUrl.lastIndexOf("\?"));
	var nextUrl = pageUrl+'?pageNum=' + pageNext + '&mi_pluck_action=page_nav#Comments_Container';
	var nextLink = '<a class="pager" href="'+nextUrl+'">Next</a>';	
	$('div#nyxComments_pager span.paginationNavLinks a:last-child').after(' '+nextLink);
	if (pageNum > 1) {		
		pagePrev = pageNum - 1;
		var prevUrl = pageUrl+'?pageNum=' + pagePrev + '&mi_pluck_action=page_nav#Comments_Container';
		var prevLink = '<a class="pager" href="'+prevUrl+'">Prev</a>';
		$('div#nyxComments_pager span.paginationNavLinks a:first-child').before(' '+prevLink+' ');
	}
}
/*********************
 * Test Alert functionality. 
 * In storylevel, add ?test=1 to URL to enable debug mode
 */
function alertTest2(alertTestMessage) {
// Use this to activate or deactivate the level 2 alert messages
	if (getQueryStrVariable('test') == '2') {
		alert(alertTestMessage);
	}
}
function alertTest(alertTestMessage) {
// Use this to activate or deactivate the level 1 alert messages
	if (getQueryStrVariable('test') == '1') {
		alert(alertTestMessage);
	}
}
// *****************************************************************************

/**
 * jQuery functions to test if an element exists.
 * .ifExists() can be chained in a jQuery call and .exists() can be tested for true/false.
 *  example: if ($(selector).exists()) { }
 */
jQuery.fn.exists = function() { return (this.length > 0); };
jQuery.fn.ifExists = function() { if (this.length > 0) { return this; } };


