//fpv=11
function fp_areaemergente_manager(cod,mainman){
	this.cod=cod;
	this.mainman=mainman;
	this.loaded=false;
	this.loading=false;
	this.datatoshow=new Object;
	this.ajaxmulticontloader=new fp_ajax_multicont_loader(this);
	
	this.datacontenedores=new Object;
	this.show_cont=function(id,pl,asmain){
		if(!id){
			return false;	
		}
		this.prepare_req();
		this.ajaxmulticontloader.addreq_cont(id,pl,asmain);
		this.on_load_mode="showcont";
		this.on_load_showcont_id=id;
		this.send_req();	
	}
	this.do_show_cont=function(id){
		if(!id){
			return false;	
		}
		var titulo=this.ajaxmulticontloader.get_elem_html(id,"fpcont","titulo");
		var cont=this.ajaxmulticontloader.get_elem_html(id,"fpcont","cont");
		if(cont){
			this.set_datatoshow_titulo_cont(cont,titulo);
			this.do_show_data();
			this.show_area();
		}
	}
	this.show_msg_nl2br=function(cont,titulo){
		var _c="";
		if(typeof(cont)=="string"){
			var _a=cont.split("\n");	
			
			var _i=0;
			for (_i=0;_i<_a.length;_i++){
				_c=_c+"<div>"+_a[_i]+"</div>";	
			}
		}
		this.show_msg(_c,titulo);
	}
	this.show_msg=function(cont,titulo){
		this.set_datatoshow_titulo_cont(cont,titulo);
		this.show_data();
	}
	this.show_area=function(){
		if(!this.get_areaemergente_div()){
			return false;
		}
		this.areaemergente_div.style.display="";
	}
	this.hide_area=function(){
		if(!this.get_areaemergente_div()){
			return false;
		}
		this.areaemergente_div.style.display="none";
	}
	this.unset_datatoshow=function(){
		this.datatoshow=new Object;	
		this.hide_area();
		this.do_show_data();
	}
	this.prepare_req=function(){
		if(this.ajaxmulticontloader.loading){
			this.ajaxmulticontloader.unset_all();	
		}
	}
	this.send_req=function(){
		if(!this.loaded){
			this.ajaxmulticontloader.addreq_pl(this.cod);
			this.loading=true;	
		}else{
			this.unset_datatoshow();	
		}
		
		this.ajaxmulticontloader.send_req();
	}

	this.show_data=function(){
		if(this.loaded){
			this.do_show_data();
			this.show_area();
			return true;
		}
		this.on_load_mode="showdata";
		if(!this.loading){
			this.prepare_req();
			this.send_req();	
		}
	}
	this.on_ajax_multicont_sent=function(_ajaxmulticont){
		this.mainman.show_loader_screen();	
	}
	this.on_ajax_multicont_loaded=function(_ajaxmulticont){
		this.debug_add(this.ajaxmulticontloader.responseText);
		if(!this.loaded){
			var _html=this.ajaxmulticontloader.get_elem_html(this.cod,"pls");
			if(_html){
				this.set_pl_html(_html);	
			}
		}
		if(this.loaded){
			if(this.on_load_mode=="showdata"){
				this.do_show_data();
				this.show_area();
			}else if(this.on_load_mode=="showcont"){
				this.do_show_cont(this.on_load_showcont_id);	
			}

			
		}
		
		this.mainman.hide_loader_screen();	
	}
	this.get_datacontenedor=function(cod){
		if(this.datacontenedores[cod]){
			return 	this.datacontenedores[cod];
		}
		var _areadiv=this.get_areaemergente_div();
		if(!_areadiv){
			return false;	
		}
		var _div=mw_dom_get_childdeep_by_idandtagname(_areadiv,"areaemergente_"+cod,"DIV");
		if(_div){
			this.datacontenedores[cod]=	_div;
			return 	this.datacontenedores[cod];
		}
	}
	this.get_areaemergente_div=function(){
		if(this.areaemergente_div){
			return 	this.areaemergente_div;
		}
		if(!this.get_plcontenedor()){
			return false;	
		}
		var _div=mw_dom_get_child_by_id(this.plcontenedor,"_fp_pl_prot_"+this.cod+"_ae");
		
		if(_div){
			this.areaemergente_div=_div;
			return 	this.areaemergente_div;
		}
	}
	this.set_pl_html=function(_html){
		if(!this.get_plcontenedor()){
			return false;	
		}
		this.plcontenedor.innerHTML=_html;
		this.get_datacontenedor("titulo");
		this.get_datacontenedor("mensaje");
		this.loaded=true;
		this.loading=false;	
		return true;
		
	}
	this.set_datatoshow=function(data){
		this.datatoshow=data;
	}
	this.set_datatoshow_titulo_cont=function(cont,titulo){
		this.unset_datatoshow();
		this.datatoshow.titulo=titulo;	
		this.datatoshow.mensaje=cont;
	}
	this.hide_area=function(){
		if(!this.get_areaemergente_div()){
			return false;
		}
		this.areaemergente_div.style.display="";
	}
	this.do_show_data=function(){
		for (var e in this.datacontenedores){
			this.datacontenedores[e].innerHTML="";
			if(typeof(	this.datatoshow)=="object"){
				if(	this.datatoshow[e]){
						this.datacontenedores[e].innerHTML=this.datatoshow[e];
				}
			}
		}
	}
	this.debug_add=function(msg){
		return false;
		if(!this.get_textareadebug()){
			return false;	
		}
		this.textareadebug.value=msg+"\n-------------\n"+this.textareadebug.value;
	}
	this.get_textareadebug=function(){
		if(this.textareadebug){
			
			return 	this.textareadebug;
		}
		if(!this.get_contenedor()){
			return false;	
		}
		this.textareadebug=document.createElement("textarea");
		this.textareadebug.cols=180;
		this.textareadebug.rows=10;
		this.textareadebug.value=this.cod+"\n";
		this.contenedor.appendChild(this.textareadebug);
		return 	this.textareadebug;
		
	}
	this.get_contenedor=function(){
		if(this.contenedor){
			return 	this.contenedor;
		}
		var maincontenedor=this.mainman.get_areas_div();
		if(!maincontenedor){
			
			return false;	
		}
		this.contenedor=document.createElement("div");
		maincontenedor.appendChild(this.contenedor);
		return 	this.contenedor;
	}
	this.get_plcontenedor=function(){
		if(this.plcontenedor){
			return 	this.plcontenedor;
		}
		if(!this.get_contenedor()){
			return false;	
		}
		this.plcontenedor=document.createElement("div");
		this.contenedor.appendChild(this.plcontenedor);
		return 	this.plcontenedor;
	}

		
}
function fp_areaemergente_mainmanager(){
	this.managers=new Object;
	this.loader_screen_cfg=new Object;
	this.pldef="areaemergentebk";
	this.loader_screen_cfg.zIndex=999999999999;
	this.loader_screen_cfg.backgroundImage=fp_url_get()+"img/areaemergentefnd.png";
	this.loader_screen_cfg.loaderimg=fp_url_get()+"img/loader.gif";
	this.get_areas_div=function(){
		if(this.areas_div){
			return 	this.areas_div;
		}
		this.areas_div=document.createElement("div");
		document.body.appendChild(this.areas_div);
		return 	this.areas_div;
		
	}
	this.show_loader_screen=function(){
		if(this.get_loader_screen()){
			this.loader_screen.style.display="";	
		}
	}
	this.hide_loader_screen=function(){
		if(this.get_loader_screen()){
			this.loader_screen.style.display="none";	
		}
	}
	this.get_loader_screen=function(){
		if(this.loader_screen){
			return 	this.loader_screen;
		}
		var _div=document.createElement("div");
		_div.className="fp_system_areaemergente";
		
		_div.style.zIndex=this.loader_screen_cfg.zIndex;
		if(this.loader_screen_cfg.backgroundImage){
			_div.style.backgroundImage="url("+this.loader_screen_cfg.backgroundImage+")";	
		}
		var _tbl=document.createElement("table");
		_tbl.className="fp_system_areaemergente";
		_tbl.cellpadding=1;
		
		_tbl.border=1;
		_tbl.cellspacing=1;
		var _tr=document.createElement("tr");
		var _td=document.createElement("td");
		_td.align="center";
		_td.valign="middle";
		_td.style.verticalAlign="middle";
		if(this.loader_screen_cfg.loaderimg){
			_td.innerHTML="<div align='center'><img src='"+this.loader_screen_cfg.loaderimg+"'></div>";
		}else{
			_td.innerHTML=fp_ajax_loader;
		}
		_div.appendChild(_tbl);
		_tbl.appendChild(_tr);
		_tr.appendChild(_td);
		this.loader_screen=_div;
		this.loader_screen.style.display="none";	
		document.body.appendChild(this.loader_screen);
		return 	this.loader_screen;
		
	}
	this.get_manager=function(cod){
		if(!cod){
			cod=this.pldef;
		}
		if(!cod){
			return false;	
		}
		if(this.managers[cod]){
			return this.managers[cod];
		}else{
			this.managers[cod]=new fp_areaemergente_manager(cod,this);
			return this.managers[cod];
		}
	}
}
var __fp__fp_areaemergente_mainmanager=new fp_areaemergente_mainmanager();
function fp_fp_areaemergente_get_manager(cod){
	return 	__fp__fp_areaemergente_mainmanager.get_manager(cod);
}
function fp_areaemergente_man_show_msg(cont,titulo,areacod){
	var _man=	fp_fp_areaemergente_get_manager(areacod);
	if(_man){
		_man.show_msg(cont,titulo);
	}
}
function fp_areaemergente_man_show_cont(id,areacod,pl,asmain){
	var _man=	fp_fp_areaemergente_get_manager(areacod);
	if(_man){
		_man.show_cont(id,pl,asmain);
	}
}
function fp_areaemergente_man_show_msg_nl2br(cont,titulo,areacod){
	var _man=	fp_fp_areaemergente_get_manager(areacod);
	if(_man){
		_man.show_msg_nl2br(cont,titulo);
	}
}

//////////////////
function fp_areaemergente_setcontfromdivelem_show(idarea,contcod){
	return fp_areaemergente_setcontfromdivelem_showbyobj(fp_get_element_by_id(idarea),contcod);
}
function fp_areaemergente_setcontfromdivelem_showbyobj(areaobj,contcod){
	if(!areaobj){
		return false;	
	}
	var divelem;
	var contelem;
	var contelemch;
	var idchelem;
	var contenedor;
	if(divelem=mw_dom_get_child_by_id(areaobj,"_areaemergente_elemcontinfodiv")){
		if (contelem=mw_dom_get_child_by_id(divelem,contcod)){	
			if (contelemch=contelem.childNodes){
				for (var i=0;i<contelemch.length;i++){
					idchelem=contelemch[i].id;
					if(contenedor=mw_dom_get_childdeep_by_idandtagname(areaobj,"areaemergente_"+idchelem,"DIV")){
						contenedor.innerHTML=contelemch[i].innerHTML;
					}
				}
				
			}
		}
	}
	areaobj.style.display="";
}
function fp_areaemergente_setcont_show_byid(idarea,conthtml,contenedorid){
	return fp_areaemergente_setcont_show_byobj(fp_get_element_by_id(idarea),conthtml,contenedorid);
}
function fp_areaemergente_setcont_show_byobj(areaobj,conthtml,contenedorid){
	if(!areaobj){
		return false;	
	}
	if (!contenedorid){
		contenedorid="areaemergente_mensaje";	
	}
	var contenedor;
	if(contenedor=mw_dom_get_childdeep_by_idandtagname(areaobj,contenedorid,"div")){
		contenedor.innerHTML=conthtml;
		areaobj.style.display="";
	}
}
function fp_areaemergente_show_fpcont(idarea,idcont){
	return fp_areaemergente_show_fpcont_byobj(fp_get_element_by_id(idarea),idcont);
}
function fp_areaemergente_show_fpcont_byobj(areaobj,idcont){
	if(!areaobj){
		return false;	
	}
	var url="/index.php?fp_cont="+idcont+"&fp_indepcont=true";
	var contdiv=mw_dom_get_childdeep_by_idandtagname(areaobj,"areaemergente_mensaje","div");
	if (contdiv!=null){
		fp_ajax_cargaURL_onelem(url,contdiv,'cont');
	}
	var contdivtit=mw_dom_get_childdeep_by_idandtagname(areaobj,"areaemergente_titulo","div");
	if (contdivtit!=null){
		var urltitulo=fp_url_addparam(url,'fp_indepcont','titulo');
		fp_ajax_cargaURL_onelem(urltitulo,contdivtit,'cont');
	}
	areaobj.style.display="";
}

