﻿function setCookie(c_name, value, expiredays) {
    var exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays);
    document.cookie = c_name + "=" + escape(value) +
((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) c_end = document.cookie.length;
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

//Hints javascript

//after <body>
//<div id="cssHint">hint</div>

var defaultXOffset = 0;
var defaultYOffset = 0;
var hintDiv = "cssHint"

function showHint(obj) {
    showHint(obj, null, null, null);
}
function showHint(obj, xOffset, yOffset) {
    showHint(obj, xOffset, yOffset, null)
}
function showHintWithReference(obj, referenceObject) {
    showHint(obj, null, null, referenceObject)
}

function showHint(obj, xOffset, yOffset, referenceObject) {
    var x = 0;
    var y = 0;
    if (!referenceObject) {
        x = getX(obj);
        y = getY(obj);
        if (xOffset == null) {
            x += obj.width + 5;
        }
    } else {
        x = getX(referenceObject);
        y = getY(referenceObject);
        if (xOffset == null) {
            x += referenceObject.offsetWidth + 5;
        }
    }

    var hintHtml = "";

    //Get culture XML hint

    if (obj.getAttribute("hint") != null) {
        hintHtml += obj.getAttribute("hint");
    }

    //Get server hint

    if (obj.getAttribute("serverHint") != null) {
        if (obj.getAttribute("hintPriority") != null) {
            if (obj.hintPriority == "server") {
                hintHtml = obj.getAttribute("serverHint") + hintHtml;
            } else {
                hintHtml += obj.getAttribute("serverHint");
            }
        } else {
            hintHtml += obj.getAttribute("serverHint");
        }
    }
    getObject(hintDiv).innerHTML = hintHtml;
    getStyle(hintDiv).visibility = "visible";
    xOffset = xOffset != null ? xOffset : defaultXOffset;
    yOffset = yOffset != null ? yOffset : defaultYOffset;
    alert(x + " - " + y);
    getStyle(hintDiv).left = xOffset + x + "px";
    getStyle(hintDiv).top = yOffset + y + "px";
    //getStyle(hintDiv).height = 50;
}

function hideHint(obj) {
    getStyle(hintDiv).visibility = "hidden";
}

function getX(obj) {
    var pos = 0;
    if (obj.x) // netscape 4
    {
        pos += obj.x;
    } else if (obj.offsetParent) {
        while (obj.offsetParent) {
            pos += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    return pos;
}

function getY(obj) {
    var count = 0;
    var pos = 0;
    if (obj.y) // netscape 4
    {
        pos += obj.y;
    } else if (obj) {
        while (obj) {
            pos += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    return pos;
}

function getObject(name) {
    if (document.getElementById) {
        return document.getElementById(name);
    }
    if (document.all) {
        return document.all[name];
    }
    if (document.layers) {
        if (document.layers[name]) {
            return document.layers[name];
        } else {
            return document.layers[name].layers[name];
        }
    }
}

function getStyle(name) {
    if (document.getElementById) {
        return document.getElementById(name).style;
    }
    if (document.all) {
        return document.all[name].style;
    }
    if (document.layers) {
        if (document.layers[name]) {
            return document.layers[name];
        } else {
            return this.style = document.layers[name].layers[name];
        }
    }
}

//End of hints