jQuery.fn.print = function(){
if (this.size() > 1){
this.eq( 0 ).print();
return;
} else if (!this.size()){
return;
}


var strFrameName = ("printer-" + (new Date()).getTime());
var jFrame = $( "<iframe name='" + strFrameName + "'>" );

jFrame
.css( "width", "1px" )
.css( "height", "1px" )
.css( "position", "absolute" )
.css( "left", "-9999px" )
.appendTo( $( "body:first" ) );

var objFrame = window.frames[ strFrameName ];
var objDoc = objFrame.document;
var jStyleDiv = $( "<div>" ).append(
$( "style" ).clone()
);

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();


objFrame.focus();

objFrame.print();


setTimeout( function(){
jFrame.remove();
},
(60 * 1000) 
);}
