function LayoutManager()
{	
	this.tabContenedor;
	this.contenidosContenedor;
	
	this.listaModulosContenedor;
	this.listaModulosTds = 5;
	this.listaSetsContenedor;
	this.listaSetsTds = 5;
	this.despuesDeBajarModulo;
	this.anchoListas;
	this.altoListas;
	
	this.estado = "mirando";
	this.listaModulosTitulo = "LISTADO DE MODULOS";
	this.altura;
	
	this.imagenPorDefecto = "/../explorar/img/home/default.png";
	
	this.definirContenedores = function()
	{
		if(layoutManager.estado == "mirando")
		{
			layoutManager.tabContenedorS = layoutManager.tabContenedor;
			layoutManager.contenidosContenedorS = layoutManager.contenidosContenedor;
			layoutManager.contenedorG1.style.display = "block";
			layoutManager.contenedorG2.style.display = "none";
		}
		else
		{
			layoutManager.contenidosContenedor2.innerHTML = "";
			layoutManager.tabContenedor2.innerHTML = "";
			layoutManager.contenidosContenedorS = layoutManager.contenidosContenedor2;
			layoutManager.tabContenedorS = layoutManager.tabContenedor2;
			
			layoutManager.contenedorG1.style.display = "none";
			layoutManager.contenedorG2.style.display = "block";		
			
			window.scroll(0, 0);
		}			
	}
	
	this.volverALista = function(contenedor, mensaje)
	{	
		var div = cE("div", contenedor);
		div.className = "link";	
		
		var img = cE("img", div);
		img.style.cursor = "pointer";
		img.style.position = "relative";
		img.src = "/../explorar/img/anterior.png";
		img.style.width = 8;
		img.style.height = 8;
		
		var span = cE("span", div);
		span.style.cursor = "pointer";
		span.style.position = "relative";
		span.style.marginLeft = 6;
		span.innerHTML = (mensaje) ? mensaje : "Volver a lista";
		
		var onclickFx = function()
		{
			layoutManager.estado = "mirando";
			layoutManager.contenedorG1.style.display = "block";
			layoutManager.contenedorG2.style.display = "none";	
			window.scroll(0, layoutManager.altura);
		}
		
		eh_attachEvent("onclick", div, onclickFx);	
		eh_attachEvent("onclick", img, onclickFx);	
		
		div.style.width = span.offsetWidth + 22;
	}
	
	this.construirListaSets = function(obj)
	{
		var esPlaylist = (obj.tabla == "05_playlists" || obj.tabla == "05_categorias" ) ? true : false;
//		var esCategoria = (obj.tabla == "05_categorias") ? true : false;
		
		if(layoutManager.estado == "mirandoS")
		{
			layoutManager.tabContenedor.innerHTML = "";
		}
		
		var contenedor = layoutManager.listaSetsContenedor;
		
		contenedor.innerHTML = "";
		
		var div = cE("div", contenedor);
		div.innerHTML = layoutManager.listaModulosTitulo;
		div.className = "titulo_14";
		div.style.paddingBottom = 15;
		
		if(obj.lista.length > 0)
		{		
			var tbody = crearTabla(contenedor, "100%");		
			
			for(var i=0; i<obj.lista.length; i++)
			{
				var objR = obj.lista[i];
				
				var borderTop = (i > 0) ? "1px solid #f0f0f0" : "1px solid #cccccc";
				var borderBottom = (i == obj.lista.length - 1) ? "1px solid #cccccc" : "";
				
				var tr = cE("tr", tbody);
				
				var td = cE("td", tr);
				td.style.borderTop = borderTop;
				td.style.borderBottom = borderBottom;
				td.style.paddingBottom = 6;
				td.style.paddingTop = 6;
				td.style.paddingLeft = 8;
				
				var span = cE("span", td);
				span.className = "texto_11";
				span.innerHTML = (obj.tabla == "05_playlists" || obj.tabla == "05_categorias" ) ? objR.nombre : objR.set_id;
				
				var td = cE("td", tr);
				td.style.borderTop = borderTop;
				td.style.borderBottom = borderBottom;
				
				if(layoutManager.estado == "mirandoS")
				{				
					var span = cE("span", td);
					span.style.cursor = "pointer";
					span.className = "link_10";
					span.innerHTML = "Editar";
					
					setsManager.adjuntarBajarSet(span, objR, obj.tabla);
					
					var td = cE("td", tr);
					td.style.borderTop = borderTop;
					td.style.borderBottom = borderBottom;
					
					if(objR.por_defecto != 1)
					{						
						var span = cE("span", td);
						span.style.cursor = "pointer";
						span.className = "link_10";
						span.innerHTML = "Eliminar";
					
						setsManager.adjuntarBorrarSet(span, objR, obj.tabla);
					}
				}
				else
				{
					var span = cE("span", td);
					span.style.cursor = "pointer";
					span.className = "link_10";
					span.innerHTML = "Adjuntar";
					
					setsManager.adjuntarSetFx(span, objR);			
				}
			}
		}
		else
		{
			var div = cE("div", div);
			div.innerHTML = "No hay Sets creados";
			div.className = "texto_11";
			div.style.paddingTop = 15;			
		}	
		
		layoutManager.ocultarIconoDeEspera();
	}	
	
	this.construirListaModulos = function(obj)
	{		
		if(layoutManager.estado == "editandoLista")
		{
			layoutManager.tabContenedor.innerHTML = "";
		}

		var contenedor = layoutManager.listaModulosContenedor;
		contenedor.innerHTML = "";
		
		layoutManager.anchoListas = (BrowserDetect.browser == "Explorer") ? contenedor.offsetWidth/7.5 : contenedor.offsetWidth/6.5;
		layoutManager.altoListas = layoutManager.anchoListas/1.3;
		
		var div = cE("div", contenedor);
		div.innerHTML = layoutManager.listaModulosTitulo;
		div.className = "titulo_14";
		div.style.paddingBottom = 15;
        
        this.contador = obj.lista.length;
		
        if(obj.lista.length > 0)
        {
			var numberOfTds = layoutManager.listaModulosTds;
            var rowsNeeded = Math.ceil(obj.lista.length/numberOfTds);
            var counter = obj.lista.length;
            var indexObj = 0;
            
            var tbody = crearTabla(contenedor, contenedor.offsetWidth);
        
            for(var i=0; i<rowsNeeded; i++)
            {
                var tr = cE("tr", tbody);
        
                var columnsNeeded = (counter<numberOfTds) ? counter : numberOfTds;
        
                for(var j=0; j<columnsNeeded; j++)
                {
					var objR = obj.lista[indexObj];	
					
		            var td = cE("td", tr);
					td.vAlign = "top";
					td.style.paddingTop = 12;
					
					var span = cE("span", td);
					span.className = "numero_comentario";
					span.innerHTML = indexObj + 1;
				
                    var td = cE("td", tr);
                    td.vAlign = "top";
                    td.align = "left";
                    td.style.padding = 4;
					
					layoutManager.construirModulo(objR, td);
        
                    indexObj++;
                }
                
                counter = counter - numberOfTds;
            }
        }
        else
        {
            contenedor.innerHTML = "No hay modulos disponibles";
        } 
		
		layoutManager.ocultarIconoDeEspera();
	}
	
	this.construirModulo = function(objR, contenedor)
	{
		var estaAdjuntado = true;
		var recordId = null;
		
		var tabId = objR.id + "_" + dataManager.tabla;
		
		if(layoutManager.estado == "adjuntandoM")
		{		
			var tab = menuManager.thisSubmenu.masterTabs.traer(tabId);			
			
			if(null == tab)
			{
				estaAdjuntado = false;
			}
		}
		else if(layoutManager.estado == "adjuntandoS")
		{
			var sModulo = setsManager.thisSet.modulos.traer(objR.id);
			
			if(null == sModulo)
			{
				estaAdjuntado = false;
			}
			else
			{
				recordId = sModulo.recordId;	
			}
		}

		var modulo = modulosManager.agregarModulo(tabId);
		modulo.tabla = dataManager.tabla;
		modulo.contenedor = contenedor;
		modulo.estaAdjuntado = estaAdjuntado;
		modulo.img = (objR.img) ? objR.img : "/../explorar/img/home/default.png"; 
		modulo.video = (dataManager.tabla == "02_videos") ? objR.img : null;
		modulo.musica = (dataManager.tabla == "05_musica" || dataManager.tabla == "05_playlists") ? true : null;
		modulo.nombre = (dataManager.tabla == "05_musica" || dataManager.tabla == "05_playlists") ? objR.nombre : null;
		modulo.moduloId = objR.modulo_id;
		modulo.idReal = objR.id;
		modulo.recordId = recordId;
		modulo.tituloTab = objR.titulo_tab;
		modulo.url = objR.url;
		modulo.construir();		
	} 
	
	this.dibujarHome = function(obj)
	{
		var info = obj;
		
		var homeObj = new HomeObj();
		homeObj.id = info.id;
		homeObj.titulo = info.titulo;
		homeObj.texto = info.texto;
		homeObj.img = info.img;
		
		menuManager.objeto = homeObj;
		menuManager.objeto.construir(layoutManager.contenidosContenedor);
		layoutManager.tabContenedor.innerHTML ="&nbsp;";	
		
		layoutManager.ocultarIconoDeEspera();
	}
	
	this.dibujarLike = function(obj)
	{
		var info = obj.like;
		
		layoutManager.likeContenedor.innerHTML = info;
	}
	
	this.dibujarContacto = function(obj)
	{
		var info = obj;
		
		var contactoObj = new ContactoObj();
		contactoObj.id = info.id;
		contactoObj.telefono = info.telefono;
		contactoObj.email = info.email;
		contactoObj.construir(layoutManager.contactoContenedor);
	}
	
	this.dibujarCola = function(contenedor)
	{
		contenedor.innerHTML = "";
		
		var divG = cE("div", contenedor);
		divG.style.paddingTop = 2;
		divG.align = "right";
		
		var tbody = crearTabla(divG);
		
		var tr = cE("tr", tbody);
		
		var td = cE("td", tr);

		var imgPath =  "/../explorar/img/home/default.png";
		
		var img = fotosManager.pintarImg(td, imgPath, 35, 35);
		
		var td = cE("td", tr);
		td.style.paddingLeft = 4;
		td.style.paddingRight = 15;
		
		var span = cE("span", td);
		span.className = "texto_11";
		span.innerHTML = "Desarrollado por La Distritofonica - 2012";		
	}
	
	this.escucharMusicaDe = function(contenedor, modulo, mensaje, className)
	{
		var div = cE("div", contenedor);
		div.className = className;	
		
		var img = cE("img", div);
		img.style.cursor = "pointer";
		img.style.position = "relative";
		img.style.top = 2;
		img.src = "/../explorar/img/play.png";
		img.style.width = 15;
		img.style.height = 15;
		
		var span = cE("span", div);
		span.style.cursor = "pointer";
		span.style.position = "relative";
		span.style.bottom = 2;
		span.style.marginLeft = 4;
		span.innerHTML = mensaje + modulo.playlistTitulo;
		
		var onclickFx = function()
		{
			parent.masterPlayer.vieneDeExplorar = true;
			parent.masterPlayer.categoriaSeleccionada = modulo.categoriaId;
			parent.masterPlayer.playlistSeleccionado = modulo.playlistId;
			parent.masterPlayer.cancionSeleccionada = null;
			parent.masterPlayer.playIt = true;
			parent.masterPlayer.pintarSeleccion();	
		}
	
		eh_attachEvent("onclick", div, onclickFx);
		
		div.style.width = span.offsetWidth + 22;
	}

	this.crearPopup = function()
	{
		if(BrowserDetect.browser != "Explorer")
		{	
			var div = cE("div", document.body);
			div.style.position = "fixed";
			div.innerHTML = "&nbsp;";
			div.style.top = 0;
			div.style.right = 0;
			div.style.left = 0;
			div.style.bottom = 0;
			div.style.overFlowX = "auto";
			div.style.overflowY = "scroll";
			div.style.backgroundColor = "rgba(0, 0, 0, .13)";	
			div.align = "center";
			div.vAlign = "middle";	
			this.contenedorFondo = div;
			
			var tbody = crearTabla(div);

			var tr = cE("tr", tbody);
			var td1 = cE("td", tr);
			td1.innerHTML = "&nbsp;";
			
			var td2 = cE("td", tr);
			td2.vAlign = "top";
			
			var divC = cE("div", td2);	
			divC.style.paddingLeft = 20;
			divC.style.paddingRight = 20;
			divC.className = "discoinfo_background";	
			this.contenedor = divC;
			
			var td3 = cE("td", tr);
			td3.vAlign = "top";
	
			var img = cE("img", td3);
			img.style.marginLeft = 30;
			img.src = "/../comunes/componentes/img/x4.png";
			img.style.cursor = "pointer";
			this.imgCerrar = img;
			
			var onclickFx = function()
			{
				document.body.removeChild(div);
			}
			
			eh_attachEvent("onclick", img, onclickFx);
			
			return divC;
		}
		else
		{
			alert("para editar contenidos utilice otro borwser diferente a Explorer, Explorer es una basura");	
		}
	}	
	
	this.iconoDeEsperaContenedor;
	
	this.crearIconoDeEspera = function()
	{
		var backgroundColor = (BrowserDetect.browser != "Explorer") ? "rgba(0, 0, 0, 0)" : "white";
		
		var div = cE("div", document.body);
		div.style.position = "absolute";
		div.innerHTML = "&nbsp;";
		div.style.top = 0;
		div.style.left = "50%"
		div.style.backgroundColor = backgroundColor;	
		div.align = "center";
		div.vAlign = "middle";	
		div.style.visibility = "hidden";
		div.style.filter = "alpha(opacity=90)";
		this.iconoDeEsperaContenedor = div;
		
		var tbody = crearTabla(div);

		var tr = cE("tr", tbody);
		var td = cE("td", tr);
		td.style.paddingTop = document.body.clientHeight/5;
		
		var backgroundColor2 = (BrowserDetect.browser != "Explorer") ? "rgba(0, 0, 0, .5)" : "black";
		
		var divC = cE("div", td);	
		divC.style.padding = 14;
		divC.className = "icono_espera_background";
		divC.style.backgroundColor = backgroundColor2;	
		divC.style.filter = "alpha(opacity=90)";
		
		var img = cE("img", divC);
		img.src = "/../explorar/img/negro_espera.gif";	
	}
	
	this.mostrarIconoDeEspera = function()
	{
		this.iconoDeEsperaContenedor.style.visibility = "visible";			
	}
	
	this.ocultarIconoDeEspera = function()
	{
		this.iconoDeEsperaContenedor.style.visibility = "hidden";	
	}
}

