Eassay_JS

 //SCRIPT_START
//Change Left Menu (Eassay)
function ChangeEssayStyle()
{
    var oLeftMenu = document.getElementById("leftmenu");
    var arrLi =oLeftMenu.getElementsByTagName('li');   
        arrLi = arrLi[0].parentNode.getElementsByTagName('li');
    for(var i=0;i<arrLi.length;i++)
         if(arrLi[i].className=='listitem')
         {
            arrLi[i].removeChild(arrLi[i].getElementsByTagName('a')[1]);
            var href = arrLi[i].getElementsByTagName('a')[0].href;
            var reg1 = /<a(.*)<//a>/ig;
            var strTmp = arrLi[i].innerHTML;
                strTmp = strTmp.replace(reg1,'<span style="cursor:pointer;color:blue;" status="out" onmouseover="mhovItem(this)" onmouseout="motItem(this)" onclick="mclItem(this)"$1 <//span>');
            arrLi[i].innerHTML = strTmp; arrLi[i].getElementsByTagName('span')[0].href = href;
         }
}

function mhovItem( oItem )
{
      SysTool.addProperty(oItem.style,["border@1px solid rgb(128,128,128)","backgroundColor@rgb(192,192,192)"]);
    oItem.status = oItem.status=="clicked"?"clicked":"over";
}
function motItem( oItem )
{
    if( oItem.status=="clicked" )
       return;
    oItem.status = "out";
    SysTool.addProperty(oItem.style,["border@","backgroundColor@Transparent"]);
}
function mclItem( oItem )
{
   var oListItem = oItem.parentNode;
   if( oItem.status=="clicked" )
   {
         oItem.status="over"; mhovItem(oItem);
         for( var i=1; i<oListItem.childNodes.length;)
            oListItem.removeChild(oListItem.childNodes[1]);
         return;
   }
   oItem.status="clicked";
   SysTool.addProperty(oItem.style,["backgroundColor@white","border@1px solid gray"]);
   var tmpDiv = document.createElement('div');
   SysTool.addProperty(tmpDiv.style,["backgroundColor@transparent","fontSize@8pt"]);
   SysTool.addProperty(tmpDiv,["name@AddItems","innerHTML@Loading..."]);
   oListItem.appendChild(tmpDiv);
   LoadSubItem(oItem);
}

function  LoadSubItem(oItem)
{
        var  oListItem = oItem.parentNode;
        var  xmlhttp = new _xmlhttp(oItem.href,true);
             xmlhttp.OnStatus200 = LoadSubItem_CallBack( oListItem);
             xmlhttp.openRef("GET",true,null,null);
             xmlhttp.sendRef();
}
function LoadSubItem_CallBack( oListItem )
{
   return function()
   {    
           for( var i=1; i<oListItem.childNodes.length; )//Remove "Loading..." or any other
                oListItem.removeChild(oListItem.childNodes[1]);
        var strContent = this.getResponseText();
        var rePostTitle = /<div class="postTitle"[/w|/W]*?//div>/g ;
        var arrPostTitle = new Array();
        while( arrPostTitle = rePostTitle.exec(strContent) )
        {
            var strPassageInfo = arrPostTitle[0];
            // Get PassageInfo;
            var reArticleTitle = /">.*?</i;//PassageTitle;
            var reArticleHref  = /href=/".*/"/i;//Passage href
            var arrArticleTitle = reArticleTitle.exec(strPassageInfo);
            var strArticleTitle = arrArticleTitle[0].slice(2,-1);
            var arrArticleHref  = reArticleHref.exec(strPassageInfo);
            var strHref = arrArticleHref[0].slice(6,-1);

            var oSubItem = document.createElement("div");
                oSubItem.name = 'AddItems';
            oListItem.appendChild(oSubItem);
            oSubItem.innerHTML="&nbsp;&nbsp;-";
            var oChild = document.createElement("span");
            SysTool.addProperty(oChild.style,["fontSize@8pt","cursor@pointer","backgroundColor@transparent"]);
            SysTool.addProperty(oChild,["href@"+strHref,"oriText@"+strArticleTitle,"bShowTip@false",
                                        "innerHTML@"+AdjustStringAccordingParent(strArticleTitle,oChild,oSubItem)]);
            oSubItem.appendChild(oChild);
            oChild.onmousemove = function(){mhovSubItem(this,arguments[0]);};
            oChild.onmouseout = function(){ motSubItem(this);};
            oChild.onclick = function(){mclSubItem(this);};
        }
   }//return function end
}

function mhovSubItem(oItem,evt)
{
   var event = this.event?this.event:evt;
   if( oItem.bShowTip!="true")
   {
         SysTool.addProperty(oItem.style,["backgroundColor@rgb(157,254,129)","border@1px solid rgb(0,255,128)"]);
      var nLeft = event.clientX + 6;
      var nTop = oItem.offsetTop+oItem.offsetHeight+2;
      var myTT = new _toolTip("tooltip",2,oItem.parentNode);
          myTT.SetStyle(["border@1px solid rgb(241,239,226)",
                         "borderBottom@1px solid rgb(113,111,100)",
                         "borderRight@1px solid rgb(113,111,100)",
                         "backgroundColor@white"],0);
          myTT.SetStyle(["border@2px solid rgb(223,223,223)",
                         "color@rgb(53,53,53)",
                         "fontFamily@monospace",
                         "fontWeight@bold"],1);             
          myTT.SetContent("<nobr>"+oItem.oriText+"<//nobr>");
          myTT.ShowToolTip(true,nLeft,nTop);
      oItem.oToolTip = myTT;
      oItem.bShowTip = "true";
   }
}
function motSubItem( oItem )
{
   oItem.style.background="transparent";
   oItem.style.border="none";
   
   oItem.oToolTip.ShowToolTip(false);
   oItem.bShowTip = "false";
}

function mclSubItem( oItem )
{
    ShowPageStatus("Loading:"+oItem.oriText);
    var  xmlhttp = new _xmlhttp(oItem.href,true);
         xmlhttp.OnStatus200 = mclSubItem_CallBack(oItem);
         xmlhttp.openRef("GET",true,null,null);
         xmlhttp.setRequestHeader("Content-Type","text/xml");
         xmlhttp.sendRef();
}
function mclSubItem_CallBack( oItem )
{
     return function()
     {
            var strChaos = this.getResponseText();
            var oProcessArticle = new processArticle( strChaos,oItem.href );
            oProcessArticle.ShowArticle();
            oProcessArticle.ShowComment(document.getElementById('main'));
            oProcessArticle.ShowCommentForm(document.getElementById('main'));
            if( document.getElementById('commentRadio') == null )
            {
                var ndRds = document.createElement('div');
                       ndRds.id = 'commentRadio';
                       ndRds.style.align='right';
                       ndRds .innerHTML = "时间顺序<input type=radio name=cmtRd value=0 checked=true><br/>时间逆序<input type=radio name=cmtRd value=1/>";
                      ndRds.actionRadio = 0;
                      ndRds.onclick = mclCommentRadio(oProcessArticle);
                      document.getElementById('main').insertBefore(ndRds,oProcessArticle.GetCommentNode());
            }
     }
}
function mclCommentRadio( oProcessArticle )
{
         return function()
         {
              var arrRds = new Array();
              for( var i=0; i<this.childNodes.length;i++ )
                     if( this.childNodes[i].name=="cmtRd" )
                          arrRds.push(this.childNodes[i]);
               if(arrRds.length!=2)
                      alert('Runtime Error: get Comment Radio error.');
               if( arrRds[this.actionRadio].checked )
                   return;
               this.actionRadio = this.actionRadio==0?1:0;
               oProcessArticle.ShowComment(document.getElementById('main'),this.actionRadio);
         }
}

function AdjustStringAccordingParent( strData , oTmpObj , oParentObj)
{
     oTmpObj.innerHTML= strData.substr(0,1);  
     oParentObj.appendChild(oTmpObj);
     var nPerHeight = oTmpObj.offsetHeight + 3;//
   
     oTmpObj.innerHTML= strData;
     if( oTmpObj.offsetHeight<=nPerHeight )
        return strData;//Only one line, return original string.
   
     var strTmp = strData;
     while( oTmpObj.offsetHeight > nPerHeight )
     {
         strTmp = strTmp.substr(0,strTmp.length-2);
         oTmpObj.innerHTML= strTmp+"...";
     }
     var strReturn = oTmpObj.innerHTML;
     oParentObj.removeChild(oTmpObj);
     return  strReturn; 
}
function ChangeGallaryBlock()
{
     var ndLeftItem = document.getElementById('leftmenu');
     var reTmp = /相册/ig;
     for( var i=0; i<ndLeftItem.childNodes.length; i++ )
     {
           if( reTmp.exec(ndLeftItem.childNodes[i].innerHTML) )
               break;
    }
    var ndGallaryContainer =  ndLeftItem.childNodes[i];
    var ndGallaryPath = ndGallaryContainer.getElementsByTagName('a')[0];
    var strGallaryPagePath = ndGallaryPath.href;
    var xmlhttp = new  _xmlhttp(strGallaryPagePath,true);
          xmlhttp.OnStatus200 = GetGallaryPage(ndGallaryContainer );
          xmlhttp.openRef("GET",true,null,null);
          xmlhttp.sendRef();

}
function GetGallaryPage( ndGallaryContainer )
{
   return function()
   {
           var strResText = this.getResponseText();
           var reThumb = /class=/"ThumbNail/".*?src=/"(.*?)/"/ig;
           var arrThumb = new Array();
           var arrImgPath = new Array();
           while( arrThumb = reThumb.exec(strResText) )
           {
                 arrImgPath.push(RegExp.$1);
           }
           var oGallary  = new _gallary( arrImgPath);
           var ndGallary = oGallary.GetGallaryNode();
           var ndCenter = document.createElement('center');
                 ndCenter.appendChild(ndGallary);
           for( var i=0 ; i<ndGallaryContainer.childNodes.length; i++ )
           {
                if( ndGallaryContainer.childNodes[i].className!='listtitle' )
                {
                    ndGallaryContainer.removeChild( ndGallaryContainer.childNodes[i] );
                    i--;
                }
           }
           ndGallaryContainer.appendChild(ndCenter);
   }
}
//SCRIPT_END

posted on 2006-10-02 00:29  norsd  阅读(245)  评论(0编辑  收藏  举报

导航