/* 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).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+'/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='admMenu'; 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+'/php/seleccionarElement.php', {varZona: varZona.nom, tipusObj: to });
}



/* ASMINISTRAR MENUS */
function eliminaSubmenu(idSub) {
		alert('elimina'+idSub);
	
}

function creaSubmenu(idSub) {
	langs=jQuery("#langs").val().split(",");
	langs.pop();
	
	qs='canal='+canal+'&sec=admMenus&id='+idSub;

	qs+='&accio=creaSubmenu';
	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: redirect });
}
	
function guardaSubmenu(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: redirect });
}

function tancaSubmenu(idSub) {
		jQuery('.formMenu').remove();
		jQuery("li.nodeMenu[@idn="+idSub+"]").Draggable(dragMenu);
	}
	
function editaSubmenu(idSub) {
	var carrega = function  (o) {
		textBtn = "Guardar els canvis";
		
		jQuery("li.nodeMenu[@idn!=0]").DraggableDestroy();
		
		jQuery('li.nodeMenu[@idn='+idSub+']').append('<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>'); 
			
	}

	jQuery('.formMenu').remove();
	jQuery.ajax({ type: "POST", url: wwwroot+'/mod/admSite/php/formMenu.php', dataType:'html', data: 'id='+idSub, success: carrega });
	return false;
}

function nouSubmenu(idPare) {
	var carrega = function  (o) {
		textBtn = "Afegir submenú";
		jQuery('#subMenu'+idPare+'>li.nodeMenu[@idn=0]').append('<div class="formMenu">'+o+'<input value="'+textBtn+'" type="button" onclick="guardaSubmenu();"> <input value="Cancelar" type="button" onclick="tancaSubmenu();"></div>'); 
			
	}

	jQuery('.formMenu').remove();
	jQuery.ajax({ type: "POST", url: wwwroot+'/mod/admSite/php/formMenu.php', dataType:'html', data: 'id=0', success: carrega });
	return false;
}




function dibuixaMenus(idpare) {
	var finish = function() {
		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>&nbsp; "+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+='</ul>\n';
			}		
			jQuery("#subMenu"+idpare).append(str);
			if (menu.tF) dibuixaMenus(menu.m);		
		});
		

		
		str='	<li class="nodeMenu" idn="0" pare="'+idpare+'" ordre="-1" style="cursor:default; background-color:transparent;">\n';
		str+='		<p><strong class="subtit">Afegir submenú a '+menu.nM+'</strong>&nbsp;</p>\n';
		str+='		<a href="#" onclick="nouSubmenu('+idpare+'); return false;">[nou]</a>\n';
		str+="	</li>\n";
		
			
		/* str='	<li class="nodeMenu" idn="0" pare="'+idpare+'" ordre="-1" style="cursor:default; background-color:transparent;">\n';
		str+='		<p><strong class="subtit">Afegir opció al submenú '+titolPare+'</strong>&nbsp;</p>\n';
		str+='		<a href="#" onclick="nouSubmenu('+idpare+'); return false;">[nou]</a>\n';
		str+="	</li>\n"; */
		jQuery("#subMenu"+idpare).append(str);
		dragMenus();
	}
	jQuery.getScript("/mod/admSite/php/jsMenu.php?m="+idpare,finish);
	//jQuery.ajax({ type: "POST", url:"/php/jsMenu.php", dataType:'html', data:"m="+idpare, success: finish });
}

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) {
																														alert(o);
																														jQuery("#subMenu"+jQuery("#id").val()).html('');
																														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_extern':
		case 'link_extern_blank':
			jQuery("#linkAmb"+id).show();
			jQuery("#linkAmb"+id+" .linkExtern").show("fast");
		break;
	} 
}
