
var extender_boxs_arr=new Array();function extender_box(elm,startItemCount,minCount,maxCount){if(typeof elm=="string")elm=document.getElementById(elm);if(!elm||elm.tagName.toLowerCase()!="div"){throw("You must supply a main div element");return false;};var divs=elm.getElementsByTagName("div");if(!startItemCount)startItemCount=0;startItemCount=startItemCount*1;if(startItemCount<0)startItemCount=0;if(startItemCount>divs.length)startItemCount=divs.length;if(maxCount==null)maxCount=divs.length;if(minCount==null)minCount=1;if(maxCount>divs.length)maxCount=divs.length;if(minCount<0)minCount=0;this.item=new Array();this.viewCount=startItemCount;this._settings=new Object();this._settings.control=this;this._settings.guid=Math.round(Math.random()*99999);while(extender_boxs_arr[this._settings.guid]){this._settings.guid=Math.round(Math.random()*99999);};this._settings.elm=elm;this._settings.divs=divs;this._settings.min=minCount;this._settings.max=maxCount;this._settings.startCount=startItemCount;this._settings.Scroller=new Object();this._settings.Scroller.control=this;this._settings.Scroller._settings=this._settings;this._settings.Scroller.ScrollTo=0;this._settings.Scroller.ScrollFrom=0;this._settings.Scroller.ScrollTimer=null;extender_boxs_arr[this._settings.guid]=this;this._settings.SetViewCount=function(num){if(num<this.min)num=this.min;if(num>this.max)num=this.max;var x,totalHeight;totalHeight=0;for(x=0;x<this.control.item.length&&x<num;x++){totalHeight+=this.control.item[x].offsetHeight;};this.Scroller.ScrollFrom=this.elm.offsetHeight;this.Scroller.ScrollTo=totalHeight;this.control.viewCount=num;this.Scroller.StopScroll();this.Scroller.ScrollTimer=setInterval("extender_boxs_arr["+this.guid+"]._settings.Scroller.Scroll();",5);};this._settings.Scroller.Scroll=function(){var tDiff=0;var Speed=10;var finalHeight=0;if(this.ScrollTo>this._settings.elm.offsetHeight){tDiff=this.ScrollTo-this._settings.elm.offsetHeight;if(tDiff<((this.ScrollTo-this.ScrollFrom)/2)){tDiff=(Speed/(this.ScrollTo-this.ScrollFrom))*((this.ScrollTo-this.ScrollFrom)-(this._settings.elm.offsetHeight-this.ScrollFrom))+(Speed/2);}else{tDiff=Speed;};finalHeight=this._settings.elm.offsetHeight+tDiff
if(finalHeight<0)finalHeight=0;this._settings.elm.style.height=finalHeight+"px";if(this.ScrollTo-this._settings.elm.offsetHeight<=Speed){this._settings.elm.style.height=this.ScrollTo+"px";this.StopScroll();};}else{tDiff=this._settings.elm.offsetHeight-this.ScrollTo;if(tDiff<((this.ScrollFrom-this.ScrollTo)/2)){tDiff=(Speed/(this.ScrollFrom-this.ScrollTo))*((this.ScrollFrom-this.ScrollTo)-(this.ScrollFrom-this._settings.elm.offsetHeight))+(Speed/2);}else{tDiff=Speed;};finalHeight=this._settings.elm.offsetHeight-tDiff
if(finalHeight<0)finalHeight=0;this._settings.elm.style.height=finalHeight+"px";if(this._settings.elm.offsetHeight-this.ScrollTo<Speed){this._settings.elm.style.height=this.ScrollTo+"px";this.StopScroll();};};};this._settings.Scroller.StopScroll=function(){if(this.ScrollTimer){clearInterval(this.ScrollTimer);this.ScrollTimer=null;};};var x,temp,totalHeight;totalHeight=0;for(x=0;x<this._settings.divs.length;x++){this.item[x]=this._settings.divs.item(x);if(x<startItemCount){totalHeight+=this._settings.divs.item(x).offsetHeight;};};this._settings.elm.style.height="5px";this._settings.elm.style.height=totalHeight+"px";this.Extend=function(count){this._settings.SetViewCount(this.viewCount+count);};this.Collapse=function(count){this._settings.SetViewCount(this.viewCount-count);};this.SetView=function(count){if(isNaN(count)){this._settings.SetViewCount(this._settings.startCount);}else{this._settings.SetViewCount(count);};};};