kann jemand diese Funktionen kurz kommentieren, bzw. beschreiben was wo passiert... hier der Code...
<script language="JavaScript">
<![CDATA[ var note=4;
var word=3;
var notetype;
var verses=1;
var verse=1;
var svgdoc;
function init(event)
{
svgdoc = event.getCurrentNode().getOwnerDocument();
verses = svgdoc.getElementById("song").getAttribute("verses");
svgdoc.getElementById("verse"+verse).setAttribute("style","visibility:visible");
PlayNextNote(evt);
}
function PlayNextNote(event)
{
var node;
var nodes;
var textnodes;
var sound;
try
{
nodes = svgdoc.getElementsByTagName("use");
textnodes = svgdoc.getElementsByTagName("text");
// Skip the first 4 "use" elements - they are TrebleClef elements not notes
// Skip the first 3 "text" elements - they are beat info
if(note > 4)
{
nodes.item(note-1).setAttribute("class",notetype);
// There is only 1 text node to skip
textnodes.item(word).setAttribute("class","words");
}
if(note >= nodes.length && verse < verses)
{
note=4;
svgdoc.getElementById("verse"+verse).setAttribute("style","visibility:hidden");
verse++;
svgdoc.getElementById("verse"+verse).setAttribute("style","visibility:visible");
}
if(note < nodes.length)
{
notetype= nodes.item(note).getAttribute("class");
nodes.item(note).setAttribute("class","highlightednote");
// There is only 1 text node to skip
textnodes.item(word+1).setAttribute("class","highlightedwords");
sound = nodes.item(note).getAttribute("note");
}
else
{
svgdoc.getElementById("verse"+verse).setAttribute("style","visibility:hidden");
verse=1;
svgdoc.getElementById("verse"+verse).setAttribute("style","visibility:visible");
return;
}
node = svgdoc.getElementById("music");
node.setAttribute("dur",nodes.item(note).getAttribute("dur"));
node.setAttribute("volume","10");
var mp3=svgdoc.getElementById(sound+".mp3").getAttribute("data");
node.setAttribute("xlink:href", mp3);
node.beginElementAt("0s");
note++;
word++;
}
catch(e)
{
alert("Error: "+e.description);
};
}
]]>
</script>