$().ready(function(){
	$.ajaxSetup({cache:false});
	bindEvents();
}); // end ready

$.fn.ovEvent = function(opts){
	return this.each(function(){
		var defaults = {
			url: 'Control.aspx #ov_help'
		}
		var o = $.extend({},defaults,opts);
		
		$(this).click(function(){				   
			window.oldFocus = $(this);
			$('#ov_load')
				.load(o.url,function(){
					$(this).find('input:first').focus();
					$(window).scrollTop(0);
				});
			$('body').addClass('hasOverlay');
			return false;
		})
	});
}

function bindEvents(){
	
	$('input.ov_help').ovEvent();
	$('input.ov_warning_time').ovEvent({
		url: 'Control.aspx #ov_warning_time'
	});
	$('#ctrl_about').ovEvent({
		url: 'Control.aspx #ov_about'
	});
	$('input[name=rec_friend]:not(#omit_results)').ovEvent({
		url: 'Control.aspx #ov_email_friend'
	});
	$('#btn_email_results').ovEvent({
		url: 'Control.aspx #ov_email_results'
	});
	$('#omit_results').ovEvent({
		url: 'Control.aspx?ShowEmailResults=false #ov_email_friend'
	});

	$('.ov_close').live('click',function(){								 
		$('.overlay_wrap').remove();
		$('body,#outline').removeClass('hasOverlay');
		setFocus();
		return false;
	});
	
	// close overlay and send data to server session 
	$('#icn_close,#cancel,#edit_figures').live('click',function(){
		serverPost('Control.aspx');
		
		return false;
	});
	// retain focus on Text size buttons
	$('#ctrl_txt_l,#ctrl_txt_s,#ctrl_txt_m').click(function(){
		id = $(this).attr('id');
		size = id.charAt(id.length-1);
		
		function setSize(s){
			if(s == 'l'){
				emSize = '1.6em';
			} else if (s == 'm') {
				emSize = '1.4em';
			} else if (s == 's') {
				emSize = '1.2em';
			} else {
				emSize = '1.2em';
			}
			return emSize;
		}
		
		$('#outline').css({fontSize:setSize(size)});
		$.ajax({
			type: 'POST',
			url: 'control.aspx',
			data: {TextSize: size}
		 });
		return false;
	})
}
function setFocus() {
	if (window.oldFocus == null || window.oldFocus == 'undefined') {
		return false;
	}
	window.oldFocus.focus();
}
function serverPost(url) {
	$.ajax({
		type: 'POST',
		url: url,
		data: {ClearOverlay: 'close'},
		success: function(){
			$('.overlay_wrap').remove();
			$('body,#outline').removeClass('hasOverlay');
			setFocus();
		}
	});
	return false;
}

