function RemoveClass(obj, name)
{
    if (arguments.length != 2) return;

    obj.className = obj.className.replace(name, "");
}

function $(id)
{
    return document.getElementById(id)
}

function AddClass(obj, name)
{
    if (arguments.length != 2) return;

	var c = obj.className.split(" ");
    var ak = [];
	
	ak[0] = name;
	
    for (var i=0,m=c.length;i<m;i++)
    {
        if (c[i] != name)
        {
            ak[ak.length] = c[i];
        }
    }

    obj.className = ak.join(" ");
	
	//alert(obj.className);
}

function changeClass(obj, name1,name2)
{
    if (arguments.length != 3) return;

	var c = obj.className.split(" ");
    var ak = [];
	
    for (var i=0,m=c.length;i<m;i++)
    {
		if(c[i] == name1)
			ak[ak.length] = name2;
		else
			ak[ak.length] = c[i];
    }

    obj.className = ak.join(" ");
}


function Init()
{
	window.GE = new GlobalEngine();
	
	InitGlobalEngine();	
}

function GlobalEngine()
{
	this.Id = "micefu";
}

function InitGlobalEngine()
{
	GlobalEngine.prototype.observe = observe;
	GlobalEngine.prototype.clickToHide = clickToHide;
	GlobalEngine.prototype.getTarget = getTarget;
	GlobalEngine.prototype.getEvent = getEvent;
	GlobalEngine.prototype.stopObserve = stopObserve;
}

function observe(obj, name, observer, useCapture)
{
    if (obj.addEventListener)
    {
        obj.addEventListener(name, observer, useCapture);
    }
    else if (obj.attachEvent)
    {
     	obj.attachEvent('on' + name, observer);
    }
}

function stopObserve(ef, name, observer, useCapture)
{
	//alert('h1');
    useCapture = useCapture || false;

    if (name == 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || ef.detachEvent))
    {
        name = 'keydown';
    }

    if (ef.removeEventListener)
    {
        ef.removeEventListener(name, observer, useCapture);
    }

    else if (ef.detachEvent)
    {
        ef.detachEvent('on' + name, observer);
    }
}

function clickToHide(link1,div1)
{
	var _fHide = function()
    {
        /*if (GE.getTarget().tagName.toUpperCase() != "A")
        {
            div1.style.display = "none";
        }
        */

		//alert('clickToHide');
        if (GE.getTarget().id == link1.id || GE.getTarget().id == div1.id)
        {
            div1.style.display = "block";
        }
        else
        {
            div1.style.display = "none";
        }

		if(div1.style.display == "none")
		{
			GE.stopObserve(document,"click",_fHide);
		}
    };

    GE.observe(document, "click", _fHide);
}

function getTarget(ev)
{
	if(!ev)
		ev = getEvent();
		
    var t = ev.target || ev.srcElement;

    if (t && "#text" == t.nodeName)
        return t.parentNode;
    else
        return t;
}

function getEvent(e)
{
	var ev = e || window.event;

    if (! ev)
    {
        var I0p = [];
        var c = this.getEvent.caller;

        while (c)
        {
            ev = c.arguments[0];

            if (ev && Event == ev.constructor)
            {
                break;
            }

            var b = false;

            for (var i = 0; i < I0p.length; i++)
            {
                if (c == I0p[i])
                {
                    b = true;
                    break;
                }
            }

            if (b)
            {
                break;
            }

            else
            {
                I0p.push(c);
            }

            c = c.caller;
        }
    }

    return ev;
}

function ImgAutoSize(src,width,height)
{
	var ima =new Image();			
	ima.src=src.src;
	
	//图像的实际宽度和高度			
	var w=ima.width;
	var h=ima.height;
	
	if(w*height > h*width)
	{
		src.width = width;
		src.height = h*width/w;
	}
	else
	{
		src.width = w * height/h;
		src.height = height;				
	}
}

//初始化
Init();
