/** * jQuery printPage Plugin * @version: 1.0 * @author: Cedric Dugas, http://www.position-absolute.com * @licence: MIT * @desciption: jQuery page print plugin help you print your page in a better way */ (function( $ ){ $.fn.printPage = function(options) { var pluginOptions = { attr : "href", url : false, message: "Please wait while we create your document" }; $.extend(pluginOptions, options); this.live("click", function(){ loadPrintDocument(this, pluginOptions); return false; }); function loadPrintDocument(el, pluginOptions){ $("body").append(components.messageBox(pluginOptions.message)); $("#printMessageBox").css("opacity", 0); $("#printMessageBox").animate({opacity:1}, 300, function() { addIframeToPage(el, pluginOptions); }); } function addIframeToPage(el, pluginOptions){ var url = (pluginOptions.url) ? pluginOptions.url : $(el).attr(pluginOptions.attr); if(!$('#printPage')[0]){ $("body").append(components.iframe(url)); $('#printPage').bind("load",function() { printit(); }) } else { $('#printPage').attr("src", url); } } function unloadMessage(){ $("#printMessageBox").delay(1000).animate({opacity:0}, 700, function(){ $(this).remove(); }); } function printit() { frames["printPage"].focus(); setTimeout("frames[\"printPage\"].print();", 3000); unloadMessage(); } function ShowPrint() { } var components = { iframe: function (url) { return ''; }, messageBox: function(message){ return "