/*
[nsl.iciba] (C)2007 Kingsoft Inc.
$Date: Thu Mar 29 17:48:28 CST 2007 $
*/

var sPop = null;
var postSubmited = false;
var charset = 'utf-8';
var userAgent = navigator.userAgent.toLowerCase();
var is_opera = userAgent.indexOf('opera') != -1 && opera.version();
var is_moz = (navigator.product == 'Gecko') && userAgent.substr(userAgent.indexOf('firefox') + 8, 3);
var is_ie = (userAgent.indexOf('msie') != -1 && !is_opera) && userAgent.substr(userAgent.indexOf('msie') + 5, 3);

var is_opera = (userAgent.indexOf('opera') != -1);
var is_saf = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
var is_webtv = (userAgent.indexOf('webtv') != -1);
var is_kon = (userAgent.indexOf('konqueror') != -1);
var is_ns = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
var is_mac = (userAgent.indexOf('mac') != -1);
//

function Body(){
    var dde = document.body;
    if (window.innerWidth)
    {
        //netscape
        this.ww = window.innerWidth;
        this.wh = window.innerHeight;
        this.bgX = window.pageXOffset;
        this.bgY = window.pageYOffset;
    }
    else
    {
        //ie
        this.ww = dde.offsetWidth;
        this.wh = dde.offsetHeight;
        this.bgX = dde.scrollLeft;
        this.bgY = document.documentElement.scrollTop;//dde.scrollTop;
    }
}
function $(id) {
    return document.getElementById(id);
}

function ctlent(event) {
    if(postSubmited == false && (event.ctrlKey && event.keyCode == 13) || (event.altKey && event.keyCode == 83) && $('postsubmit')) {
        if(in_array($('postsubmit').name, ['topicsubmit', 'replysubmit', 'editsubmit']) && !validate($('postform'))) {
            return;
        }
        postSubmited = true;
        $('postsubmit').disabled = true;
        $('postform').submit();
    }
}

function storeCaret(textEl){
    if(textEl.createTextRange){
        textEl.caretPos = document.selection.createRange().duplicate();
    }
}

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 arraypop(a) {
    if(typeof a != 'object' || !a.length) {
        return null;
    } else {
        var response = a[a.length - 1];
        a.length--;
        return response;
    }
}

function arraypush(a, value) {
    a[a.length] = value;
    return a.length;
}


function findtags(parentobj, tag) {
    if(typeof parentobj.getElementsByTagName != 'undefined') {return parentobj.getElementsByTagName(tag);}
    else if(parentobj.all && parentobj.all.tags) {return parentobj.all.tags(tag);}
    else {return null;}
}

function copycode(obj) {
    var rng = document.body.createTextRange();
    rng.moveToElementText(obj);
    rng.scrollIntoView();
    rng.select();
    rng.execCommand("Copy");
    rng.collapse(false);
}

function toggle_collapse(objname, unfolded) {
    if(typeof unfolded == 'undefined') {
        var unfolded = 1;
    }
    var obj = $(objname);
    var oldstatus = obj.style.display;
    var collapsed = getcookie('nsl_collapse');
    var cookie_start = collapsed ? collapsed.indexOf(objname) : -1;
    var cookie_end = cookie_start + objname.length + 1;

    obj.style.display = oldstatus == 'none' ? '' : 'none';
    collapsed = cookie_start != -1 && ((unfolded && oldstatus == 'none') || (!unfolded && oldstatus == '')) ?
    collapsed.substring(0, cookie_start) + collapsed.substring(cookie_end, collapsed.length) : (
    cookie_start == -1 && ((unfolded && oldstatus == '') || (!unfolded && oldstatus == 'none')) ?
    collapsed + objname + ' ' : collapsed);

    expires = new Date();
    expires.setTime(expires.getTime() + (collapsed ? 86400 * 30 : -(86400 * 30 * 1000)));
    document.cookie = 'nsl_collapse=' + escape(collapsed) + '; expires=' + expires.toGMTString() + '; path=/';

    var img = $(objname + '_img');
    var img_regexp = new RegExp((oldstatus == 'none' ? '_yes' : '_no') + '\\.gif$');
    var img_re = oldstatus == 'none' ? '_no.gif' : '_yes.gif'
    if(img) {
        img.src = img.src.replace(img_regexp, img_re);
    }
}

function imgzoom(o) {
    if(event.ctrlKey) {
        var zoom = parseInt(o.style.zoom, 10) || 100;
        zoom -= event.wheelDelta / 12;
        if(zoom > 0) {
            o.style.zoom = zoom + '%';
        }
        return false;
    } else {
        return true;
    }
}

function getcookie(name) {
    var cookie_start = document.cookie.indexOf(name);
    var cookie_end = document.cookie.indexOf(";", cookie_start);
    return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}

function AddText(txt) {
    obj = $('postform').message;
    selection = document.selection;
    checkFocus();
    if(typeof(obj.selectionStart) != 'undefined') {
        var opn = obj.selectionStart + 0;
        obj.value = obj.value.substr(0, obj.selectionStart) + txt + obj.value.substr(obj.selectionEnd);
    } else if(selection && selection.createRange) {
        var sel = selection.createRange();
        sel.text = txt;
        sel.moveStart('character', -mb_strlen(txt));
    } else {
        obj.value += txt;
    }
}

function insertAtCaret (textEl,	text){
    if(textEl.createTextRange && textEl.caretPos){
        var caretPos = textEl.caretPos;
        caretPos.text += caretPos.text.charAt(caretPos.text.length - 2)	== ' ' ? text +	' '	: text;
    } else if(textEl) {
        textEl.value +=	text;
    } else {
        textEl.value = text;
    }
}

function checkFocus() {
    var obj = typeof wysiwyg == 'undefined' || !wysiwyg ? $('postform').message : editwin;
    if(!obj.hasfocus) {
        obj.focus();
    }
}

function closesmiliewindow(e) {
    if(typeof smiliewindow != 'undefined' && !smiliewindow.closed) {
        smiliewindow.close();
    }
}

function opensmiliewindow(width, height, editorid) {
    smiliewindow = window.open('post.php?action=smilies' + (editorid ? '&editorid=' + editorid : ''), 'Popup', 'width=' + width + ',height=' + height + ',resizable=yes,scrollbars=yes');
    window.onunload = closesmiliewindow;
}

function mb_strlen(str) {
    var len = 0;
    for(var i = 0; i < str.length; i++) {
        len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? (charset == 'utf-8' ? 3 : 2) : 1;
    }
    return len;
}
function strlen(str) {
    return (is_ie && str.indexOf('\n') != -1) ? str.replace(/\r?\n/g, '_').length : str.length;
}
function insertSmiley(smilieid) {
    checkFocus();
    var src = $('smilie_' + smilieid).src;
    var code = $('smilie_' + smilieid).pop ? $('smilie_' + smilieid).pop : $('smilie_' + smilieid).alt;
    if(typeof wysiwyg != 'undefined' && wysiwyg && allowsmilies && (!$('smileyoff') || $('smileyoff').checked == false)) {
        if(is_moz) {
            applyFormat('InsertImage', false, src);
            var smilies = findtags(editdoc.body, 'img');
            for(var i = 0; i < smilies.length; i++) {
                if(smilies[i].src == src && smilies[i].getAttribute('smilieid') < 1) {
                    smilies[i].setAttribute('smilieid', smilieid);
                    smilies[i].setAttribute('border', "0");
                }
            }
        } else {
            insertText('<img src="' + src + '" border="0" smilieid="' + smilieid + '" alt="" /> ', false);
        }
    } else {
        code += ' ';
        AddText(code);
    }
}

function in_array(needle, haystack) {
    if(typeof needle == 'string') {
        for(var i in haystack) {
            if(haystack[i] == needle) {
                return true;
            }
        }
    }
    return false;
}

document.write("<style type='text/css'id='defaultPopStyle'>");
document.write(".cPopText { font-family: Tahoma, Verdana; background-color: #eeeeee; border: 1px #000000 solid; font-size: 12px; padding-right: 4px; padding-left: 4px; line-height: 18px; padding-top: 2px; padding-bottom: 2px; visibility: hidden; filter: Alpha(Opacity=80)}");

document.write("</style>");
document.write("<div id='popLayer' style='position:absolute;z-index:1000' class='cPopText'></div>");

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 == '') {
            $('popLayer').style.visibility = "hidden";
        } else {
            popStyle = o.dyclass != null ? o.dyclass : 'cPopText';
            $('popLayer').style.visibility = "visible";
            showIt();
        }
    }
}

function showIt() {
    $('popLayer').className = popStyle;
    $('popLayer').innerHTML = sPop.replace(/<(.*)>/g,"&lt;$1&gt;").replace(/\n/g,"<br>");
    var popWidth = $('popLayer').clientWidth;
    var popHeight = $('popLayer').clientHeight;
    var popLeftAdjust = MouseX + 12 + popWidth > getWinSize().width ? -popWidth - 24 : 0;
    var popTopAdjust = MouseY + 12 + popHeight > getWinSize().height ? -popHeight - 24 : 0;
    body = new Body;
    $('popLayer').style.left = (MouseX + 12 + body.bgX + popLeftAdjust) + 'px';
    $('popLayer').style.top = (MouseY + 12 + body.bgY + popTopAdjust) + 'px';
}

if(!document.onmouseover) {
    document.onmouseover = function(e) {
        var event = e ? e : window.event;
        showPopupText(event);
    };
}
function findPos(o)
{
    this.top  = o.offsetTop;
    this.left = o.offsetLeft;
    while(o = o.offsetParent)
    {
        this.top  += o.offsetTop;
        this.left += o.offsetLeft;
    }
}

function showhidden(name,idx){
    var o = document.getElementsByName(name);
    try{
        for(var i=0;i<o.length;i++){
            if(i == idx){
                o[i].style.display = '';
            }else{
                o[i].style.display = 'none';
            }
        }
    }catch(e){
        ;
    }
}

function trim(str) {
    return (str + '').replace(/(\s+)$/g, '').replace(/^\s+/g, '');
}

function ImgError(obj, url)
{
    if(url != obj.src) obj.src = url;
}

function isUndefined(variable) {
    return typeof variable == 'undefined' ? true : false;
}

function doane(event) {
    e = event ? event : window.event;
    if(is_ie) {
        e.returnValue = false;
        e.cancelBubble = true;
    } else if(e) {
        e.stopPropagation();
        e.preventDefault();
    }
}

function getWinSize(_target) {
    var windowWidth, windowHeight;
    if(_target) target = _target.document;
    else	target = document;
    if (self.innerHeight) { // all except Explorer
        if(_target) target = _target.self;
        else	target = self;
        windowWidth = target.innerWidth;
        windowHeight = target.innerHeight;
    } else if (target.documentElement && target.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = target.documentElement.clientWidth;
        windowHeight = target.documentElement.clientHeight;
    } else if (target.body) { // other Explorers
        windowWidth = target.body.clientWidth;
        windowHeight = target.body.clientHeight;
    }
    return {width:parseInt(windowWidth),height:parseInt(windowHeight)};
}

function ScreenConvert()
{
    var objScreen = document.getElementById("ScreenOver");
    if(!objScreen) objScreen = document.createElement("div");
    var oS = objScreen.style;
    objScreen.id = "ScreenOver";
    oS.display = "block";
    oS.top = oS.left = oS.margin = oS.padding = "0px";
    oS.width = document.body.scrollWidth + 'px';
    oS.height = document.body.scrollHeight + 'px';
    oS.position = "absolute";
    oS.zIndex = "3";
    oS.background = "#848884";
    oS.filter = "alpha(opacity=50)";
    oS.opacity = 0.5;
    oS.MozOpacity = 0.5;
    oS.display = '';
    document.body.appendChild(objScreen);
}
var t_DiglogX,t_DiglogY,t_DiglogW,t_DiglogH;
function DialogLoc()
{
    body = new Body;
    t_DiglogX = (body.ww - t_DiglogW)/2;
    t_DiglogY = (body.bgY + ((getWinSize().height - t_DiglogH)/2));    
}

function DialogShow(showdata,ow,oh,w,h)
{
    HideOverSels(1);
    var objDialog = document.getElementById("DialogMove");
    if (!objDialog) objDialog = document.createElement("div");
    t_DiglogW = ow;
    t_DiglogH = oh;
    DialogLoc();
    objDialog.id = "DialogMove";
    var oS = objDialog.style;
    oS.display = "block";
    oS.top = t_DiglogY + "px";
    oS.left = t_DiglogX + "px";
    oS.margin = "0px";
    oS.padding = "0px";
    oS.width = w + "px";
    oS.height = h + "px";
    oS.position = "absolute";
    oS.zIndex = "5";
    //oS.background = "#fff";
    oS.border = "solid #77AFEE 0px";
    objDialog.innerHTML = showdata;
    document.body.appendChild(objDialog);
}
function ScreenClean()
{
    var objScreen = document.getElementById("ScreenOver");
    if (objScreen) objScreen.style.display = "none";
}
function DialogHide()
{
    ScreenClean();
    var objDialog = document.getElementById("DialogMove");
    if (objDialog) objDialog.style.display = "none";
    HideOverSels(0);
}
//登录用
var returnurl;
function showlogin(a)
{
    try{
        return cbheaderPoplogin();
    }catch(e){
        returnurl='';
        ScreenConvert();
        var logindiv = '<div id="showlogin"style="position:absolute;"><table width="334"border="0"align="center"cellpadding="0"cellspacing="0"><tr><td height="28"background="images/title_top2.gif"align="right"><a href="javascript:DialogHide();"><img src="images/close.gif"border="0"></a>&nbsp;&nbsp;</td></tr><tr><td height="40"align="center"valign="middle"bgcolor="#ffffff"><form onsubmit="return postlogin(this)"><br><span style="font-size:12px">用 户 名：<input name="username"id="username"type="text"style="width:150px;"/><br>密　　码：<input name="password"id="password"type="password"style="width:150px;"/><br>记住帐号：<select name="cookies"id="cookies"style="width:157px;"><option value="31104000">记住一年</option><option value="2592000"selected="selected">记住一个月</option><option value="604800">记住一周</option><option value="86400">记住一天</option><option value="3600">记住一小时</option></select><br><input name="loginsubmit"type="submit"value="登  录"/>&nbsp;&nbsp;<a href="/?module=user&act=register"target="_top">注册</a>&nbsp;&nbsp;</span><br><span id="loginID" style="font-size:12px"></span></form></td></tr><tr><td height="5"><img src="images/title_footer2.gif"width="334"height="5"/></td></tr></table></div>';
        DialogShow(logindiv,334,184,334,184);
        returnurl = a;
    }
}
function postlogin(f)
{   
    username = f.username.value;
    password = f.password.value;
    cookies = f.cookies.value;
    var data = 'username=' + username + '&password=' + password + '&cookies=' + cookies + '&loginsubmit=1' + '&returnurl=1';//;+ '&reutrnurl=' + returnurl;
    var url = '/index.php?module=user&act=login&ajax=1';
    $('loginID').innerHTML = '请稍候...';
    var x = new Ajax();
    x.setRecvType('HTML');
    //x.setWaitId('loginID');
    x.post(url,data,function(s){
        if(s.search(/登录成功/i)!=-1){
            if(returnurl=='no'){
                DialogHide();
                openwin=1;
                wysiwyg?$(editorid + '_iframe').focus:$(editorid + '_textarea').focus;
                return false;}
                top.location.href=returnurl;
        }else if(s.search(/第一次登录沙龙/i)!=-1){
            alert('您是第一次登录沙龙，请完善您的信息');
            top.location.href='http://my.iciba.com/index.php?module=user&act=register&step=07&returnurl='+encodeURIComponent(window.location.href);
        }else{  $('loginID').innerHTML = s;}       
    });
    try{event.returnValue = false;}catch(e){}
    return false;
}


function showloading(display, wating) {
	var display = display ? display : 'block';
	var wating = wating ? wating : 'Loading...';
	$('ajaxwaitid').innerHTML = wating;
	$('ajaxwaitid').align = "center";
	var obj = $('ajaxwaitid').style;
	obj.position = "absolute";
	obj.width = "249px";
	obj.height = "30px";
	obj.backgroundImage='url(/images/wait_bg.gif)';	
	body = new Body;
	obj.left = (body.ww - 249)/2 + 'px';
	obj.top = body.bgY + getWinSize().height-30 + 'px';
	obj.display = display;
}

function HideOverSels(x)
{
    var sels = document.getElementsByTagName('select'); 
    var ifra = document.getElementsByTagName('iframe'); 
    var objt = document.getElementsByTagName('object');
    var emb = document.getElementsByTagName('embed');
    for (var i = 0; i < sels.length; i++)if (x){sels[i].style.visibility = 'hidden'; }else{sels[i].style.visibility = 'visible';} 
    for (var i = 0; i < ifra.length; i++)if (x&&FhasO(ifra[i])){ifra[i].style.visibility = 'hidden'; }else{ifra[i].style.visibility = 'visible';}                 
    for (var i = 0; i < objt.length; i++)if (x){objt[i].style.visibility = 'hidden'; }else{objt[i].style.visibility = 'visible';}  
    for (var i = 0; i < emb.length; i++)if (x){emb[i].style.visibility = 'hidden'; }else{emb[i].style.visibility = 'visible';}               
}
function MenuHideOver(objID,x)
{
    var sels = document.getElementsByTagName('select'); 
    var ifra = document.getElementsByTagName('iframe');
    var objt = document.getElementsByTagName('object');
    var emb = document.getElementsByTagName('embed');
    for (var i = 0; i < sels.length; i++)if (x && Obj1OverObj2($(objID), sels[i])){sels[i].style.visibility = 'hidden'; }else{sels[i].style.visibility = 'visible';}
    for (var i = 0; i < ifra.length; i++)if (x && Obj1OverObj2($(objID), ifra[i]) &&FhasO(ifra[i])){ifra[i].style.visibility = 'hidden'; }else{ifra[i].style.visibility = 'visible';}                 
    for (var i = 0; i < objt.length; i++)if (x && Obj1OverObj2($(objID), objt[i])){objt[i].style.visibility = 'hidden'; }else{objt[i].style.visibility = 'visible';}                 
    for (var i = 0; i < emb.length; i++)if (x){emb[i].style.visibility = 'hidden'; }else{emb[i].style.visibility = 'visible';}               
}
function FhasO(frm)
{//iframe广告firefox下枪决掉
    if(is_ie)return false;
    else
    {
        obj = frm.src;
        if(obj!='')return true;
        return false; 
    }
}

function Obj1OverObj2(obj1, obj2)
{
  var pos1 = new findPos(obj1);
  var pos2 = new findPos(obj2);
  var result = true;   
  var body = new Body;
  var obj1Left = pos1.left - body.bgX; 
  var obj1Top = pos1.top - body.bgY; 
  var obj1Right = obj1Left + obj1.offsetWidth; 
  var obj1Bottom = obj1Top + obj1.offsetHeight;
  var obj2Left = pos2.left - body.bgX; 
  var obj2Top = pos2.top - body.bgY; 
  var obj2Right = obj2Left + obj2.offsetWidth; 
  var obj2Bottom = obj2Top + obj2.offsetHeight;

  if (obj1Right <= obj2Left || obj1Bottom <= obj2Top || 
      obj1Left >= obj2Right || obj1Top >= obj2Bottom) 
    result = false; 
  return result; 
}

function AddFavorite(url, title)
{
	 var userAgent = navigator.userAgent.toLowerCase();
	 if (userAgent.indexOf('msie') != -1) userAgent = 'ie';
	 if ('ie' == userAgent) {
	    window.external.addFavorite(url, title);
	    return false;
	 }
	 return true;
}