var commentHandle="/TE_CommentSystem/TE_CommentSystem.php";var TECommentSystem=function(){var $A=YAHOO.util.Anim,$C=YAHOO.util.Connect,$D=YAHOO.util.Dom,$E=YAHOO.util.Event,$U=YAHOO.util;var callbackObj={},retObj={handle:'',container:'',captcha:''};function _parseJSON(str){return(/^(\s+|[,:{}\[\]]|"(\\["\\\/bfnrtu]|[^\x00-\x1f"\\]+)*"|-?\d+(\.\d*)?([eE][+-]?\d+)?|true|false|null)+$/.test(str))&&eval('('+str+')');}function _setMssg(elem,mssg){var errorMSSG=$D.getElementsByClassName('comment_error','DIV',elem);if(errorMSSG.length!=0){if(mssg.length==0){$D.setStyle(errorMSSG[0],'visibiliy','hidden');$D.setStyle(errorMSSG[0],'display','none');}else{$D.setStyle(errorMSSG[0],'visibiliy','visible');$D.setStyle(errorMSSG[0],'display','block');}errorMSSG[0].innerHTML=mssg;}else{alert(mssg);}}function collapseExpand(elem){$E.preventDefault('click');var toModify=$D.getElementsByClassName('comment_body',null,elem),attr,anim;if(elem.innerHTML=='[+]'){elem.innerHTML='[-]';}else{elem.innerHTML='[+]';}while(toModify.length==0&&elem){elem=elem.parentNode;toModify=$D.getElementsByClassName('comment_body',null,elem);}if(toModify.length>0){$D.setStyle(toModify[0],'overflow','hidden');var start=function(){$D.setStyle(toModify[0],'overflow','hidden');};var finish=function(){$D.setStyle(toModify[0],'overflow','auto');};if($D.hasClass(toModify[0],"item_collapsed")){attr={height:{to:toModify[0].getAttribute('myOffset')}};$D.removeClass(toModify[0],"item_collapsed")}else{toModify[0].setAttribute('myOffset',toModify[0].offsetHeight,true);attr={height:{to:0}};$D.addClass(toModify[0],"item_collapsed")}anim=new $A(toModify[0],attr,0.7,$U.Easing.easeOut);anim.onStart.subscribe(start);anim.onComplete.subscribe(finish);anim.animate();}};function setHandle(handle){retObj.handle=handle;};function setCaptchaElement(captcha){retObj.captcha=captcha;}function setContainer(container){retObj.container=container;loadComments();};function loadComments(){transObj=$C.asyncRequest('POST',retObj.handle,callbackObj,"action=get&from="+document.location);};function postComment(formObj,container){formObj.onsubmit=function(){return false;};_setMssg(formObj,'');$C.setForm(formObj);callbackObj.argument=formObj;transObj=$C.asyncRequest('POST',retObj.handle,callbackObj,"action=insert&from="+document.location);};function postSuccess(o){var commentObj=_parseJSON(o.responseText),errorMSSG;if((commentObj)&&(typeof commentObj=='object')){if(commentObj.comments){for(var i=0;i<commentObj.comments.length;i++){insertComment(commentObj.comments[i]);}if(o.argument){o.argument.reset();}}}else{if(o.argument){_setMssg(o.argument,o.responseText);}};reloadImg();};function postFailure(o){if(o.argument){_setMssg(o.argument,o.responseText);o.argument.reset();}reloadImg();};function insertComment(cItem){var commentsContainer,sItem="<div class='item_container'>";sItem+="<div class='comment_item'>"+"<div class='comment_author'><a href='javascript:void(0)' class='expand_control' onclick='TECommentSystem.collapseExpand(this)'>[-]</a>&nbsp;&nbsp;"+((cItem.authorSite)?"<a href='"+cItem.authorSite+"' target='_blank'>"+cItem.commentAuthor+"</a>":cItem.commentAuthor)+"&nbsp;<small>"+cItem.commentDate+"</small></div>"+"<div class='comment_body'>"+cItem.commentBody+"</div>"+"</div>";commentsContainer=$D.get(retObj.container);if(commentsContainer){commentsContainer.innerHTML+=sItem;}};function reloadImg(){if(retObj.captcha!=''){captchaIMG=$D.get(retObj.captcha);if(captchaIMG&&retObj.handle!=''){captchaIMG.src=retObj.handle+"?.png"+Math.random();}}};callbackObj.success=postSuccess;callbackObj.failure=postFailure;retObj.post=postComment;retObj.collapseExpand=collapseExpand;retObj.setHandle=setHandle;retObj.setContainer=setContainer;retObj.setCaptcha=setCaptchaElement;return retObj;}();YAHOO.util.Event.addListener(window,'load',function(){TECommentSystem.setHandle(commentHandle);TECommentSystem.setContainer('commentContainer');TECommentSystem.setCaptcha('commentCaptcha');});
