var impression_timers = [];
var impression_count = 0;
function addImpression(container, img_no, type) {
	for(var i = 0;i<impression_timers.length;i++) clearTimeout(impression_timers[i]);
	impression_timers = [];
	var elm_status = $("imp_"+container+"_status");
	var new_status = 1 - (elm_status.value || 0);
	elm_status.value = new_status;
	var request = new Ajax.Request(
		'/impression/',
		{
			method: 'get',
			parameters: 'rm=add&img_no=' + img_no + '&type=' + type + "&status="+new_status+"&rand=" + Math.random(),
			onSuccess: function (req) {
				if (req.responseText != '-1') {
					$(container).innerHTML = ($(container).innerHTML-0) + (req.responseText-0>0? 1:-1);
					for(var i = 0;i<impression_timers.length;i++) clearTimeout(impression_timers[i]);
					impression_timers = [];
					impression_count++;
					if(impression_count>4){
						impression_count=0;
						countImpression(img_no);
					}else{
						var t = setTimeout("countImpression("+img_no+")",1000);
						impression_timers.push(t);
					}
				}
			},
			onFailure: function (req) {
	//			alert('処理は完了せずに中断しました。');
			}
		}
	);
}
function countImpression(img_no) {
	new Ajax.Request(
		'/impression/',
		{
			method: 'get',
			parameters: 'rm=count&img_no=' + img_no +"&rand=" + Math.random(),
			onSuccess: function (req) {
			},
			onFailure: function (req) {
	//			alert('count処理は完了せずに中断しました。');
			}
		}
	);
}

