
/*************************************************************************************/

function generatePager (page, totalPages, holder, callback, callBackArgs) {
	if (totalPages<1) return;
	var pageButtons = $C("DIV", {className:"pagerHolder"}, holder);
	if (page<totalPages){
		var nextButton = $C("DIV", {className:"pagerButton", innerHTML:"Última ("+(totalPages+1)+")"}, pageButtons);
		nextButton.onclick=function(){callback(totalPages, callBackArgs);}.bind(this);				
	}
	if (page<totalPages-1){
		var moreNextButton = $C("DIV", {className:"pagerButton", innerHTML:"..."}, pageButtons);
		moreNextButton.onclick=function(){callback(page+2, callBackArgs);}.bind(this);				
	}
	var j=0;
	$A([page+1, page, page-1]).each(function(i){
		if (i>=0 && i<=totalPages){
			var numberButton = 	$C("DIV", {className:"pagerButton", innerHTML:(i==(page))?"<b>"+parseInt(i+1)+"<b>":parseInt(i+1)}, pageButtons);
			numberButton.onclick=function(){callback(i, callBackArgs);}.bind(this); j=i;
		}
	}.bind(this));
	if (j>0){
		var moreBeforeButton = $C("DIV", {className:"pagerButton", innerHTML:"..."}, pageButtons);
		moreBeforeButton.onclick=function(){callback(page-2, callBackArgs);}.bind(this);				
	}
	if (page>0){
		var beforeButton = $C("DIV", {className:"pagerButton", innerHTML:"Primera"}, pageButtons);
		beforeButton.onclick=function(){callback(0, callBackArgs);}.bind(this);
	}
	return;
	for (var p=0; p<totalPages; p++) {callback(p+1, callBackArgs);}
}

/*************************************************************************************/

var C_scroller=new Class ({
	contentHolder: null,
	buttonsHolder: null,
	direction: 0,
	moveInterval:null,
	refreshRate: 20,
	speed: 1,
	scrollUpImg: 'imagenes/scrollUp.png',
	scrollDownImg: 'imagenes/scrollDown.png',
	init: function(_holder,_buttons,options) {
		this.contentHolder = _holder;
		this.buttonsHolder = _buttons;
		if (options) {
			if (options.speed) {this.speed=options.speed;}
			if (options.refreshRate) {this.refreshRate=options.refreshRate;}
			if (options.scrollUpImg) {this.scrollUpImg=options.scrollUpImg;}
			if (options.scrollDownImg) {this.scrollDownImg=options.scrollDownImg;}
		}
	},
	renderButtons: function () {
		this.buttonsHolder.innerHTML='';
		if (!this.scrollable()) { return; }
		var upBtn = $C('IMG',{src:this.scrollUpImg,'.cursor':'pointer'},this.buttonsHolder);
		upBtn.onmousedown=function() {
			if (this.moveInterval) { clearInterval(this.moveInterval); }
			direction=this.speed;	
			this.moveInterval=setInterval(function() {
				this.scrollUp();
			}.bind(this),this.refreshRate);
		}.bind(this);
		upBtn.onmouseup=function() { clearInterval(this.moveInterval); }.bind(this);
		var downBtn = $C('IMG',{src:this.scrollDownImg,'.cursor':'pointer'},this.buttonsHolder);
		downBtn.onmousedown=function() {
			if (this.moveInterval) { clearInterval(this.moveInterval); }
			direction=-this.speed;	
			this.moveInterval=setInterval(function() {
				this.scrollDown();
			}.bind(this),this.refreshRate);
		}.bind(this);
		downBtn.onmouseup=function() { clearInterval(this.moveInterval); }.bind(this);
	},
	scrollable: function () {
		if (this.contentHolder.clientHeight < this.contentHolder.scrollHeight) return true;
		else return false;
	},
	scrollUp: function () {
		this.contentHolder.scrollTop -= 2;
	},
	scrollDown: function () {
		this.contentHolder.scrollTop += 2;
	}
});

/************************************************************************************************/
function generateSnippet(idHolder, maxLines){
	if ($_('suspensivePoints'+idHolder)) return;
	
	var holder=$_(idHolder);	
	var tamLine = holder.offsetHeight/maxLines;
	
	if (holder.scrollHeight>holder.offsetHeight){
		//alert(holder.style.height);
		holder.style.height=holder.offsetHeight-parseInt(tamLine)+'px';	
		$C('DIV', {innerHTML:'...','.height':tamLine+'px','.margin':'0px', '.paddingBottom':tamLine+'px',id:'suspensivePoints'+idHolder}, holder.parentNode);
	}
	
}
/*********************************************************************************************/
function loadScript(url, callback){
	var script = document.createElement("script")
	script.type = "text/javascript";
	if (script.readyState){  //IE
		script.onreadystatechange = function(){
			if (script.readyState == "loaded" ||
				script.readyState == "complete"){
				script.onreadystatechange = null;
				callback();
			}
		};
	} else {  //Others
		script.onload = function(){
			callback();
		};
	}
	script.src = url;
	$T("head")[0].appendChild(script);
}
