function BHRating(params,containerId,staticHostUrl){this.Params=params;this.ContainerId=containerId;
this.StaticHostUrl=staticHostUrl;this.PostRating=null;this.PostRating_ajax=null;}function BHForumOptions(params,containerId,staticHostUrl){this.Params=params;
this.ContainerId=containerId;this.StaticHostUrl=staticHostUrl;}function InitBHRatingControl(arrayIndex,isReadOnly,ctrlId){var bhRating=forumPosts[arrayIndex];
bhRating.PostRating=new PostRating("forumPosts["+arrayIndex+"].PostRating",ctrlId,ctrlId+"_Value",5,bhRating.StaticHostUrl+"/s/images/common/","?sver=40332",false,"CommonRateControl","CommonRateControlActive","CommonRateControlReadOnly",["Terrible","Poor","Fair","Average","Good","Excellent"],isReadOnly,!isReadOnly);
bhRating.PostRating_ajax={"SaveRating":function(rating,successFunction,failureFunction){saveForumRating(bhRating,rating,successFunction,failureFunction);
}};}function getForumObjectType(obj){if(typeof(obj.PostRating)!=="undefined"){return"BHRating";
}return"undefined";}var saveForumRating=function(bhRating,rating,successFunction,failureFunction){new Ajax.Request("/ajax/forum_actions.ashx",{method:"post",requestHeaders:{Accept:"application/json"},parameters:{"params":bhRating.Params,"action":"rate","rating":rating},onSuccess:function(transport){successFunction(transport.responseText);
},onFailure:function(transport){failureFunction();},onException:function(transport){failureFunction();
}});};var toggleForumThreadSubscription=function(){if(typeof(window.forumThreadParams)=="undefined"||window.forumThreadParams==null){return;
}var parameters=window.forumThreadParams.evalJSON();var forumThreadSubscriptionContainer=$("forumThreadSubscription");
if(typeof(forumThreadSubscriptionContainer)=="undefined"||forumThreadSubscriptionContainer==null){return;
}forumThreadSubscriptionContainer.innerHTML="<a href='javascript:void(0)'>...</a>";
new Ajax.Request("/ajax/forum_actions.ashx",{method:"post",requestHeaders:{Accept:"application/json"},parameters:{"params":parameters.params,"action":"subscription"},onSuccess:function(transport){var response=transport.responseText.evalJSON();
if(response.threadSubscription){forumThreadSubscriptionContainer.innerHTML=response.threadSubscription;
}},onFailure:function(transport){alert("error toggling forum thread subscription");
},onException:function(transport){alert("exception during toggling forum thread subscription");
}});};var getForumPostsData=function(){var Params="";for(i=0;i<forumPosts.length;
i++){if(Params!=""){Params+=",";}Params=Params+forumPosts[i].Params;}new Ajax.Request("/ajax/get_forum_posts_data.ashx",{method:"post",requestHeaders:{Accept:"application/json"},parameters:{"params":Params},onSuccess:function(transport){var response=transport.responseText.evalJSON();
for(i=0;i<response.length;i++){if(response[i].content!=""){$(forumPosts[i].ContainerId).innerHTML=response[i].content;
if(getForumObjectType(forumPosts[i])=="BHRating"){InitBHRatingControl(i,response[i].isReadOnly,response[i].ctrlId);
}}}},onFailure:function(transport){alert("error getting forum post data");},onException:function(transport){alert("exception during getting forum post data");
}});};var getForumThreadData=function(params){new Ajax.Request("/ajax/get_forum_thread_data.ashx",{method:"post",requestHeaders:{Accept:"application/json"},onSuccess:function(transport){if(transport.responseText.length>1){var response=transport.responseText.evalJSON();
if(response.threadSubscription){var forumThreadSubscriptionContainer=$("forumThreadSubscription");
if(typeof(forumThreadSubscriptionContainer)!=="undefined"&&forumThreadSubscriptionContainer!=null){forumThreadSubscriptionContainer.innerHTML=response.threadSubscription;
}}}},onFailure:function(transport){alert("error getting forum thread data");},onException:function(transport){alert("exception occurred during getting forum thread data");
},parameters:{"params":params}});};var getDynamicForumData=function(){if(typeof(window.forumPosts)!=="undefined"&&window.forumPosts!=null){getForumPostsData();
}if(typeof(window.forumThreadParams)!=="undefined"&&window.forumThreadParams!=null){var parameters=window.forumThreadParams.evalJSON();
getForumThreadData(parameters.params);}};if(typeof(document.observe)!=="undefined"){document.observe("dom:loaded",getDynamicForumData);
}
