function jiggle ( on, t, focus ) {

	// requires advance spanize()

	outputHTML = "";
	targetLength = t.childNodes.length;

        for ( var i = 0 ; i < targetLength ; i ++ ) {

		if ( on == 1 ) {

                         r = Math.random ();
         
                         top = - ( 2 * r ) ^ 2 - 1;
                         size = 100 + 0.3 * r;
                         transform = ( r > .9 ? "lowercase" : ( r < .2 ? "uppercase" : "none" ) );
                         variant = ( r > .7 ? "small-caps" : "normal" );
                         weight = 100 + 100 * Math.floor ( r * 8 );

			outputHTML = outputHTML + "<span style=\"position: relative; top: " + top + "px; font-variant: " + variant + "; font-size: " + size + "%; " + "font-weight: " + weight + "; " + "text-transform: " + transform + ";\" >" + t.childNodes[ i ].textContent + "</span>";        

		}

                if ( on == 0 ) {

			outputHTML = outputHTML + "<span>" + t.childNodes[ i ].textContent + "</span>";        
                }
      	
	}

	t.innerHTML = outputHTML;

	// move focal point to trigger another event

//	focus.style.position = "relative";
//	if ( focus.style.left == "0em" ) { focus.style.left = "1em"; }
//	else { focus.style.left = "0em"; }
       

	if ( Math.random () > 0.01 ) { jiggle ( 1, t, focus ); }
}
