Tipo questa... non si può considerare propriamente una semplificazione, giusto?

Codice PHP:
function addlink(){
// Crea un elemento LINK, e prende l'elemento Ancor su cui applicare gli eventi
    
var linka;
    
document.getElementById("jsmenu").getElementsByTagName("a")[0];
    
link=document.createElement("link");
    
link.setAttribute("type","text/css");
    
link.setAttribute("rel","stylesheet");
    
link.setAttribute("media","all");
    
document.getElementsByTagName("head")[0].appendChild(link);
    
change(link,a);
}
function 
change(link,a){
// Individua quale deve essere l'azione dell'ancora in base alla classe
// e richiama la funzione opportuna
    
var cssfilestarthrefi;
// Salva l'attributo HREF prima di rimpiazzarlo con #
// sarà da ripassare a questa funzione ogni volta, per ricavare il nome del file CSS
    
starthref a.href;
    
a.href="#";
// Verifica se la classe dell'ancora è "modif" (il file CSS è stato caricato) o "init"
    
if(/modif/.test(a.className)){
        
a.onclick = function(){ removeCss(link,a,starthref) };
    } else {
// Ricava il nome del file CSS dal href dell'ancora
        
cssfile starthref.substring(starthref.indexOf("=")+1starthref.length);
        
a.onclick = function(){ addCss(link,cssfile,a,starthref) };
    }
}
function 
removeCss(link,a,starthref){
// Rimuove l'attributo href in LINK, cambia la classe ed il testo del link e ritorna
// alla funzione change()
    
link.removeAttribute("href");
    
a.className "init";
    
a.href starthref;
    
a.replaceChild(document.createTextNode('Impaginazione per piccoli schermi'), a.firstChild);
    
change(link,a);
}
function 
addCss(link,cssfile,a,starthref){
// Setta l'attributo href in LINK, cambia la classe ed il testo del link e ritorna
// alla funzione change()
    
link.setAttribute("href",cssfile);
    
a.className "modif";
    
a.href starthref;
    
a.replaceChild(document.createTextNode('Impaginazione a due colonne'), a.firstChild);
    
change(link,a);


window.onload=addlink