//Event.observe(window, "load", init);
$(window).load (function(){ 
	init(); 
});

function init() {
	
    //setBodyContentSize();
    $('a.zoom').fancyZoom({closeOnClick:true, directory:'images/zoom'});

    
	if ($('#home').length > 0) {
		createDonationBar(20000,20000);
	}

	if ($('#cookoff').length > 0) {
		initializeGMaps();
		//createModalSignupForm();
		$('#signup_link').click(showSignUpForm);
		$('#cookoff_rules_link').click(showCookoffRules);
		$('#signup_submit_button').click(submitCookoffContestant);
	}
	
	if ($('.feedback-link').length > 0) {
		$('.feedback-link').click(showFeedbackForm);
		$('#submit_feedback_button').click(submitFeedback);
	}
	 $("ul.menu a").hover(doMenuHover, doMenuHoverExit);
}

function createDonationBar(amt,goal) {
	
		
	var imageDir = 'images/therm/';
	var startImg = '<img src="' + imageDir + 'left_end.png"/>';
	var orangeFiller = '<img src="' + imageDir + 'orange_filler.png"/>';
	var greenFiller = '<img src="' + imageDir + 'green_filler.png"/>';
	var orangeEnd = '<img src="' + imageDir + 'orange_end.png"/>';
	var endImg = '<img src="' + imageDir + 'right_end.png"/>';
	var progressBar = $('#progress_bar');
	$('#donation_amt').append('$' + amt + '.00');
	// Each filler strip = $250
	progressBar.append(startImg);
	var totalThermWidth = progressBar.innerWidth(); //Number of pixels available.
	var fillerStripWidth=5; //width of one filler strip.
	var totalStrips = Math.round((totalThermWidth-20)/fillerStripWidth); //Number of filler strips (not end strips
	var fillerStripWorth = Math.round(goal / totalStrips);
	var orangeStrips = Math.round(amt / fillerStripWorth);
	if (amt >= goal) {
		endImg = '<img src="' + imageDir + 'red_right_end.png"/>';
		orangeStrips--;
	}
	for (i = 0; i < orangeStrips; i++) {
		progressBar.append(orangeFiller);
	}
	if (amt < goal) {
		progressBar.append(orangeEnd);
	}

	var greenStrips = totalStrips - orangeStrips-1;
	for (i = 0; i < greenStrips; i++) {
		progressBar.append(greenFiller);
	}

	progressBar.append(endImg);

}

function initializeGMaps() {
	if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
		map.setCenter(new GLatLng(29.926225, -90.130291), 15);
		// map.setCenter(new GLatLng(29.921608, -90.134416), 15);
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());

		// Create our "tiny" marker icon
		var blueIcon = new GIcon(G_DEFAULT_ICON);
		// blueIcon.image = "images/favicon.png";
		blueIcon.infoWindowAnchor = new GPoint(9, 2);

		// Set up our GMarkerOptions object
		markerOptions = {
			icon : blueIcon,
			iconSize : new GSize(20, 34)
		};

		var latlng = new GLatLng(29.921608, -90.134416);
		var marker = new GMarker(latlng, markerOptions);
		var infoWindowText = '<b>Hogs for the Cause</b>'
				+ '<br/>Audubon Butterfly' + '<br/>Saturday, March 6, 2010'
				+ '<br/>Sun Up to Sun Down' + '<br/>On the left as you enter, '
				+ 'across from the river.';
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(infoWindowText);
		});

		map.addOverlay(marker);
		marker.openInfoWindowHtml(infoWindowText);

		// latlng:GLatLng, tabs:GInfoWindowTab[], size:GSize, offset?:GSize,
		// selectedTab?:Number)
	}

}

function setBodyContentSize() {
	var isHome = $("#home");
	if (isHome.length > 0) {
		//return;
		;
	}

	var contentLeftHeight = getVerticalHeight($("#body_content_left"));
	var contentRightHeight = getVerticalHeight($("#body_content_right"));
	var height = contentLeftHeight;
	if (contentRightHeight > contentLeftHeight) {
		height = contentRightHeight;
		var border = $("#body_content_left").css("border-right");
		$("#body_content_left").css( {
			"border-right" : "none"
		});
		$("#body_content_right").css( {
			"border-left" : border
		});
	}

	// height -= 15;
	$("#body_content").css('height', height + "px");
}
function getVerticalHeight(elem) {
	return elem.height() 
			+ parseInt(elem.css("marginTop"))
			+ parseInt(elem.css("paddingTop"))
			+ parseInt(elem.css("paddingBottom"))
			+ parseInt(elem.css("marginBottom"));
}
/*
 * Called when hovering over menu item.
 */
function doMenuHover(event) {
	
	$(this).addClass("menu_hover");
	//event.stop();
}
function doMenuHoverExit(event) {
	//var elem = $(event.element());
	// elem.style.color = '#F0F0F0';
	$(this).removeClass("menu_hover");
}

function showFeedbackForm(e) {
	enableFormFields($('#feedback_form')[0]);
	e.preventDefault();
	$('#feedback_container').modal({
		overlayClose:true,
		containerId:'feedback_container',
		dataId: 'feedback_container',
		closeHTML: '<div class="close"><a href="#" class="simplemodal-close">x</a></div>',
		minHeight:80,
		opacity:65, 
		position:['0',],
		onClose:modalClose,
		onOpen:function (dialog) {
			dialog.overlay.fadeIn('fast', function () {
				dialog.container.slideDown('fast', function () {
					dialog.data.fadeIn('fast');
				});
			});
		}
		
	});
}

/**
 * Displays modal dialog with signup form.
 */
function showSignUpForm (e) {
	enableFormFields($('#signup_form')[0]);
	if (e)
		e.preventDefault();
	$('#cookoff_signup').modal({
		overlayClose:true,
		containerId:'cookoff_signup',
		dataId: 'cookoff_signup',
		closeHTML: '<div class="close"><a href="#" class="simplemodal-close">x</a></div>',
		minHeight:80,
		opacity:65, 
		position:['0',],
		onClose:modalClose,
		onOpen:function (dialog) {
			dialog.overlay.fadeIn('normal', function () {
				dialog.container.slideDown('normal', function () {
					dialog.data.fadeIn('normal');
				});
			});
		}
		
	});
		
	
}

function showCookoffRules(e) {
	e.preventDefault();
	
	$('#cookoff_rules').modal({
		overlayClose:true,
		closeHTML: '<div class="close"><a href="#" class="simplemodal-close">x</a></div>',
		dataId: 'rules_list',
		containerId:'cookoff_rules',
		minHeight:80,
		opacity:65, 
		position:['0',],
		onClose:modalClose,
		onOpen:function (dialog) {
			dialog.overlay.fadeIn('normal', function () {
				dialog.container.slideDown('normal', function () {
					dialog.data.fadeIn('normal');
				});
			});
		}
		
	});
}

function modalOpen(d) {

	var self = this;
	self.container = d.container[0];
	d.overlay.fadeIn('slow', function () {
		$(".simplemodal-data", self.container).show();
		var title = $("#simplemodal-title", self.container);
		title.show();
		d.container.slideDown('slow', function () {
			setTimeout(function () {
				var h = $("#simplemodal-data", self.container).height()
					+ title.height()
					+ 20; // padding
				d.container.animate(
					{height: h}, 
					200,
					function () {
						$("div.close", self.container).show();
						$("#simplemodal-data", self.container).show();
					}
				);
			}, 300);
		});
	});

}

function modalClose(d) {

	var self = this;
	d.container.animate(
		{top:"-" + (d.container.height() + 20)},
		500,
		function () {
			self.close(); // or $.modal.close();
		}
	);

}

/**
 * Called when feedback form is submitted.
 */
function submitFeedback() { 
	//console.log($('#feedback_form').serialize());
	$('.simplemodal-data .busy').show();
	var formData = $('#feedback_form').serialize();
	disableFormFields($('.simplemodal-data form')[0]);
	$.ajax({
		   type: 	'POST',
		   url: 	'/feedback',
		   data:  	formData,
		   dataType:'json',
		   success: function(resp) {
				modalRequestSuccess(resp)
			},
		   error: function () {
				modalRequestError();
			}
	});
	return false;
}

function disableFormFields(form) {
	for (var i = 0; i < form.elements.length; i++) { 
		form.elements[i].disabled = true;
	}
}

function enableFormFields(form) {
	for (var i = 0; i < form.elements.length; i++) { 
		form.elements[i].disabled = false;
	}
}

/**
 * Called when coockoff signup form submitted.
 * @return
 */
function submitCookoffContestant() {
	//console.log($('#signup_form').serialize()),
	 $('.simplemodal-data .busy').show();
	var formData = $('#signup_form').serialize();
	disableFormFields($('.simplemodal-data form')[0]);
	 $.ajax({
		   type: 	'POST',
		   url: 	'/cookoffsignup',
		   data:  	formData,
		   dataType:'json',
		   success: function(resp) {
				modalRequestSuccess(resp)
			},
		   error: function () {
				modalRequestError();
			}
		 });
	return false;
}
function modalRequestSuccess(resp) {
	var successDiv = $('.simplemodal-data .submit_success');
	var errorDiv = $('.simplemodal-data .submit_error');
	var busyIndicator = $('.simplemodal-data .busy');	
	$('.simplemodal-data form').hide();
	var elemHeight = successDiv.offset().top + successDiv.outerHeight();
		if (resp.status == 'success') {
		 		busyIndicator.hide();
		 		successDiv.show();
		 		
		 	}
		 	else { 
		 		busyIndicator.hide();		 		 		
		 		errorDiv.show();
		 		elemHeight = errorDiv.offset().top + errorDiv.outerHeight();
		 		
		 	}
		$('.simplemodal-container').animate({height:elemHeight+35},500,'swing');
	
	
	
	/*$('#busy_indicator').hide();
	console.log('submit_success  top = ' + $('#submit_success').offset().top);
	console.log('submit_success  outer height = ' + $('#submit_success').outerHeight());
	
	
		var elemHeight = 
			$('#submit_success').offset().top + 
			$('#submit_success').outerHeight();
		console.log('elemHeight = ' + elemHeight);
		if (resp.status == 'error') {
			elemHeight = $('#submit_error').offset().top + $('#submit_error').outerHeight();
		}
		$('.simplemodal-container').animate({height:elemHeight+35},500,'swing');
	*/
 	
		
}

/*
   success: function(resp){
			 //$('modal_response').show();
		 		var elemHeight = $('#submit_success').offset().top + $('#submit_success').outerHeight();
		 		if (resp.status == 'success') {
		 		 		$('#busy_indicator').hide();
		 		 		$('#submit_success').show();
		 		 		
		 		 	}
		 		 	else { 
		 		 		$('#busy_indicator').hide();		 		 		
		 		 		$('#submit_error').show();
		 		 		elemHeight = $('#submit_error').offset().top + $('#submit_error').outerHeight();
		 		 		
		 		 	}
		 		$('.simplemodal-container').animate({height:elemHeight+35},500,'swing');
		   },
		   error: function (request, textStatus, errorThrown) {
			   //$('modal_response').show();
			   $('#busy_indicator').hide();		 		 		
			   $('#submit_error').show();
			   $('#cookoff_signup').animate({height:$('#submit_error').offset().top + $('#submit_error').outerHeight()+100},250,'swing');
		   }
 */

function modalRequestError() {
	$('#busy_indicator').hide();		 		 		
	$('#submit_error').show();
	$('#cookoff_signup').animate({height:$('#submit_error').offset().top + $('#submit_error').outerHeight()+100},250,'swing');
}

	