
function OptionsClass(){
  
  this.Init=Init;
  this.GetBitrate=GetBitrate;
  this.GetLanguage=GetLanguage;
  this.SetBitrate=SetBitrate;
  this.SetLanguage=SetLanguage;
  
  var theObjectName;
  var theBitrates=new Array();
  var theLanguages=new Array();
  
  var theBitrate =-1;
  var theLanguage =-1;
  var theCookieBaseName
  
  function Init(aObjectName, aBitrates,aLanguages,aCookieBaseName){
    theObjectName=aObjectName;
    theBitrates=aBitrates;
    theLanguages=aLanguages;
    theCookieBaseName=aCookieBaseName;
    
    var bitrateName=theCookie.get(aCookieBaseName+"_bitrate");
    var languageName=theCookie.get(theCookieBaseName+"_language");
    theBitrate=FindItem(theBitrates,bitrateName);
    theLanguage=FindItem(theLanguages,languageName);
    
    if(parseInt(theBitrate)==NaN  || theBitrate<0 )theBitrate=0;
    if(parseInt(theLanguage)==NaN || theLanguage<0)theLanguage=0;
    SetBitrate(theBitrates[theBitrate],false);
    SetLanguage(theLanguages[theLanguage],false);
  }
  
  function GetBitrate(){return theBitrates[theBitrate];}
  function GetLanguage(){return theLanguages[theLanguage];}
  function FindItem(aArr,aValue){ for(i=0;i<aArr.length;i++)if(aArr[i].toLowerCase()==aValue.toLowerCase())return i; return -1;}
  
  function SetBitrate(aValue,aRaiseEventFlag){
    theBitrate=FindItem(theBitrates,aValue);
    if(theBitrate<0)return false;
    for(i=0;i<theBitrates.length;i++){try{HTMLUtil.GetElement("Bitrate_"+theBitrates[i]+"Div").className="cwcCheck";}catch(E){}}
    try{HTMLUtil.GetElement("Bitrate_"+theBitrates[theBitrate]+"Div").className="cwcCheck-a";}catch(E){}
    if(aRaiseEventFlag)theEventHandler.Raise(theObjectName,"OPTIONCHANGE","bitrate");
    theCookie.set(theCookieBaseName+"_bitrate",theBitrates[theBitrate]);
  }
  
  function SetLanguage(aValue,aRaiseEventFlag){
    theLanguage=FindItem(theLanguages,aValue);
    if(theLanguage<0)return false;
    for(i=0;i<theLanguages.length;i++){try{ HTMLUtil.GetElement("Language_"+theLanguages[i]+"Div").className="cwcLang-"+theLanguages[i]; }catch(E){}}
    try{HTMLUtil.GetElement("Language_"+theLanguages[theLanguage]+"Div").className="cwcLang-"+theLanguages[theLanguage]+"-a"; }catch(E){}
    if(aRaiseEventFlag)theEventHandler.Raise(theObjectName,"OPTIONCHANGE","language");
    theCookie.set(theCookieBaseName+"_language",theLanguages[theLanguage]);
  }

}