﻿/*
* Module: orange js
* 
* Author: wayne@jollywiz.com
* 
* create date: 2010-01-21
* 
*/
var orange = {
    showpanel: function(obj, max, pre_obj) {
        if (document.getElementById(pre_obj + obj).style.display != "none") {
            document.getElementById(pre_obj + obj).style.display = "none";
        }
        else {
            for (i = 1; i < (max + 1); i++) {
                document.getElementById(pre_obj + i).style.display = "none";
            }
            document.getElementById(pre_obj + obj).style.display = "";
        }
    },
    textarealength: function(textbox, max) {
        var t = 0;
        var s = "";
        for (i = 0; i < textbox.value.length; i++) {
            if (parseInt(textbox.value.charCodeAt(i)) > 256) {
                t += 2;
                if (t <= max)
                    s += textbox.value.substr(i, 1);
            }
            else {
                if (t <= max - 1)
                    s += textbox.value.substr(i, 1);
                t++;
            }
        }
        if (t > max) {
            textbox.value = s;
        }
    }, 
    tdarealength: function(textbox, max) {
        var t = 0;
        var s = "";
        var value =orange.ltrim(textbox.innerHTML);
        for (i = 0; i < value.length; i++) {
            if (parseInt(value.charCodeAt(i)) > 256) {
                t += 2;
                if (t <= max)
                    s += value.substr(i, 1);
            }
            else {
                if (t <= max - 1)
                    s += value.substr(i, 1);
                t++;
            }
        }
        if (t > max) {
            textbox.title = textbox.innerHTML;
            textbox.innerHTML = s + "...";
        }
    }, 
    textareacheck: function(textbox, max) {
        var t = 0;
        var s = "";
        for (i = 0; i < textbox.value.length; i++) {
            if (parseInt(textbox.value.charCodeAt(i)) > 256) {
                t += 2;
                if (t <= max)
                    s += textbox.value.substr(i, 1);
            }
            else {
                if (t <= max - 1)
                    s += textbox.value.substr(i, 1);
                t++;
            }
        }
        if (t > max) {
            textbox.value = s;
        }
    },
    showTab: function(obj, max, tabpre) {
        for (i = 1; i < (max + 1); i++) {
            document.getElementById(tabpre + i).style.display = "none";
        }
        document.getElementById(tabpre + obj).style.display = "";
    },
    search: function(e, buttonid) {
        var bt = document.getElementById(buttonid);
        if (typeof bt == 'object') {
            if (navigator.appName.indexOf("Netscape") > (-1)) {
                if (e.keyCode == 13) {
                    bt.click();
                    return false;
                }
            }
            if (navigator.appName.indexOf("Microsoft Internet Explorer") > (-1)) {
                if (event.keyCode == 13) {
                    bt.click();
                    return false;
                }
            }
        }
    },
    wrapExt: function(obj, intLen) {
        var strContent = obj.innerHTML;
        var strTemp = "";
        while (strContent.length > intLen) {
            strTemp += strContent.substr(0, intLen) + "<br>";
            strContent = strContent.substr(intLen, strContent.length);
        }
        strTemp += "<br>" + strContent;
        obj.innerHTML = strTemp;
    },
    checkdels: function(obj) {
        var s = document.getElementById("delChick").getAttribute('url');
        var ul = url.g("i", s) ? url.g("i", s) : ",";
        var t = url.g("t", s);
        if (obj.checked)
            ul += obj.value + ",";
        else
            ul = ul.replace(obj.value + ",", "");
        if (t)
            document.getElementById("delChick").setAttribute('url', '?action=dels&t=' + t + '&i=' + ul);
        else
            document.getElementById("delChick").setAttribute('url', '?action=dels&i=' + ul);
    },
    checkall: function(v) {
        var n = document.getElementById("delChick").getAttribute('url');
        var t = url.g("t", n);
        var s = ",";
        var o = document.getElementById(v).getElementsByTagName("input");
        for (i = 0; i < o.length; i++) {
            var c = o[i];
            if (c.name == "checkme") c.checked = true;
            if (c.checked) s += c.value + ",";
        }
        if (t)
            document.getElementById("delChick").setAttribute('url', '?action=dels&t=' + t + '&i=' + s.replace("on,", ""));
        else
            document.getElementById("delChick").setAttribute('url', '?action=dels&i=' + s.replace("on,", ""));
    },
    uncheckall: function(v) {
        var n = document.getElementById("delChick").getAttribute('url');
        var t = url.g("t", n);
        var s = ",";
        var o = document.getElementById(v).getElementsByTagName("input");
        for (i = 0; i < o.length; i++) {
            var c = o[i];
            if (c.name == "checkme") c.checked = false;
            s = ",";
        }
        if (t)
            document.getElementById("delChick").setAttribute('url', '?action=dels&t=' + t + '&i=' + s.replace("on,", ""));
        else
            document.getElementById("delChick").setAttribute('url', '?action=dels&i=' + s.replace("on,", ""));
    },
    ltrim: function(s) {
        return s.replace(/^\s*/, "");
    },
    rtrim: function(s) {
        return s.replace(/\s*$/, "");
    },
    trim: function(s) {
        return rtrim(ltrim(s));
    }
}
var cookie = {
    set: function(name, value) {
        var exp = new Date();
        exp.setTime(exp.getTime() + 864500000);
        document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + "; path=/";
    },
    get: function(name) {
        var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
        if (arr != null) return unescape(arr[2]); return null;
    },
    del: function(name) {
        var exp = new Date();
        exp.setTime(exp.getTime() - 1);
        document.cookie = name + "=;expires=" + exp.toGMTString() + "; path=/";
    }
}
var valid = {
    IsValidEmpty: function(v) {
        return v.replace(/(^\s*)|(\s*$)/g, "") == "" ? true : false;
    },
    IsValidChar: function(v) {
        return /^[a-zA-Z\d]{4,50}$/.test(v);
    },
    IsValidNumber: function(v) {
        return /^[+-]?\d+(\.\d+)?$/.test(v);
    },
    IsValidEmail: function(v) {
        return /^[a-zA-Z0-9][\w\.\-]*[a-zA-Z0-9]@([a-zA-Z]*|\d*)(\.[a-zA-Z]+)+$/.test(v);
    },
    IsValidPic: function(v) {
        return /^.+.(gif|jpg|jpeg)$/i.test(v);
    },
    ConfirmPwd: function(v, t) {
        return v == t ? true : false;
    }
}
var url = {
    d: function(p) {
        var url = location.href.replace(new RegExp(p + "=[^&]*", "gi"), "").replace(/&&/g, "&").replace(/\?&/, "?");
        return !url.match(/\?/g) ? url + "?" : !url.match(/(&|\?)$/) ? url + "&" : url;
    },
    g: function(p, url) {
        var str = "[\?&]" + p + "=([^&]*)";
        var re = new RegExp(str, "gi");
        if (!re.test(url)) return "";
        re.exec(url);
        return RegExp.$1;
    },
    f: function(p, c) {
        var str = "[\?&]" + p + "=([^&]*)";
        var re = new RegExp(str, "gi");
        if (!re.test(c)) return "";
        re.exec(c);
        return RegExp.$1;
    }
}
