

var Drag =
    {
    obj: null,
    init: function(o, oRoot, minX, maxX, minY, maxY, bSwapHorzRef, bSwapVertRef, fXMapper, fYMapper)
        {
        
        o.onmousedown = Drag.start;
        o.hmode = bSwapHorzRef ? false : true;
        o.vmode = bSwapVertRef ? false : true;
        o.root = oRoot && oRoot != null ? oRoot : o;
        //alert(o.root.style.left+"top"+ o.root.style.top);
        //alert(o.hmode);
        if (o.hmode && isNaN(parseInt(o.root.style.left)))
            o.root.style.left = "0px";

        if (o.vmode && isNaN(parseInt(o.root.style.top)))
            o.root.style.top = "0px";

        if (!o.hmode && isNaN(parseInt(o.root.style.right)))
           o.root.style.right = "0px";

        if (!o.vmode && isNaN(parseInt(o.root.style.bottom)))
            o.root.style.bottom = "0px";
        o.minX = typeof minX != 'undefined' ? minX : null;
        o.minY = typeof minY != 'undefined' ? minY : null;
        o.maxX = typeof maxX != 'undefined' ? maxX : null;
        o.maxY = typeof maxY != 'undefined' ? maxY : null;
        o.xMapper = fXMapper ? fXMapper : null;
        o.yMapper = fYMapper ? fYMapper : null;
        o.root.onDragStart = new Function();
        o.root.onDragEnd = new Function();
        o.root.onDrag = new Function()
        },
    start: function(e)
        {
        var o = Drag.obj = this;
        e = Drag.fixE(e);
        var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
        var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right);
        o.root.onDragStart(x, y);
        o.lastMouseX = e.clientX;
        o.lastMouseY = e.clientY;

        if (o.hmode)
            {
            if (o.minX != null)
                o.minMouseX = e.clientX - x + o.minX;

            if (o.maxX != null)
                o.maxMouseX = o.minMouseX + o.maxX - o.minX
            }

        else
            {
            if (o.minX != null)
                o.maxMouseX = -o.minX + e.clientX + x;

            if (o.maxX != null)
                o.minMouseX = -o.maxX + e.clientX + x
            }

        if (o.vmode)
            {
            if (o.minY != null)
                o.minMouseY = e.clientY - y + o.minY;

            if (o.maxY != null)
                o.maxMouseY = o.minMouseY + o.maxY - o.minY
            }

        else
            {
            if (o.minY != null)
                o.maxMouseY = -o.minY + e.clientY + y;

            if (o.maxY != null)
                o.minMouseY = -o.maxY + e.clientY + y
            }
        document.onmousemove = Drag.drag;
        document.onmouseup = Drag.end;
        return false
        },
    drag: function(e)
        {
        e = Drag.fixE(e);
        var o = Drag.obj;
        var ey = e.clientY;
        var ex = e.clientX;
        var y = parseInt(o.vmode ? o.root.style.top : o.root.style.bottom);
        var x = parseInt(o.hmode ? o.root.style.left : o.root.style.right);
        var nx, ny;

        if (o.minX != null)
            ex = o.hmode ? Math.max(ex, o.minMouseX) : Math.min(ex, o.maxMouseX);
                    //alert(ex);

        if (o.maxX != null)
            ex = o.hmode ? Math.min(ex, o.maxMouseX) : Math.max(ex, o.minMouseX);

        if (o.minY != null)
            ey = o.vmode ? Math.max(ey, o.minMouseY) : Math.min(ey, o.maxMouseY);

        if (o.maxY != null)
            ey = o.vmode ? Math.min(ey, o.maxMouseY) : Math.max(ey, o.minMouseY);
        nx = x + ((ex - o.lastMouseX) * (o.hmode ? 1 : -1));
         //alert(nx);
        ny = y + ((ey - o.lastMouseY) * (o.vmode ? 1 : -1));

        if (o.xMapper)
            nx = o.xMapper(y);

        else if (o.yMapper)
            ny = o.yMapper(x);
        Drag.obj.root.style[o.hmode ? "left" : "right"] = nx + "px";
        Drag.obj.root.style[o.vmode ? "top" : "bottom"] = ny + "px";
        Drag.obj.lastMouseX = ex;
        Drag.obj.lastMouseY = ey;
        Drag.obj.root.onDrag(nx, ny);
        return false
        },
    end: function()
        {
        document.onmousemove = null;
        document.onmouseup = null;
        Drag.obj.root.onDragEnd(parseInt(Drag.obj.root.style[Drag.obj.hmode
            ? "left"
            : "right"]),
            parseInt(Drag.obj.root.style[Drag.obj.vmode
                ? "top"
                : "bottom"]));
        Drag.obj = null
        },
    fixE: function(e)
        {
        if (typeof e == 'undefined')
            e = window.event;

        if (typeof e.layerX == 'undefined')
            e.layerX = e.offsetX;

        if (typeof e.layerY == 'undefined')
            e.layerY = e.offsetY;
        return e
        }
    };

function getScrollTop()
    {
    if (window.innerHeight)
        {
        posY = window.pageYOffset
        }

    else if (document.documentElement && document.documentElement.scrollTop)
        {
        posY = document.documentElement.scrollTop
        }

    else if (document.body)
        {
        posY = document.body.scrollTop
        }
    return posY
    }

function getScrollLeft()
    {
    if (window.innerWidth)
        {
        posX = window.pageXOffset
        }

    else if (document.documentElement && document.documentElement.scrollLeft)
        {
        posX = document.documentElement.scrollLeft
        }

    else if (document.body)
        {
        posX = document.body.scrollLeft
        }
    return posX
    }

function getOffsetHeight()
    {
    var HTMLtype = (document.documentElement.offsetHeight) ? "document.documentElement" : "document.body";
    var height = eval(HTMLtype).offsetHeight;
    return height
    }

function getOffsetWidth()
    {
    var HTMLtype = (document.documentElement.offsetWidth) ? "document.documentElement" : "document.body";
    var width = eval(HTMLtype).offsetWidth;
    return width
    }
var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isNS = navigator.appName == "Netscape";

function GetObj(id)
    {
    if (isDOM)
        return document.getElementById(id);

    if (isIE4)
        return document.all[id];

    if (isNS4)
        return document.layers[id]
    }
var tq_page_url = escape(document.referrer);
var tq_local_url = location.href;
var strVisit = '';
var strLastVisit = '';
var strSearchWord = '';
var strLanguage = '';
var strIeCopyRight = '';
var strSysCopyRight = '';
NS = (document.layers) ? 1 : 0;
IE = (document.all) ? 1 : 0;





