﻿function undefined(variable) {
    return typeof variable == 'undefined' ? true : false;
}

function findobj(n, d) {
    var p, i, x;
    if (!d) d = document;
    if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document;
        n = n.substring(0, p);
    }
    if (x != d[n] && d.all) x = d.all[n];
    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 = findobj(n, d.layers[i].document);
    if (!x && document.getElementById) x = document.getElementById(n);
    return x;
}


function expandoptions(id) {
    var a = document.getElementById(id);
    if (a.style.display == '') {
        a.style.display = 'none';
    }
    else {
        a.style.display = '';
    }
}

function cloneObj(oClone, oParent, count) {
    if (oParent.childNodes.length < count) {
        var newNode = oClone.cloneNode(true);
        oParent.appendChild(newNode);

        return newNode;
    }
    return false;
}

function delObj(oParent, count) {
    if (oParent.childNodes.length > count) {
        oParent.removeChild(oParent.lastChild);
        return true;
    }
    return false;
}

function cloneObj_1(oClone, oParent, i, count, msgtext) {

    var tempcount = 1;
    for (k = 0; k < oParent['childNodes'].length; k++) {
        if (oParent['childNodes'][k].tagName) {

            if (oParent['childNodes'][k].id == oClone.id) {
                tempcount++;
            }

        }
    }

    if (tempcount <= count) {
        for (; i > 0; i--) {
            newNode = oClone.cloneNode(true);
            oParent.appendChild(newNode);
        }
    }
    else {
        alert(msgtext);
    }
}

function clonePoll(maxpoll) {
    var newNode = cloneObj(document.getElementById('divPollItem'), document.getElementById('polloptions'), maxpoll)
    if (!newNode) {
        alert('投票项不能多于 ' + maxpoll + ' 个');
    }
    var inputs = findtags(newNode, 'input');
    var attach;
    for (i in inputs) {
        if (inputs[i].name == 'pollitemid') {
            inputs[i].value = "";
            inputs[i].id = "pollitemid";
        }
    }
}

function delOjb_1(oParent, count, msgtext) {
    var tempcount = 0;
    for (k = 0; k < oParent['childNodes'].length; k++) {
        if (oParent['childNodes'][k].tagName) {

            tempcount++;

        }
    }

    if (tempcount > count) {
        oParent.removeChild(oParent.lastChild);
    }
    else {
        alert(msgtext);
    }
}

//选择或取消选反列表中全部记录

function checkall(form, prefix, checkall) {
    var checkall = checkall ? checkall : 'chkall';
    for (var i = 0; i < form.elements.length; i++) {
        var e = form.elements[i];
        if (e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) {
            e.checked = form.elements[checkall].checked;
        }
    }
}

//显示主题图标
function showicons(icons, iconscount, iconscolcount) {
    var row = null;
    var col = null;
    var img = null;
    var rowIndex = 0;
    var colIndex = 0;
    var iCount = 0;

    if (undefined(iconscount)) {
        var iconscount = 0;
    }

    if (undefined(iconscolcount)) {
        var iconscolcount = 0;
    }


    try {

        var icons_container = findobj('iconsdiv');
        var iconstable = document.createElement('table');
        iconstable.cellPadding = "2";
        iconstable.cellSpacing = "0";
        iconstable.border = 0;
        //iconstable.className="altbg1";

        iconstable.style.border = "0px";

        iconstable.id = "topiciconstable";

        if (!icons.length) {
            iCount = 0;
        }
        else {
            iCount = icons.length
        }

        if (iconscount > 0) {
            if (iCount > iconscount) {
                iCount = iconscount
            }
        }

        iCount = iCount + 1;
        if (iconscolcount < 1) {
            iconscolcount = parseInt((iCount + 1) / 2)
        }


        var temp_iCount = 1

        row = iconstable.insertRow(-1);
        col = row.insertCell(-1);
        col.vAlign = "middle";
        col.align = "left";
        col.width = "49";
        col.innerHTML = '<input type="radio" id="icon_0" name="iconid" value="0"> <label for="icon_0">无</label>';

        colIndex++;

        for (i = 0; i < icons.length; i++) {

            if (icons[i]) {
                temp_iCount++;
                if (temp_iCount > iCount) {
                    break;
                }

                if (colIndex >= iconscolcount || colIndex < 1) {
                    row = iconstable.insertRow(-1);
                    colIndex = 0;

                }
                col = row.insertCell(-1);
                col.vAlign = "middle";
                col.align = "left";
                col.width = "49";
                col.innerHTML = '<input type="radio" id="icon_' + icons[i][0] + '" name="iconid" value="' + icons[i][0] + '"> <img src="images/posticons/' + icons[i][1] + '" width="19" height="19" />';
                /* 
                input = document.createElement('input');
                input.type = "radio";
                input.value = icons[i][0];
                input.id = "icon_" + icons[i][0];
                input.name = "iconid";
                col.appendChild(input);
				
				img=document.createElement('img');
                img.src="images/posticons/" + icons[i][1];
                img.alt=smilies[i][1];
                img.border=0;
                col.appendChild(img);
                */
                colIndex++;

            }
        }

        for (i = colIndex; i < iconscolcount; i++) {
            if (row != null) {
                col = row.insertCell(-1);
                col.vAlign = "top";
                col.innerHTML = "&nbsp;";
            }
        }

        icons_container.appendChild(iconstable);

    }
    catch (e) {
        alert(e.message);
    }
}


function toggle_collapse(objname) {
    obj = findobj(objname);
    img = findobj(objname + "_img");
    collapsed = getcookie("discuz_collapse");
    cookie_start = collapsed ? collapsed.indexOf(objname) : -1;
    cookie_end = cookie_start + objname.length + 1;
    if (obj.style.display == "none") {
        obj.style.display = "";
        img_re = new RegExp("_yes\\.gif$");
        img.src = img.src.replace(img_re, '_no.gif');
        if (cookie_start != -1) collapsed = collapsed.substring(0, cookie_start) + collapsed.substring(cookie_end, collapsed.length);
    } else {
        obj.style.display = "none";
        img_re = new RegExp("_no\\.gif$");
        img.src = img.src.replace(img_re, '_yes.gif');
        if (cookie_start == -1) collapsed = collapsed + objname + " ";
    }

    expires = new Date();
    expires.setTime(expires.getTime() + (collapsed ? 86400 * 30 : -(86400 * 30 * 1000)));
    document.cookie = "discuz_collapse=" + escape(collapsed) + "; expires=" + expires.toGMTString() + "; path=/";
}


function getpageurl(url, value) {
    return url.replace(/\$page/ig, value);
}

///
///
function getpagenumbers(recordcount, pagesize, mode, title, topicid, page, url) {
    var pagecount = 0;
    var pagenumbers = "";
    if (recordcount <= pagesize || pagesize <= 0) {
        return;
    }
    if (!mode) {
        mode = 0;
    }
    switch (mode) {
        case 0:
            /*
            <script language="javascript">getpagenumbers({topic[replis]},{config.tpp});</script> 
            */
            recordcount++; 	//帖子数自动加1(主题帖)
            pagecount = parseInt(Math.ceil(recordcount * 1.0 / pagesize * 1.0));
            pagenumbers = "&nbsp;&nbsp;&nbsp;( " + title;
            for (i = 1; i <= pagecount; i++) {
                if (i > 5) {
                    pagenumbers = pagenumbers + "&nbsp;&nbsp;...";
                    i = pagecount;
                }
                pagenumbers = pagenumbers + "&nbsp;&nbsp;<a href=\"showtopic-" + topicid + "-" + i + ".aspx\">" + i + "</a>";
            }
            pagenumbers += " )";
            break;
        case 1:

            /*
            <script language="javascript">getpagenumbers({topiccount},{config.tpp},1,'{request[page]}',"showforum-{forumid}-$page.aspx");</script> 
            */

            pagecount = parseInt(Math.ceil(recordcount * 1.0 / pagesize * 1.0));
            if (page == "" || page <= 0) {
                page = 1;
            }
            page = parseInt(page);
            pagenumbers += '<div class="p_bar">\n';
            pagenumbers += '	<span class="p_total">&nbsp;' + recordcount + '&nbsp;</span>\n';
            pagenumbers += '	<span class="p_pages">&nbsp;' + page + ' / ' + pagecount + '&nbsp;</span>';
            if (page <= 1) {
                pagenumbers += '	<span title="上一页" class="p_redirect">&lsaquo;&lsaquo;</span>\n';
            } else {
                pagenumbers += '	<a href="' + getpageurl(url, page - 1) + '" class="p_redirect">&lsaquo;&lsaquo;</a>\n';
            }
            if (page != 1) pagenumbers += '	<a href="' + getpageurl(url, 1) + '" class="p_num">1</a>\n';
            if (page >= 5) pagenumbers += '<span class="p_num">...</span>\n';
            if (pagecount > page + 2) {
                var endPage = page + 2;
            } else {
                var endPage = pagecount;
            }

            for (var i = page - 2; i <= endPage; i++) {
                if (i > 0) {
                    if (i == page) {
                        pagenumbers += '<span class="p_curpage">' + i + '</span>';
                    } else {
                        if (i != 1 && i != pagecount) {
                            pagenumbers += '<a href="' + getpageurl(url, i) + '" class="p_num">' + i + '</a>';
                        }
                    }
                }
            }
            if ((page + 3) < pagecount) pagenumbers += '<span class="p_num">...</span>\n';
            if (page != pagecount) pagenumbers += '<a href="' + getpageurl(url, pagecount) + '" class="p_num">' + pagecount + '</a>';


            if (page >= pagecount) {
                pagenumbers += '<span class="p_redirect">&rsaquo;&rsaquo;</span>';
            } else {
                pagenumbers += '<a href="' + getpageurl(url, pagecount) + '" class="p_num">&rsaquo;&rsaquo;</a>';
            }

            pagenumbers += '<span class="p_num"><input name="gopage" type="text" class="p_input" id="gopage" onKeyDown="if(event.keyCode==13) {window.location=\'' + getpageurl(url, "\'+this.value + \'") + '\';}" size="4" maxlength="9" value="转到" onmouseover="this.select();" /></span>';
            pagenumbers += '</div>';
            break;
    }
    document.write(pagenumbers);
}

function showPopupText(event) {
    if (event.srcElement) o = event.srcElement; else o = event.target;
    if (!o) return;
    MouseX = event.clientX;
    MouseY = event.clientY;
    if (o.alt != null && o.alt != "") { o.pop = o.alt; o.alt = "" }
    if (o.title != null && o.title != "") { o.pop = o.title; o.title = "" }
    if (o.pop != sPop) {
        sPop = o.pop;
        if (sPop == null || sPop == "") {
            document.getElementById("popLayer").style.visibility = "hidden";
        } else {
            if (o.dyclass != null) popStyle = o.dyclass; else popStyle = "cPopText";
            document.getElementById("popLayer").style.visibility = "visible";
            showIt();
        }
    }
}

function showIt() {
    document.getElementById("popLayer").className = popStyle;
    document.getElementById("popLayer").innerHTML = sPop.replace(/<(.*)>/g, "&lt;$1&gt;").replace(/\n/g, "<br>"); ;
    popWidth = document.getElementById("popLayer").clientWidth;
    popHeight = document.getElementById("popLayer").clientHeight;
    if (MouseX + 12 + popWidth > document.body.clientWidth) popLeftAdjust = -popWidth - 24; else popLeftAdjust = 0;
    if (MouseY + 12 + popHeight > document.body.clientHeight) popTopAdjust = -popHeight - 24; else popTopAdjust = 0;
    document.getElementById("popLayer").style.left = MouseX + 12 + document.body.scrollLeft + popLeftAdjust;
    document.getElementById("popLayer").style.top = MouseY + 12 + document.body.scrollTop + popTopAdjust;
}


