var defaultvalue="wordsent";
var defaultsurvive=360000000;

var readid=null;
var restorehtml=null;
var newhtml="";
var oldwordhl=null;
var oldsenthl=null;

function rshlsetContent(thecontent) {
  newhtml+=thecontent;
}

function rshlsetId(theid) {
  readid=theid;
}

function rshlinit() {
  var x=null;
  if (readid!=null) {
    x=document.getElementById(readid);
  }
  if (x!=null) {
    restorehtml=x.innerHTML;
    x.innerHTML=newhtml;
    newhtml="";
  }
}

function rshltidy() {
  var x=null;
  if (readid!=null) {
    x=document.getElementById(readid);
  }
  if (x!=null && restorehtml!=null) {
    x.innerHTML=restorehtml;
    restorehtml=null;
    readid=null;
  }
}

function rshlexit() {
  closepage('xpl');
}

function rshlsync(type,id) {
  var newEl = document.getElementById("sync"+id);
  if (newEl && newEl.className=="sync_sent") {
    if (oldsenthl) {
      oldsenthl.className = 'sync_sent';
    }
    oldsenthl=newEl;
    newEl.className = 'sync_sent_highlighted';
  }
  else if (newEl && newEl.className=="sync_word") {
    if (oldwordhl) {
      oldwordhl.className = 'sync_word';
    }
    oldwordhl=newEl;
    newEl.className = 'sync_word_highlighted';
  }
}

function readpage(rscall,playerid) {
  var thesync=loadSettings("ReadSpeakerHL");
  if (thesync=="")
    thesync=defaultvalue;
  var audioformat="mp3";

  if (thesync!='none')
    audioformat="swf";
  origrscall=rscall;
  rscall=rscall+"&audioformat="+audioformat+"&sync="+thesync;
  newrscall=escape(rscall);

  the_player="<div class='rsPlayer'>";
  the_player+="<OBJECT classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0' width='250' height='20'>";
  the_player+="<param name='movie' value='http://media.readspeaker.com/flash/readspeaker20.swf?"+audioformat+"="+newrscall+"&rskin=simple&autoplay=1&tips=1'>";
  the_player+="<param name='quality' value='high'><param name='autostart' value='true'>";
  the_player+="<param name='allowScriptAccess' value='always'><param name='bgcolor' value='#FFFFFF'>";
  the_player+="<param name='loop' value='false'>";
  the_player+="<EMBED src='http://media.readspeaker.com/flash/readspeaker20.swf?"+audioformat+"="+newrscall+"&rskin=simple&autoplay=1&tips=1'";
  the_player+=" allowScriptAccess='always' quality='high' autostart='true' bgcolor='#FFFFFF' width='250' height='20' loop='false' type='application/x-shockwave-flash'";
  the_player+=" pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' swliveconnect='true'>";
  the_player+="</EMBED></OBJECT>";
  the_html="<div id='bottomlinks' class='textLiten'><a href='#' title='Inst\u00E4llningar' onclick='showcontrols(\""+origrscall+"\",\""+playerid+"\");return false'>Inst\u00E4llningar</a> | <a href='"+origrscall+"&save=1' target='rs' title='Ladda ner ljudfil'>Ladda ner ljudfil (mp3)</a></div>";
  the_html+="<div id='controls'></div>";
  the_html+="<div class='ikonLank rsStangLank textLiten'><a href='#' title='St\u00E4ng spelaren' onclick='closepage(\""+playerid+"\");return false'>&nbsp;St\u00E4ng spelaren</a></div></div>";
  var x=document.getElementById(playerid);
  if (x) {
    x.innerHTML=the_player+the_html;
    x.style.display = 'block';
  }
}

function closepage(playerid) {
  var x=document.getElementById(playerid);
  if (x) {
    x.innerHTML='';
    x.style.display = 'none';
  }
  rshltidy();
}

function saveSettings(name, content, lifetime) {
  lifetime=parseInt(eval(lifetime));  
  if (lifetime+""=="NaN") {
    tmpdate="";
  }
  else {
    var thedate = new Date();
    thedate.setTime(thedate.getTime() + lifetime);
    thedate=thedate.toGMTString();
    tmpdate="; expires="+thedate;
  }
  document.cookie=name+"="+escape(content)+tmpdate;
}

function loadSettings(ckname) {
  ckarr=document.cookie;
  cks=ckarr.split("; ");
  for (i=0;i<cks.length;i++) {
    cknameval=cks[i].split("=");
    if (cknameval[0]==ckname) {
      return unescape(cknameval[1]);
    }
  }
  return "";          
}

function setstyle(style) {
  saveSettings("ReadSpeakerHL",style,defaultsurvive);
  var x=document.getElementById('controls');
  if (x!=null)
    x.innerHTML="";
}

function showcontrols(rscall,playerid) {
  var x=document.getElementById('controls');
  if (x!=null && x.innerHTML!="") {
    x.innerHTML="";
    x.style.display = 'none';
    return false;
  }
  var thevalue=loadSettings("ReadSpeakerHL");
  if (thevalue=="")
    thevalue=defaultvalue;
  thestring="<div id='rspopup' class='textLiten'><strong>Alternativ:</strong><ul>";
  thestring+="<li class="; if (thevalue=="wordsent") thestring+="'act'";
  thestring+="><a href='#' title='Markera ord och mening' onclick='setstyle(\"wordsent\");closepage(\""+playerid+"\");readpage(\""+rscall+"\",\""+playerid+"\");return false;'"; if (thevalue=="wordsent") thestring+="class='actlink'"; thestring+=">Markera ord och mening</a></li>";
  thestring+="<li class="; if (thevalue=="sent") thestring+="'act'";
  thestring+="><a href='#' title='Markera endast mening' onclick='setstyle(\"sent\");closepage(\""+playerid+"\");readpage(\""+rscall+"\",\""+playerid+"\");return false;'"; if (thevalue=="sent") thestring+="class='actlink'"; thestring+=">Markera endast mening</a></li>";
  thestring+="<li class="; if (thevalue=="word") thestring+="act";
  thestring+="><a href='#' title='Markera endast ord' onclick='setstyle(\"word\");closepage(\""+playerid+"\");readpage(\""+rscall+"\",\""+playerid+"\");return false;'"; if (thevalue=="word") thestring+="class='actlink'"; thestring+=">Markera endast ord</a></li>";
  thestring+="<li class="; if (thevalue=="none") thestring+="act";
  thestring+="><a href='#' title='Markera ingenting' onclick='setstyle(\"none\");closepage(\""+playerid+"\");readpage(\""+rscall+"\",\""+playerid+"\");return false;'"; if (thevalue=="none") thestring+="class='actlink'"; thestring+=">Ingen markering</a></li></ul></div>";
  var x=document.getElementById('controls');
  if (x!=null) {
    x.innerHTML=thestring;
    x.style.display = 'block';
  }
}