var selectedString="";
function getSelectedHTML(){
  selectedString="";
  var a=undefined;
  if(window.getSelection){
    selobj=window.getSelection();
    if(!selobj.isCollapsed){
      if(selobj.getRangeAt){
        a=selobj.getRangeAt(0)
      } else {
        a=document.createRange();
        a.setStart(selobj.anchorNode,selobj.anchorOffset);
        a.setEnd(selobj.focusNode,selobj.focusOffset)
      }
      if(a){
        DOM=a.cloneContents();
        object=document.createElement("div");
        object.appendChild(DOM.cloneNode(true));
        selectedString=object.innerHTML
      } else {
        selectedString=selobj
      }
    }
  } else {
    if(document.selection){
      selobj=document.selection;
      a=selobj.createRange();
      if(a&&a.htmlText){
        selectedString=a.htmlText
      } else {
        if(a&&a.text){
          selectedString=a.text
        }
      }
    } else {
      if(document.getSelection){
        selectedString=document.getSelection()
      }
    }
  }
  
  selectedString=cleanSelectedString(selectedString)
}

function copyselected(){
  setTimeout("getSelectedHTML()",50);
  return true
}

document.onmouseup=copyselected;
document.onkeyup=copyselected;

function readspeaker(c,b){
  var d="";
  if(selectedString.length>0){
    c=c.replace("/cgi-bin/rsent?","/enterprise/rsent_wrapper.php?")
  }
  if(b&&b.indexOf("Expanding_Player")==-1){
    d=b
  } else {
    d="rs_div"
  }
  savelink=c;start_rs_table="<table><tr><td>";
  rs_embed="<object type='application/x-shockwave-flash' data='http://media.readspeaker.com/flash/readspeaker20.swf?mp3="+escape(c)+"&autoplay=1&rskin=simple&time_format=ms&text_play=Afspelen&text_pause=Pauze&text_stop=Stop&text_vol=Volume' style='height:20px; width:175px;'>";
  rs_embed+="<param name='movie' value='http://media.readspeaker.com/flash/readspeaker20.swf?mp3="+escape(c)+"&autoplay=1&rskin=bump&time_format=ms&text_play=Afspelen&text_pause=Pauze&text_stop=Stop&text_vol=Volume' />";
  rs_embed+="<param name='quality' value='high' />";
  rs_embed+="<param name='SCALE' value='exactfit' />";
  rs_embed+="<param name='wmode' value='transparent' />";
  rs_embed+="</object>";
  rs_downloadlink="<br />Speech-enabled by <a href='http://www.readspeaker.com/nl'>ReadSpeaker</a><br /><a href='"+savelink+"'>Geen geluid?</a>";
  close_rs="<br /><a href='#' onclick='close_rs_div(\""+d+"\"); return false;'>Speler afsluiten</a>";
  end_rs_table="</td></tr></table>";

  var a=document.getElementById(d);
  if(a){
    a.innerHTML=start_rs_table+rs_embed+close_rs+end_rs_table
  }
}

function close_rs_div(b){
  var a=document.getElementById(b);
  if(a){
    $j(a).fadeOut("slow").remove();
  }
}

function cleanSelectedString(c){
  var g=c.match(/<!--/gi);var b="";
  if(g!=undefined){
    for(i=0;i<g.length;i++){
      var b=c.substring(c.search(/<!--/gi),c.search(/-->/gi)+3);
      c=c.replace(b,"")
    }
  }
  var f=/(<\/?[A-Z]+[0-9]?)\s?[^>]*>/gi;
  c=c.replace(f,"$1>");
  var a=/<\/?[A-Z]+[0-9]?\s?>/gi;c=c.replace(a,function(h){return returnTags(h)});
  var d=/\s+?\s*/gi;c=c.replace(d," ");
  var e=/(<br>)+?\s?(<br>\s*)*/gi;
  c=c.replace(e,"<br>");
  return c
}

function returnTags(a){
  var b=/<\/?(h[1-6]|a|area|ul|ol|dl|dd|dt|li|table|td|tr|th|p|hr|br)>/i;
  if(b.test(a)){
   return a
  } else { 
   return""
  }
};
