Risolto!!!
ma mica da solo... mi hanno dato una mano su un altro forum...
Ad ogni modo... per la serie "si faccia una domanda e si dia una risposta":
destra
cosa ci va al posto del bold per far lavorare la funzione che segue e cancellare la classe DESTRA?
Per far lavorare la funzione agendo sull'elemento stesso basta inserire:
onclick="AddClassName(this,'destra')"
Per far lavorare la funzione agendo su un elemnto scelto in base all'ID:
onclick="AddClassName(document.getElementById('TAR GET_ID'),'destra')"
Allo stesso modo, cambiando funzione (RemoveClassName oppure HasClassName) per eseguire le altre operazioni... con le quali si può impostare, ad esempio, un cosa del genere:
codice:
if(hasClass(elementId,'destra')) {
removeClass(elementId,'destra');
} else {
addClass(elementId,'destra');
}
}
E allora ecco ottenuto ciò che chiedevo in apertura della discussione: un sistema che mi fa applicare (e levare) diverse classi ad un elemento...
Lascio la demo che segue se dovesse far comodo a qualcuno (per me è stato un ottimo esercizio), ma fa uso di una versione semplificata dello script del precedente post...
Salva con nome e apri col browser... buonanotte a tutti, 
codice:
<html><head>
<style type="text/css">
.display {width:800px;height:200px;background:#FFFFCC;border:1px solid #ff0000; margin:auto}
.box {width:300px;height:100px;background:#CCFF00;border:1px solid #FF6600; float:none; margin:auto;}
.active {background:#99FF00}
.destra {float:right;}
.sinistra {float:left;}
</style>
<script type="text/javascript">
function hasClass(ele,cls) {
return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}
function addClass(ele,cls) {
if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}
function removeClass(ele,cls) {
if (hasClass(ele,cls)) {
var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
ele.className=ele.className.replace(reg,' ');
}
}
// a destra
function highlightStandardDestra(elementId) {
var elementId = document.getElementById(elementId);
if(hasClass(elementId,'destra')) {
removeClass(elementId,'destra');
} else {
addClass(elementId,'destra');
}
}
// a sinistra
function highlightStandardSinistra(elementId) {
var elementId = document.getElementById(elementId);
if(hasClass(elementId,'sinistra')) {
removeClass(elementId,'sinistra');
} else {
addClass(elementId,'sinistra');
}
}
// bottone
function highlightStandardBottone(elementId) {
var elementId = document.getElementById(elementId);
if(hasClass(elementId,'active')) {
removeClass(elementId,'active');
} else {
addClass(elementId,'active');
}
}
</script>
</head><body>
<div class="display">
<div id="myDiv" class="box">
usa i bottoni per posizionarmi
</div>
</div>
<hr style="clear:both" />
<div style="width:45%;float:left; background:#FFFFCC; border:1px solid #FF0000">
<input type="button" id="bottone2" onclick="highlightStandardSinistra('myDiv'); highlightStandardBottone('bottone2');" value="a sinistra" />
al click attiva una classe che dichiara il box float:left e manda il box a sinistra...
al RIclick disattivi la classe che hai attivato...
</div>
<div style="width:45%;float:right; background:#FFFFCC; border:1px solid #FF0000">
<input type="button" id="bottone1" onclick="highlightStandardDestra('myDiv'); highlightStandardBottone('bottone1');" value="a destra" />
al click attiva una classe che dichiara il box float:right e manda il box a destra...
al RIclick disattivi la classe che hai attivato...
</div>
<hr style="clear:both" />
memo: a seconda della posizione che occupa nel css rispetto all'altra, una classe applicata per seconda può non aver effetto: in questo caso se il box lo mandi a sinistra e poi aggiungi la classe per mandarlo a destra, non ti riesce (i css sono stili a cascata, quindi la successiva ( .sinistra {float:left;} ) avrà priorità sulla precedente ( .destra {float:right;} )... basta un pizzico di logica...): ma il sistema funziona: basta disattivare la classe sinistra e il box andrà a collocarsi correttamente a destra perchè agirà solo il float:right...</p>
memo2: occhio al css che è stato scritto al volo... fuori da FF potrebbe fare casini...</p>
</body></html>