﻿
/********************
ray  文档对象处理类
*********************/

if (document.all)
    var browser_ie = true

else if (document.layers)
    var browser_nn4 = true

else if (document.layers || (!document.all && document.getElementById))
    var browser_nn6 = true

var gBrowserAgent = navigator.userAgent.toLowerCase();

//获取 文档(d）里面的某个对象（名字n)
function getObj(n, d) {
    var p, i, x;
    
    if (!d) {
        d = document;
    }

    if (n != undefined) {
        if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
            d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
        }
    }

    if (d.getElementById) {
        x = d.getElementById(n);
        // IE7 was returning form element with name = n (if there was multiple instance)
        // But not firefox, so we are making a double check
        if (x && x.id != n) x = false;
    }

    for (i = 0; !x && i < d.forms.length; i++) {
        x = d.forms[i][n];
    }

    // 网景
    for (i = 0; !x && d.layers && i < d.layers.length; i++) {
        x = getObj(n, d.layers[i].document);
    }

    if (!x && !(x = d[n]) && d.all) {
        x = d.all[n];
    }

    if (typeof x == 'string') {
        x = null;
    }

    return x;
}

function getOpenerObj(n) {
    return getObj(n, opener.document)
}



function findPosX(obj) {
    var curleft = 0;
    if (document.getElementById || document.all) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft
            obj = obj.offsetParent;
        }

    } else if (document.layers) {
        curleft += obj.x;
    }

    return curleft;
}



function findPosY(obj) {
    var curtop = 0;
    if (document.getElementById || document.all) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop
            obj = obj.offsetParent;
        }

    } else if (document.layers) {
        curtop += obj.y;
    }
     return curtop;
}



/********************
ray  string处理类
*********************/






/********************
ray  End  String处理类
*********************/


/********************
ray  Cookies处理类
*********************/

// Setting cookies
function set_cookie(name, value, exp_y, exp_m, exp_d, path, domain, secure) {
    var cookie_string = name + "=" + escape(value);

    if (exp_y) //delete_cookie(name)
    {
        var expires = new Date(exp_y, exp_m, exp_d);
        cookie_string += "; expires=" + expires.toGMTString();
    }

    if (path) cookie_string += "; path=" + escape(path);
    if (domain) cookie_string += "; domain=" + escape(domain);
    if (secure) cookie_string += "; secure";

    document.cookie = cookie_string;
}

// Retrieving cookies
function get_cookie(cookie_name) {
    var results = document.cookie.match(cookie_name + '=(.*?)(;|$)');
    if (results) return (unescape(results[1]));
    else return null;
}

// Delete cookies 
function delete_cookie(cookie_name) {
    var cookie_date = new Date();  // current date & time
    cookie_date.setTime(cookie_date.getTime() - 1);
    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
//End of Utility Functions

/********************
ray  End  Cookies处理类
*********************/
