/******************************************************************************
 * グローバル
 */
var Ajp = new AjaxPages();
var ApplicationLayoutProcessor = null;
var ContentProcessor = null;

/******************************************************************************
 * ビューのパス
 */
function view_path(uri) {
	return 'views/' + uri;
}

/******************************************************************************
 * レイアウト
 */
function layout(view, xlayout) {
	var layoutProcessor = null;
	
	if (ApplicationLayoutProcessor == null) {
		Ajp.load(view_path('layouts/application.ajp'));
		ApplicationLayoutProcessor = Ajp.getProcessor();
	}
	
	if (view == null) {
		view = 'index.ajp';
	}
	
	if (xlayout != null) {
		Ajp.load(view_path('layouts/' + xlayout));
		layoutProcessor = Ajp.getProcessor();
	}
	else {
		layoutProcessor = ApplicationLayoutProcessor;
	}
	
	Ajp.load(view_path(view));
	ContentProcessor = Ajp.getProcessor();
	
	document.body.innerHTML = layoutProcessor();
}

/******************************************************************************
 * コンテンツ
 */
function content_for() {
	if (ContentProcessor != null) {
		return ContentProcessor();
	}
	else {
		return '';
	}
}

/******************************************************************************
 * レンダリング
 */
function render_for(id) {
	if (id != null) {
		if ($(id) != null) {
			$(id).innerHTML = content_for();
		}
	}
}
