function Tabla(){
	this.titulo=null;
	this.columnas=null;
	this.datos=null;
	this.render=null;
	this.onClick=null
	this.onDoubleClick=null;
	this.onMouseOver=function(a){document.getElementById(a[0]).className='ap-tabla-tr '+a[1]};
	this.onMouseOut=function(a){document.getElementById(a[0]).className='ap-tabla-tr '+a[1]};
	this.classColumna="";
	this.empyMsg="";
	this.frame=false;
	this.width=null;
	this.height=null;
	this.border='0px';
	this.spacing='0px';
	this.padding='0px';
	this.classNon='ap-tabla-row-non';
	this.classPar='ap-tabla-row-par';
	this.classOver='ap-tabla-row-over';
	this.classColumna='ap-tabla-columna';
	this.classTabla=null;
	this.loadData=function (array){
						this.datos=array;
						this.show(this.render);
					}
	this.show=function (){
					var inerhtml='';
					var con_table='<table width="100%" '+(this.classTabla==null?'':('class="'+this.classTabla+'"'))+' border="'+this.border+'" cellspacing="'+this.spacing+'" cellpadding="'+this.padding+'">';
					var ini_table='<table width="100%" border="'+this.border+'" cellspacing="'+this.spacing+'" cellpadding="'+this.padding+'">';
					var fin_table='</table>';
					var w=this.width==null?'':('width:'+this.width+'; ');
					var h=this.height==null?'':('height:'+this.height+'; ');
					inerhtml+='<div class="ap-div-tabla" style="'+w+''+h+'">';
					if(this.columnas.length!=undefined&&this.datos.length!=undefined){
						if(this.titulo!=null){
							inerhtml+=ini_table+'<tr><td '+(this.columnas.length>0?('colspan="'+this.columnas.length+'"'):'')+'><div class="ap-div-tabla-titulo">'+this.titulo+'</div></td></tr>'+fin_table;
						}
						
						for(var i=0;i<this.columnas.length;i++){
							if(i==0)
							inerhtml+='<div class="ap-tabla-colum '+this.classColumna+'">'+ini_table+'<tr >';
							inerhtml+='<td '+(this.columnas[i].ancho==null?'':('style="width:'+this.columnas[i].ancho+';"'))+' >'+this.columnas[i].nombre+'</td>';
							if(i+1==this.columnas.length)
							inerhtml+='</tr>'+fin_table+'</div>';
						}
						inerhtml+='<div class="ap-tabla-datos" style="overflow:auto; '+w+''+h+'">';
						if(this.datos.length==0){
							inerhtml+=ini_table+'<tr><td><div class="ap-tabla-vacia">'+this.empyMsg+'</div></td></tr>'+fin_table;
						}else{							
							for(var i=0;i<this.datos.length;i++){
								var classRow=i%2==0?this.classPar:this.classNon;
								inerhtml+='<div class="ap-tabla-tr '+classRow+'">'+ini_table+'<tr  id="ap-tabla-tr-'+this.render+'-'+i+'" >'; // onclick="" ondblclick=""'+'>';
								for(var j=0;j<this.columnas.length;j++){
									inerhtml+='<td '+(this.columnas[j].ancho==null?'':('style="width:'+this.columnas[j].ancho+';"'))+' >'+(this.datos[i][this.columnas[j].index]==undefined?(this.columnas[j].render==undefined?"":this.columnas[j].render(this.datos[i])):(this.columnas[j].render==undefined?this.datos[i][this.columnas[j].index]:this.columnas[j].render(this.datos[i])))+'</td>';
								}
								inerhtml+='</tr>'+fin_table+'</div>';
							}
						}
						inerhtml+='</div>';
					}
					inerhtml+='</div>';
					
					if(this.frame==true)
					inerhtml='<table border="0" cellspacing="0" cellpadding="0"><tr><td width="3px" height="2xp" class="ap-frame-kul"></td><td class="ap-frame-bu" ></td><td width="3px" height="2xp" class="ap-frame-kur"></td></tr><tr><td class="ap-frame-bl"></td><td>'+inerhtml+'</td><td class="ap-frame-br"></td></tr><tr><td width="3px" height="2xp" class="ap-frame-kdl"></td><td class="ap-frame-bd"></td><td width="3px" height="2xp" class="ap-frame-kdr"></td></tr></table>';
					document.getElementById(this.render).innerHTML=inerhtml;
					for(var i=0;i<this.datos.length;i++){
						if(this.onClick!=null){
							addEvent('click','ap-tabla-tr-'+this.render+'-'+i+'',this.onClick,this.datos[i]); // onclick="" ondblclick=""'+'>';
						}
						if(this.onDoubleClick!=null){
							addEvent('dblclick','ap-tabla-tr-'+this.render+'-'+i+'',this.onDoubleClick,this.datos[i]); // onclick="" ondblclick=""'+'>';
						}
						if(this.onMouseOver==null){
							addEvent('mouseover','ap-tabla-tr-'+this.render+'-'+i+'',this.onMouseOver,this.datos[i]); // onclick="" ondblclick=""'+'>';
						}else{
							addEvent('mouseover','ap-tabla-tr-'+this.render+'-'+i+'',this.onMouseOver,['ap-tabla-tr-'+this.render+'-'+i+'',this.classOver]);
						}
						var classRow=i%2==0?this.classPar:this.classNon;
						if(this.onMouseOut==null){
							addEvent('mouseout','ap-tabla-tr-'+this.render+'-'+i+'',this.onMouseOout,this.datos[i]); // onclick="" ondblclick=""'+'>';
						}else{
							addEvent('mouseout','ap-tabla-tr-'+this.render+'-'+i+'',this.onMouseOut,['ap-tabla-tr-'+this.render+'-'+i+'',classRow]);
						}
						
					}
				}
}
