var paginatorObj = Class.create({
	initialize:function(container,elements,longitud){
		this.pagecount = Math.ceil(elements.length/longitud);
		this.longpagina = longitud;
		this.pageInd=Array();
		
		var pagecont = new Element('div');
			pagecont.setStyle({display:'block',cssFloat:'left',width:'100%'});
			pagecont.innerHTML='<div style="float:left;padding:5px;">Pag.</pag>';
			container.insert({before:pagecont});
			this.contenedor=pagecont;
			this.elementos=elements;
			for(var i = 0; i <this.pagecount;i++){
				this.newPage(i)
			}
			this.setPage(0);
	},
	newPage:function(pagename,where){
		var div = new Element('div');
			div.setStyle({cssFloat:'left',padding:'5px',
					display:'inline',height:'20px',widht:'20px',
					marginLeft:'2px',cursor:'pointer'});
			div.innerHTML=pagename;
			div.padre=this;
			div.observe('click',function(){eval('this.padre.setPage('+pagename+')')});
			this.contenedor.appendChild(div);
			this.pageInd.push(div);
	},
	setPage:function(page){
			for(var i=0;i< this.elementos.length;i++){
				this.elementos[i].setStyle({display:'none'});
			}
			var pos = this.longpagina*page;
			for(var i = pos;i<pos+this.longpagina;i++){
				if (typeof(this.elementos[i])!=='undefined')
				this.elementos[i].setStyle({display:'inline'});
			}
			for(var i = 0;i<this.pageInd.length;i++){
				this.pageInd[i].setStyle({fontWeight:'normal',textDecoration:''});
			}
			this.pageInd[page].setStyle({fontWeight:'bold',textDecoration:'underline'});
	}
});
var pagcreator = Class.create({
	initialize:function(classcont,classinto,longitud){
		this.conts = ($$('.'+classcont+''));
		//this.conts = $$(classcont);
		var match = '.'+classinto+'';
		
		this.maxlength=longitud;
		
		
		for(var i = 0; i < this.conts.length;i++){
			var childs=Selector.findChildElements(this.conts[i],[match]);
			if(childs.length<longitud) continue;
			new paginatorObj(this.conts[i],childs,longitud);
			
		}
		
		
	}
	

});

var appsite = Class.create({
	
	initialize:function(){
		document.observe('dom:loaded',function(){
			
			
			
		});
		this.debug_texts=Array();
		this.mboxes=Array();
	},
	launch:function(funct){
		document.observe('dom:loaded',function(){
			eval(htmlspecialchars_decode(funct,'ENT_QUOTES'));	
		});
	},
	showConsult:function(){
		
		if (this.mboxes.length){
			var objBody = $$('body')[0];
			for(i=0;i<this.mboxes.length;i++){
				this.mboxes[i].render();	
			}
		}
	},
	close_consult:function(){
		$('messagebox').remove();
	},
	consult:function(texto){
		var div = new Element('div',{id: 'consult', className: 'consult'});
		var a = this.consult.arguments;
		var mbox = new messagebox(texto);
		if (a.length>1){
			for (i=1; i< a.length-1;i+=2){
				mbox.addButton(a[i],a[i+1]);	
			}
		}
		this.mboxes.push(mbox);
		document.observe('dom:loaded',function(){
			AppAdmin.showConsult();
		});
		
	},
	login:function(){
		$('loginpass').value=hex_md5($('loginpass').value);
		if ($('formulario')){
			$('formulario').submit();
		}
	},
	debug:function(texttodebug){
		this.debug_texts.push(texttodebug);
	},
	show_debug:function(){
		
		if (this.debug_texts.length==0) return false;
		var div = new Element('div',{id: 'debugger', className: 'debugger_container'});
			div.className='debugger_container';
			div.insert('<div style="display:block;">Debugging</div>');
		var closer = new Element('div',{id: 'debuggerx', className: 'debugger_closer'});
			closer.className='debugger_closer';
			closer.insert('X');
			closer.observe('click',function(){
					$('debugger').remove();
			});
			div.insert(closer);	
		var cont_container = new Element('div',{id: 'dbcc', className: 'debugger_content_container'});
			cont_container.className='debugger_content_container';
		for (i=0; i < this.debug_texts.length;i++){
			more = new Element('div',{className:'debugger_content'});
			more.className='debugger_content';
			more.insert(htmlspecialchars_decode(this.debug_texts[i]));
			cont_container.insert(more);
		}
		
		div.insert(cont_container);
		var objBody = $$('body')[0];
		objBody.appendChild(div);
		
	}
	
});
AppSite = new appsite();
