function class_cookielib(){ 
this.getCookie = getCookie; 
this.setCookie = setCookie; 
this.removeCookie = removeCookie; 

var expireDate = new Date(); 
expireDate.setFullYear(expireDate.getFullYear()-5); 
expireStr = "expires=" + expireDate.toUTCString(); 

function getCookie(name){ 
var gc=name+"="; 
var Cookie=document.cookie; 
if (Cookie.length>0) { 
var start=Cookie.indexOf(gc); 
if (start!=-1) { 
start+=gc.length; 
terminus=Cookie.indexOf(";",start); 
if (terminus==-1) terminus=Cookie.length; 
return unescape(Cookie.substring(start,terminus)); 
} 
} 
return ''; 
} 
function setCookie() { 
var key = arguments[0]; 
var val = arguments[1]; 
var path = (typeof(arguments[2]) != 'undefined' ? arguments[2] : '/'); 
var exp = (typeof(arguments[3]) != 'undefined' ? arguments[3] : expireStr); 
var sc = key + "=" + escape(val) + "; path=" + path + "; " + exp; 
document.cookie = sc; 
} 
function removeCookie(key,path) { 
if(!path){ 
path = '/'; 
} 
var rc = key + "=; path=" + path + "; expires=Thu, 1 Jan 1970 00:00:00 UTC"; 
document.cookie = rc; 
} 
} 
var cookieObj = new class_cookielib(); 

function onresize_handler(){ 
if(document.layers){ 
window.location.reload(); 
} 
} 
window.onresize = onresize_handler; 

var txtsize_val = 1; 
var txtsize_css_size = new Array(); 
txtsize_css_size[0] = '10px'; 
txtsize_css_size[1] = '12px'; 
txtsize_css_size[2] = '14px'; 
function setTextSize(){ 
if(cookieObj.getCookie('txtsize') != ''){ 
txtsize_val = 1 * cookieObj.getCookie('txtsize'); 
} 
document.write('<style type="text/css">'); 
document.write('* body { font-size:' + txtsize_css_size[txtsize_val] + '; }'); 
document.write('</style>'); 
} 

function changeTextSize(num){ 
var fl_update = false; 
var tmp_val = txtsize_val + num; 
if(tmp_val >= 0 && tmp_val < txtsize_css_size.length){ 
txtsize_val = tmp_val; 
fl_update = true; 
} 
if(fl_update){ 
cookieObj.setCookie('txtsize',txtsize_val,'/',''); 
window.location.reload(); 
} 
} 

function defaultTextSize(){ 
var fl_update = false; 
var tmp_val = 1; 
if(tmp_val >= 0 && tmp_val < txtsize_css_size.length){ 
txtsize_val = tmp_val; 
fl_update = true; 
} 
if(fl_update){ 
cookieObj.setCookie('txtsize',txtsize_val,'/',''); 
window.location.reload(); 
} 
} 

//コンテスト終了日///////////////////////////////////////////////////////////

function days(){
	yy = 2010;
	mm = 3;
	dd = 6;
	today = new Date();
	xday = new Date(yy,mm-1,dd);
	countdown = (xday.getTime() - today.getTime())/(24*60*60*1000);
	countdown = Math.ceil(countdown);
	document.write(countdown);
}


//ログイン処理///////////////////////////////////////////////////////////////
function userid_check(){
	var txt = document.inputform.uid.value;
	
// userid null check
	if(txt==""){
	alert("IDは、必ず入力してください。");
	return false;
	}
	
	
// cookie
	if( document.inputform.save.checked ){
		saveData("hp_autoid", document.inputform.uid.value + "'" + document.inputform.pwd.value);
	}else{
		delData("hp_autoid");
	}
	
}

function Gethp_autoid(keyname){
	var ret = "";
	var load_cookie_data = loadData("hp_autoid=");
	if ( load_cookie_data != "" ){
		var load_cookie_array = load_cookie_data.split("'");
		if ( keyname == 1 ){
			ret = load_cookie_array[0];
		}if ( keyname == 2 ){
			ret = load_cookie_array[1];
		}
	}
	return ret;
}

function uid(){
	document.write("<input type='text' name='uid' class='login_input' value='");
	document.write(Gethp_autoid(1));
	document.write("' >");
}

function pwd(){
	document.write("<input type='password' name='pwd' class='login_input' value='");
	document.write(Gethp_autoid(2));
	document.write("' >");
}


function loadData(keyname)
{
	theData   = "";
	theCookie = document.cookie+";";
	start = theCookie.indexOf(keyname);
	if (start != -1)
	{
		end = theCookie.indexOf(";",start);
		theData = unescape(theCookie.substring(start+keyname.length,end));
	}
	return theData;
}

function saveData(keyname, keyvalue)
{
	theDay   = 31;
	setDay = new Date();
	setDay.setTime(setDay.getTime()+(theDay*1000*60*60*24));
	expDay = setDay.toGMTString();
	document.cookie = keyname + "="+escape(keyvalue)+";expires="+expDay;
}

function delData(keyname)
{
	document.cookie = keyname + "=;expires=Thu,01-Jan-70 00:00:01 GMT";
}

var ss = {
  fixAllLinks: function() {
    var allLinks = document.getElementsByTagName('a');
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if ((lnk.href && lnk.href.indexOf('#') != -1) && 
          ( (lnk.pathname == location.pathname) ||
	    ('/'+lnk.pathname == location.pathname) ) && 
          (lnk.search == location.search)) {
        ss.addEvent(lnk,'click',ss.smoothScroll);
      }
    }
  },

  smoothScroll: function(e) {
    if (window.event) {
      target = window.event.srcElement;
    } else if (e) {
      target = e.target;
    } else return;

    if (target.nodeName.toLowerCase() != 'a') {
      target = target.parentNode;
    }
  
    if (target.nodeName.toLowerCase() != 'a') return;
    anchor = target.hash.substr(1);
    // Now loop all A tags until we find one with that name
    var allLinks = document.getElementsByTagName('a');
    var destinationLink = null;
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if (lnk.name && (lnk.name == anchor)) {
        destinationLink = lnk;
        break;
      }
    }
    if (!destinationLink) destinationLink = document.getElementById(anchor);
    if (!destinationLink) return true;
  
    var destx = destinationLink.offsetLeft; 
    var desty = destinationLink.offsetTop;
    var thisNode = destinationLink;
    while (thisNode.offsetParent && 
          (thisNode.offsetParent != document.body)) {
      thisNode = thisNode.offsetParent;
      destx += thisNode.offsetLeft;
      desty += thisNode.offsetTop;
    }

    clearInterval(ss.INTERVAL);
  
    cypos = ss.getCurrentYPos();
  
    ss_stepsize = parseInt((desty-cypos)/ss.STEPS);
    ss.INTERVAL =
setInterval('ss.scrollWindow('+ss_stepsize+','+desty+',"'+anchor+'")',10);
    if (window.event) {
      window.event.cancelBubble = true;
      window.event.returnValue = false;
    }
    if (e && e.preventDefault && e.stopPropagation) {
      e.preventDefault();
      e.stopPropagation();
    }
  },

  scrollWindow: function(scramount,dest,anchor) {
    wascypos = ss.getCurrentYPos();
    isAbove = (wascypos < dest);
    window.scrollTo(0,wascypos + scramount);
    iscypos = ss.getCurrentYPos();
    isAboveNow = (iscypos < dest);
    if ((isAbove != isAboveNow) || (wascypos == iscypos)) {
      window.scrollTo(0,dest);
      clearInterval(ss.INTERVAL);
      location.hash = anchor;
    }
  },

  getCurrentYPos: function() {
    if (document.body && document.body.scrollTop)
      return document.body.scrollTop;
    if (document.documentElement && document.documentElement.scrollTop)
      return document.documentElement.scrollTop;
    if (window.pageYOffset)
      return window.pageYOffset;
    return 0;
  },

  addEvent: function(elm, evType, fn, useCapture) {
    if (elm.addEventListener){
      elm.addEventListener(evType, fn, useCapture);
      return true;
    } else if (elm.attachEvent){
      var r = elm.attachEvent("on"+evType, fn);
      return r;
    } else {
      alert("Handler could not be removed");
    }
  } 
}

ss.STEPS = 20;

ss.addEvent(window,"load",ss.fixAllLinks);




function ranking_3(){
try{
var th0=frames['rank_frm'].self.document.getElementsByTagName("th")[0].innerHTML;
var th1=frames['rank_frm'].self.document.getElementsByTagName("th")[1].innerHTML;
var th2=frames['rank_frm'].self.document.getElementsByTagName("th")[2].innerHTML;

var td0=frames['rank_frm'].self.document.getElementsByTagName("td")[0].innerHTML;
var td1=frames['rank_frm'].self.document.getElementsByTagName("td")[1].innerHTML;
var td2=frames['rank_frm'].self.document.getElementsByTagName("td")[2].innerHTML;
var td3=frames['rank_frm'].self.document.getElementsByTagName("td")[3].innerHTML;
var td4=frames['rank_frm'].self.document.getElementsByTagName("td")[4].innerHTML;
var td5=frames['rank_frm'].self.document.getElementsByTagName("td")[5].innerHTML;

var nolist = new Array("1位","2位","3位")

for(i=0;i<3;i++){
t=i+1;
if(eval("th"+i)=="1位"){
nolist[i] = "<img src='/top_img/rank1.gif' width='38' height='38'/>";
	}
	if(eval("th"+i)=="2位"){
nolist[i] = "<img src='/top_img/rank2.gif' width='38' height='38'/>";
	}
	if(eval("th"+i)=="3位"){
nolist[i] = "<img src='/top_img/rank3.gif' width='38' height='38'/>";
	}
}

document.getElementById("disp").innerHTML = "<table width='214' border='0' cellspacing='0' cellpadding='0' id='tbl_rank3'><tr><td width='38'>"+nolist[0]+"</td><td>"+td0+"<br />"+td1+"</td></tr>"+"<td width='38'>"+nolist[1]+"</td><td>"+td2+"<br />"+td3+"</td></tr>"+"<tr><td width='38'>"+nolist[2]+"</td><td>"+td4+"<br />"+td5+"</td></tr>";

}

catch(e){
	document.getElementById("disp").innerHTML = "ランキング作成中";
}
}


function rank_resize(){
var frm = frames['rank_frm'].self.document.getElementById('footer').offsetTop;
window.parent.document.getElementById('rank_frm').style.height = frm + 'px';
}

function set(){
targetTable=document.getElementById('tbl_ranking');
targetTd=targetTable.getElementsByTagName('td');
TdColor2="#efefef";
for(i=3; i<targetTd.length; i+=7){
for(j=0; j<5; j++){
targetTd[i].setAttribute("bgColor",TdColor2);
i++
targetTd[i].setAttribute("bgColor",TdColor2);

}

}
}


//高さ調整///////////////////////////////////////////////////////////


new function(){
	
	function mgn_h(){
	
		this.className="mgn_h";
		this.parentClassName="mgn_hParent,"
		reg = new RegExp(this.className+"-([a-zA-Z0-9-_]+)", "i");
		objCN =new Array();
		var objAll = document.getElementsByTagName ? document.getElementsByTagName("*") : document.all;
		for(var i = 0; i < objAll.length; i++) {
			var eltClass = objAll[i].className.split(/\s+/);
			for(var j = 0; j < eltClass.length; j++) {
				if(eltClass[j] == this.className) {
					if(!objCN["main CN"]) objCN["main CN"] = new Array();
					objCN["main CN"].push(objAll[i]);
					break;
				}else if(eltClass[j] == this.parentClassName){
					if(!objCN["parent CN"]) objCN["parent CN"] = new Array();
					objCN["parent CN"].push(objAll[i]);
					break;
				}else if(eltClass[j].match(reg)){
					var OCN = eltClass[j].match(reg)
					if(!objCN[OCN]) objCN[OCN]=new Array();
					objCN[OCN].push(objAll[i]);
					break;
				}
			}
		}
		
		//check font size
		var e = document.createElement("div");
		var s = document.createTextNode("S");
		e.appendChild(s);
		e.style.visibility="hidden"
		e.style.position="absolute"
		e.style.top="0"
		document.body.appendChild(e);
		var defHeight = e.offsetHeight;
		
		changeBoxSize = function(){
			for(var key in objCN){
				if (objCN.hasOwnProperty(key)) {
					//parent type
					if(key == "parent CN"){
						for(var i=0 ; i<objCN[key].length ; i++){
							var max_height=0;
							var CCN = objCN[key][i].childNodes;
							for(var j=0 ; j<CCN.length ; j++){
								if(CCN[j] && CCN[j].nodeType == 1){
									CCN[j].style.height="auto";
									max_height = max_height>CCN[j].offsetHeight?max_height:CCN[j].offsetHeight;
								}
							}
							for(var j=0 ; j<CCN.length ; j++){
								if(CCN[j].style){
									var stylea = CCN[j].currentStyle || document.defaultView.getComputedStyle(CCN[j], '');
									var newheight = max_height;
									if(stylea.paddingTop)newheight -= stylea.paddingTop.replace("px","");
									if(stylea.paddingBottom)newheight -= stylea.paddingBottom.replace("px","");
									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","");
									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");
									CCN[j].style.height =newheight+"px";
								}
							}
						}
					}else{
						var max_height=0;
						for(var i=0 ; i<objCN[key].length ; i++){
							objCN[key][i].style.height="auto";
							max_height = max_height>objCN[key][i].offsetHeight?max_height:objCN[key][i].offsetHeight;
						}
						for(var i=0 ; i<objCN[key].length ; i++){
							if(objCN[key][i].style){
								var stylea = objCN[key][i].currentStyle || document.defaultView.getComputedStyle(objCN[key][i], '');
									var newheight = max_height;
									if(stylea.paddingTop)newheight-= stylea.paddingTop.replace("px","");
									if(stylea.paddingBottom)newheight-= stylea.paddingBottom.replace("px","");
									if(stylea.borderTopWidth && stylea.borderTopWidth != "medium")newheight-= stylea.borderTopWidth.replace("px","")
									if(stylea.borderBottomWidth && stylea.borderBottomWidth != "medium")newheight-= stylea.borderBottomWidth.replace("px","");
									objCN[key][i].style.height =newheight+"px";
							}
						}
					}
				}
			}
		}
		
		checkBoxSize = function(){
			if(defHeight != e.offsetHeight){
				changeBoxSize();
				defHeight= e.offsetHeight;
			}
		}
		changeBoxSize();
		setInterval(checkBoxSize,1000)
		window.onresize=changeBoxSize;
	}
	
	function addEvent(elm,listener,fn){
		try{
			elm.addEventListener(listener,fn,false);
		}catch(e){
			elm.attachEvent("on"+listener,fn);
		}
	}
	addEvent(window,"load",mgn_h);
}
<!--年号-->
dd = new Date();
yy = dd.getFullYear();

function year(){document.write(yy);}
