//Henry created it on 20090609
//It depends on Jqeury
function showDropdown(evt,el,isFavoriteClick)
{
   if(el == null)
       el = document.ulEle
   var display = el.getElementsByTagName("UL")[0].style.display;
   if(display == "none" || display == "")
   {
       el.style.position = 'relative';
       if(isFavoriteClick)
            $("#fave_arrow").attr("class","fave_arrowOn");
       el.getElementsByTagName("UL")[0].style.display="block";
       
       if(el.setCapture)
          el.setCapture(false);
       else
       {
          document.addEventListener("click",showDropdown,true);
          window.captureEvents(Event.CLICK);
       }
       document.ulEle = el;
   }
   else
   {
       el.style.position = '';
       $("#fave_arrow").attr("class","fave_arrow");
       el.getElementsByTagName("UL")[0].style.display="none";
       if(el.setCapture)
          el.releaseCapture();
       else
       {
          document.removeEventListener("click",showDropdown,true);
          window.releaseEvents(Event.CLICK);
          evt.cancelBubble = true;
       }
   }
}

//function showDropdown(evt,el)
//{
//   if(el == null)
//       el = document.ulEle
//   var display = el.getElementsByTagName("UL")[0].style.display;
//   if(display == "none" || display == "")
//   {
//       el.getElementsByTagName("UL")[0].style.display="block";
//       el.style.zIndex="100";
//       if(el.setCapture)
//          el.setCapture(false);
//       else
//       {
//          document.addEventListener("click",showDropdown,true);
//          window.captureEvents(Event.CLICK);
//       }
//       document.ulEle = el;
//   }
//   else
//   {
//       el.getElementsByTagName("UL")[0].style.display="none";
//       el.style.zIndex="0";
//       if(el.setCapture)
//          el.releaseCapture();
//       else
//       {
//          document.removeEventListener("click",showDropdown,true);
//          window.releaseEvents(Event.CLICK);
//          evt.cancelBubble = true;
//       }
//       //when click another dropdown, we should show the clicked dropdown.
//       var srcEle = (evt.srcElement?evt.srcElement:evt.target); 
//       if(srcEle.className == "pmddh1") srcEle = srcEle.parentNode;
//       if(srcEle.className != "pmdd1") return;
//       if(srcEle == el) return;
//       showDropdown(null,srcEle);
//   }
//}


function AjaxRequest(url,data,callback)
{
    $.ajax({ type: "GET", url: url,data:data, dataType: "json", timeout:10000, success: callback,error:null});
}

//appPath:application root path; appType:0-forum 1-blog varName:the object name 
//isAnonymous:specify the current user whether is an annoymous user true or false
//loginUrl:when a user is annoymous,it will be redirected to the page
//newPostUrl:used for new post button
//regScript:when a user is a morningstar register user but not discuss user
//20090720:Henry update the isInCoverPage to mode(1:cover pages 2:thread list 3:thread view page)
function FavoriteToolBar(sectionID,appPath,appType,mode,isAnonymous,newPostUrl,regScript,rssLink,varName,recommend,threadID,postID,printUrl)
{
    this._appPath = appPath;
    this._ajaxUrl=appPath+"/Utility/AjaxPages/FavoriteToobarAjax.aspx";
    this._newPostUrl=newPostUrl;
    this._sectionID=sectionID;
    this._name=varName;
    this._mode=mode;
    this._appType=appType;
    this._appTypeStr='forum';
    this._isAnonymous=isAnonymous;
    this._newPostUrl=newPostUrl;
    this._regScript=regScript;
    this._rssLink=rssLink;
    this._printUrl=printUrl;
    this._threadID=threadID;
    this._postID=postID;
    this._recommend=recommend;
    if(appType==1)//it should be in blog
    {
        this._appTypeStr='blog';
    }
    this.InitToobar();
}

FavoriteToolBar.prototype.InitToobar=function()
{
    var appStr=this._appTypeStr;
    var objName=this._name;
    var mode=this._mode;
    var callBack=function(data)
    {
         if(data.error==null)
         {
            var hrefAction;                        
            if(!data.value.hasSubscribed)
            {
               if(mode==2)
               {
                  hrefAction="javascript:"+objName+".SubscribeSection();";          
                  document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".SubscribeSection();");};
               }
               else
               {
                  hrefAction="javascript:"+objName+".SubscribeThread();"; 
                  document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".SubscribeThread();");};  
               }
               $("#subscribeCheckCnt").attr("class","checkOff toolcontainer2");
               $("#subscribeCheckCnt").attr("style","cursor:pointer;");
               $("#SubscriptionCnt").attr("href", hrefAction);
            }
            else
            {
               if(mode==2)
               {
                    hrefAction="javascript:"+objName+".UnSubscribeSection();";
                    document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".UnSubscribeSection(();");};               
               }
               else
               {
                    hrefAction="javascript:"+objName+".UnSubscribeThread(();";
                    document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".UnSubscribeThread();");};
               }
               $("#subscribeCheckCnt").attr("class","checkOn toolcontainer2");
               $("#subscribeCheckCnt").attr("style","cursor:pointer;");
               $("#SubscriptionCnt").attr("href", hrefAction);
            }
       
            if(!data.value.isFavorite)
            {
                if(mode==2)
                {
                    hrefAction="javascript:"+objName+".FavoriteSection();";
                    document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".FavoriteSection();");};
                }
                else
                {
                    hrefAction="javascript:"+objName+".FavoriteThread();";
                    document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".FavoriteThread();");};
                }
                $("#favoriteCheckCnt").attr("class","checkOff toolcontainer2");
                $("#favoriteCheckCnt").attr("style","cursor:pointer;");
                $("#favoriteSectionCnt").attr("href", hrefAction);
            }
            else
            {
               if(mode==2)
               {
                   hrefAction="javascript:"+objName+".UnFavoriteSection();";
                   document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".UnFavoriteSection();");};
               }
               else
               {
                   hrefAction="javascript:"+objName+".UnFavoriteThread();";
                   document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".UnFavoriteThread();");};
               }
               $("#favoriteCheckCnt").attr("class","checkOn toolcontainer2");
               $("#favoriteCheckCnt").attr("style","cursor:pointer;");
               $("#favoriteSectionCnt").attr("href", hrefAction);
            }

         }
    }
    
    var cnt=document.getElementById('FavoriteToolBar_'+this._name);
    cnt.innerHTML=this.RenderHTML();    
    
    if(!this._isAnonymous)
    {
       if(this._mode==2)
       {
            var data="act=1&sid="+this._sectionID+"&mode="+this._mode;  
            AjaxRequest(this._ajaxUrl,data,callBack);
       }
       else if(this._mode==3)
       {
            var data="act=1&tid="+this._threadID+"&pid="+this._postID+"&mode="+this._mode;  
            AjaxRequest(this._ajaxUrl,data,callBack);
       }
    }
}


FavoriteToolBar.prototype.RenderHTML=function()
{
    var cntHTML='';
    if(this._mode==1)
    {   
        cntHTML=cntHTML+'<div class="toolcontainer" style="border-right:1px solid #ccc;">';
        cntHTML=cntHTML+'<li id="menu1" class="drop1 text_c2" style="width:70px;" onclick="'+this._name+'.GetForumsData(event,this);if(window.event) window.event.cancelBubble = true;" style="position:relative; background-color:#fff;"><a class="newpost_icon" style="margin-top:2px;"></a><a class="text_d2" style="line-height: 16px;padding-left:0px;">New post</a>';
        cntHTML=cntHTML+'<ul style="display: none; top:22px; width:210px; height:350px; overflow:scroll;z-index:1000; overflow-x:hidden;" id="forumsList">';
        cntHTML=cntHTML+'</ul>';
        cntHTML=cntHTML+'</li>';
        
        if(this._rssLink && this._rssLink.length > 0)
        {
            cntHTML=cntHTML+'<a href="javascript:RssClick(\'' + this._appPath + '\',\'' + this._rssLink + '\');" style="height:18px;"><div class="rssicon toolcontainer2" style="height:18px;"></div></a>';
            cntHTML=cntHTML+'<a class="text_d2" href="javascript:RssClick(\'' + this._appPath + '\',\'' + this._rssLink + '\');" style="padding-right: 15px; height: 16px; line-height: 16px;">RSS</a>';
        }
        else
        {
            cntHTML=cntHTML+'<a style="width:5px;">&nbsp;&nbsp;</a>';
        }
        
        cntHTML=cntHTML+'</div>';
        
        
   
        cntHTML=cntHTML+'<div class="toolcontainer2">';
        cntHTML=cntHTML+'<div class="checkOff"></div><div class="text_d3" style="line-height: 16px;">Subscribe</div>';
        cntHTML=cntHTML+'</div>';
        cntHTML=cntHTML+'<div class="toolcontainer2">';
        cntHTML=cntHTML+'<div class="checkOff"></div><div class="text_d3" style="line-height: 18px;">Favorite</div>';        	
        cntHTML=cntHTML+'</div>';
    }
    else
    { 
        if(this._mode==2)
        {   
            if(this._regScript.length>0)
            {
                cntHTML=cntHTML+'<a class="text_d2 toolcontainer"  href="javascript:'+this._regScript+'" style="height: 18px;background-position:0px -177px; line-height:16px;"><div class="newpost_icon"></div>New post</a>';
            }
            else
            {    
                cntHTML=cntHTML+'<a class="text_d2 toolcontainer"  href="'+this._newPostUrl+'" style="height: 18px;background-position:0px -177px; line-height:16px;"><div class="newpost_icon"></div>New post</a>';
            }
            
        }
        else if(this._mode==3)
        {
            if(this._regScript.length>0)
            {
                cntHTML=cntHTML+'<a href="javascript:'+this._regScript+'"<div class="newpost_icon toolcontainer"></div></a>'
                cntHTML=cntHTML+'<a class="text_d2" style="line-height: 16px;" href="javascript:'+this._regScript+'" >New post</a>';
            }
            else
            {   
                cntHTML=cntHTML+'<a href="'+this._newPostUrl+'"><div class="newpost_icon toolcontainer"></div></a>'; 
                cntHTML=cntHTML+'<a class="text_d2" style="line-height: 16px;" href="'+this._newPostUrl+'" >New post</a>';
            }

            
            if(this._printUrl)
            {
                cntHTML=cntHTML+'<a href="'+this._printUrl+'"><div class="printicon toolcontainer2"></div></a>';
                cntHTML=cntHTML+'<a class="text_d2" style="line-height: 16px;padding-right:5px;" href="'+this._printUrl+'">Print</a>';
            } 
            
            if(this._recommend)
            {
                cntHTML=cntHTML+'<a href="javascript:RecommendClick(\'' + this._appPath + '\',\'' +this._name+'\');"><div class="recommend toolcontainer2" style="cursor: pointer;"></div></a>';
                cntHTML=cntHTML+'<a id="RecommendCnt" class="text_d2" style="line-height: 16px;padding-right:5px;" href="javascript:RecommendClick(\'' + this._appPath + '\',\'' +this._name+'\');"> Recommend ('+this._recommend+') </a>';
            }
            
        }
        
       if(this._rssLink.length>0)
       {
            cntHTML=cntHTML+'<a href="javascript:RssClick(\'' + this._appPath + '\',\'' + this._rssLink + '\');"><div class="rssicon toolcontainer2"></div></a>';
            cntHTML=cntHTML+'<a class="text_d2" href="javascript:RssClick(\'' + this._appPath + '\',\'' + this._rssLink + '\');" style="border-right: 1px solid rgb(204, 204, 204); padding-right: 15px; height: 16px; line-height: 16px;">RSS</a>';
       }       
        
        cntHTML=cntHTML+'<div class="checkOff toolcontainer2" id="subscribeCheckCnt" style="cursor: pointer;"></div>';
        cntHTML=cntHTML+'<a class="text_d2" id="SubscriptionCnt" style="line-height: 16px;">Subscribe</a>'
        
        cntHTML=cntHTML+'<div class="checkOff toolcontainer2" id="favoriteCheckCnt" style="cursor: pointer;"></div>';
        cntHTML=cntHTML+'<a class="text_d2 " id="favoriteSectionCnt" style="line-height: 16px;">Favorite</a>';
    }

    
    cntHTML=cntHTML+'<div class="fave_container">';
    cntHTML=cntHTML+'<li id="Li3" class="favorites dtext_unread" onclick="'+this._name+'.GetFavoriteData();showDropdown(event,this,true);"><div class="fave_arrow" id="fave_arrow"></div><div class="fave_title">Favorites</div>'
    cntHTML=cntHTML+'<ul style="display: none;" id="favoriteSectionsList">';
    cntHTML=cntHTML+'</ul>';
    cntHTML=cntHTML+'</li>';
    cntHTML=cntHTML+'</div>';
    
    return cntHTML;
}


FavoriteToolBar.prototype.GetForumsData=function(evnt,obj)
{

    var HiddenForumsList=function()
    {
       obj.getElementsByTagName("UL")[0].style.display="none";
    }
    
    var callback=function(data)
    {
        if(data.error==null)
        {
            $("#forumsList").empty();

            
            if(data.value.fundForums.length>0)
            {
                $("#forumsList").append('<li style="color:#666; font-style:italic;">Fund Forums</li>');
      
                for(var i=0;i<data.value.fundForums.length;i++)
                {
                    $("#forumsList").append('<li><a href="'+data.value.fundForums[i].sectionUrl+'" onclick="if(window.event) window.event.cancelBubble = true;" title="'+data.value.fundForums[i].sectionName+'">'+data.value.fundForums[i].ssectionName+'</a></li>');
                }
            }
            
            if(data.value.stockForums.length>0)
            {
                $("#forumsList").append('<li style="color:#666; font-style:italic;">Stock Forums</li>');
      
                for(var i=0;i<data.value.stockForums.length;i++)
                {
                    $("#forumsList").append('<li><a href="'+data.value.stockForums[i].sectionUrl+'" onclick="if(window.event) window.event.cancelBubble = true;" title="'+data.value.stockForums[i].sectionName+'">'+data.value.stockForums[i].ssectionName+'</a></li>');
                }
            }
            
            
            if(data.value.topicForums.length>0)
            {
                $("#forumsList").append('<li style="color:#666; font-style:italic;">General Forums</li>');
      
                for(var i=0;i<data.value.topicForums.length;i++)
                {
                    $("#forumsList").append('<li><a href="'+data.value.topicForums[i].sectionUrl+'" onclick="if(window.event) window.event.cancelBubble = true;" title="'+data.value.topicForums[i].sectionName+'">'+data.value.topicForums[i].ssectionName+'</a></li>');
                }
            }
            
            showDropdown(evnt,obj);
            if(obj.setCapture)
            {
               obj.releaseCapture();
               addEvent(document,"click",HiddenForumsList);
            }
        }
    }
    if(!this._isAnonymous)
    {
        var data="act=7";
        AjaxRequest(this._ajaxUrl,data,callback);
    }
    else
    {
         $("#forumsList").empty();
         if(this._regScript)
         {
            $("#forumsList").append('<a class="dtitle_read" href="javascript:'+this._regScript+'"><i>Please log in.</i></a>');
         }
         else
         {
            $("#forumsList").append('<a class="dtitle_read" href="https://members.morningstar.com/memberservice/login.aspx?vurl='+document.URL+'"><i>Please log in.</i></a>');
         }
         showDropdown(evnt,obj);
    }
}



FavoriteToolBar.prototype.FavoriteSection=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".UnFavoriteSection();";
            $("#favoriteCheckCnt").attr("class","checkOn toolcontainer2");
            $("#favoriteCheckCnt").attr("style","cursor:pointer;");
            document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".UnFavoriteSection();");};
            $("#favoriteSectionCnt").attr("href", hrefAction);
        }
    }
    var data="act=3&sid="+this._sectionID+"&appType="+this._appType;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}


FavoriteToolBar.prototype.UnFavoriteSection=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".FavoriteSection();";
            $("#favoriteCheckCnt").attr("class","checkOff toolcontainer2");
            $("#favoriteCheckCnt").attr("style","cursor:pointer;")
            document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".FavoriteSection();");};
           $("#favoriteSectionCnt").attr("href", hrefAction);
        }
    }
    var data="act=4&sid="+this._sectionID+"&appType="+this._appType; 
    AjaxRequest(this._ajaxUrl,data,callBack);
}

FavoriteToolBar.prototype.SubscribeSection=function()
{
   var objName=this._name;
   var callBack=function(data)
    {
        if(data.value=='sucess')
        {
               var hrefAction="javascript:"+objName+".UnSubscribeSection();";
               $("#subscribeCheckCnt").attr("class","checkOn toolcontainer2");
               $("#subscribeCheckCnt").attr("style","cursor:pointer;")
               document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".UnSubscribeSection();");};
               $("#SubscriptionCnt").attr("href", hrefAction);
        }
    }
    var data="act=5&sid="+this._sectionID;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}

FavoriteToolBar.prototype.UnSubscribeSection=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".SubscribeSection();";
            $("#subscribeCheckCnt").attr("class","checkOff toolcontainer2");
            $("#subscribeCheckCnt").attr("style","cursor:pointer;")
            document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".SubscribeSection();");};
            $("#SubscriptionCnt").attr("href", hrefAction);
        }
    }
    var data="act=6&sid="+this._sectionID;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}

FavoriteToolBar.prototype.FavoriteThread=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".UnFavoriteThread();";
            $("#favoriteCheckCnt").attr("class","checkOn toolcontainer2");
            $("#favoriteCheckCnt").attr("style","cursor:pointer;");
            document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".UnFavoriteThread();");};
            $("#favoriteSectionCnt").attr("href", hrefAction);
        }
    }
    var data="act=8&&pid="+this._postID+"&appType="+this._appType;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}


FavoriteToolBar.prototype.UnFavoriteThread=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".FavoriteThread();";
            $("#favoriteCheckCnt").attr("class","checkOff toolcontainer2");
            $("#favoriteCheckCnt").attr("style","cursor:pointer;")
            document.getElementById("favoriteCheckCnt").onclick=function(){eval(objName+".FavoriteThread();");};
           $("#favoriteSectionCnt").attr("href", hrefAction);
        }
    }
    var data="act=9&pid="+this._postID;
    AjaxRequest(this._ajaxUrl,data,callBack);
}


FavoriteToolBar.prototype.SubscribeThread=function()
{
   var objName=this._name;
   var callBack=function(data)
    {
        if(data.value=='sucess')
        {
               var hrefAction="javascript:"+objName+".UnSubscribeThread();";
               $("#subscribeCheckCnt").attr("class","checkOn toolcontainer2");
               $("#subscribeCheckCnt").attr("style","cursor:pointer;")
               document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".UnSubscribeThread();");};
               $("#SubscriptionCnt").attr("href", hrefAction);
        }
    }
    var data="act=10&tid="+this._threadID;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}

FavoriteToolBar.prototype.UnSubscribeThread=function()
{
    var objName=this._name;
    var callBack=function(data)
    {
        if(data.value=='sucess')
        {
            var hrefAction="javascript:"+objName+".SubscribeThread();";
            $("#subscribeCheckCnt").attr("class","checkOff toolcontainer2");
            $("#subscribeCheckCnt").attr("style","cursor:pointer;")
            document.getElementById("subscribeCheckCnt").onclick=function(){eval(objName+".SubscribeThread();");};
            $("#SubscriptionCnt").attr("href", hrefAction);
        }
    }
    var data="act=11&tid="+this._threadID;  
    AjaxRequest(this._ajaxUrl,data,callBack);
}


FavoriteToolBar.prototype.GetFavoriteData=function()
{
    var callback=function(data)
    {
        if(data.error==null)
        {
            $("#favoriteSectionsList").empty();
            if(data.value.favoriteSections.length==0&&data.value.favoritePortfolios.length==0)
            {
                $("#favoriteSectionsList").append('<div class="text_b3">No favorites saved</div><br />');
            }
            if(data.value.favoriteSections.length>0)
                $("#favoriteSectionsList").append('<div class="text_b3">Favorite Forums & Blogs</div><br />');
            for(var i=0;i<data.value.favoriteSections.length;i++)
            {
                $("#favoriteSectionsList").append('<li><a href="'+data.value.favoriteSections[i].sectionUrl+'" title="'+data.value.favoriteSections[i].sectionName+'">'+data.value.favoriteSections[i].ssectionName+'</a></li>');
            }
            if(data.value.favoritePortfolios.length>0)
            {
                $("#favoriteSectionsList").append('<div style="height:10px;">&nbsp;</div>');
                $("#favoriteSectionsList").append('<div class="text_b3">Favorite Porfolios</div><br />');
            }
            for(var i=0;i<data.value.favoritePortfolios.length;i++)
            {
                $("#favoriteSectionsList").append('<li><a href="'+data.value.favoritePortfolios[i].portfolioUrl+'" title="'+data.value.favoritePortfolios[i].portfolioName+'">'+data.value.favoritePortfolios[i].sportfolioName+'</a></li>');
            }
        }
    }

    if(!this._isAnonymous)
    {
        var data="act=2";
        AjaxRequest(this._ajaxUrl,data,callback);
    }
    else
    {
         $("#favoriteSectionsList").empty();
         if(this._regScript)
         {
            $("#favoriteSectionsList").append('<a class="dtitle_read" href="javascript:'+this._regScript+'"><i>Please log in.</i></a>');
         }
         else
         {
            $("#favoriteSectionsList").append('<a class="dtitle_read" href="https://members.morningstar.com/memberservice/login.aspx?vurl='+document.URL+'"><i>Please log in.</i></a>');
         }
    }
}

FavoriteToolBar.prototype.RecommendPost=function()
{
    var callback=function(data)
    {
        if(data.error==null)
        {
            if(data.value.Recommend>=0)
            {
                $("#RecommendCnt").html('Recommend ('+data.value.Recommend+')');
            }
        }
    }

    if(!this._isAnonymous)
    {
        var data="act=12&pid="+this._postID;
        AjaxRequest(this._ajaxUrl,data,callback);
    }
}

function CheckUser(appPath)
{
    var returnUrl = "";
    var currentUrl = location.href;
    var ajaxUrl=appPath+"/Utility/AjaxPages/FavoriteToobarAjax.aspx?checkuser=1&rtnurl=" + currentUrl + "&rnd=" + Math.random();
    var result = $.ajax({type:'get',url:ajaxUrl,async:false}).responseText;
    if(result)
    {
        result = eval("(" + result + ")");
        if(result.error==null && result.value != "sucess" )
        {
            returnUrl = result.value.url;
        }
    }
    return returnUrl;
}
function RssClick(appPath,rssLink)
{
    var loginUrl = CheckUser(appPath);
    if(loginUrl && loginUrl.length > 0 )
    {
        location.href = loginUrl;
    }
    else
    {
        location.href = rssLink;
    }
}
function RecommendClick(appPath,objName)
{
    var loginUrl = CheckUser(appPath);
    if(loginUrl.length > 0 )
    {
        location.href = loginUrl;
    }
    else
    {
        eval(objName + '.RecommendPost()');
    }
}
