	function changeQSTimeTable(id){
		var hidden_obj = document.getElementById('timetable_'+id);
		var img_src = document.getElementById('img_'+id);
		if(hidden_obj.value == 1){
			hidden_obj.value = 0;
			img_src.src = icon_hide;
		}else{
			hidden_obj.value = 1;
			img_src.src = icon_active;
		}
		updateTTPoints('time_points');
		return;
	}
	function changeQSTimeTableValue(id, value){
		var hidden_obj = document.getElementById('timetable_'+id);
		var img_src = document.getElementById('img_'+id);
		if(value == '0'){
			hidden_obj.value = 0;
			img_src.src = icon_hide;
		}else{
			hidden_obj.value = 1;
			img_src.src = icon_active;
		}
		return;
	}


	function changeQSRow(hour){
		var id_suffix = '';
		//// get value for setting
		var value_hidden = document.getElementById('rmem_'+hour);
		for(var i=1; i<=7; i++){
			id_suffix = i+'_'+hour;
			changeTimeTableValue(id_suffix, value_hidden.value);
		}
		value_hidden.value = (eval(1*value_hidden.value)+1)%1;
		updateTTPoints('time_points');
	}

	function changeQSLine(weekday){
		var table_div = document.getElementById('_timetable');
		var img_arr = table_div.getElementsByTagName('IMG');
		var id_suffix = '';
		//// get value for setting
		var value_hidden = document.getElementById('lmem_'+weekday);

		for(var i=0; i<img_arr.length; i++){
			if(img_arr[i].id.substr(0, 5) == "img_"+weekday ){
				id_suffix = img_arr[i].id.substring(4);
				changeTimeTableValue(id_suffix, value_hidden.value);
			}
		}
		value_hidden.value = (eval(1*value_hidden.value)+1)%2;
		updateTTPoints('time_points');
	}

function showTimeTable(near, div_id, show_url){
	var div_obj = document.getElementById(div_id);
	new Ajax.Updater(div_id, show_url, {method:'get'});
	showAtElementY(near, div_obj);
	div_obj.style.display = 'block';
}

function SaveTimeTable(div_id){
	var div_obj = document.getElementById(div_id);
	var url = document.tt_form.action;
	new Ajax.Updater(div_obj, url, {method:'post', parameters: Form.serialize('tt_form')});
}
function CloseTimeTable(div_id){
	var div_obj = document.getElementById(div_id);
	div_obj.style.display = 'none';
}

function showAtElement(el_near, el_this) {
	var p = getAbsolutePos(el_near);
	el_this.style.left = p.x + "px";
	el_this.style.top = p.y + el_near.offsetHeight + "px";
};

function showAtElementY(el_near, el_this) {
	var p = getAbsolutePos(el_near);
	var cfd_width = Math.round((screen.availWidth)/4)-10;
	el_this.style.left = cfd_width + "px";
	el_this.style.top = p.y + el_near.offsetHeight + "px";
};

function getAbsolutePos(el) {
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};
//	function gl(link){
//		if(confirm(prompt_question)){
//			var url = document.timetable_form.action;
//			new Ajax.Request(url, {method:'post', parameters: Form.serialize('timetable_form')});
//		}
//		new Ajax.Updater('_timetable', link, {method: 'get'});
//	}


function updateTTPoints(id_points_input){
		var table_div = document.getElementById('_timetable');
		var img_arr = table_div.getElementsByTagName('IMG');
		var count = 0;
		var re = new RegExp(icon_active , "g");

		for(var i=0; i<img_arr.length; i++){
			if(img_arr[i].id.substr(0, 4) == "img_"  && img_arr[i].src.match(re)){
				count++;
			}
		}
		count = Math.round(count/2);

		document.getElementById(id_points_input).value=count;
		return count;
}