var dialog;
$(document).ready(function() {
    if ($.browser.msie) {
    	dialog = $('#paperless-member-notifications').dialog({
                                    title: 'Notifications',
                                    width: 950,
                                    position: 'center',
                                    modal: 'true',
                                    resizable: false,
                                    closeOnEscape: false,
									height: 'auto',
                                    open: function(event, ui) { jQuery(".ui-dialog-titlebar-close").hide(); }
                    });
    } else {
    	dialog = $('#paperless-member-notifications').dialog({
                                    height: 'auto',
                                    title: 'Notifications',
                                    width: 950,
                                    position: 'center',
                                    minHeight: 200,
                                    maxHeight: 700,
                                    modal: 'true',
                                    resizable: false,
                                    closeOnEscape: false,
                                    open: function(event, ui) { jQuery(".ui-dialog-titlebar-close").hide(); }
                    });
    }

	$('#terms').dialog({
		autoOpen: false,
		title: 'Terms and Conditions',
		width: 500,
		position: 'center',
		height: 400,
		modal: 'true',
		resizable: false
	});

	$('#tc').click(function() {
		$('#terms').dialog('open');
		// prevent the default action, e.g., following a link
		return false;
	});

	$('#printModal').click(function() {
		$('#printableTerms').print();
		return false;
	});
	
	$('#thecloser').click(function () {
		dialog.dialog('close');
	});
});

function closeNotification(notificationId) {
	$.ajax({
		url: '/notice/close',
		data: ({ajaxRequest: true, value: notificationId}),
		success: function (data) {
			dialog.dialog('close');
			window.location.replace(window.location.href);
		 },
		onFailure: function() { 
					 alert('bad'); 
				}
	});
}

function closeNotificationWithPaperless(notificationId, paperless) {
	$.ajax({
		url: '/notice/close',
		data: ({ajaxRequest: true, value: notificationId, isPaperless: paperless}),
		success: function (data) {
			dialog.dialog('close');
			window.location.replace(window.location.href);
		 },
		onFailure: function() { 
					 alert('bad'); 
				}
	});
}

function closeNotificationAndMove(notificationId, url) {
	$.ajax({
		url: '/notice/close',
		data: ({ajaxRequest: true, value: notificationId}),
		success: function (data) {
			dialog.dialog('close');
			window.location.replace(url);
		 },
		onFailure: function() { alert('bad'); }
	});
}

function ignoreNotification(notificationId) {
	$.ajax({
		url: '/notice/ignore',
		data: ({ajaxRequest: true, value: notificationId}),
		success: function (data) {
			dialog.dialog('close');
			window.location.replace(window.location.href);
		 },
		onFailure: function() { alert('bad'); }
	});
}

function ignoreNotificationAndMove(notificationId, url) {
	$.ajax({
		url: '/notice/ignore',
		data: ({ajaxRequest: true, value: notificationId}),
		success: function (data) {
			dialog.dialog('close');
			window.location.replace(url);
		 },
		onFailure: function() { alert('bad'); }
	});
}

// Create a jquery plugin that prints the given element.
jQuery.fn.print = function(){
// NOTE: We are trimming the jQuery collection down to the
// first element in the collection.
if (this.size() > 1){
this.eq( 0 ).print();
return;
} else if (!this.size()){
return;
}
 
// ASSERT: At this point, we know that the current jQuery
// collection (as defined by THIS), contains only one
// printable element.
 
// Create a random name for the print frame.
var strFrameName = ("printer-" + (new Date()).getTime());
 
// Create an iFrame with the new name.
var jFrame = $( "<iframe name='" + strFrameName + "'>" );
 
// Hide the frame (sort of) and attach to the body.
jFrame
.css( "width", "1px" )
.css( "height", "1px" )
.css( "position", "absolute" )
.css( "left", "-9999px" )
.appendTo( $( "body:first" ) )
;
 
// Get a FRAMES reference to the new frame.
var objFrame = window.frames[ strFrameName ];
 
// Get a reference to the DOM in the new frame.
var objDoc = objFrame.document;
 
// Grab all the style tags and copy to the new
// document so that we capture look and feel of
// the current document.
 
// Create a temp document DIV to hold the style tags.
// This is the only way I could find to get the style
// tags into IE.
var jStyleDiv = $( "<div>" ).append(
$( "style" ).clone()
);
 
// Write the HTML for the document. In this, we will
// write out the HTML of the current element.
objDoc.open();
objDoc.write( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" );
objDoc.write( "<html>" );
objDoc.write( "<body>" );
objDoc.write( "<head>" );
objDoc.write( "<title>" );
objDoc.write( document.title );
objDoc.write( "</title>" );
objDoc.write( jStyleDiv.html() );
objDoc.write( "</head>" );
objDoc.write( this.html() );
objDoc.write( "</body>" );
objDoc.write( "</html>" );
objDoc.close();
 
// Print the document.
objFrame.focus();
objFrame.print();
 
// Have the frame remove itself in about a minute so that
// we don't build up too many of these frames.
setTimeout(
function(){
jFrame.remove();
},
(60 * 1000)
);
};


