// ================================================================
// changestyle.js -- display toolbar for changing CSS.
// ================================================================

function isStyle(link) {
  return ((link.getAttribute("rel") || "").indexOf("stylesheet") != -1);
}

function getTitle(link) {
  return link.getAttribute("title");
}

// ----------------------------------------------------------------

function setCookie(name, val) {
  var now = new Date(); var expiry, cookies;

  now.setTime(now.getTime() + (10 * 24 * 60 * 60 * 1000));
  expiry = now.toGMTString();
  cookies  = name + "=" + escape(val) + "; ";
  cookies += "path=/; ";
  cookies += "expires=" + expiry + ";";
  document.cookie = cookies;
}

function getCookie(name) {
  var cookies = document.cookie;
  var start = cookies.indexOf(name + '=');
  var finish;

  if(start != -1) {
    start += (name.length + 1);
    finish = cookies.substring(start,cookies.length);
    if(finish.indexOf(';') == -1)
      finish = cookies.length;
    else
      finish = start + finish.indexOf(';');
    return unescape(cookies.substring(start,finish));
  }
  return false;
}

// ----------------------------------------------------------------

function collectLinks() {
  var result = new Array(); var i;
  var links = document.getElementsByTagName("link");

  for(i = 0; i < links.length; i++) {
    if(isStyle(links[i]) && getTitle(links[i])) {
      result.push(links[i]);
    }
  }
  return result;
}

function changeCSS(title) {
  var links = collectLinks();
  var isoff = (title == "OFF"); var i;

  if(title != "default") changeCSS("default");

  for(i = 0; i < links.length; i++) {
    links[i].disabled = isoff || (getTitle(links[i]) != title);
  }
  setCookie("style", title);
}

function createToolBar() {
  var links = collectLinks(); var i;

  document.write("<div class=\"header\" style=\"text-align: right;\">\n");
  document.write("CSS ÀÚ¤êÂØ¤¨: ");
  for(i = 0; i < links.length; i++) {
    document.write("[<a href=\"javascript:void(0)\"");
    document.write(" onClick=\"changeCSS(\'", getTitle(links[i]), "\')\">");
    document.write("¢§", getTitle(links[i]), "</a>]");
  }
  document.write("[<a href=\"javascript:void(0)\"");
  document.write(" onClick=\"changeCSS(\'OFF\')\">");
  document.write("¢§CSS off</a>]");
  document.write("</div>\n");
}

// ----------------------------------------------------------------

function mainChangeStyle() {
  var title;

  if(title = getCookie("style")) changeCSS(title);
  createToolBar();
}

// ----------------------------------------------------------------

mainChangeStyle();

// ================================================================
