allora ragazzi ho un grosso problema e spero che qualcuno di voi mi aiuti a sistemarlo

ho creato una pagina html e attraverso il link
<link rel="stylesheet" type="text/css" href="screen.css" media="screen"/>
ho applicato il mio primo foglio di stile

poi con la funzione

function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = '; expires='+date.toGMTString();
}
else expires = '';
document.cookie = name+'='+value+expires+'; path=/';
}

function readCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}


function setCSS(nome_file_css) {
createCookie('skinUtente',nome_file_css,365);
location.reload();
}

function setCSShref(nome_file_css) {
var link_ = document.getElementsByTagName("link");
for ($i=0;$i<link_.length;$i++)
if(link_[$i].media=="screen")
link_[$i].href=nome_file_css+".css";


}

window.onload = function() {
nome_file_css = readCookie('skinUtente');
if(nome_file_css)
setCSShref(nome_file_css);
}

ho fatto in modo che potessi associare altri fogli di stile
tramite l'attributo href

<li >stampa
<li >Testo
<li >ipovedenti
<li >mobile

il problema è che questa funzione ti fa modificare il foglio css, da visualizzare su schermo
perchè è settata il "media=screen",
ma se faccio visualizzare all'utente come verrà stampata la pagina della versione stampa
ma poi non modifico l'attributo media, non verrà mai stampata con le regole del foglio
di stile per la stampa e quindi non va bene

come faccio a modificare oltre all'attributo href, anche quello media? in caso in cui qualcuno vorrebbe stampare la pagina?

spero di essermi spiegata grazie per l'aiuto che vorrete offrirmi