
				/*
						loading: load_jquery_prompts
				*/
				/* conjoined js */

jQuery.extend({
	promptDefaults: {
		prompt_width: 432,
		prompt_height : 200,
		prompt_prefix: 'tbn',
		prompt_cont_padding: '70px 15px 5px 15px',
		prompt_cont_height: '80',
		prompt_cont_append: null,
		prompt_cont_css: {},
		prompt_background: 'url(/images/popups/tbn/blue.png)',
		prompt_remove_timeout: 1,
		prompt_buttons: {
			ok : 'ok'
		},
		prompt_loaded: function() {
			
		},
		prompt_submit: function() {
			return true;
		},
		prompt_callback: function() {
			
		},
		prompt_vars: {},
		prompt_opacity : 0.6,
		prompt_zIndex: 999,
		prompt_focus: 0
	},
	
	setPromptDefaults: function(o) {
		jquery.extend({}, jquery.promptDefaults, o);
	},
	prompt: function(m, o) {
		o = jQuery.extend({},jQuery.promptDefaults,o);
		
		
		
		var promptClose = function(e) {
			var promptKeycode = (e.which) ? e.which : e.keyCode;
			
			if(promptKeycode === 27) {
				promptRemove();
			}
		};
		
		
		var promptRemove = function(promptCallBack, promptButtonClicked) {
			$('#' + o.prompt_prefix + '_prompt_overlay').hide();
			
			setTimeout(function() {
				$('#' + o.prompt_prefix + '_prompt_overlay').remove();
			}, o.prompt_remove_timeout);
			
			$(document).unbind('keyup');
			if (promptCallBack) {
				o.prompt_callback(promptButtonClicked);
			}
		};
		
		// needs testing - don't wanna screw anything up
		$('#' + o.prompt_prefix + '_prompt_overlay').remove(); // remove any legacy prompts - we don't want them
		
		var oDivOverlay = document.createElement('div');
		var oDivPopup = $(oDivOverlay).clone();
		var oDivCont = $(oDivOverlay).clone();
		var oDivButtons = $(oDivOverlay).clone();
		
		var iDocWidth = $(document).width();
		var iDocHeight = $(document).height();
		var iDocScrollTop = $(document).scrollTop();
		var iWindowHeight = $(window).height();
		
		// figure out the top attr for the popup
		var iPopupTop = iDocScrollTop + Math.floor((iWindowHeight - o.prompt_height) / 2);
		
		var iDivPopupMarginLeft = (0 - Math.floor(o.prompt_width / 2));
		var iDivPopupMarginTop = (0 - Math.floor(o.prompt_height / 2));
		
		$(oDivCont).css({
			padding: o.prompt_cont_padding,
			height: o.prompt_cont_height + 'px'
		}).css(o.prompt_cont_css).attr({
			id: o.prompt_prefix + '_prompt_cont'
		}).html(m);
		
		if (o.prompt_cont_append != null) {
			$(oDivCont).append(o.prompt_cont_append);
		}
		
		$(oDivButtons).addClass('prompt_buttons').css({
			textAlign: 'center'
		});
		
		var oButton = document.createElement('button');
		var oImg = document.createElement('img');
		
		$(oButton).css({ 
			border : 'none', 
			background : 'none' 
		});
		
		$(oImg).attr({
			border : '0'
		});
		
		jQuery.each(o.prompt_buttons, function(k, v) {
			$(oImg).attr({
				src : '/images/lang/1/web/buttons/popups/' + k + '.png',
				id : o.prompt_prefix + '_button_' + k
			}).removeAttr('width').removeAttr('height');
			
			$(oButton).append(oImg);
			
			$(oDivButtons).append($(oButton).clone());
		});
		
		
		$(oDivPopup).css({ 
			position : 'absolute', 
			top : iPopupTop + 'px', 
			left : '50%', 
			marginLeft : iDivPopupMarginLeft + 'px',
			height : o.prompt_height + 'px',
			width : o.prompt_width + 'px',
			background : o.prompt_background
		}).attr({ id : o.prompt_prefix + '_prompt_popup' }).append(oDivCont).append(oDivButtons).appendTo(oDivOverlay).draggable();		
		
		
		$(oDivOverlay).css({ 
			position : 'absolute', 
			top : '0px', 
			left : '0px', 
			height : iDocHeight + 'px', 
			width : iDocWidth + 'px', 
			zIndex : '100' 
		}).attr({ id : o.prompt_prefix + '_prompt_overlay' }).appendTo(document.body).show(1, o.prompt_loaded);
		
		$(oDivOverlay).bind('keyup', promptClose);
		
		
		
		$(oDivButtons).children('button:eq(' + o.prompt_focus + ')').focus();
		
		
		$(oDivButtons).children('button').each(
			function() {
				$(this).bind('click', function() {
					var promptButtonId = jQuery(this).children('img').attr('id').replace(o.prompt_prefix + '_button_', '');
					var promptButtonClicked = o.prompt_buttons[promptButtonId]
					
					if (o.prompt_submit(promptButtonClicked)) {
						promptRemove(true, promptButtonClicked);
					}
				});
				
			}
		
		);
		
		o.prompt_loaded();
	}
	
	
});

