function select_value(s,v) {
  if (v == undefined || v == null)
    return s.options[s.selectedIndex].value;
  var n;
  for (n = 0;n < s.options.length;n ++) {
    if (s.options[n].value == v)
      {s.selectedIndex = n; break;}
  }
  return s.options[s.selectedIndex].value;
}

var fwCommon = {
	heightCtrlBtn: function (elem, method, spn) {
		var css = $(elem).style;
		var h = parseInt(css.height);
		var v = (method == 'up') ? (0 + spn) : (0 - spn);
		if (v + h < 0) return false;
		css.height = parseInt(v + h) + 'px';
		return true;
	},
	setTableRowHover: function(selector,hovercss) {
		var rows = $$(selector);
		var fc = function (evt,css) { this.className = css; }
		rows.each(function(tr){
			var sel = hovercss;
			var cur = tr.className;
			Event.observe(tr, 'mouseover', fc.bindAsEventListener(tr,sel));
			Event.observe(tr, 'mouseout', fc.bindAsEventListener(tr,cur));
		});
	},
	setInvalidField: function (clr) {
		if (!clr) clr = '#ffccdd';
		var csssel = 'font[invalid=on]';
		$$(csssel).each(function(element){
			var c = element.getAttribute('field');
			//if (!c || !$(c)) return;
			if (!c) return;
			if ($(c) && !$(c).getAttribute('novalidfield'))
				$(c).style.backgroundColor=clr;
			$$('form input[idgroup='+c+']','form select[idgroup='+c+']','div[idgroup='+c+']').each(function(element){
				$(element).style.backgroundColor=clr;
			});
		});
	},
	setCalendarInput: function (id) {
		var _change_date = function() {
			var v = this.value.strip();
			var rgxDate = /^[12][0-9]{3}\/[01]?[0-9]\/[0-3]?[0-9]$/;
			if (!rgxDate.match(v)) {
				if (this.getAttribute('oldvalue'))
					this.value = this.getAttribute('oldvalue');
				return false;
			}
			this.setAttribute('oldvalue',v);
			return true;
		}
		$(dateid).observe('blur', _change_date);
		$(dateid).observe('custom:blur', _change_date);

		//var startdt = '2000/1/1 00:00:00';
		var opt = {};
		var calOptbase = {
			inputReadOnly: false, lang:'ja', 
			startYear: ((new Date()).getFullYear() - 10),
			endYear: ((new Date()).getFullYear() + 20),
			// minDate: startdt,
			weekFirstDay: ProtoCalendar.SUNDAY,
			eof:null
		};
		if ($(dateid + '_icon')) {
			calOptbase.triggers = [dateid + '_icon'];
		}
		Object.extend(opt,calOptbase);
		Object.extend(opt,calOpt);
		new InputCalendar(dateid, opt);
	},
	getRadioValue: function (frm,chk) {
		var f = $(frm);
		var r = $A(f.elements[chk]).find(function(v) {return v.checked;});
		return r ? r.value : null;
	},

	_eof: null
}

