﻿function SortFilter() {
	//类变量
	var menuOn = false;
	var mouseIn = false;
	var menu = ""; 
	
	//类方法
	this.setMenu = setMenu;
	this.showMenu = showMenu;
	this.hideMenu = hideMenu;
	this.mouseTrue = mouseTrue;
	this.mouseFalse = mouseFalse;
	this.findPosition = findPosition;
	
	function setMenu(name) { 
		menu = name; 
	}
	
	function showMenu(formenu,top,left,force){
		if (force == undefined) force = false;
		if (menuOn && !force) {hideMenu();return;}
		if (top == undefined) top = -9999;
		if (left == undefined) left = -9999;
		var divMenu = document.getElementById("div"+menu); 
		divMenu.style.display = '';
		var coords = this.findPosition(formenu);
		if (top != -9999) {
			divMenu.style.left = (coords[0]+left)+'px';
		}
		if (left != -9999) {
			divMenu.style.top = (coords[1]+top)+'px';
		}
		menuOn = true;
		mouseIn = "true"; 
	}
	
	function hideMenu(){
		var divMenu = document.getElementById("div"+menu);  
		divMenu.style.display = 'none';
		menuOn = false;
		mouseIn = false; 
	}
	Ext.EventManager.on(document,"click",function(){ 
		if(!mouseIn){
			var tag = document.getElementById('div'+menu);
			if (tag) { 
				tag.style.display = 'none'; 
				menuOn = false; 
				mouseIn = "true";  
			}
		}
		if (mouseIn == "true") {
			mouseIn = false;
		}
	}); 
	function mouseTrue(){mouseIn=true;}
	function mouseFalse(){mouseIn=false;}
	
	function findPosition( oLink ) {
		var posX = null;
		var posY = null;
		if( oLink.offsetParent ) {
		for( posX = 0, posY = 0; oLink.offsetParent; oLink = oLink.offsetParent ) {
			posX += oLink.offsetLeft;
			posY += oLink.offsetTop;
		}
		return [ posX, posY ];
		} else {
		posX = oLink.x;
		posY = oLink.y;
		return [ posX, posY ];
	}
}
}