try { jQuery.noConflict(); var EasyReadMoreSettings = { version: '2.2.1', Enabled: true, Read_More_Mode: 'mix', Mode_Auto_MaxLine: 3, Mode_Custom_Tag_Type: 'text', Mode_Custom_Tag_Expr: '##ReadMore##', Link_Style: 'directlink', Link_Text: '...Read More', Link_Text_title: 'Read More', Collapse_Link_Text: 'Summary....', Collapse_Link_Text_title: 'Summary', Collapse_MoveToEnd: false, Collapse_ScrollBack_Target: 'title', Collapse_Effect: 'none', Collapse_Effect_Speed: 'normal', Index_Page_Style: 'abstract', Tag_Page_Style: 'title', Archive_Page_Style: 'title', Controller_Enabled: true, Controller_Default_Position: true, Controller_Splitter: ' | ', Controller_Full_Text: 'Full', Controller_Abstract_Text: 'Abstract', Controller_Title_Text: 'Title', ShowFullPost_Tag: '##ShowAll##', PostTitleClassSelector: 'post-title', PostBodyClassSelector: 'post-body', PostsBlockSelector: 'div.blog-posts' }; var EasyReadMore = { IsIndexPage: false, IsTagPage: false, IsArchivePage: false, IsItemPage: false, CurrentPage: 'item', CurrentPageStyle: 'full', PageStyleHasSet: false, ChangeStyleTo: function (TargetStyle) { switch(TargetStyle) { case 'full': jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).show(); jQuery('div.read-more-tag').hide(); jQuery('div.collapse-tag').hide(); jQuery("span.PackedElements").show(); break; case 'abstract': jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).show(); jQuery('div.read-more-tag').show(); jQuery('div.collapse-tag').hide(); jQuery("span.PackedElements").hide(); break; case 'title': jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).hide(); jQuery('div.read-more-tag').hide(); jQuery('div.collapse-tag').hide(); jQuery("span.PackedElements").hide(); break; default://No matches,Set Full StyleSetting = 'full'; jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).show(); jQuery('div.read-more-tag').hide(); jQuery('div.collapse-tag').hide(); jQuery("span.PackedElements").show(); }; }, main: function() { //PageInfo Functions Start function SetUpPageInfo() { if (!(EasyReadMore.PageStyleHasSet)) { if ( document.location.href.split('/').pop() == "" || document.location.href.split('/').pop() == "index.html") { EasyReadMore.IsIndexPage = true; EasyReadMore.CurrentPage = 'index'; EasyReadMore.CurrentPageStyle = EasyReadMoreSettings.Index_Page_Style; } else if (document.location.href.indexOf("/search/label/") >= 0) { EasyReadMore.IsTagPage = true; EasyReadMore.CurrentPage = 'tag'; EasyReadMore.CurrentPageStyle = EasyReadMoreSettings.Tag_Page_Style; } else if ((document.location.href.indexOf("/search?") >= 0) || (document.location.href.indexOf("archive.html") >= 0)) { EasyReadMore.IsArchivePage = true; EasyReadMore.CurrentPage = 'archive'; EasyReadMore.CurrentPageStyle = EasyReadMoreSettings.Archive_Page_Style; } else { EasyReadMore.IsItemPage = true; EasyReadMore.CurrentPage = 'item'; EasyReadMore.CurrentPageStyle = 'full'; }; EasyReadMore.StyleHasSet = true; }; }; //PageInfo Functions End //PackElements Functions Start function getAutoModeTareget(PostBody,TargetElement){ if ((jQuery(PostBody).find('br').not(jQuery(PostBody).find('td > br')).length >= EasyReadMoreSettings.Mode_Auto_MaxLine) && (jQuery(PostBody).find("show-all-tag").length <= 0)) { TargetElement = jQuery(PostBody).find('br').not(jQuery(PostBody).find('td > br')).get(EasyReadMoreSettings.Mode_Auto_MaxLine - 1); }; return TargetElement; }; function getCustomModeTareget(PostBody,TargetElement){ switch(EasyReadMoreSettings.Mode_Custom_Tag_Type){ case 'text': if (jQuery(PostBody).find("span.custom-more-tag").length > 0 ) { TargetElement = jQuery(PostBody).find("span.custom-more-tag").get(0); }; break; case 'class': if (jQuery(PostBody).find("." + EasyReadMoreSettings.Mode_Custom_Tag_Expr).length > 0 ) { TargetElement = document.createElement("span"); jQuery(TargetElement).addClass("custom-more-tag"); jQuery(TargetElement).insertBefore(jQuery(PostBody).find("." + EasyReadMoreSettings.Mode_Custom_Tag_Expr).get(0)); }; break; case 'id': if (jQuery(PostBody).find("#" + EasyReadMoreSettings.Mode_Custom_Tag_Expr).length > 0 ) { TargetElement = document.createElement("span"); jQuery(TargetElement).attr("id","custom-more-tag"); jQuery(TargetElement).insertBefore(jQuery(PostBody).find("#" + EasyReadMoreSettings.Mode_Custom_Tag_Expr).get(0)); }; break; default://No matches,Set to text if (jQuery(PostBody).find("span.custom-more-tag").length > 0 ) { TargetElement = jQuery(PostBody).find("span.custom-more-tag").get(0); }; }; return TargetElement; }; function getMixModeTareget(PostBody,TargetElement){ //Detect Custom Mode First TargetElement = getCustomModeTareget(PostBody,TargetElement); if (typeof TargetElement == 'undefined') { //No Custom Tag, Detect Auto Mode TargetElement = getAutoModeTareget(PostBody,TargetElement); }; return TargetElement; }; function PackNodes_AfterTargetTag(TargetTag,postbodyindex) { var FriendNodes=TargetTag.parentNode.childNodes; var NextNodeIndex = (getNodeIndex(TargetTag) + 1); var TailNodesCount=FriendNodes.length - NextNodeIndex; var i; var box = document.createElement("span"); jQuery(box).addClass("PackedElements"); jQuery(box).addClass("PackedElements-" + postbodyindex); for (i=0;ia').attr('href')); jQuery(LinkTag).attr("title",EasyReadMoreSettings.Link_Text_title); jQuery(LinkTag).html(EasyReadMoreSettings.Link_Text); var readMoreTag = document.createElement("div"); jQuery(readMoreTag).addClass("read-more-tag"); jQuery(readMoreTag).append("
"); jQuery(readMoreTag).append(jQuery(LinkTag)); jQuery(readMoreTag).insertAfter(TargetTag); }; function AddReadMoreTag_Collapsible(postbody,postbodyindex,TargetTag){ var LinkTag = document.createElement("a"); jQuery(LinkTag).attr("href","javascript:void(0);"); var CLinkTag = jQuery(LinkTag).clone(); jQuery(LinkTag).attr("title",EasyReadMoreSettings.Link_Text_title); jQuery(LinkTag).html(EasyReadMoreSettings.Link_Text); jQuery(CLinkTag).attr("title",EasyReadMoreSettings.Collapse_Link_Text_title); jQuery(CLinkTag).html(EasyReadMoreSettings.Collapse_Link_Text); var readMoreTag = document.createElement("div"); jQuery(readMoreTag).append("
"); var collapseTag = jQuery(readMoreTag).clone(); jQuery(readMoreTag).addClass("read-more-tag"); jQuery(collapseTag).addClass("collapse-tag"); jQuery(readMoreTag).attr('id',"read-more-tag-" + postbodyindex); jQuery(readMoreTag).append(jQuery(LinkTag)); jQuery(readMoreTag).css("display","block"); jQuery(collapseTag).attr('id',"collapse-tag-" + postbodyindex); jQuery(collapseTag).append(jQuery(CLinkTag)); jQuery(readMoreTag).insertAfter(TargetTag); if (EasyReadMoreSettings.Collapse_MoveToEnd) { jQuery(postbody).append(jQuery(collapseTag)); } else { jQuery(collapseTag).insertAfter(jQuery(readMoreTag)); }; jQuery(LinkTag).click( function() { switch (EasyReadMoreSettings.Collapse_Effect) { case 'slide': jQuery("span.PackedElements-" + postbodyindex ).slideDown(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#read-more-tag-" + postbodyindex).slideUp(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#collapse-tag-" + postbodyindex).slideDown(EasyReadMoreSettings.Collapse_Effect_Speed); break; case 'fade': jQuery("span.PackedElements-" + postbodyindex ).fadeIn(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#read-more-tag-" + postbodyindex).fadeOut(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#collapse-tag-" + postbodyindex).fadeIn(EasyReadMoreSettings.Collapse_Effect_Speed); break; default: //default no effect jQuery("span.PackedElements-" + postbodyindex ).show(); jQuery("#read-more-tag-" + postbodyindex).hide(); jQuery("#collapse-tag-" + postbodyindex).show(); }; }); jQuery(CLinkTag).click( function() { switch (EasyReadMoreSettings.Collapse_Effect) { case 'slide': ScrollBack(postbody,LinkTag); jQuery("span.PackedElements-" + postbodyindex ).slideUp(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#read-more-tag-" + postbodyindex).slideDown(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#collapse-tag-" + postbodyindex).slideUp(EasyReadMoreSettings.Collapse_Effect_Speed); break; case 'fade': ScrollBack(postbody,LinkTag); jQuery("span.PackedElements-" + postbodyindex ).fadeOut(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#read-more-tag-" + postbodyindex).fadeIn(EasyReadMoreSettings.Collapse_Effect_Speed); jQuery("#collapse-tag-" + postbodyindex).fadeOut(EasyReadMoreSettings.Collapse_Effect_Speed); break; default: //default no effect ScrollBack(postbody,LinkTag); jQuery("span.PackedElements-" + postbodyindex ).hide(); jQuery("#read-more-tag-" + postbodyindex).show(); jQuery("#collapse-tag-" + postbodyindex).hide(); }; }); jQuery(readMoreTag).show(); jQuery(collapseTag).hide(); }; function ScrollBack(postbody,LinkTag) { if (EasyReadMoreSettings.Collapse_MoveToEnd) { var availHeight = window.screen.availHeight; var currentScrollPosiotion = document.documentElement.scrollTop; var ScrollTargetPosition; switch(EasyReadMoreSettings.Collapse_ScrollBack_Target) { case 'link': ScrollTargetPosition = getPositionY(LinkTag); break; case 'title': ScrollTargetPosition = getPositionY(jQuery(postbody).parent().find('.' + EasyReadMoreSettings.PostTitleClassSelector + '>a').get(0)); break; default: //NoScroll //do nothing }; if ((ScrollTargetPosition != null) || (ScrollTargetPosition != 'undefined')) { var scrollDiff = ScrollTargetPosition - currentScrollPosiotion; if ((scrollDiff >0) && (scrollDiff> availHeight)) { window.scroll(0,ScrollTargetPosition); } else if(scrollDiff <0) { window.scroll(0,ScrollTargetPosition); }; }; }; }; function getPositionY(oElement) { var iReturnValue = 0; while( oElement != null ) { iReturnValue += oElement.offsetTop; oElement = oElement.offsetParent; }; return iReturnValue; }; function PackPostBodies() { jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).each( function (i) { var TargetElement; //Check If Has ShowFullPost Tag if (jQuery(this).find("span.show-all-tag").length <= 0 ) { switch(EasyReadMoreSettings.Read_More_Mode) { case 'auto': TargetElement = getAutoModeTareget(jQuery(this),TargetElement); break; case 'custom': TargetElement = getCustomModeTareget(jQuery(this),TargetElement); break; case 'mix': TargetElement = getMixModeTareget(jQuery(this),TargetElement); break; default://No matches,Set to Auto Mode TargetElement = getAutoModeTareget(jQuery(this),TargetElement); }; }; if (typeof TargetElement != 'undefined') { PackNodes_AfterTargetTag(TargetElement,i); switch(EasyReadMoreSettings.Link_Style){ case 'directlink': AddReadMoreTag_DirectLink(jQuery(this),TargetElement); break; case 'collapsible': AddReadMoreTag_Collapsible(jQuery(this),i,TargetElement); break; default: AddReadMoreTag_DirectLink(jQuery(this),TargetElement); }; }; }); }; //PackElements Functions End //Controller Functions Start function getControllerItem(cStyle,cText){ spanTag = document.createElement("span"); jQuery(spanTag).addClass("read-more-controller-" + cStyle); jQuery(spanTag).html("" + cText + ""); return jQuery(spanTag); }; function SetUpController() { // Create Buttons var FullSPAN = getControllerItem('full',EasyReadMoreSettings.Controller_Full_Text); var AbstractSPAN = getControllerItem('abstract',EasyReadMoreSettings.Controller_Abstract_Text); var TitleSPAN = getControllerItem('title',EasyReadMoreSettings.Controller_Title_Text); //Create Controller Div controllerDIV = document.createElement("div"); jQuery(controllerDIV).addClass("read-more-controller"); jQuery(controllerDIV).append(jQuery(FullSPAN)); jQuery(controllerDIV).append(EasyReadMoreSettings.Controller_Splitter); jQuery(controllerDIV).append(jQuery(AbstractSPAN)); jQuery(controllerDIV).append(EasyReadMoreSettings.Controller_Splitter); jQuery(controllerDIV).append(jQuery(TitleSPAN)); //SetUp Controller if ( EasyReadMoreSettings.Controller_Default_Position ) { //Set Default DIVs jQuery(EasyReadMoreSettings.PostsBlockSelector).each( function() { jQuery(this).prepend(jQuery(controllerDIV)); jQuery(this).append(jQuery(controllerDIV).clone()); }); } else { //Set User-Define DIVs jQuery('div.read-more-controller').each( function() { jQuery(this).html(jQuery(controllerDIV).html()); }); }; }; //Controller Functions End function MarkPostEnd() { jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).each( function (i) { var EndTag = document.createElement("span"); jQuery(EndTag).addClass("post-body-end"); jQuery(this).append(EndTag); }); }; function ReplaceTextTags() { //Remove Custom Tag if ((EasyReadMoreSettings.Read_More_Mode != 'auto') && (EasyReadMoreSettings.Mode_Custom_Tag_Type == 'text')) { var ct = new RegExp(EasyReadMoreSettings.Mode_Custom_Tag_Expr,"gi"); jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).each( function () { WrapTextTag_of_ChildNodes(this,EasyReadMoreSettings.Mode_Custom_Tag_Expr,"custom-more-tag-wrap"); jQuery(this).find("span.custom-more-tag-wrap").each( function() { jQuery(this).html(jQuery(this).html().replace(ct,"")); }); }); }; //Remove ShowFullPost Tag if (EasyReadMoreSettings.Read_More_Mode != 'custom') { var sft = new RegExp(EasyReadMoreSettings.ShowFullPost_Tag,"gi"); jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).each( function (i) { WrapTextTag_of_ChildNodes(this,EasyReadMoreSettings.ShowFullPost_Tag,"show-all-tag-wrap"); jQuery(this).find("span.show-all-tag-wrap").each( function() { jQuery(this).html(jQuery(this).html().replace(sft,"")); }); }); }; }; function WrapTextTag_of_ChildNodes(TargetElement,TargetText,WarpClassName) { if (jQuery(TargetElement).html().indexOf(TargetText) != -1 ) { var i; var cns = TargetElement.childNodes; for (i=0;i"); }; } else { if (jQuery(cns[i]).attr("class") == "post-body-end") { break; } else { WrapTextTag_of_ChildNodes(cns[i],TargetText,WarpClassName); }; }; }; }; }; function HookWidgetManger(){ // Code Source:Rack Lin http://racklin.blogspot.com/2007/02/blogger-hack-tip-1-hacking-blogger.html if((typeof EasyReadMore._WidgetManager_HandleControllerResult == 'undefined') ) { EasyReadMore._WidgetManager_HandleControllerResult = _WidgetManager._HandleControllerResult; _WidgetManager._HandleControllerResult = function() { try { // Call _WidgetManager_HandleControllerResult EasyReadMore._WidgetManager_HandleControllerResult.apply(this, arguments); // replace_continue_markup EasyReadMore.main(); }catch(e) {}; }; }; }; function HideMeWidget() { jQuery('.widget > .title:contains("##EasyReadMore##")').each( function(){ jQuery(this).parent().hide(); } ); } //Main Functions Start HideMeWidget(); SetUpPageInfo(); if (jQuery('div.' + EasyReadMoreSettings.PostBodyClassSelector).size() <= 0) { //if posts ware not loaded, wait for ready. jQuery(this).ready(function(e){ MarkPostEnd(); ReplaceTextTags(); if ( !EasyReadMore.IsItemPage ) { PackPostBodies(); EasyReadMore.ChangeStyleTo(EasyReadMore.CurrentPageStyle); if (EasyReadMoreSettings.Controller_Enabled) { SetUpController(); }; HookWidgetManger(); }; }); } else { //Loaded, pack and hide them. MarkPostEnd(); ReplaceTextTags(); if ( !EasyReadMore.IsItemPage ) { PackPostBodies(); EasyReadMore.ChangeStyleTo(EasyReadMore.CurrentPageStyle); if (EasyReadMoreSettings.Controller_Enabled) { SetUpController(); }; jQuery(this).ready(HookWidgetManger); }; }; //Main Functions End } }; jQuery.extend(EasyReadMoreSettings); jQuery.extend(EasyReadMore); }catch (e) { };