
/* http://blog.roodo.com/onion_club, 2009 Spring.  Last update: 2009/02/19. */

window.onload = function () {
  changeSearchBox();
  changeArticleMore();
  changeTrackbackTitle();
  changeAdboxMain();
  changeCommentForm();
  changeCalendar();
}

function changeSearchBox() {
  var a = document.getElementsByTagName("input");
  if (a!=null) {
    for (var i=0; i < a.length; i++) {
      switch (a[i].type)
      {
        case "text":
          a[i].className = "input_text";
          break;
        case "submit":
          a[i].className = "button";
          break;
      }
    }
  }
}

function changeArticleMore() {
  var a = document.getElementsByName("more");
  if (a!=null && a.length>0) {
    for (var i=0; i < a.length; i++) {
      a[i].className = "amore";
    }
  }
}

function changeTrackbackTitle() {
  var t = document.getElementsByTagName("h3");
  if (t!=null && t.length>0 && t.length<3) {
    for (var i = t.length-1 ; i>=0; i--) {
      if (t[i].innerHTML=="引用URL") {
        t[i].className = "trackbackTitle";
        break;
      }
    }
  }
}

function changeAdboxMain() {
  var abc = getElementsByClassName("adbox");
  if (abc!=null && abc.length==1) {
    var adbox = abc[0];
    if (adbox!=null) {
      var adboxMain = adbox.parentNode;
      adboxMain.className = "adboxMain";
    }
  }
}

function changeCommentForm() {
  var urlobj = document.getElementsByName("url");
  if (urlobj!=null && urlobj.length>0) {
    urlobj[0].className = "url";
  }
  var ccodeans = document.getElementsByName("ccode_ans");
  if (ccodeans!=null && ccodeans.length>0) {
    ccodeans[0].className = "ccodeans";
    var ccodeimg = ccodeans[0].previousSibling.previousSibling;
    if (ccodeimg!=null && new String(ccodeimg.tagName).toLowerCase() == "img") {
      ccodeimg.className = "ccodeimg";
    }
  }
  
  /* change labels. */
  var labels = document.getElementsByTagName("label");
  for (var i=0; i < labels.length; i++) {
    switch (labels[i].innerHTML) {
      case "姓名 : ":
        var someTD = labels[i].parentNode;
        someTD.setAttribute("width","70");
        break;
      case "回應內容 : ":
        var someTD = labels[i].parentNode;
        var elms = someTD.childNodes;
        var addToHere = 0;
        for (var j=0; j<elms.length; j++) {
          if (elms[j].tagName == "BR") {
            addToHere = j;
          }
        }
        var cthDiv = document.createElement("div");
        var cthWord1 = document.createTextNode("留言時請注意網路禮儀，有關髒話、廣告、政治、謾罵口水戰等留言");
        var tmpBr = document.createElement("br");
        var cthWord2 = document.createTextNode("一經發現，將會進行修正及刪除，謝謝你的合作喔！");
        cthDiv.appendChild(cthWord1);
        cthDiv.appendChild(tmpBr);
        cthDiv.appendChild(cthWord2);
        cthDiv.setAttribute("class","commentTextHelp");
        cthDiv.setAttribute("className","commentTextHelp");
        someTD.insertBefore(cthDiv,elms[addToHere]);
        var arr = document.getElementsByName("preview");
        if (arr!=null && arr.length>0) {
        	var someTD2 = arr[0].parentNode;
		      var sp = document.createElement("div");
		      var im = document.createElement("img");
		      im.setAttribute("src", "http://blog.roodo.com/onion_club/71187a39.gif");
		      im.setAttribute("border", "0");
		      sp.appendChild(im);
		      sp.setAttribute("class","commentFormButtons");
		      sp.setAttribute("className","commentFormButtons");
		      someTD2.insertBefore(sp,someTD2.firstChild);
        }
        break;
      default:
        break;
    }
  }
}

function changeCalendar() {
  var dayBlocks = getElementsByClassName("calendard");
  if (dayBlocks!=null) {
    var cbody = getCalendarBody(dayBlocks[0]);
    if (cbody!=null) {
      cbody.style.backgroundImage = "url('http://blog.roodo.com/onion_club/46428d44.gif')";
      cbody.style.backgroundRepeat = "no-repeat";
      cbody.style.backgroundPosition = "bottom";
    }
  }
}

function getCalendarBody(obj) {
  if (obj!=null) {
    var t = obj.tagName.toLowerCase();
    switch (t) {
      case "table":
        return obj;
        break;
      case "body":
        return null;
        break;
      default:
        return getCalendarBody(obj.parentNode);
    }
  }
}

function getElementsByClassName(c) {
  var all = document.all ? document.all : document.getElementsByTagName('*');
  var rv = new Array();
  for (var i=0; i < all.length; i++) {
    if (all[i].className==c) {
      rv[rv.length] = all[i];
      break;
    }
  }
  if (rv.length > 0) {
    return rv;
  } else {
    return null;
  }
}





