var req;
var creq;
var freq;
var cacheFunction='cache';
var featureFunction='feature';

function subAdd(toGrab) {
  if (document.getElementById(toGrab) == null) {
    toGrab = "main";
  }
  document.getElementById('sn_display').innerHTML=document.getElementById(toGrab).innerHTML;
}

function setSize(newSize) {
  if ((newSize == 1) || (newSize == 2) || (newSize == 3)) {
    setCookie("textsize",newSize);
    var sizes = new Array();
    sizes[1] = 7;
    sizes[2] = 8.4;
    sizes[3] = 11;
    document.body.style.fontSize = sizes[newSize] + "pt";
    document.td.style.fontSize = sizes[newSize] + "pt";
	  setSizeMarker(newSize);
  }
}

function setCookie(c_name,value) {
  var exdate=new Date();
  exdate.setDate(exdate.getDate()+30);
  document.cookie=c_name + "=" + escape(value) + ";path=/;expires=" + exdate.toGMTString();
}

function getCookie(c_name) {
  var c_start=0;
  var c_end=0;
  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 set_default_size() {
  var newSize = getCookie("textsize");
  if ((newSize == 1) || (newSize == 3)) {
    setSize(newSize);
  } else {
    setSizeMarker(2);
  }
}

function setSizeMarker(newSize) {
  document.getElementById('ts_a').style.textDecoration = "none";
  document.getElementById('ts_b').style.textDecoration = "none";
  document.getElementById('ts_c').style.textDecoration = "none";
  if (newSize == 1) {
    document.getElementById('ts_a').style.textDecoration = "underline";
  }
  if (newSize == 2) {
    document.getElementById('ts_b').style.textDecoration = "underline";
  }
  if (newSize == 3) {
    document.getElementById('ts_c').style.textDecoration = "underline";
  }
}

function createAJAXRequest() {
  var request = false;
  try {
    request = new XMLHttpRequest();
  } catch (trymicrosoft) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (othermicrosoft) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (failed) {
        request = false;
      }
    }
  }
  return request;
}

var showHist=false;

function toggleHistory(myID) {
  if (showHist == false) {
    showHistory(myID);
  } else {
    hideHistory();
  }
  
}

function showHistory(myID) {
  var myURL = '/admin/article_history.html?id=' + myID;
  showHist=true;
  req = createAJAXRequest();
  req.open("GET", myURL, true);
  req.onreadystatechange = changeAutoSuggest;
  req.send(null);
}

function changeAutoSuggest() {
  if (req.readyState == 4) {
    if (req.status == 200) {
      document.getElementById("autocomplete").innerHTML = req.responseText;
      document.getElementById("autocomplete").style.display = 'block';
    }
  }
}

function hideHistory() {
  showHist=false;
  document.getElementById("autocomplete").style.display = 'none';
}

function cachePage(myID, cFunction) {
  cacheFunction = cFunction;
  var myURL = '/articles.html?id=' + myID + '&hour=12';
  if (cacheFunction == 'cache') {
    myURL = myURL + '&cache=true';
  }
  if (cacheFunction == 'uncache') {
    myURL = myURL + '&uncached=true&action=delcache';
  }
  creq = createAJAXRequest();
  creq.open("GET", myURL, true);
  creq.onreadystatechange = changeCacheButton;
  creq.send(null);
}
function changeCacheButton() {
  if (creq.readyState == 4) {
    if (creq.status == 200) {
      document.getElementById("cachebutton").style.display = 'none';
      document.getElementById("uncachebutton").style.display = 'none';
      if (cacheFunction == 'uncache') {
        document.getElementById("cachebutton").style.display = 'inline';
      } else {
        document.getElementById("uncachebutton").style.display = 'inline';
      }
    }
  }
}

function featurePage(myID, fFunction) {
  featureFunction = fFunction;
  var myURL = '/articles.html?id=' + myID + '&action=' + featureFunction;
  freq = createAJAXRequest();
  freq.open("GET", myURL, true);
  freq.onreadystatechange = changeFeatureButton;
  freq.send(null);
}
function changeFeatureButton() {
  if (freq.readyState == 4) {
    if (freq.status == 200) {
      document.getElementById("featurebutton").style.display = 'none';
      document.getElementById("unfeaturebutton").style.display = 'none';
      if (featureFunction == 'unfeature') {
        document.getElementById("featurebutton").style.display = 'inline';
      } else {
        document.getElementById("unfeaturebutton").style.display = 'inline';
      }
    }
  }
}