﻿var kEvent=(function(){
	return {
		addEvent: function(element, name, observer, useCapture) {
			try{
				element=Dom.$id(element);
				if(element.addEventListener){
					if(name==='mouseenter')
						element.addEventListener('mouseover',withoutChildFunction(observer),useCapture);
					else if(name==='mouseleave')
					element.addEventListener('mouseout',withoutChildFunction(observer),useCapture);
					else
					element.addEventListener(name, observer, useCapture);
				}else if(element.attachEvent){
					element.attachEvent('on' + name, observer);
				}
			}catch(e){}
		}
	}
})();

var kEvent1=(function(){

return {
	addEvent: function(element, name, observer, useCapture) {
		try{
			element=Dom.$id(element);
			if(element.addEventListener){
				element.addEventListener(name, observer, useCapture);
			}else if(element.attachEvent){
				element.attachEvent('on' + name, observer);
			}
		}catch(e){}
	},
	
	delEvent: function(el, sType, fn) {
		if (window.removeEventListener) {
			el.removeEventListener(sType, fn, false);
		} else if (window.detachEvent) {
			el.detachEvent("on" + sType, fn);
		}
	},

	getTarget: function(ev) {
		var t = ev.target || ev.srcElement;
		return this.resolveTextNode(t);
	},
	
	resolveTextNode: function(node) {
		if (node && 3 == node.nodeType) {
			return node.parentNode;
		} else {
			return node;
		}
	},
	
	getRelatedTarget: function(ev) {
		var t = ev.relatedTarget;
		if (!t) {
			if (ev.type == "mouseout") {
				t = ev.toElement;
			} else if (ev.type == "mouseover") {
				t = ev.fromElement;
			}
		}
		return this.resolveTextNode(t);
	},
	
	stopEvent: function(ev) {
		this.stopPropagation(ev);
		this.preventDefault(ev);
	},
	
	stopPropagation: function(ev) {
		if (ev.stopPropagation) {
			ev.stopPropagation();
		} else {
			ev.cancelBubble = true;
		}
	},
	
	preventDefault: function(ev) {
		if (ev.preventDefault) {
			ev.preventDefault();
		} else {
			ev.returnValue = false;
		}
	}
}
})();

/*
dom
*/
var Dom={
/*
node
*/
//$ -> getBy
    $id:function(nodeId){
    	if(typeof nodeId=='string'){
    		return document.getElementById(nodeId);
    	}else if(typeof nodeId=='object'){
    		return nodeId;
    	}else{
			return false;
		}
    },
/*
class
*/
	isClass:function(className, node){
		if((!node)||(!className)){return null;}
		var reFlag=false;
		if(node.className==className){
			reFlag=true;
		}
		return reFlag;
	},
	hasClass:function(className, node){
		if((!className)||(!node)||(!node.className)){return false;}
		return (new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)').test(node.className));
	},
	addClass:function(className, node){
		if((!className)||(!node)){return false;}
		if(Dom.hasClass(className, node)){return true;}
		var newClassName=node.className?node.className+' '+className:className;
		node.className=newClassName;
		return true;
	},
	removeClass:function(className, node){
		if(!(Dom.hasClass(className, node))){return;}
		var nodeClassName=node.className;
		if(nodeClassName==className){
			nodeClassName="";
		}else{
			nodeClassName=nodeClassName.replace(new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)', 'g'), "").replace(/^\s*/,"");
		}
		node.className=nodeClassName;
	}

};

function searchSon(obj){
	var o=obj.childNodes;
	var arro=[];
	for(var i=0;i<o.length;i++){
		if(o[i].nodeType==1){
			arro.push(o[i]);	
		}
	}
	return arro;
}

/*显示名称内容*/
function showSelect3(p){
	var s_btn = document.getElementById("name_btn");
	if(s_btn.style.display==""){s_btn.style.display="none";}
	s_btn.style.display = s_btn.style.display=="none"?"block":"none";
}


/*显示去向内容*/
function showSelect2(p){
	var s_btn = document.getElementById("goto_btn");
	if(s_btn.style.display==""){s_btn.style.display="none";}
	s_btn.style.display = s_btn.style.display=="none"?"block":"none";
}







//鼠标点击隐藏下拉窗口
function hideSelect20111107(e){
	var evn = kEvent1.getTarget(e);
	if(evn.parentNode){
		if(evn.parentNode.parentNode){
					if(evn.parentNode.parentNode!=document){
						if(
							 evn.parentNode.getAttribute("id")=="name_btn" || evn.parentNode.getAttribute("id")=="goto_btn" || 
							 evn.getAttribute("id")=="name_btn" || evn.getAttribute("id")=="goto_btn"
							 ) {
							return;
						}
					}
		}
	}

document.getElementById('goto_btn').style.display = 'none';
document.getElementById('name_btn').style.display = 'none';
}

//kEvent1.addEvent("bid","mousedown",hideSelect);

jQuery(document).mousedown(function(e){hideSelect20111107(e)})


