﻿function getCookie(h) {
    var i = document.cookie.match("(?:^|;)\\s*" + h + "=([^;]*)");
    return i ? unescape(i[1]) : "";
}

function getCookies(objName, keyName) {
    var result = "";
    if (document.cookie.length > 0) {
        var objArray = document.cookie.split(";");
        var objSearch = objName + "=";
        var nameSearch = keyName + "=";
        for (var objItem in objArray) {
            if (objArray[objItem].indexOf(objSearch) != -1) {
                begin = objArray[objItem].indexOf(nameSearch);
                if (begin != -1) {
                    begin += nameSearch.length;
                    end = objArray[objItem].indexOf("&", begin);
                    if (end == -1) {
                        end = objArray[objItem].length;
                    }
                    result = decodeURIComponent(objArray[objItem].substring(begin, end));
                }
            }
        }
    }
    return result;
}

//xmlhttp对象
var xmlhttp = null;
function createXmlHttp() {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
    }
    else if (!xmlhttp && window.ActiveXObject) {
        var IEXMLHttpVersion = [
			"Msxml2.XMLHttp.5.0",
			"Msxml2.XMLHttp.4.0",
			"Msxml2.XMLHttp.3.0",
			"Msxml2.XMLHttp",
			"Microsoft.XMLHttp"
		];
        for (var i = 0; i < IEXMLHttpVersion.length; i++) {
            try {
                xmlhttp = new ActiveXObject(IEXMLHttpVersion[i]);
            } catch (e) {
            }
        }
    }
    //if (!xmlhttp) { }
}

function isTest(tReg, tText, intEmpty) {
    try {
        if (intEmpty == "" && (tText == "" || tText == "undefined" || tText == null)) { return true; }
        var regX = new RegExp(tReg, "ig");
        if (regX.test(tText)) {
            return true;
        } else {
            return false;
        }
    } catch (e) {
        return false;
    }
}

function getID(objID, objType) {
    var strR = "";
    var obj = document.getElementById(objID);
    if (obj != null) {
        if (objType == "html") { strR = obj.innerHTML; } else { strR = obj.value; }         
    }
    return strR;
}

function setID(objID, objText, objType) {
    var obj = document.getElementById(objID);
    if (obj != null) {
        if (objType == "value") { obj.value = objText; } else { obj.innerHTML = objText; }
    }
}

function getSelect(selectID, objType) {
    var obj = document.getElementById(selectID);
    var strR = "";
    var index = obj.selectedIndex;
    if (index >= 0) {
        if (objType == "text") { strR = obj.options[index].text; } else { strR = obj.options[index].value; }        
    }
    return strR;
}

function setSelect(setectID, selectValue) {
    var objSelect = document.getElementById(setectID);
    for (var i = 0; i < objSelect.options.length; i++) {
        if (objSelect.options[i].value == selectValue) {
            objSelect.options[i].selected = true;
            break;
        }
    }
}

function getCheckbox(objName) {
    var temp = document.getElementsByName(objName);
    var strR = "";
    for (i = 0; i < temp.length; i++) {
        if (temp[i].checked) {
            strR += temp[i].value;
            if (temp.length > 1) { strR += ","; }
        }
    }
    return strR;
}

function setCheckbox(objName, objValue) {    
    var temp = document.getElementsByName(objName);
    if (temp == null) { return; }
    objValue = "," + objValue + ",";
    var iv = "";
    for (i = 0; i < temp.length; i++) {
        iv = temp[i].value;
        if (iv == "" && objValue == ",,") { temp[i].checked = true; }
        if (iv != "") {
            if (objValue.indexOf("," + iv + ",") != -1) {
                temp[i].checked = true;
            }
        }
    }
}

function getRadio(objName) {
    var temp = document.getElementsByName(objName);
    for (i = 0; i < temp.length; i++) {
        if (temp[i].checked) {
            return temp[i].value;
        }
    }
}

//Validator:初始化页面
function initValidator() {
    if (arrX == null || arrX.length < 1) {
        return false;
    }
    var i, j;
    var regX;
    var obj;
    var objMsg;
    for (i = 0; i < arrX.length; i++) {
        if (arrX[i].length != 7) { break; }
        regX = /^(text|select|checkbox|radio|repeat|cookie)$/i;
        if (!regX.test(arrX[i][0])) { break; }
        switch (arrX[i][0].toLowerCase()) {
            case "checkbox":
            case "radio":
                obj = document.getElementsByName(arrX[i][1]);
                break;
            default:
                obj = document.getElementById(arrX[i][1]);
        }
        if (obj == null) { break; }
        if (obj.disabled == true) { break; }
        objMsg = document.getElementById(arrX[i][2]);
        if (objMsg == null) { break; }
        switch (arrX[i][0].toLowerCase()) {
            case "select":
                obj.setAttribute("onchange", "isValidator(" + i + ");");
                break;
            case "checkbox":
            case "radio":
                for (j = 1; j <= obj.length; j++) {
                    if (document.getElementById(arrX[i][1] + "_" + j) != null) {
                        document.getElementById(arrX[i][1] + "_" + j).setAttribute("onclick", "isValidator(" + i + ");");
                    } else {
                        break;
                    }
                }
                break;
            default:
                obj.setAttribute("onfocus", "focusValidator(" + i + ");");
                obj.setAttribute("onblur", "isValidator(" + i + ");");
        }
    }
}

//Validator:单次验证
function isValidator(cItem) {
    var obj;
    var objMsg;
    //类型
    switch (arrX[cItem][0].toLowerCase()) {
        case "checkbox":
        case "radio":
            obj = document.getElementsByName(arrX[cItem][1]);
            break;
        default:
            obj = document.getElementById(arrX[cItem][1]);
    }
    if (obj == null) { return; }
    if (obj.disabled == true) { return; }
    objMsg = document.getElementById(arrX[cItem][2]);
    if (objMsg == null) { return; }
    var iValue = "";
    var iValues = "";
    var iType = 0;
    switch (arrX[cItem][0].toLowerCase()) {
        case "select":
            iValue = getSelect(arrX[cItem][1]);
            iType = 1;
            break;
        case "checkbox":
            iValue = getCheckbox(arrX[cItem][1]);
            iType = 1;
            break;
        case "radio":
            iValue = getRadio(arrX[cItem][1]);
            iType = 1;
            break;
        case "repeat":
            iValue = obj.value;
            if (document.getElementById(arrX[cItem][3]) != null) {
                iValues = document.getElementById(arrX[cItem][3]).value;
            }
            if (iValues != "" && iValues == iValue) {
                if (objMsg.style.display != "none") { objMsg.style.display = "none"; }
            } else {
                if (objMsg.style.display != "block") { objMsg.style.display = "block"; }
                if (iValues != "") {
                    objMsg.innerHTML = arrX[cItem][5];
                } else {
                    objMsg.innerHTML = arrX[cItem][6];
                }
                objMsg.className = "msg error";
                booValidator = false;
            }            
            return;
        default:
            iValue = obj.value;
    }
    var booEmpty = true;
    if (arrX[cItem][6] != "") { booEmpty = false;}
    if (iValue == null) { iValue = ""; }
    if (iValue == "") {
        if (booEmpty == true) {
            if (objMsg.style.display != "none") { objMsg.style.display = "none"; }
        } else {
            booValidator = false;
            if (objMsg.style.display != "block") { objMsg.style.display = "block"; }
            objMsg.innerHTML = arrX[cItem][6];
            objMsg.className = "msg error";
        }
        return;
    }
    if (iValue != "") {        
        if (iType == 1) {
            if (objMsg.style.display != "none") { objMsg.style.display = "none"; }
            return;
        }        
        var regT = arrX[cItem][3].toString();
        if (arrX[cItem][0].toLowerCase() == "cookie") {
            regT = getCookie(regT);
        }
        switch (regT) {
            case "mail":
                regT = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
                break;
            case "phone":
                regT = "^((\\(\\d{2,3}\\))|(\\d{3}\\-))?(\\(0\\d{2,3}\\)|0\\d{2,3}-)?[1-9]\\d{6,7}(\\-\\d{1,5})?$";
                break;
            case "mobile":
                regT = "^(1[358]\\d{9})$";
                break;
            case "url":
                regT = "^((http:\\/\\/|\\/)[A-Za-z0-9]+\\.[A-Za-z0-9]+[\\/=\\?%\\-&_~`@[\\]\\':+!]*([^<>\"])*)|(\\/)$";
                break;
            case "urls":
                regT = "^(http|https|ftp|thunder|qqdl|flashget|rayfile|fs2you):\\/\\/(.[^\\<\\>\"\n]*)$";
                break;
            case "ip":
                regT = "^(0|[1-9]\\d?|[0-1]\\d{2}|2[0-4]\\d|25[0-5]).(0|[1-9]\\d?|[0-1]\\d{2}|2[0-4]\\d|25[0-5]).(0|[1-9]\\d?|[0-1]\\d{2}|2[0-4]\\d|25[0-5]).(0|[1-9]\\d?|[0-1]\\d{2}|2[0-4]\\d|25[0-5])$";
                break;
            case "currency":
                regT = "^\\d+(\\.\\d+)?$";
                break;
            case "number":
                regT = "^\\d+$";
                break;
            case "qq":
                regT = "^[1-9]\\d{4,15}$";
                break;
            case "skype":
                regT = "^[A-Za-z0-9\\-\\_\\.]{6,32}$";
                break;
            case "zip":
                regT = "^[1-9]\\d{5}$";
                break;
            case "integer":
                regT = "^[-\\+]?\\d+$";
                break;
            case "name":
                regT = "^[A-Za-z0-9\\u0391-\\uFFE5]{1,16}$";
                break;
            case "pass":
                regT = "^[A-Za-z0-9\u0391-\uFFE5]{6,16}$";
                break;
            case "answer":
                regT = "^[A-Za-z0-9\\u0391-\\uFFE5]{6,20}$";
                break;
            case "birth":
                regT = "^((?:19|20)\\d\\d)(-|\\/)(0[1-9]|1[012])(-|\\/)(0[1-9]|[12][0-9]|3[01])$";
                break;
            default:
                regT = regT;
        }
        var regX = new RegExp(regT, "i");
        if (!regX.test(iValue)) {
            booValidator = false;
            if (objMsg.style.display != "block") { objMsg.style.display = "block"; }
            objMsg.innerHTML = arrX[cItem][5];
            objMsg.className = "msg error";
            return;
        } else {
            if (objMsg.style.display != "none") { objMsg.style.display = "none"; }
            return;
        }
    }
}

//Validator:提示
function focusValidator(cItem) {
    objMsg = document.getElementById(arrX[cItem][2]);
    if (objMsg.style.display != "block") { objMsg.style.display = "block"; }
    objMsg.className = "msg tips";
    objMsg.innerHTML = arrX[cItem][4];
}

//Validator:全部验证
function runValidator(booMsgUnity) {
    if (arrX == null || arrX.length < 1) {
        return true;
    }
    booValidator = true;   
    var i;
    for (i = 0; i < arrX.length; i++) {
        isValidator(i);
        if (booMsgUnity == 1) {
            if (booValidator == false) { break; }
        }
    }
    if (booValidator == false) {
        return false;
    } else {
        return true;
    }
}

//显示code
function checkCode() {
    var code = "";
    var codeLength = 6;    
    var selectChar = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z");
    for (var i = 0; i < codeLength; i++) {
        var charIndex = Math.floor(Math.random() * 36);
        code += selectChar[charIndex];
    }
    var expire;
    expire = new Date((new Date()).getTime() + 0.1 * 3600000);
    expire = ";expires=" + expire.toGMTString() + ";path=/;";
    document.cookie = "code=" + encodeURI(code) + expire;
    if (document.getElementById("login_code") != null) {
        setID("login_code", code, "value");
    } else {
        html_code = "&nbsp;&nbsp;&nbsp;<input id=\"login_code\" type=\"text\" readonly=\"readonly\" style=\"width:80px;height:24px;text-align:center;border:0;line-height:24px;color:red;font-family:Arial;font-weight:bolder;letter-spacing:3px;font-style:italic;background-color:#eaf3ff;cursor:pointer;\" value=\"" + code + "\" title=\"刷新验证码\" onclick=\"checkCode();\" />";
        document.write(html_code);
    }
    if (document.getElementById("u_code") != null) setID("u_code", "", "value");
}

//--photoalbum--//
function loadImgSrc(o_id, o_src) {
    if (document.getElementById(o_id) == null) { return; }
    var oImg = new Image();
    var oSrc = o_src.replace("_t", "");
    if (img_list != null) {
        var i_id = oSrc.match(/\/(.[^\/\.]*)\.(jpg|gif|png)$/i);
        if (i_id != null) {
            var regX = new RegExp("\/" + i_id[1] + "\.(jpg|gif|png)\#", "i");
            var t_t = img_list.match(regX);
            if (t_t != null) { oSrc = oSrc.replace(/\.(jpg|gif|png)$/i, "." + t_t[1]); }
        }
    }
    oImg.src = oSrc;
    if (oImg.complete) { document.getElementById(o_id).src = oSrc; return; }
    oImg.onload = function () { document.getElementById(o_id).src = oSrc; return; }
    oImg.onerror = function () { document.getElementById(o_id).src = o_src; return; }
}

function photoalbumView(t_id, t_src) {
    if (intImgST == 0) { return; }
    for (i = 0; i < 5; i++) { document.getElementById("photoalbum_" + i).className = ""; }
    document.getElementById(t_id).className = "curr";
    document.getElementById("photoalbum_img").src = "/img/loading.gif";
    loadImgSrc("photoalbum_img", t_src);
}

function initPhotoalbum() {
    if (img_list == "") { return; }
    var spImg = img_list.split("#");
    var int_c = spImg.length - 1;
    var intMax = 4;
    if (int_c < 4) { intMax = int_c; }
    if (int_c <= 5) {
        document.getElementById("photoalbum_l").style.display = "none";
        document.getElementById("photoalbum_r").style.display = "none";
    }
    for (i = 0; i <= intMax; i++) {
        if (spImg[i] != null && spImg[i] != "") {
            document.getElementById("photoalbum_" + i).src = spImg[i].replace(/\.(.*)$/ig, "_t.jpg");
        }
    }
    document.getElementById("photoalbum_img").src = "/img/loading.gif";
    loadImgSrc("photoalbum_img", spImg[0]);
    document.getElementById("photoalbum_0").className = "curr";
    intImgST = 1;
}

function photoalbumNext(intN) {
    if (intImgST == 0 || img_list == "") { return; }
    intImgST = 0;
    var spImg = img_list.split("#");
    var int_c = spImg.length - 1;
    if (int_c < 5) { intImgST = 1; return; }
    var int_p = parseInt(int_c / 5);
    if (int_p < (int_c / 5)) { int_p = int_p + 1; }
    if (intN == 1) { intImgP = intImgP + 1; } else { intImgP = intImgP - 1; }
    if (intImgP > (int_p - 1)) { intImgP = 0; }
    if (intImgP < 0) { intImgP = int_p - 1; }
    intN = 0;
    for (i = intImgP * 5; i < (intImgP * 5 + 5); i++) {
        if (i < int_c) {
            if (spImg[i] != null && spImg[i] != "") {
                document.getElementById("photoalbum_" + intN).src = spImg[i].replace(/\.(.*)$/ig, "_t.jpg");
            }
        } else {
            document.getElementById("photoalbum_" + intN).src = "/img/t.gif";
        }
        document.getElementById("photoalbum_" + intN).className = "";
        intN = intN + 1;
    }
    intImgST = 1;
}

//--photoalbum--//

function writeGoogleADs(adSlot, adW, adH, adNote) {
    document.writeln("<script type=\"text/javascript\"><!--");
    document.writeln("google_ad_client = \"pub-8683919961926629\";");
    document.writeln("google_ad_slot = \"" + adSlot + "\";");
    document.writeln("google_ad_width = " + adW + ";");
    document.writeln("google_ad_height = " + adH + ";");
    document.writeln("//-->");
    document.writeln("</script>");
    document.writeln("<script type=\"text/javascript\" src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\">");
    document.writeln("</script>");
}
