/**
 * @author setzer(mmx900@gmail.com)
 * @version 1.0, 05/11/08
 * dom을 보다 간결하게 다루기 위한 javascript layer framework.
 */
var unnamed_layer_id = 0;

//인자가 String이면 dom id로 간주해 객체를 가져오고, 아니면 그냥 반환한다.
function layer_get(obj){
	if(obj instanceof String || typeof obj == "string")
		obj = document.getElementById(obj);
	return obj;
}

function layer_toggle(obj){
	obj = layer_get(obj);
	obj.style.display = obj.offsetHeight == 0 ? 'block' : 'none'; //offsetHeight = 0으로 display:none 검출
}

function layer_off(obj){
	obj = layer_get(obj);
	obj.style.display = 'none';
}

function layer_on(obj){
	obj = layer_get(obj);
	obj.style.display = 'block';
}

function layer_remove(obj){
	obj.parentNode.removeChild(obj);
}

function layer_replace(src_obj, new_obj){
	if(!new_obj)new_obj = obj.cloneNode(true);
	var parent_obj = src_obj.parentNode;
	parent_obj.removeChild(src_obj);
	parent_obj.appendChild(new_obj);
	return new_obj;
}

//주어진 요소를 복사해 다른 id를 가진 요소를 생성한다.
//parent는 dom object.
function layer_copy(src, new_id, parent){
	var new_layer = layer_get(src).cloneNode(true);
	if(new_id)
		new_layer.id = new_id
	else{
		new_layer.id = "unnamed" + unnamed_layer_id;
		unnamed_layer_id++;
	}
	parent.appendChild(new_layer);
	new_layer.style.display = "block";
	return new_layer;
}