// Funcions Reveex Site
// Isaac Roca - iroca at pragmapublicitat dot cat




/* Funcions lightbox */

function showBox(){
    $('overlay').show();
    center('box');
    return false;
}

function hideBox(){
    $('box').hide();
    $('overlay').hide();
    return false;
}

function center(element){
    try{
        element = $(element);
    }catch(e){
        return;
    }

    var my_width  = 0;
    var my_height = 0;

    if ( typeof( window.innerWidth ) == 'number' ){
        my_width  = window.innerWidth;
        my_height = window.innerHeight;
    }else if ( document.documentElement && 
             ( document.documentElement.clientWidth ||
               document.documentElement.clientHeight ) ){
        my_width  = document.documentElement.clientWidth;
        my_height = document.documentElement.clientHeight;
    }
    else if ( document.body && 
            ( document.body.clientWidth || document.body.clientHeight ) ){
        my_width  = document.body.clientWidth;
        my_height = document.body.clientHeight;
    }

    element.style.position = 'absolute';
    element.style.zIndex   = 99;

    var scrollY = 0;

    if ( document.documentElement && document.documentElement.scrollTop ){
        scrollY = document.documentElement.scrollTop;
    }else if ( document.body && document.body.scrollTop ){
        scrollY = document.body.scrollTop;
    }else if ( window.pageYOffset ){
        scrollY = window.pageYOffset;
    }else if ( window.scrollY ){
        scrollY = window.scrollY;
    }

    var elementDimensions = Element.getDimensions(element);

    var setX = ( my_width  - elementDimensions.width  ) / 2;
    var setY = ( my_height - elementDimensions.height ) / 2 + scrollY;

    setX = ( setX < 0 ) ? 0 : setX;
    setY = ( setY < 0 ) ? 0 : setY;

    element.style.left = setX + "px";
    element.style.top  = setY + "px";

    element.style.display  = 'block';
}

/* CRIDES: */
function getFamilia(id) {
	showCarregant();
	//alert(wwwroot+'/ajax');
	jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: 'canal='+canal+'&sec=escaparate&fam='+id, success: redirect });
	return false;
}

function pag(fam,pagina) {
	showCarregant();
	jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: 'canal='+canal+'&sec=escaparate&fam='+fam+'&pagina='+pagina, success: redirect });
	return false;
}

function detalles(cod,fam,pagina) {
	showCarregant();
	jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: 'canal='+canal+'&sec=detallesProducto&fam='+fam+'&pagina='+pagina+'&cod='+cod, success: redirect });
	return false;
}


/****************************/
/* iP MODUL: admSite */

FnLoad.push({ 
	sec:'administrarFamilies',
	fn: function () {
		dibuixafamilias(jQuery("#id").val());
	}
});
	
/* ASMINISTRAR FAMILIAS */
function eliminaSubfamilia(idSub) {
		if (confirm("Estas seguro que quieres continuar y eliminar esta subfamilia y todas las que contiene?")) {
			qs='canal='+canal+'&sec=administrarFamilies&id='+idSub;
		
			qs+='&accio=esborraSubfamilia';
			qs+='&id='+idSub;
		
			jQuery.ajax({ type: "POST", url: wwwroot+'/ajax', dataType:'html', data: qs, success: function(o) { 
						guardantID="inicial";
						editantID="inicial";
						redirect(o); 
						dibuixafamilias(jQuery("#id").val());
			}});
		}
}
var guardantID="inicial";
var editantID="inicial";

function creaSubfamilia(idPare) {
	if (guardantID!=0) {
		guardantID=0;
		langs=jQuery("#langs").val().split(",");
		langs.pop();
		
		qs='canal='+canal+'&sec=administrarFamilies&familiaPare='+idPare;
	
		qs+='&accio=creaSubfamilia';
		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); 
						dibuixafamilias(jQuery("#id").val());
			}});
	}
}
	
function guardaSubfamilia(idSub) {
	if (guardantID!=idSub) {
		guardantID=idSub;
		langs=jQuery("#langs").val().split(",");
		langs.pop();
		qs='canal='+canal+'&sec=administrarFamilies&id='+idSub;
		qs+='&accio=guardaSubfamilia';
		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); 
						dibuixafamilias(jQuery("#id").val());
						
			}});
	}
}

function tancaSubfamilia(idSub) {
		jQuery('#formLi').remove();
		jQuery("li.nodefamilia[@idn="+idSub+"]").Draggable(dragfamilia);
		editantID="inicial";
	}
	
function editaSubfamilia(idSub) {
	if (editantID!=idSub) {
		editantID=idSub;
		var carrega = function  (o) {
			textBtn = "Guardar els canvis";
			jQuery("li.nodefamilia[@idn!=0]").DraggableDestroy();
			jQuery('li.nodefamilia[@idn='+idSub+']').after('<li id="formLi"><div class="formfamilia">'+o+'<input class="boton" value="'+textBtn+'" type="button" onclick="guardaSubfamilia('+idSub+');"> <input class="boton" value="Eliminar" type="button" onclick="eliminaSubfamilia('+idSub+');"> <input class="boton" value="Cancelar" type="button" onclick="tancaSubfamilia('+idSub+');"></div></li>'); 
		}
		jQuery('#formLi').remove();
		jQuery.ajax({ type: "POST", url: wwwroot+'/php/formfamilia.php', dataType:'html', data: 'id='+idSub, success: carrega });
	}
	return false;
}

function nouSubfamilia(idPare) {
	if (editantID!=0) {
		editantID=0;
		var carrega = function  (o) {
			textBtn = "Afegir subfamilia";
			jQuery('#subfamilia'+idPare+'>li.nodefamilia[@idn=0]').after('<li id="formLi"><div class="formfamilia">'+o+'<input class="boton" value="'+textBtn+'" type="button" onclick="creaSubfamilia('+idPare+');"> <input class="boton" value="Cancelar" type="button" onclick="tancaSubfamilia(0);"></div></li>');	
		}
	
		jQuery('#formLi').remove();
		jQuery.ajax({ type: "POST", url: wwwroot+'/php/formfamilia.php', dataType:'html', data: 'id=0', success: carrega });
	}
	return false;
}


function dibuixafamiliasRec(idpare) {
	jQuery.each(familias,function(i,familia) {
		if (familia.mP==idpare) {
			str='<li class="nodefamilia" idn="'+familia.m+'" idin="'+i+'" pare="'+familia.mP+'" ordre="'+familia.mO+'">\n';
			str+='<p><strong class="tit">'+familia.nM+'</strong>'+familia.dM+'</p>\n';
			str+='<a href="#" onclick="editaSubfamilia('+familia.m+'); return false;">[editar]</a> \n';
			str+='</li>\n';		
			str+='<ul id="subfamilia'+familia.m+'" class="subfamilia">\n';
				str+='	<li class="nodefamilia nodefamiliaNou" idn="0" pare="'+familia.m+'" ordre="-1" style="cursor:default;">\n';
				str+='		<a href="#" onclick="nouSubfamilia('+familia.m+'); return false;">[nueva subfamilia]</a>\n';
				str+='	</li>\n';
			str+='</ul>\n';
			jQuery("#subfamilia"+idpare).append(str);
			if (familia.tF) dibuixafamiliasRec(familia.m);		
		}		
	});		
}


function dibuixafamilias(idpare) {
	jQuery("#subfamilia"+idpare).html('');
	jQuery.getScript("/php/jsfamilia.php?m="+idpare,function() {
		dibuixafamiliasRec(idpare);
		dragfamilias();	
		jQuery("#subfamilia"+idpare).prepend('<li class="nodefamilia nodefamiliaNou" idn="0" pare="'+idpare+'" ordre="-1" style="cursor:default;">\n<a href="#" onclick="nouSubfamilia('+idpare+'); return false;">[crear subfamilia nueva]</a>\n</li>\n');
	});
}

function dragfamilias(idpare) {
	jQuery(".nodefamilia").DroppableDestroy();
	jQuery(".nodefamilia").DraggableDestroy();
	
	dropfamilia = {
			accept : 'nodefamilia', 
			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")); */
						
						afamiliaPare=jQuery(this).attr("pare");
						aOrdre=jQuery(this).attr("ordre");
						defamiliaPare=jQuery(drag).attr("pare");
						deOrdre=jQuery(drag).attr("ordre");
						idfamiliaMou=jQuery(drag).attr("idn");

						if  (
								(	afamiliaPare!=defamiliaPare	)
									||
								(	aOrdre!=deOrdre  )
							) 
						{
							qs='accio=mouSubfamilia&canal='+canal+'&sec=administrarFamilies';
							qs+='&idfamiliaMou='+idfamiliaMou;
							qs+='&afamiliaPare='+afamiliaPare;
							qs+='&aOrdre='+aOrdre;
							qs+='&defamiliaPare='+defamiliaPare;
							qs+='&deOrdre='+deOrdre;
							
							//alert(qs);
							
							jQuery.ajax({ 
								type: "POST", 
								url: wwwroot+'/ajax', 
								dataType:'html', 
								data: qs, 
								success: function(o) {
									if (o!="") alert(o);
									dibuixafamilias(jQuery("#id").val());
								}
							});
							
						}
						
						/*menus[parseInt(jQuery(this).attr("idin"))].mP=
						menus[parseInt(jQuery(this).attr("idin"))].mO=
						menus[parseInt(jQuery(this).attr("idin"))].mO=*/			
			}
	}
	
	dragfamilia = {
		zIndex: 1000,
		ghosting: true,
		revert: true,
		opacity: 0.6,
		onStart: function () {
			jQuery("#subfamilia"+jQuery(this).attr("idn")+" .nodefamilia").DroppableDestroy();	
		},
		onStop: function () {
			jQuery("#subfamilia"+jQuery(this).attr("idn")+" .nodefamilia").Droppable(dropfamilia);
		}
	}
	
	jQuery("li.nodefamilia[@idn!=0]").Draggable(dragfamilia);
	
	jQuery('.nodefamilia').Droppable(dropfamilia);
}

/****************************/
/* FI -- Funcions lightbox */