

function initStyle(){
 if(typeof(doLoaded) != "undefined"){doLoaded();}

 insertClass('sidebar-top', 'div', '<div id="30th-logo"><a href="http://spaceinvaders.jp" target="_blank"><img src="http://template.cocolog-nifty.com/000390/three_column/component/30th_logo.gif" alt="スペースインベーダー30周年ロゴ" width="96" height="93" border="0"  /></a></div>');



}


function preinsertClassHTML(insertClass,  targetTag, insertTag, insertString, targetId, insertNumber){
 var classTag = targetTag;
 var classId = targetId;
 var insertNum = insertNumber;


 if(insertTag.length == 0){
  return;
 }
 if(targetTag.length == 0){
  classTag = 'div';
 }
 if(!targetId || targetId.length == 0){
  classId = '';
 }
 if(insertNumber == ''){
  insertNum = 0;
 }

 var regpre = new RegExp("<" + insertTag, "ig");
 var regpost = new RegExp("</"+insertTag, "ig");

 var oElement = getByTagName(classTag);
 if(!oElement){
  return;
 }
    var len = oElement.length;
    var targetstr;
    var num;
    for (num=0; num<len; num++) {
  if(oElement[num] != null){
      var addstr="";
         if (oElement[num].className == insertClass) {
          if(classId.length == 0 || oElement[num].id == classId){
           var tagnum = oElement[num].innerHTML.match(regpre);
           if(!tagnum){
            continue;
           }
           var morestr = oElement[num].innerHTML;
           var morestart = 0;
           var tagcount;
     for(tagcount=0; tagcount<tagnum.length; tagcount++){
           morestr = oElement[num].innerHTML.substring(morestart);
           if(morestr.search(regpost) == -1){
            break;
           }
           morecount = morestr.search(regpost);
           morestr = oElement[num].innerHTML.substring(morestart, morestart+morecount+3+insertTag.length);
           morestart += morecount+3+insertTag.length;
      //繩t・倅4・~M・・q^
            if(insertNum > 0){
             if(tagcount+1 != insertNum){
              addstr += morestr;
              continue;
             }
            }
      if ((begin = morestr.search(regpre)) != -1) {
       var tmpstr = morestr.substring(begin);
       var innerstr = morestr.substring(0,begin);
       if ((end = tmpstr.search(regpost)) != -1) {
        addstr += innerstr + insertString + morestr.substring(begin);
       }
      }
     }
     oElement[num].innerHTML = addstr + oElement[num].innerHTML.substring(morestart);
    }
         }
        }
    }
}

function insertClass(insertClass, targetTag, insertString, index, targetId){
 var classTag = targetTag;
 var classId = targetId;
 if(targetTag.length == 0){
  classTag = 'div';
 }
 if(index == null){
  index = 0;
 }
 if(!targetId || targetId.length == 0){
  classId = '';
 }

 var oElement = getByTagName(classTag);
 if(!oElement){
  return;
 }

    var len = oElement.length;
    var targetstr;
    var cattag;
    for (num=0; num<len; num++) {
  if(oElement[num] != null){
      var addstr="";
         if (oElement[num].className == insertClass) {
          if(classId.length == 0 || oElement[num].id == classId){
     targetstr = oElement[num].innerHTML;
           if(targetstr.length < index){
         index = targetstr.length;
       }
     if(index == -1){
      pre = targetstr.substr(0);
      cattag = insertString;
     }
     else{
      pre = targetstr.substr(0, index);
     }
     if(index != -1){
      cattag = insertString + targetstr.substring(index);
     }
     oElement[num].innerHTML = pre + cattag;
    }
   }
     }
    }
}

function insertId(insertID, insertTag, index){
 var oElement = document.getElementById(insertID);
 if(index == null){
  index = 0;
 }
 if(!oElement){
  return;
 }

 var pre;
 var post;
 if(oElement.innerHTML.length < index){
  index = oElement.innerHTML.length;
 }
 if(index == -1){
  pre = oElement.innerHTML;
  post = "";
 }
 else{
  pre = oElement.innerHTML.substring(0, index);
  post = oElement.innerHTML.substring(index);
 }
 oElement.innerHTML = pre + insertTag + post;
}


// inner function
function getclassBrowser(){
 var ua=navigator.userAgent;
 var classname;
    if(ua.match(/MSIE/) != null){
  classname = 'className';
 }
 else{
  classname = 'class';
 }
 return classname;
}

function changeString2(node, tag, string, whichcase, insertIndex, id){

 var classId = id;
    var tagcount = 0;
    var tmpIndex=0;
    
 if(!id || id.length == 0){
  classId = '';
 }

 while(node){
  if(node.firstChild){
   if(node.id == classId){
    if(changeString2(node.firstChild, tag, string, whichcase, insertIndex, id) == -1){
     return -1;
    }
   }
  }
  // ・ャq翫剞ヒ'絲乗院・帥qｮ
  if(node.nodeName.toLowerCase() == tag.toLowerCase()){
   changestr(node, string, whichcase, insertIndex);
   return -1;
  }
  node = node.nextSibling;
    }
}

function changeString(node, tag, string, whichcase, insertIndex, id){

 var classId = id;
    var tagcount = 0;
    var tmpIndex=0;
    
 if(!id || id.length == 0){
  classId = '';
 }

 while(node){
  if(node.firstChild){
   if(node.id == classId){
    changeString(node.firstChild, tag, string, whichcase, insertIndex, id);
   }
  }
  // ・ャq翫剞ヒ'絲乗院・帥qｮ
  if(node.nodeName.toLowerCase() == tag.toLowerCase()){
   changestr(node, string, whichcase, insertIndex);
  }
  node = node.nextSibling;
    }
}


function changestr(node, string, whichcase, insertIndex){

 // replace
 if(whichcase == 1){
  node.innerHTML =string;
 }
 // insert
 else{
     tmpIndex=insertIndex;

  if(insertIndex == -1 || insertIndex > node.innerHTML.length){
   tmpIndex = node.innerHTML.length;
  }
  var str = node.innerHTML;
        node.innerHTML =str.substring(0, tmpIndex) + string + str.substring(tmpIndex);
 }
}


// Common Javascript
var themeBaseURI = 'http://exaple.org/specialstyles';

// put image and flash files to themeBaseURITHEME
//  filename should be THEME-CLASSNAME.gif or THEME-ID.swf.
//  like mybow-comment.gif and mybow-recent-updates.swf

function insertFlashMovie (theme, divs) {
    for (i in divs) {
        var swfURL = themeBaseURI + '/' + theme + '/' + theme + '-' + divs[i] + '.swf';
        insertHTML(divs[i], '<embed src="' + swfURL + '" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" TYPE="application/x-shockwave-flash" </embed>');
    }
}

function insertHTML (divID, tag) {
    var e = getByID(divID);
    e.innerHTML = tag + e.innerHTML;
}

function replaceHTML (divID, tag) {
  var e = getByID(divID);
 if(!e){
  return;
 }
  e.innerHTML = tag;
}

function replaceImage (theme, divs) {
    for (i in divs) {
        var imageURL = themeBaseURI + '/' + theme + '/' + theme + '-' + divs[i] + '.gif';        
        var tag = '<img src="' + imageURL + '" alt="' + divs[i] + '" />';
        replaceHTML(divs[i], tag);
    }
}

function replaceButton (theme, classes) {
    for (i in classes) {
        // alert(theme + '/' + theme + '-' + classes[i] + '.gif');
        doReplaceLinkToImage(classes[i], theme + '/' + theme + '-' + classes[i] + '.gif', '');
    }
}

function doReplaceLinkToImage (className, imageFilename, title) {
    if (title) {
        title = 'alt="' + title + '" ';
    } else {
        title = '';
    }
    var imageURL = themeBaseURI + '/' + imageFilename;
    var tag = '<img src="' + imageURL + '" ' + title + '/>';
    doReplaceLinkInnerHTML (className, tag);
}

function doReplaceLinkInnerHTML (className, str) {
    var e = getByTagName('a');
    var len = e.length;
    for (i=0; i<len; i++) {
        if (e[i].className == className) {
            e[i].innerHTML = str;
        }
    }
}

function eraseSeparator () {
    var e = getByTagName('span');
    var len = e.length;
    for (i=0; i<len; i++) {
        if (e[i].className == 'separator') {
            e[i].innerHTML = '';
        }
    }
}

function getByID (n) {
    var d = window.document;
    if (d.getElementById)
        return d.getElementById(n);
    else if (d.all)
        return d.all[n];
}

function getByTagName (n) {
    var d = window.document;
    if (d.getElementsByTagName)
        return d.getElementsByTagName(n);
    else if (d.all)
        return d.all[n];
}