// minmax.js: make IE5+/Win support CSS min/max-width/height// version 1.0, 08-Aug-2003// written by Andrew Clover <and@doxdesk.com>, use freely/*@cc_on@if (@_win32 && @_jscript_version>4)var minmax_elements;minmax_props= new Array(  new Array('min-width', 'minWidth'),  new Array('max-width', 'maxWidth'),  new Array('min-height','minHeight'),  new Array('max-height','maxHeight'));// Binding. Called on all new elements. If <body>, initialise; check all// elements for minmax propertiesfunction minmax_bind(el) {  var i, em, ms;  var st= el.style, cs= el.currentStyle;  if (minmax_elements==window.undefined) {    // initialise when body element has turned up, but only on IE    if (!document.body || !document.body.currentStyle) return;    minmax_elements= new Array();    window.attachEvent('onresize', minmax_delayout);    // make font size listener    em= document.createElement('div');    em.setAttribute('id', 'minmax_em');    em.style.position= 'absolute'; em.style.visibility= 'hidden';    em.style.fontSize= 'xx-large'; em.style.height= '5em';    em.style.top='-5em'; em.style.left= '0';    if (em.style.setExpression) {      em.style.setExpression('width', 'minmax_checkFont()');      document.body.insertBefore(em, document.body.firstChild);    }  }  // transform hyphenated properties the browser has not caught to camelCase  for (i= minmax_props.length; i-->0;)    if (cs[minmax_props[i][0]])      st[minmax_props[i][1]]= cs[minmax_props[i][0]];  // add element with properties to list, store optimal size values  for (i= minmax_props.length; i-->0;) {    ms= cs[minmax_props[i][1]];    if (ms && ms!='auto' && ms!='none' && ms!='0' && ms!='') {      st.minmaxWidth= cs.width; st.minmaxHeight= cs.height;      minmax_elements[minmax_elements.length]= el;      // will need a layout later      minmax_delayout();      break;  } }}// check for font size changesvar minmax_fontsize= 0;function minmax_checkFont() {  var fs= document.getElementById('minmax_em').offsetHeight;  if (minmax_fontsize!=fs && minmax_fontsize!=0)    minmax_delayout();  minmax_fontsize= fs;  return '5em';}// Layout. Called after window and font size-change. Go through elements we// picked out earlier and set their size to the minimum, maximum and optimum,// choosing whichever is appropriate// Request re-layout at next available momentvar minmax_delaying= false;function minmax_delayout() {  if (minmax_delaying) return;  minmax_delaying= true;  window.setTimeout(minmax_layout, 0);}function minmax_stopdelaying() {  minmax_delaying= false;}function minmax_layout() {  window.setTimeout(minmax_stopdelaying, 100);  var i, el, st, cs, optimal, inrange;  for (i= minmax_elements.length; i-->0;) {    el= minmax_elements[i]; st= el.style; cs= el.currentStyle;    // horizontal size bounding    st.width= st.minmaxWidth; optimal= el.offsetWidth;    inrange= true;    if (inrange && cs.minWidth && cs.minWidth!='0' && cs.minWidth!='auto' && cs.minWidth!='') {      st.width= cs.minWidth;      inrange= (el.offsetWidth<optimal);    }    if (inrange && cs.maxWidth && cs.maxWidth!='none' && cs.maxWidth!='auto' && cs.maxWidth!='') {      st.width= cs.maxWidth;      inrange= (el.offsetWidth>optimal);    }    if (inrange) st.width= st.minmaxWidth;    // vertical size bounding    st.height= st.minmaxHeight; optimal= el.offsetHeight;    inrange= true;    if (inrange && cs.minHeight && cs.minHeight!='0' && cs.minHeight!='auto' && cs.minHeight!='') {      st.height= cs.minHeight;      inrange= (el.offsetHeight<optimal);    }    if (inrange && cs.maxHeight && cs.maxHeight!='none' && cs.maxHeight!='auto' && cs.maxHeight!='') {      st.height= cs.maxHeight;      inrange= (el.offsetHeight>optimal);    }    if (inrange) st.height= st.minmaxHeight;  }}// Scanning. Check document every so often until it has finished loading. Do// nothing until <body> arrives, then call main init. Pass any new elements// found on each scan to be bound   var minmax_SCANDELAY= 500;function minmax_scan() {  var el;  for (var i= 0; i<document.all.length; i++) {    el= document.all[i];    if (!el.minmax_bound) {      el.minmax_bound= true;      minmax_bind(el);  } }}var minmax_scanner;function minmax_stop() {  window.clearInterval(minmax_scanner);  minmax_scan();}minmax_scan();minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);window.attachEvent('onload', minmax_stop);@end @*//*------------------------------------------------------------ * stripedtable.js Version 1.0 * Author : Kyosuke Nakamura * http://kyosuke.jp/ *------------------------------------------------------------ * 特定classのtable要素内、tr要素に対して交互にクラスをつけます。 * className : ロールオーバーを設定するためのクラス名 * oddlineClassName : 奇数ラインに付くクラス名 * evanlineClassName : 偶数ラインに付くクラス名 * ※class名を複数指定すると動きません/*------------------------------------------------------------*/conf = {	className : "stripedtable",	oddlineClassName : "oddline",	evenlineClassName : "evanline"}function setStripedTable(){	var tables = getElementsByClassName(conf.className);	for (var i=0, len=tables.length; i<len; i++){		var table = tables[i];		var lines = table.getElementsByTagName("tr");		for (var j=0, llen=lines.length; j<llen; j++){			tr = lines[j];			if(j%2==0) {				tr.className = conf.oddlineClassName;			} else {				tr.className = conf.evenlineClassName;			}		}	}}window.onload = setStripedTable;function getElementsByClassName(name){	var elements = new Array();	var allElements = document.getElementsByTagName('*');	for (var i=0, len=allElements.length; i<len; i++){		if (allElements[i].className == name){			elements.push(allElements[i]);		}	}	return elements;} //ロールオーバー/*------------------------------------------------------------	Standards Compliant Rollover Script	Author : Daniel Nolan	http://www.bleedingego.co.uk/webdev.php *------------------------------------------------------------ * マウスオーバー時の画像切り替え * ロールオーバーを設定する画像にクラス名「imgover」を指定 * ロールオーバー時に表示するための画像ファイル名後ろに「_o」をつける/*------------------------------------------------------------*/function initRollovers() {	if (!document.getElementById) return		var aPreLoad = new Array();	var sTempSrc;	var aImages = document.getElementsByTagName('img');	for (var i = 0; i < aImages.length; i++) {				if (aImages[i].className == 'imgover') {			var src = aImages[i].getAttribute('src');			var ftype = src.substring(src.lastIndexOf('.'), src.length);			var hsrc = src.replace(ftype, '_o'+ftype);			aImages[i].setAttribute('hsrc', hsrc);						aPreLoad[i] = new Image();			aPreLoad[i].src = hsrc;						aImages[i].onmouseover = function() {				sTempSrc = this.getAttribute('src');				this.setAttribute('src', this.getAttribute('hsrc'));			}							aImages[i].onmouseout = function() {				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace ('_o'+ftype, ftype);				this.setAttribute('src', sTempSrc);			}		}	}}window.onload = initRollovers;