// Открыть всплывающее окно по центу экрана
function showPopupCentered( src, width, height, param ){
	// свойства фрейма
	var popupProperties = {
		// атрибуты фрейма
		attributes: {
			id: 'popupIframe',
			name: 'popupIframe',
			src: src,
			width: width,
			height: height,
			scrolling: 'auto',
			frameborder: 0,
			marginwidth: 0,
			marginheight: 0
		},
		// параметры отображения фрейма
		presentation: {
			// css стили с позиционированием
			css: {
				position: 'absolute',
				visibility: 'hidden',
				top: windowGeometry.getVerticalScroll() + ( windowGeometry.getViewportHeight() - height )/2,
				left: windowGeometry.getHorizontalScroll() + ( windowGeometry.getViewportWidth() - width )/2,
				zIndex: 15
			},
			// параметры фона
			bgCss: {
				position: 'absolute', 
				top: 0, 
				left: 0, 
				width: windowGeometry.getDocumentWidth(),
				height: windowGeometry.getDocumentHeight(),
				zIndex: 14,
				backgroundColor: '#000',
				backgroundImage: '',
				opacity: 0.3
			}
		},
		behaviour: {
			// селекторы кнопок закрытия
			closeButton: '#close,#closer,#closel,#closeframe,#closerframe,#closelframe',
			// селекторы кнопок отправки формы
			submitButton: '#submit,#submitl,#submitr',
			// обработка успешного сохранения данных формы
			onBeforeSubmit: param && param.onSubmit ? param.onSubmit : '',
			// обработка загрузки фрейма
			onLoad: param && param.onLoad ? param.onLoad : ''
		}
	},
	// эффекты при открытии, закрытии и перезагрузки
	popupEffects = {
		loadingImage: 'img/loading.gif',
		// обработчик готовности содержимого всплывающего окна
		onLoad: function( $popup, callback ){
			$popup.css( { display: 'none', visibility: 'visible' } );
			$popup.fadeIn( 'fast', callback )
		}//,
		// обработчик закрытия всплывающего окна
		//onClose: function( $popup, callback ){ 
		//	$popup.fadeOut( 'slow', callback )
		//}
	}
	return showPopup( popupProperties, popupEffects );
}


// Открыть всплывающее окно левым верхним углом под курсором
function showPopupAtCursor( e, src, width, height ){
	e = $.event.fix( e );
	// свойства фрейма
	var popupProperties = {
		// атрибуты фрейма
		attributes: {
			id: 'popupIframe',
			src: src,
			width: width,
			height: height,
			scrolling: 'auto',
			frameborder: 0,
			marginwidth: 0,
			marginheight: 0
		},
		// параметры отображения фрейма
		presentation: {
			// css стили с позиционированием
			css: {
				position: 'absolute',
				top: e.pageY - height/2 + 'px',
				left: e.pageX - width/2 + 'px',
				zIndex: 15
			},
			// параметры фона
			bgCss: {
				position: 'absolute', 
				top: 0,
				left: 0,
				width: $().width(),
				height: $().height(),
				zIndex: 14,
				backgroundColor: '',
				backGroundImage: '',
				opacity: 1
			}
		}
	},
	// эффекты при открытии, закрытии и перезагрузки
	popupEffects = {}
	return showPopup( popupAttributes, openEffect, reloadEffect, closeEffect );
}