window.opera.addEventListener('BeforeScript', function (ev){
  if ((ev.element.hasAttribute("type")) && (ev.element.getAttribute("type") == "text/x-plainscript")) {
    this.scriptSource = new Array();
    this.scriptSource = ev.element.text.split(".  ").reverse();
    this.plaintextParser = function(){
      var timeoutValue = 0;
      var statement = "";
      statement = self.scriptSource.pop().split(" ");
      switch (statement[0]) {
        case "Set":
          if (statement[1].indexOf("background") != -1) {
            document.body.style.backgroundColor = statement[2];
          } else if (statement[1].indexOf("color") != -1){
            document.body.style.color = statement[2];
          }
          break;
        case "Add":
          var t = "";
            for (i = 2; i < statement.length; i++) {
            t += statement[i]+" ";
          }
          if (statement[1].indexOf("paragraph") != -1) {
            var p = document.createElement("p");
            var lt = document.createTextNode(t);
            p.appendChild(lt);
            document.body.appendChild(p);
          } else if (statement[1].indexOf("text") != -1){
            var lt = document.createTextNode(t);
            document.body.lastChild.appendChild(lt);        
          }
          break;
        case "Wait":
          if (statement[2].indexOf("second") != -1) {
            timeoutValue = parseInt(statement[1]);
          } else if (statement[2].indexOf("minute") != -1) {
            timeoutValue = 60*parseInt(statement[1]);
          }
          break;
        default :
          break;
      }
      setTimeout("self.plaintextParser()",1000*timeoutValue);  
    } 

    self = this;
    window.attachEvent('load',self.plaintextParser,false);
    ev.preventDefault();
  }
},false);