/*
 * This javascript include should only contain code global to all of 
 * the calendar events website
 *
 */

var todayDate = new Date();
var curr_date = todayDate.getDate();
var curr_month = todayDate.getMonth();
var curr_year = todayDate.getFullYear();
if (curr_month.length == 1) { curr_month = "0" + curr_month; }
if (curr_date.length == 1) { curr_date = "0" + curr_date; }
var todayStr = curr_year + curr_month + curr_date;

$(document).ready(function() {
	$(".eventDetailAnchor").click(function() {
		$("body").css("cursor", "wait");
	});

	/* png IE fix */
	//TODO: NOT WORKING
	$('div.siteName').pngFix();
	$('div.utsa_branding').pngFix();
	$('div.cal_png_fix').pngFix();
	$('div.fdbk_png_fix').pngFix();
	
	/* div anchor select logic */
	$('.eventDetail').click( function(event) {
		var url = $(this).find(".eventDetailAnchor").attr("href");
		window.location = url;
		event.preventDefault();
	});
	
	/* set our server time on the header as soon as we load */
	$(".todayDateTime").find("p").text(prettyDate);

	/* tell the page to update the time every 30 secs */
	var updateTime = setInterval(function() {
		$.get("inc/getPrettyTime.cfm", { },
		function(xml) {
			var newDateStr = $('time', xml).text();
			$(".todayDateTime").find("p").text(newDateStr);
		});
	}, 30000);

	/* define our datepicker and set our onSelect logic */
	$("#datepicker").datepicker({
		minDate: '-3M',
		maxDate: '+12M',
		defaultDate: incomingDate,
		altField: '#date',
		altFormat: 'yymmdd',
		onSelect: function(dateText, inst) {
			//switch eventDate to Upcoming iff it's already on featured
			var eDval = $("input[@name='eventDate']:checked").val();
			if (eDval == "featured") {
				$("#upcomingRadio").click();
			}
			$("#indexParamForm").submit();
		}
		});
		var bar = $("input[@name='eventDate']:checked").val();
		if (bar == "featured") {
			//$("#datepicker").datepicker('disable');
		}
	
	/* AJAX search form box handlers */
	$("#searchForm").ajaxForm({
		url: "inc/search.cfm",
		type: "GET",
		beforeSubmit: function () {
			/*<img src="img/spinner_search.gif" />*/
			$("#searchButton").attr("src", "img/spinner_search.gif");
			//$("#searchSpinner").spinner();
		},
		success: function (data) {
			$("#mainArea").html(data);
			$("#searchButton").attr("src", "img/btn_search.png");
			//$("#searchSpinner").html("");
		},
		dataType: "html",
		clearForm: true
	});
	
	/* AJAX see more click handler
	*/
	//by default, toggle the spinner to off
	$("#seeMoreSpinner").toggle();
	$('#seeMore').click( function(event) {
		var lastDate = $(".dateWrapper:last");
		var url = "inc/more.cfm";
		var date = parseInt($(lastDate).attr("id"));
		var eid = $(lastDate).attr("eid");
		var eventDate = $(lastDate).attr("eventDate");
		console.log("making http request %s, %s, %s, %s", url, date, eid, eventDate);
		$.ajax({
			url: url,
			data: ({ date: date, eid: eid, eventDate: eventDate }),
			beforeSend: function () {
				//$("#seeMoreSpinner").spinner();
				$("#seeMore").toggle();
				$("#seeMoreSpinner").toggle();
				},
			success: function(data) {
				var endEvents = $(".lastItem:last");
				$(endEvents).after(data);
				$(".seeMoreList").slideDown(3000);
				//make sure we clear any classes in case we see more again
				$("event_list").attr("class", "");
				//$("#seeMoreSpinner").html("");
				$("#seeMore").toggle();
				$("#seeMoreSpinner").toggle();

				var newLastDate = parseInt($(".dateWrapper:last").attr("id"));
				var firstDate = parseInt($(".dateWrapper:first").attr("id"));
				var diff = newLastDate - firstDate;
				if (diff >= 15) {
					$("#seeMore").toggle();
				}
				},
			dataType: "html"
			});
		event.preventDefault();
	});

	/* rss feed dialog box setup */
	$('#dialog').dialog({
		height: 'auto',
		width: '400px',
		modal: true,
		autoOpen: false,
		resizable: false,
		buttons: {
			"Get RSS Feed": function() { 
				$(this).dialog("close");
				$("#rssForm").submit();
			}, 
			"Cancel": function() { 
				$(this).dialog("close"); 
			} 
		}
	});

	/* rss feed button click logic */
	$('#rss-button').click(function(){
		$('#dialog').dialog('open');
		return false;
	});

	/* Tool Tip */
	// $(".info-button").css("display", "none");
	$("#info-hover").hover(
		function(){$(".hover-item").fadeIn(500);},
    	function(){$(".hover-item").fadeOut(500);}
	);
});

function highlight(cat) {
	classes = $(cat).attr("class").split(' ');
	for (var i=0; i<classes.length; i++) {
		searchName = "." + classes[i];
		//alert("attempting to highlight" + searchName);
		//#1C2D3F
		$(searchName).css("background-color", "#A7B9CA");
		//$(searchName).addClass("highlight");
	}
}

function unhighlight(cat) {
	classes = $(cat).attr("class").split(' ');
	for (var i=0; i<classes.length; i++) {
		searchName = "." + classes[i];
		//alert("attempting to unhighlight" + searchName);
		//FFFFFF
		$(searchName).css("background-color", "#FFFFFF");
		//$(searchName).removeClass("highlight");
	}
}
