--- /dev/null
+
+(function (args) {
+
+
+ for (var ss = 0; ss < document.styleSheets.length; ss++) {
+ var css =document.styleSheets[ss];
+ console.log("sheet " + ss + '/' + document.styleSheets.length + ": " + css.ownerNode.outerHTML) ;
+
+ var node = css.ownerNode;
+ ;
+ if (node.nodeName == 'STYLE' && node.getAttribute('media') && node.getAttribute('media').match(/print/)) {
+ node.innerHTML = '';
+ continue;
+ }
+ if (node.nodeName == 'LINK' && node.getAttribute('media') && node.getAttribute('media').match(/print/)) {
+ node.setAttribute('href' , '');
+ node.setAttribute('media' , 'speech');
+ continue;
+ }
+
+ // now we are dealing with non-print styles...
+
+ var ar = document.styleSheets[ss].rules;
+ if (!ar) {
+ if (node.nodeName == 'STYLE' ) {
+ node.innerHTML = '';
+ continue;
+ }
+ node.setAttribute('href' , '');
+ continue;
+ }
+
+ var newsheet = '';
+
+
+ for(i=0; i < ar.length; i++){
+ if(ar[i].cssText.indexOf("@media") < 0 ) {
+ newsheet += ar[i].cssText +"\n";
+ continue;
+ }
+ //console.log(ar[i].cssText);
+ if(ar[i].cssText.match(/@media\s+print/)) {
+ continue;
+ }
+
+ // see if getting rid of 'only' from screen works.
+ if(!ar[i].cssText.match(/only\s+screen/)) {
+ newsheet += ar[i].cssText +"\n";
+ continue;
+ }
+ var str = ar[i].cssText.replace(/only\s+screen/, 'screen');
+ newsheet += str +"\n";
+
+
+ }
+
+
+ if (node.nodeName == 'STYLE' ) {
+ node.innerHTML = newsheet;
+ continue;
+ }
+ var newnode = document.createElement('STYLE');
+ newnode.innerHTML = newsheet;
+ node.parentNode.replaceChild(newnode,node);
+
+
+
+ }
+
+
+
+})();
\ No newline at end of file