/* iP MODUL: admSite */

FnLoad.push({ 
	sec:'admSeccions',
	fn: function () {
		jQuery.getScript("/mod/admSite/php/jsSeccio.php?s="+jQuery("#id").val());
	}
});

FnLoad.push({ 
	sec:'admCanals',
	fn: function () {
		jQuery.getScript("/mod/admSite/php/jsCanal.php?c="+jQuery("#id").val());
	}
});

FnLoad.push({ 
	sec:'admMenus',
	fn: function () {
		dibuixaMenus(jQuery("#id").val());
	}
});
	

// Administrar zones

var ElemZona = function (tipus,idobj,nomTipus,nomElem) {
	this.tipus = tipus;
	this.idobj = idobj;
	this.nomTipus = nomTipus;
	this.nomElem = nomElem;
};

var Zona = function (nom) {
	this.e = new Array();
	this.nom = nom;
	dibuixaZona(this);
};




function dibuixaZona(zona) {
	var strHTML='';
	var valor='';
	for(i=0;i<zona.e.length;i++) {
		strHTML+='<div class="element">';
		strHTML+='	<p class="tipus">'+zona.e[i].nomTipus;
		strHTML+='	<span class="opcions">';
		strHTML+='		<img src="" alt="elim." onclick="elimElem('+zona.nom+','+i+');" />';
		
		if (i>0) strHTML+='		<img src="" alt="up" onclick="ordElem('+zona.nom+','+i+',-1);" />';
		
		if (i<zona.e.length-1)  strHTML+='		<img src="" alt="down" onclick="ordElem('+zona.nom+','+i+',1);" />';
		
		strHTML+='	</span></p>';
		strHTML+='	<p class="idobj">'+zona.e[i].nomElem+' [<span class="editar" onclick="editElem('+zona.e[i].tipus+','+zona.e[i].idobj+');">editar</span>]</p>';
		strHTML+='</div>';
		valor+=zona.e[i].tipus+"-"+zona.e[i].idobj+",";
	}
	jQuery("#"+zona.nom+"Zona").html('<h4>Elements de la zona '+zona.nom+'</h4>'+strHTML+'<div class="afegirElem" onclick="addElem('+zona.nom+');">Afegir nou element &raquo;</div>');
	jQuery("#"+zona.nom+"c").val(valor.slice(0,-1));

	
}

var varZona=null;
function addElem(zona) {
		if (varZona) {
			jQuery("#"+varZona.nom+"Zona .addNouElement").remove();
			jQuery("#"+varZona.nom+"Zona .afegirElem").show("fast");
		}

		var desplega = function (o) {
				jQuery("#"+zona.nom+"Zona .afegirElem").before('<div class="addNouElement"></div>');
				jQuery("#"+zona.nom+"Zona .addNouElement").html(o);
				jQuery("#"+zona.nom+"Zona .addNouElement").show("fast");
		};
		
		jQuery("#"+zona.nom+"Zona .afegirElem").hide("fast");
	
		varZona=zona;
		
		jQuery.ajax({ type: "POST", url: wwwroot+'/mod/admSite/php/seleccionarElement.php', dataType:'html', data: 'varZona='+zona.nom+'&tipusObj=0', success: desplega });
		return false;
}

function editElem(tipus,idobj) {
	if (confirm("Els canvis realitzats al formulari actual no es guardaran. Esteu segurs que voleu continuar i editar aquest element?")) {
		switch(tipus) {
			case 1: sec='admPagDinamica'; break;
			case 2: sec='admPagEstatica'; break;
			case 3: sec='admPagDinamicaBd'; break;
			case 4: sec='admMenus'; break;
		}
		showCarregant();
		jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: 'canal='+canal+'&sec='+sec+'&id='+idobj, success: redirect });
		return false;
	}
}

function elimElem(zona,posicio) {
	zona.e.splice(posicio,1);
	dibuixaZona(zona);
}

function ordElem(zona,posicio,direccio) {
	//alert(zona.e[posicio].nomElem	);
	aux=new ElemZona(zona.e[posicio].tipus,zona.e[posicio].idobj,zona.e[posicio].nomTipus,zona.e[posicio].nomElem);
	
	
	zona.e.splice(posicio,1);
	zona.e.splice(posicio+direccio,0,aux);
	

	dibuixaZona(zona);
}

function afegirElem(zona,e) {
	if (e==null) {
		idObj=jQuery("#idObj").get()[0];
		tipusObj=jQuery("#tipusObj").get()[0];
		zona.e.push(new ElemZona(jQuery(tipusObj).val(), 
							   jQuery(idObj).val(), 
							   jQuery(tipusObj[tipusObj.selectedIndex]).text(), 
							   jQuery(idObj[idObj.selectedIndex]).text()
							   //idObj.text() 
							   ));
	} else {
		zona.e.push(new ElemZona(e.tipus, e.idobj, e.nomTipus, e.nomElem));
	}
	dibuixaZona(zona);
}


function actTipusObj (to) {
	jQuery("#"+varZona.nom+"Zona .addNouElement").load(wwwroot+'/mod/admSite/php/seleccionarElement.php', {varZona: varZona.nom, tipusObj: to });
}



/* ASMINISTRAR MENUS */
function eliminaSubmenu(idSub) {
		if (confirm("Esteu segurs que voleu continuar i eliminar aquest submenú i tots els que conté?")) {
			qs='canal='+canal+'&sec=admMenus&id='+idSub;
		
			qs+='&accio=esborraSubmenu';
			qs+='&id='+idSub;
		
			jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: qs, success: function(o) { 
						guardantID="inicial";
						editantID="inicial";
						redirect(o); 
						dibuixaMenus(jQuery("#id").val());
			}});
		}
}
var guardantID="inicial";
var editantID="inicial";

function creaSubmenu(idPare) {
	if (guardantID!=0) {
		guardantID=0;
		langs=jQuery("#langs").val().split(",");
		langs.pop();
		
		qs='canal='+canal+'&sec=admMenus&menuPare='+idPare;
	
		qs+='&accio=creaSubmenu';
		qs+='&public='+jQuery("#public0").val();
		qs+='&tipus='+jQuery("#tipus0").val();
		qs+='&linkinfo='+jQuery("#linkinfo0").val();
		
		for(i=0;i<langs.length;i++) {
			qs+='&atitle_'+langs[i]+"="+jQuery("#atitle0_"+langs[i]).val();
			qs+='&atext_'+langs[i]+"="+jQuery("#atext0_"+langs[i]).val();
		}	
	
		jQuery.ajax({ 
			type: "POST", 
			url: wwwroot+'/ajax', 
			dataType:'html', 
			data: qs, 
			success: function(o) { 
						guardantID="inicial";
						editantID="inicial";
						redirect(o); 
						dibuixaMenus(jQuery("#id").val());
			}});
	}
}
	
function guardaSubmenu(idSub) {
	if (guardantID!=idSub) {
		guardantID=idSub;
		langs=jQuery("#langs").val().split(",");
		langs.pop();
		
		qs='canal='+canal+'&sec=admMenus&id='+idSub;
	
		qs+='&accio=guardaSubmenu';
		qs+='&public='+jQuery("#public"+idSub).val();
		qs+='&tipus='+jQuery("#tipus"+idSub).val();
		qs+='&linkinfo='+jQuery("#linkinfo"+idSub).val();
		
		for(i=0;i<langs.length;i++) {
			qs+='&atitle_'+langs[i]+"="+jQuery("#atitle"+idSub+"_"+langs[i]).val();
			qs+='&atext_'+langs[i]+"="+jQuery("#atext"+idSub+"_"+langs[i]).val();
		}	
	
		jQuery.ajax({ 
			type: "POST", 
			url: wwwroot+'/ajax', 
			dataType:'html', 
			data: qs, 
			success: function(o) { 
						guardantID="inicial";
						editantID="inicial";
						redirect(o); 
						dibuixaMenus(jQuery("#id").val());
						
			}});
	}
}




function tancaSubmenu(idSub) {
		jQuery('#formLi').remove();
		jQuery("li.nodeMenu[@idn="+idSub+"]").Draggable(dragMenu);
		editantID="inicial";
	}
	
function editaSubmenu(idSub) {
	if (editantID!=idSub) {
		editantID=idSub;
		var carrega = function  (o) {
			textBtn = "Guardar els canvis";
			
			jQuery("li.nodeMenu[@idn!=0]").DraggableDestroy();
			
			jQuery('li.nodeMenu[@idn='+idSub+']').after('<li id="formLi"><div class="formMenu">'+o+'<input value="'+textBtn+'" type="button" onclick="guardaSubmenu('+idSub+');"> <input value="Eliminar" type="button" onclick="eliminaSubmenu('+idSub+');"> <input value="Cancelar" type="button" onclick="tancaSubmenu('+idSub+');"></div></li>'); 
				
		}
	
		jQuery('#formLi').remove();
		jQuery.ajax({ type: "POST", url: wwwroot+'/mod/admSite/php/formMenu.php', dataType:'html', data: 'id='+idSub, success: carrega });
	}
	return false;
}

function nouSubmenu(idPare) {
	if (editantID!=0) {
		editantID=0;
		var carrega = function  (o) {
			textBtn = "Afegir submenú";
			jQuery('#subMenu'+idPare+'>li.nodeMenu[@idn=0]').after('<li id="formLi"><div class="formMenu">'+o+'<input value="'+textBtn+'" type="button" onclick="creaSubmenu('+idPare+');"> <input value="Cancelar" type="button" onclick="tancaSubmenu(0);"></div></li>');	
		}
	
		jQuery('#formLi').remove();
		jQuery.ajax({ type: "POST", url: wwwroot+'/mod/admSite/php/formMenu.php', dataType:'html', data: 'id=0', success: carrega });
	}
	return false;
}


function dibuixaMenusRec(idpare) {
	jQuery.each(menus,function(i,menu) {
		if (menu.mP==idpare) {
			str='<li class="nodeMenu" idn="'+menu.m+'" idin="'+i+'" pare="'+menu.mP+'" ordre="'+menu.mO+'">\n';
			str+='<p><strong class="tit">'+menu.nM+'</strong>'+menu.dM+'</p>\n';
			str+='<a href="#" onclick="editaSubmenu('+menu.m+'); return false;">[editar]</a> \n';
			str+='</li>\n';		
			str+='<ul id="subMenu'+menu.m+'" class="subMenu">\n';
				str+='	<li class="nodeMenu nodeMenuNou" idn="0" pare="'+menu.m+'" ordre="-1" style="cursor:default;">\n';
				str+='		<a href="#" onclick="nouSubmenu('+menu.m+'); return false;">[nou submenú]</a>\n';
				str+='	</li>\n';
			str+='</ul>\n';
			jQuery("#subMenu"+idpare).append(str);
			if (menu.tF) dibuixaMenusRec(menu.m);		
		}		
	});		
}


function dibuixaMenus(idpare) {
	jQuery("#subMenu"+idpare).html('');
	jQuery.getScript("/mod/admSite/php/jsMenu.php?m="+idpare,function() {
		dibuixaMenusRec(idpare);
		dragMenus();	
		jQuery("#subMenu"+idpare).prepend('<li class="nodeMenu nodeMenuNou" idn="0" pare="'+idpare+'" ordre="-1" style="cursor:default;">\n<a href="#" onclick="nouSubmenu('+idpare+'); return false;">[crear submenú nou]</a>\n</li>\n');
	});
}

function dragMenus(idpare) {
	jQuery(".nodeMenu").DroppableDestroy();
	jQuery(".nodeMenu").DraggableDestroy();
	
	dropMenu = {
			accept : 'nodeMenu', 
			hoverclass: 'dropHover', 
			tolerance: 'pointer',
			onDrop:	function (drag) {
						
						/* alert('pare='+jQuery(this).attr("pare")+'ordre='+jQuery(this).attr("ordre"));
						alert('pare='+jQuery(drag).attr("pare")+'ordre='+jQuery(drag).attr("ordre")); */
						
						aMenuPare=jQuery(this).attr("pare");
						aOrdre=jQuery(this).attr("ordre");
						deMenuPare=jQuery(drag).attr("pare");
						deOrdre=jQuery(drag).attr("ordre");
						idMenuMou=jQuery(drag).attr("idn");

						if  (
								(	aMenuPare!=deMenuPare	)
									||
								(	aOrdre!=deOrdre  )
							) 
						{
							qs='accio=mouSubmenu&canal='+canal+'&sec=admMenus';
							qs+='&idMenuMou='+idMenuMou;
							qs+='&aMenuPare='+aMenuPare;
							qs+='&aOrdre='+aOrdre;
							qs+='&deMenuPare='+deMenuPare;
							qs+='&deOrdre='+deOrdre;
							
							//alert(qs);
							
							jQuery.ajax({ 
								type: "POST", 
								url: wwwroot+'/ajax', 
								dataType:'html', 
								data: qs, 
								success: function(o) {
									if (o!="") alert(o);
									dibuixaMenus(jQuery("#id").val());
								}
							});
							
						}
						
						/*menus[parseInt(jQuery(this).attr("idin"))].mP=
						menus[parseInt(jQuery(this).attr("idin"))].mO=
						menus[parseInt(jQuery(this).attr("idin"))].mO=*/			
			}
	}
	
	dragMenu = {
		zIndex: 1000,
		ghosting: true,
		revert: true,
		opacity: 0.6,
		onStart: function () {
			jQuery("#subMenu"+jQuery(this).attr("idn")+" .nodeMenu").DroppableDestroy();	
		},
		onStop: function () {
			jQuery("#subMenu"+jQuery(this).attr("idn")+" .nodeMenu").Droppable(dropMenu);
		}
	}
	
	jQuery("li.nodeMenu[@idn!=0]").Draggable(dragMenu);
	
	jQuery('.nodeMenu').Droppable(dropMenu);
}

function actTipusLink (id,tipus) {
	jQuery("#linkAmb"+id+" div").hide();
	switch(tipus) {
		case 'node_buit':
			jQuery("#linkAmb"+id).hide();
		break;
		case 'link_intern_ajax':
			jQuery("#linkAmb"+id).show();
			jQuery("#linkAmb"+id+" .linkInternAjax").show("fast");
		break;
		case 'link_intern':
			jQuery("#linkAmb"+id).show();
			jQuery("#linkAmb"+id+" .linkIntern").show("fast");
		break;
		case 'link_familia':
			jQuery("#linkAmb"+id).show();
			jQuery("#linkAmb"+id+" .linkFamilia").show("fast");
		break;
		case 'link_extern':
		case 'link_extern_blank':
			jQuery("#linkAmb"+id).show();
			jQuery("#linkAmb"+id+" .linkExtern").show("fast");
		break;
	} 
}
