

function getEntriesOfTag(tag) {
	
	if (tag == '') {
		return false;
	}
	
	var url = "api/json.php?tag=" + tag;
	new Ajax.Request(url, { method: 'get', onComplete:displayList });
	
}


function getEntriesOfMonth(month) {
	
	if (month == '') {
		return false;
	}
	
	var url = "api/json.php?month=" + month;
	new Ajax.Request(url, { method: 'get', onComplete:displayList });
	
}


function getEntriesSearched(search) {
	
	if (search == '') {
		$("search_result").innerHTML = '';
		return false;
	}
	
	
	var url = "api/json.php?search=" + encodeURI(search);
	new Ajax.Request(url, { method: 'get', onComplete:displayList });
	
}


function displayList(httpObj)
{
	
    var json = decode4safari(httpObj.responseText);
    

	try {
		var data = eval("(" + json + ")");
	}
	catch(e) {
		alert(e);
	}
	
	var response = '<ul>\n';
	
	for (var i = 0; i < data.item.length; i++)
	{
		var id        = data.item[i].id;
		var title     = data.item[i].title;
		var create_on = data.item[i].create_on;
		var url       = './?eid=' + id;
		
		response += '<li>';
		response += '<a href="' + url + '">' + title + '</a>';
		response += '</li>' + "\n";
		
    }
    
    if (data.item.length == 0) {
    	response += '<li>NOT MATCHED.</li>';
	}
	
	response += '</ul>\n';
	
	var id = "search_result";
	
	$(id).innerHTML = response;
	
}

function decode4safari (text) {
    if (navigator.appVersion.indexOf("KHTML") > -1) {
        var esc = escape(text);
        if (esc.indexOf("%u") < 0 && esc.indexOf("%") > -1) {
            text = decodeURIComponent(esc);
        }
    }
    return text;
}



function showComment(entry_id) {
	
	
	if ($('entry_' + entry_id + '_comment').innerHTML != '') {
		//new Effect.Fade('entry_' + entry_id + '_comment');
		$('entry_' + entry_id + '_comment').innerHTML = '';
		return;
    }
    
	
	var url = "./?mode=comment&eid=" + entry_id;
	
	var success = function(httpObj) { displayData(httpObj, 'entry_' + entry_id + '_comment'); }
	
	new Ajax.Request(url, {
		method: 'get',
		requestHeaders: ['If-Modified-Since','Wed, 15 Nov 1995 00:00:00 GMT'],
		onSuccess:success
		});
	
}


function showTrackback(entry_id) {
	
	if ($('entry_' + entry_id + '_trackback').innerHTML != '') {
		//new Effect.Fade('entry_' + entry_id + '_trackback');
		$('entry_' + entry_id + '_trackback').innerHTML = '';
		return;
    }
	
	
	var url = "./?mode=trackback&eid=" + entry_id;
	
	var success = function(httpObj) { displayData(httpObj, 'entry_' + entry_id + '_trackback'); }
	
	new Ajax.Request(url, {
		method: 'get',
		requestHeaders: ['If-Modified-Since','Wed, 15 Nov 1995 00:00:00 GMT'],
		onSuccess:success
		});
	
	
}


function showDescription(id) {
	
	
	var url = "./?mode=description&eid=" + id;
	
	if (Element.visible('entry_'+id+'_description')) {
		Element.hide('entry_'+id+'_description');
		return;
    }
	else {
		if ($('entry_'+id+'_description').innerHTML != '') {
			new Effect.Appear('entry_'+id+'_description');
			return;
        }
	}
	
	new Ajax.Request(url, {
		method: 'get',
		requestHeaders: ['If-Modified-Since','Wed, 15 Nov 1995 00:00:00 GMT'],
		onComplete: function(httpObj) {
			    
				if (httpObj.status == 200) {
					
					var res = httpObj.responseText;
                    res = decode4safari(res);
                    
					$('entry_'+id+'_description').innerHTML = res;
					new Effect.Appear('entry_'+id+'_description');
					$('entry_'+id+'_description').onmouseover = function() { Element.addClassName(this, 'lightup'); }
					$('entry_'+id+'_description').onmouseout  = function() { Element.removeClassName(this, 'lightup'); }
					$('entry_'+id+'_description').onclick     = function() { location.href="./?eid="+id; }

				}
				else {
					
			    }
			}
		});
	
	
}


function displayData(httpObj, id) {
	
	//alert(httpObj.getAllResponseHeaders());
	
	var html = httpObj.responseText;
	
	Element.hide(id);
	$(id).innerHTML = html;
	//Element.show(id);
	new Effect.Appear(id);
	
}


function hideData(id) {
	
	//new Effect.DropOut(id);
	//new Effect.Fade(id);
	Element.hide(id);
	
	$(id).innerHTML = '';
	
}


function postComment(id) {
	
	
	var entry_id    = $(id).entry_id.value;
	var name        = $(id).name.value;
	var description = $(id).description.value;
	var error = '';
	
	
	if (!entry_id) {
		error = '記事IDを指定してください。';
    }
    
    if (name == '') {
    	error = '名前を入力してください。';
    }
    
    if (description == '') {
    	error = 'コメントを入力してください。';
    }
    
    if (error) {
    	//$('comment_error').innerHTML = error;
    	alert(error);
    	return;
    }
	
	
	var data        = Form.serialize(id);
	
	
	var url = "api/api.php?mode=comment";
	
	
	new Ajax.Request(url, {
		method: 'post',
		parameters: data,
		onComplete: function(httpObj) {
			    
			    //alert(httpObj.status);
			    //alert(httpObj.responseText);
			    
				if (httpObj.status == 200) {
					alert("コメントを投稿しました。");
					$('entry_' + entry_id + '_comment').innerHTML = '';
					showComment(entry_id);
				}
				else {
					alert("コメントできませんでした。");
			    }
			}
		});
	
}


function redirect(entry_id) {
	
	var url = './?eid=' + entry_id;
	location.href = url;
	
}
