/* LT.js */
$(document).ready(function() {
// refreshToolbar
$.refreshToolbar = function() {	
	// Show or Hide toolbar buttons
	( $.trim( $("#btn-home").attr('href') ) == '' ) ?  $("#btn-home").hide() : $("#btn-home").show(); 
	( $.trim( $("#btn-policies").attr('href') ) == '' ) ?  $("#btn-policies").hide() : $("#btn-policies").show(); 
}
// windowResize
$.windowResize = function() {	
	$('#wrap-content').css('height', $(window).height() - 110 + 'px').css('top', '85px').css('left', '330px').css('width', $(window).width() - 350 + 'px');
	// Intro page
	$('#wrap-intro').css('height', $(window).height() - 110 + 'px').css('overflow','visible').css('top', '85px').css('left', '330px').css('width', $(window).width() - 380 + 'px');
	// make intro page content at least as high as it's image
	$('#intro-page .body').css('min-height', ($('#intro-page .body img').height()+25) + 'px');
	$('#intro-page .body').corner();
	// set height of tabbed interfaces
	$(".tab-content-print").css('height', $(window).height() - 140 + 'px').css('overflow', 'auto');
	$(".tab-content").css('height', $(window).height() - 140 + 'px');
	// generic dialog content
	$("#wrap-dialog .content").css('height', $(window).height() - 215 + 'px').css('overflow', 'auto');
	// Agenda item height
	$('#agenda-item-content').css('overflow', 'auto').css('height', $(window).height() - 193 + 'px');
	// left nav individual tabs heights, to allow scrolling
	$('#meetings').css('height', ( $('#wrap-left-nav').innerHeight() -50 ) + 'px');
	$('#agenda').css('height', ( $('#wrap-left-nav').innerHeight() -50 ) + 'px');
	$('#search').css('height', ( $('#wrap-left-nav').innerHeight() -50 ) + 'px');
	$('#search-results').css('overflow', 'auto').css('height', ( $('#wrap-left-nav').innerHeight() -50 ) + 'px');
}
// updateToolTips
$.updateToolTips = function(el) {	
	$(el).tooltip({ track: true, delay: 800, showURL: false, showBody: " - " });
}
	
// getPublicFiles
$.getPublicFiles = function( id, el ) {	
	$.post("/il/asd4/board.nsf/PUBLIC-GetPublicFiles?open&" + Math.random(), 
		{ id : id }, 
		function(data){ 
			$(el).html( data );		
		}
	);
}
// clearAgendaSearchBox
$.clearAgendaSearchBox = function() {	
	$("#agenda-search-box").removeClass('searchvaluechanged').val('').trigger("focus").siblings('.number-found').html('');
}
// ie6pngfix
$.ie6pngfix = function() {	
	return;
	if ( $.browser.msie && $.browser.version == 6 ) {  
		// $('#navigation a').ifixpng();
		$('#current-meeting, #agenda .item, .corner').ifixpng();
	}
}	
// updateAgendaType
$.updateAgendaType = function() {	
	alert('test');
	return;
	var combine1 = '';
	$('#agendatype option:selected').each( function(){ combine1 = combine1 + $(this).text() + "<span class='comma'>, </span>"; } )
	$('#display-agendatype').html( combine1 );
	$('#display-agendatype .comma:last').remove();
}	
// getMeetings
$.getMeetings = function( meetingid ) {	
	$.get("/il/asd4/board.nsf/PUBLIC-GetMeetings?open&" + Math.random(), { query1: "x"}, 
		function(data){ 
			$("#meetings").html(data);
			$.attachMeetingListFunctions();
			/* Add "active" class to current meeting */
			$(".meeting[id='" + meetingid + "']").eq(0).trigger('click');
			$.refreshToolbar();
			$.windowResize();
			setTimeout('$("#loading-boarddocs").fadeOut(500);', 1000);
		}
	);					
}	
// getAgenda
$.getAgenda = function( meetingid ) {	
	$.get("/il/asd4/board.nsf/PUBLIC-GetAgenda?open&" + Math.random(), { id: meetingid }, 
		function(data){ 
			$.clearAgendaSearchBox();
			$("#agenda").html(data);
			$.attachAgendaFunctions();
			$("#current-meeting").val( meetingid );
		}
	);					
}	
// getMeeting
$.getMeeting = function( meetingid ) {	
	$.get("/il/asd4/board.nsf/PUBLIC-GetMeeting?open&" + Math.random(), { id: meetingid }, 
		function(data){ 
			$("#content").html(data);
			$("#current-meeting").val( meetingid );
			$.attachMeetingFunctions();
		}
	);					
}	
// attachAgendaFunctions
$.attachAgendaFunctions = function() {						
//	$.ie6pngfix();
	// Hide private Items
	$("#agenda .item").filter(".private").hide();
	$("#agenda .item").hover( function() { $(this).addClass('highlight'); }, function() { $(this).removeClass('highlight'); });
	$("#agenda .actiontype").each( function(){  $(this).children('.comma:last').remove();  });
	$("#agenda .actiontype").each( function(){  
		if ( $(this).html().toLowerCase().indexOf("action") > 0 ) { $(this).parent('.item').addClass("type-action") }
		if ( $(this).html().toLowerCase().indexOf("consent") > 0 ) { $(this).parent('.item').addClass("type-consent").addClass("type-action") }
	});
	/* Agenda Item Click */
	$("#agenda .item").unbind('click'); // remove any previous binding
	$("#agenda .item").click( function() { 
		$("#wrap-intro").hide();
		// add code to check for open voting
//		$("#agenda-item-content").html("<div class='ajax-loading'><img src='/global.nsf/images/ajax/ajax-spin.gif'> Loading... </div>");
		$("#agenda .item").removeClass('active'); 
		$(this).addClass('active'); 
		var activeItemID = $(this).attr('id')
		$.get("/il/asd4/board.nsf/PUBLIC-GetAgendaItem?open&" + Math.random(), { id : $(this).attr('id') }, 
			function(data){ 
				$("#current-agenda-item").val( activeItemID );
				$('#content').html(data);
				$.attachAgendaItemFunctions();
			}
		);  
	});	
	/* Add "active" class to current item */
	var curitem = $.trim(  $("#current-agenda-item").val() );
	$(".item[id='" + curitem + "']").addClass('active');
	/* move agenda items into the wrap-items area */
	$("#agenda .item").each( function(){
		$(this).prev(".wrap-category").children(".wrap-items").append( $(this) );
	});
	/* Add agenda numbering */
	$.numberTheAgenda( $("#agenda") );
	/* Add Tool Tips */
	$.updateToolTips( $("#agenda .item") );
	/* Make Meeting Title Clickable */
	$("#agenda-meeting-wrap").click( function() {
		var meetingid = $(this).attr('unique');
		$.getMeeting( meetingid );
		$("#agenda .item.active").removeClass('active');
	});
	
}	
// attachMeetingFunctions
$.attachMeetingFunctions = function() {						
	/* Create Tabs */
	$("#tab-navigation > ul").tabs({
		show: function(e, ui) {
			$.windowResize();
		}
	});
}	
// attachSearchFunctions
$.attachSearchFunctions = function() {						
	$("#search .searchitem").click( function() { 
		$('#content').html('');
		var activeItemID = $(this).attr('id')
		$.get("/il/asd4/board.nsf/PUBLIC-GetAgendaItem?open&" + Math.random(), { id : $(this).attr('id') }, 
			function(data){ 
				$("#current-agenda-item").val( activeItemID );
				// alert( activeItemID );
				$('#content').html(data);
				$.attachAgendaItemFunctions();
			}
		);  
	});	
}	
// attachMeetingListFunctions
$.attachMeetingListFunctions = function() {						
	$("#meetings .meeting").hover( function() { $(this).addClass('highlight'); }, function() { $(this).removeClass('highlight'); });
	/* Meeting Click */
	$("#meetings .meeting").click( function() { 
		var meetingID = $(this).attr('id');
		$("#wrap-intro").hide();
		$('#content').html('');
		$('#agenda').html('');
		$("#meetings .meeting").removeClass('active'); 
		$(this).addClass('active'); 
		$("#current-meeting").val( meetingID );
		$.getAgenda( meetingID );
		$.getMeeting( meetingID );
		$("#current-agenda-item").val('')
		$("#li-agenda").show();
		$("#tab-left-nav > ul").tabs("select", 1);
	
	});	
	/* Search */
	$("#search-go").click( function() { 
		$('#search-result').html('<img src="/global.nsf/images/ajax/ajax-spin.gif"> Searching...');
		$.post("/il/asd4/board.nsf/Search-Suggest?open&" + Math.random(), 
			{ q : $("#suggest").val()  }, 
			function(data){ 
				$('#search-result').html(data);
				$.attachSearchFunctions();
			}
		);
		return false;
	});
	/* Meeting Accordion */
	$("li", "#meeting-accordion").each( function() {
		$("#meetings .meeting[year=" + $(this).attr('year') + "]").appendTo("#div" + $(this).attr('year') );
	});
	$("#meetings .meeting.current").clone(true).appendTo("#divcurrent");
	// Remove any empty categories.  For instance, if current meeting is not set
	$("#meeting-accordion > li").each( function() { if ( $(".meeting", this).length < 1 ) { $(this).remove() } });
	$("#meeting-accordion").accordion({ autoHeight: false });
}	
// attachAgendaItemFunctions
$.attachAgendaItemFunctions = function() {						
//	$.ie6pngfix();
	/* Attach Function Init */
	$('.wrap-button').hide();
	/* Tab Navigation */
	$("#tab-navigation > ul").tabs({
		show: function(e, ui) {
			$.windowResize();
		}
	});
	$("#btn-trigger-browse").click( function() {
		$("input.inputfile").trigger('click');
		return false;
	});
	/* Get Public Files */
	$.getPublicFiles( $.trim($("#current-agenda-item").val()), $("#attached-public-files") );
	/************************************************************************************************************/
	/* Button - Previous */
	$("#btn-prev-item").click( function() {
		$( $.getPrevItemDOM() ).trigger('click');
	});
	/* Button - Next */
	$("#btn-next-item").click( function() {
		$( $.getNextItemDOM() ).trigger('click');
	});
	/* Fade buttons - Remove abilities */
	if ( $.getPrevItemDOM() ) { 
		var val1 = $( $.getPrevItemDOM() ).text();
		$("#btn-prev-item").attr('title', 'Previous Item: - ' + val1);
	} else {
		$("#btn-prev-item").css('opacity',0.25).unbind('click').attr('title', '');
	}
	if ( $.getNextItemDOM() ) { 
		var val1 = $( $.getNextItemDOM() ).text();
		$("#btn-next-item").attr('title', 'Next Item: - ' + val1);
	} else { 
		$("#btn-next-item").css('opacity',0.25).unbind('click').attr('title', '');
	}
	/* Fade in content */
	$("#agenda-item-content").show();
	
	/* Tool Tips */
	$.updateToolTips( $("#agenda-item-nav a") );
	/* Print Agenda Item */
	$("#btn-print-item").click( function() {
		$.printDialogBox(1);
	});
	/* Resize */
	$.windowResize();
	/* Open Links in New Window */
	$("#display-public-body a").attr('target','_blank');
}
// getPrevItemDOM
$.getPrevItemDOM = function() {						
	var activehit = 0;
	var previtem;
	var allitems = $.makeArray( $("#agenda .item:visible") ).reverse();  // reverse the order
	$(allitems).each( function(el) {
		if (activehit == 1) { previtem = this; return false; }
		if ( $(this).hasClass("active") ) { activehit = 1; }			
	});	
	return previtem;
}	
// getNextItemDOM
$.getNextItemDOM = function() {						
	var activehit = 0;
	var nextitem;
	var allitems = $("#agenda .item:visible");
	$(allitems).each( function(i) {
		if (activehit == 1) { nextitem = this;  return false; }
		if ( $(this).hasClass("active") ) { activehit = 1; }
	});	
	return nextitem;
}	
// keepAlive
$.keepAlive = function() {	
	$.ajax({ 
		type: "POST", 
		url: "/il/asd4/board.nsf/PUBLIC-KeepAlive?open&" + Math.random(), 
		cache: false, 
		dataType: "html",
		success: function(data){ 
			// $("#alert-box").html("");
			// $("#alert-box:visible").hide();
		},
		error: function(data){ 
			// $("#alert-box").html("Warning: Connection to the server may have been lost.  Please check your network.");
			// $("#alert-box:hidden").show();
		}
	});
}	
// numberTheAgenda
$.numberTheAgenda = function( container ) {	
	var ucLetters = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ];
	var lcLetters = [ "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" ];
	$.noNumbering = function() {
		// No Numbering
		$(".category", $(container)).each( function(i, n){  
			$(".order", n).html("");
	
			$(n).siblings('.wrap-items').children('.item').each( function(j, o){  
				j++;
				$(".order", o).html("");
			});
		});
	}
	$.doubleDecimalNumbering = function() {
		// 1.01, 1.02, 1.03
		$(".category", $(container)).each( function(i, n){  
			i++
			$(".order", n).html( i + ". " );
	
			$(n).siblings('.wrap-items').children('.item').each( function(j, o){  
				j++;
				if ( j < 10 ) {   
					$(".order", o).html( i + ".0" + j );
				} else {
					$(".order", o).html( i + "." + j );
				}
			});
		});
	}
	$.Numbering_A1 = function() {
		// A.1, B.2, C.3
		$(".category", $(container)).each( function(i, n){  
			$(".order", n).html( ucLetters[i] + ". " );
	
			$(n).siblings('.wrap-items').children('.item').each( function(j, o){  
				j++;
				// $(".order", o).html( ucLetters[i] + "." + j );
				$(".order", o).html( j + "." );
			});
		});
	}
	$.Numbering_1A = function() {
		// 1.A, 2.B, 3.C
		$(".category", $(container)).each( function(i, n){  
			i++
			$(".order", n).html( i + ". " );
	
			$(n).siblings('.wrap-items').children('.item').each( function(j, o){  
				// $(".order", o).html( i + "." + ucLetters[j] );
				$(".order", o).html( ucLetters[j] + "." );
			});
		});
	}
	$.singleDecimalNumbering = function() {
		// 1.1, 1.2, 1.3
		$(".category", $(container)).each( function(i, n){  
			i++;
			$(".order", n).html( i + ". " );
	
			$(n).siblings('.wrap-items').children('.item').each( function(j, o){  
				j++;
				$(".order", o).html( i + "." + j );
			});	
		});
	}
	switch( $.trim( $("#agenda-numbering").text() ) )
	{
		case "0": { $.noNumbering(); break; }
		case "1": { $.doubleDecimalNumbering(); break; }
		case "2": { $.singleDecimalNumbering(); break; }
		case "3": { $.Numbering_A1(); break; }
		case "4": { $.Numbering_1A(); break; }
		default: { $.doubleDecimalNumbering(); break; }
	}
	
}	
// start
$.getScript("/il/asd4/board.nsf/javascript/PUBLIC-Print.js?open");
/* BlockUI defaults */
$.blockUI.defaults.fadeOut = 400; 
$.blockUI.defaults.message = '<span style="font-size: 12px;">Loading...<br><img src="/global.nsf/images/ajax/ajax-bar-eee.gif"></span>';
$.blockUI.defaults.css.border = '1px solid #ddd';
// $.blockUI.defaults.css.top = '0';
$.blockUI.defaults.css.left = ($(window).width()/2)-75 + 'px';
$.blockUI.defaults.css.width = '220px';
$.blockUI.defaults.css.padding = '3px';
$.blockUI.defaults.css.backgroundColor = '#eee';
// $.blockUI.defaults.css.backgroundColor = 'transparent';
$.blockUI.defaults.css.opacity = '1';
// $.blockUI.defaults.css.color = '#FFF';
$.blockUI.defaults.overlayCSS.backgroundColor = '#000'; 
$.blockUI.defaults.overlayCSS.opacity = '0'; 
$("#ajax-running").ajaxStart(function(){ 
//	$.blockUI();
});
$("#ajax-running").ajaxStop(function(){ 
//	$.unblockUI();
});
$(window).resize(function(){ $.windowResize(); });   // an IE6 fix, but all browsers use this
/* Agenda Search Box */
$("#agenda-search-box").keyup( function(e) { 
	var meetingid = $.trim( $("#current-meeting").val() ); 
	var thesearch = $.trim( $(this).val() );
	var numfound = 0;
	if (e.keyCode != 13) { 
		// if key pressed is not a carriage return 
		if ( thesearch == "" ) {
			// clear search
			$('#agenda-nav .number-found').html('');
			$("#agenda .searchfound").removeClass('searchfound');
			$(this).removeClass('searchvaluechanged');
			$('#agenda .item').show();
			$("#agenda .item").filter(".private").hide();
		}
		return; 
	} 
	// Search Current Active Meeting
	$("#current-meeting").val( $("#meetings .meeting.active:first").attr('id') );
	meetingid = $.trim( $("#current-meeting").val() ); 
	// Only continue if carriage return was pressed
	$('#agenda-nav .number-found').html('Looking..');
	$('#agenda .item').removeClass('searchfound');
	$.post("/il/asd4/board.nsf/PUBLIC-SearchAgenda.js?open&" + Math.random(), 
		{ q : thesearch, meetingid : meetingid }, 
		function(data){ 
			var numfound = $('#agenda .searchfound').length;
			$('#agenda-nav .number-found').html( numfound + ' found' );
		},
		"script"
	);
	if ( thesearch != '' ) {
		$(this).addClass('searchvaluechanged');
	} else {
		$(this).removeClass('searchvaluechanged');
	}
});
/* Database Search Box */
$("#search-box").keyup( function(e) { 
	var meetingid = $.trim( $("#current-meeting").val() ); 
	var thesearch = $.trim( $(this).val() );
	var numfound = 0;
	if (e.keyCode != 13) { 
		// if key pressed is not a carriage return 
		if ( thesearch == "" ) {
			// clear search
			$('#search-nav .number-found').html('');
			// $('#search .item').show();
		}
		return; 
	} 
	// Only continue if carriage return was pressed
	$('#search-nav .number-found').html('Looking...');
	$('#search-results').html('');
	$.post("/il/asd4/board.nsf/PUBLIC-SearchDatabase?open&" + Math.random(), 
		{ q : thesearch, meetingid : meetingid }, 
		function(data){ 
			$('#search-results').html(data);			
			var numfound = $('#search-results .search-result').length;
			$('#search-nav .number-found').html( numfound + ' found' );
			// Search Result Click
			$("#search-results .search-result").click( function() { 
				$("#wrap-intro").hide();
				$('#search-results .search-result.active').removeClass('active');
				$(this).addClass('active');
//				$("#agenda-item-content").html("<div class='ajax-loading'><img src='/global.nsf/images/ajax/ajax-spin.gif'> Loading... </div>");
				$("#agenda .item").removeClass('active'); 
				var AgendaItemID = $(this).attr('agendaitemid');
				var MeetingID = $(this).attr('meetingid');
				$.get("/il/asd4/board.nsf/PUBLIC-GetAgendaItem?open&" + Math.random(), { id : $(this).attr('agendaitemid') }, 
					function(data){ 
						$("#current-agenda-item").val( AgendaItemID );
						$("#current-meeting").val( MeetingID );
						$('#content').html(data);
						$.attachAgendaItemFunctions();
					}
				);  
			});	
		}
	);
	if ( thesearch != '' ) {
		$(this).addClass('searchvaluechanged');
	} else {
		$(this).removeClass('searchvaluechanged');
	}
});
/* Left Navigation Tabs */
var $tabs = $("#tab-left-nav > ul").tabs({ 
	show: function(e, ui) {
		$.windowResize();
	}, 
	select: function(e, ui) {
		if ( ui.panel.id == "tab-meetings" ) { 
			$("#wrap-intro").show();
			$("#wrap-content").hide();
		} else {
			$("#wrap-intro").hide();
			$("#wrap-content").show();
		}
		$.windowResize();
	} 
});
/* Print Agenda button(s) */
$("#btn-print-agenda, #btn-print").click( function() {
	$.printDialogBox(2);
});
/* Update ToolTips */
$.updateToolTips( $("#agenda-nav a") );
$.updateToolTips( $("#meetings-nav a") );
/* Refresh Window Resizing */
$.windowResize();
/* Keep-alive polling */
var keepalive_interval = setInterval ( "$.keepAlive()", 300000 );  // Keep Alive.  Poll every 5 mins.
// Get Meetings
$.getMeetings();
});
