var blogExpander = {
	f : $$('.moreBlogBtn'),
	crap : 'Crap',
	currentState : {
		currentDiv : '',
		state : 'close',
		readMoreLink : '',
		readMoreClone : '',
        currentHeight : ''
		
	},
	addEvents : function() {
		this.f = $$('.moreBlogBtn');
		var nCell = blogExpander.f.length;

		for(i=0; i<nCell; i++) {
			blogExpander.f[i].observe('click', blogExpander.showMore);
		}
	},
	removeEvents : function() {
		var nCell = blogExpander.f.length;
		for (i=0; i<nCell; i++) {
			blogExpander.f[i].stopObserving('click');
		}
		blogExpander.currentState = { 
			currentDiv : '',
			state : 'close',
			readMoreLink : '',
			readMoreClone : ''	
		};
	},
	showMore : function(el) {

		var blogLimit = this.ancestors()[3].select('tr td.blogInfo .blogLimit')[0];
		var readMore = blogLimit.select('span[title="read_more_btn"]')[0];
        var currentHeight = blogLimit.getHeight();        
		if (blogExpander.currentState.currentDiv != this) {
			if (blogExpander.currentState.currentDiv != '') {
				var prevBlogLimit = blogExpander.currentState.currentDiv.ancestors()[3].select('tr td.blogInfo .blogLimit')[0];
				prevBlogLimit.select('span[title="read_more_btn"]')[0].innerHTML = blogExpander.currentState.readMoreLink;
				blogExpander.currentState.readMoreClone.remove();
				prevBlogLimit.select('span[title="moreCtn"]')[0].hide();							
			//	prevBlogLimit.select('span[title="read_more_btn_clone]')[0].remove();
				
				prevBlogLimit.morph('height: '+ blogExpander.currentState.currentHeight +'px');
				blogExpander.currentState.currentDiv = '';
				blogExpander.currentState.readMore = '';
				blogExpander.currentState.currentDiv.innerHTML = '&#9660;';
				blogExpander.currentState.readMoreClone = '';

			}
            if (readMore != undefined) {
                blogExpander.currentState.currentHeight = blogLimit.getHeight();
                blogLimit.select('span[title="moreCtn"]')[0].show();
                
    			blogLimit.appendChild(Builder.node('span', { title: 'read_more_btn_clone' }));
                blogLimit.select('span[title="read_more_btn_clone"]')[0].innerHTML = readMore.innerHTML;
                blogExpander.currentState.readMoreLink = readMore.innerHTML;
                readMore.innerHTML = '';
                blogLimit.style.height = '';
                
                var ctnHeight = parseInt(blogLimit.getHeight() + 10);
                
                blogLimit.style.height = blogExpander.currentState.currentHeight + 'px';
                if (ctnHeight > (currentHeight + 14)) {
                    blogLimit.morph('height: '+ ctnHeight +'px', { duration: 0.2});
                }
                blogExpander.currentState.currentDiv = this;
                blogExpander.currentState.readMoreClone = this.ancestors()[3].select('tr td.blogInfo .blogLimit')[0].select('span[title="read_more_btn_clone"]')[0];
                this.innerHTML = '&#9650;';
                
            } else {
                blogExpander.currentState.currentDiv = '';
                blogExpander.currentState.readMore = '';
            }
		} else {
			blogLimit.morph('height: '+ blogExpander.currentState.currentHeight +'px',{ duration: 0.2});
			this.innerHTML = '&#9660;';
			readMore.innerHTML = blogExpander.currentState.readMoreLink;
			blogLimit.select('span[title="moreCtn"]')[0].hide();
			blogExpander.currentState.currentDiv = '';	
			blogExpander.currentState.readMoreLink = '';
			blogExpander.currentState.readMoreClone.remove();
			blogExpander.currentState.readMoreClone = '';
            
		
		}
	},
	init: function() {
		blogExpander.addEvents();
	}
}

