/* PopUp functions */
function xnipPopup(options) {

	// Set Title bar
	$('#generalPopupTitle').html( (options.title) ? options.title : 'XNiP');
	
	//set css class
	if(options.cssClass) {
		$('#generalPopupContent').addClass(options.cssClass);
	}
	// make it draggable
	if (options.draggable != false) {
		$('#generalPopup').draggable({handle: '#dragHandle'});
	}

	// show dialog buttons if it is a dialog
	if (options.isDialog) {
		$('#dialogActions').show();
	}
	// label for close button
	if (options.closeLabel) {
		$('dialogClose span').html(options.closeLabel);
	}
	// load ajax content
	if (options.ajax) {
		//url, title
		$('#generalPopupContent').load(options.ajax, function() {
			showPopup(options);
		});

	}
	// load url into iframe
	if (options.iframe) {
		var iframe = '<iframe id="generalPopupIframe"/>';
		$('#generalPopupContent').append(iframe);
		$('#generalPopupIframe').attr('src',options.iframe.url);
		$('#generalPopupIframe').attr('width',options.iframe.width);
		$('#generalPopupIframe').attr('height',options.iframe.height);
		showPopup(options);
		
	}
	// show static given html content
	if (options.content) {
		$('#generalPopupContent').html((unescape(options.content)));
		showPopup(options);
	}

}

function showPopup(options) {
	if( typeof( window.pageYOffset ) == 'number' ) {
		pageYOffest = window.pageYOffset;
	} else if( document.body && document.body.scrollTop ) {
		pageYOffset = document.body.scrollTop;
	} else if ( document.documentElement && document.documentElement.scrollTop ) {
		pageYOffset = document.documentElement.scrollTop;
	} else 
		pageYOffset = 0;
	 

	if(options.exposure != false) {
		$('#exposureLayer').show();
	}
	if(options.center != false) {
		var cssCenterObj = {
			'left' : Math.ceil(($(window).width() / 2) - ($('#generalPopup').width() / 2)),
			'top' : (Math.ceil(($(window).height() / 2) - ($('#generalPopup').height() / 2))) + pageYOffset
		}
		$('#generalPopup').show().css(cssCenterObj);
	} else {
		$('#generalPopup').show();
	}
}

function closePopup() {
	$('#generalPopup').hide();
	$('#exposureLayer').hide();
	$('#generalPopupContent').empty();
	$('#generalPopupContent').attr('class','');
	$('#confirmationActions').hide();
	$('#confirmOk').unbind('click');
	$('#dialogActions').hide();
}


function xnipError(code) {
	var options = new Object();

	options.title = 'Error';
	options.content = unescape(errorStrings[code]);
	options.cssClass = 'error';
	options.closeLabel = 'Ok';
	options.isDialog = true;

	xnipPopup(options);
}

function xnipConfirm(options) {
	if(options.okLabel) {
		$('#confirmOk span').html(options.okLabel);
	}

	if(options.cancelLabel) {
		$('#confirmCancel span').html(options.cancelLabel);
	}

	if(options.callBack) {
		$('#confirmOk').click(function() {
			eval(options.callBack);
			closePopup();
		});
	}

	options.cssClass = 'confirm';
	$('#confirmationActions').show();

	xnipPopup(options);
}
