//http://www.w3schools.com/JS/js_cookies.asp
function setCookie(c_name,value,expiredays)
{
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+expiredays);
  document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

//http://www.w3schools.com/JS/js_cookies.asp
function getCookie(c_name)
{
  if (document.cookie.length>0)
  {
    c_start=document.cookie.indexOf(c_name + "=");
    if (c_start!=-1)
    {
      c_start=c_start + c_name.length+1;
      c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1) c_end=document.cookie.length;
        return unescape(document.cookie.substring(c_start,c_end));
    }
  }
  return "";
}

function killCookie(c_name) {
  setCookie(c_name, '', -1 );
}

function setBState(ind,state) {
  var ckd=state; //selected banners have checkboxes on
  var opc=(state?1:0.4); //selected banners have full opacity
  cbx=document.getElementById('cbx'+ind);
  if (!cbx)
    return false;
  img=document.getElementById('img'+ind);
  cbx.checked=ckd;
  img.style.opacity=opc; //Standard browsers
  img.style.filter='alpha(opacity=' + (opc*100) + ')'; //IE
  return true;
} 

function invBState(ind) {
  var e=getBState(ind);
  if (e<1)
    return false;
  e=(2==e?false:true);//inverted state
  return setBState(ind,e);
}

function getBState(ind) {
  var cbx=document.getElementById('cbx'+ind);
  if (!cbx)
    return 0;
  return (cbx.checked?2:1);
}

function selBAll() {
  for (var ind=0;setBState(ind,true);ind++)
    {}
  setXBCookie();
}

function invBAll() {
  for (var ind=0;invBState(ind);ind++)
    {}
  setXBCookie();
}

function expB(ind) {
  setBState(ind,2==getBState(ind)?true:false);
  setXBCookie();
}

function invB(ind) {
  setBState(ind,2==getBState(ind)?false:true);
  setXBCookie();
}

function appXBCookie()
{
  var xbc = getCookie( 'xbanners' );
  var xb_s = xbc.split( '-' );
  for ( var i in xb_s ) {
    if (xb_s[i].length<1)
      continue;
    setBState(xb_s[i],false);
  }
}

function setXBCookie() {
  var xbval='';
  for (var ind=0;e=getBState(ind);ind++) {
    if (1==e) {//1 would be for deselected banners
      xbval=xbval+ind+'-';
    }
  }
  if (xbval.length>1)
    setCookie('xbanners',xbval,30); //Set for 30 days
  else
    killCookie('xbanners');
}

function previewB(url) {
  document.getElementById('js_preview').src=url;
}
