
////////////////////////////////////////////////////////////////// FUNZIONI DI DEBUG
function tool_debug_asyncUrl(linko, variaPost){
	//var linko = "index.php?";
	linko +="?";
	for(var p in variaPost){
		linko += p+"="+variaPost[p]+"&";
	}
	//alert(linko);
	window.open(linko);
	//self.location.href = linko;
}

function tool_debug_obj(obj){
	var testo = "";
	for(var p in obj){testo += p+" = "+obj[p]+"\r";}
	alert(testo);
}



///////////////////////////////////////////////////////////////////////// NAVIGAZIONE

// restituisce oggetto con variabili da url passato
function tool_getUrlVaria(urlo){
	urlo = urlo +"";
	
	var obj = {};
	var varia;
	
	var variaAll = urlo.slice(urlo.indexOf('?') + 1).split('&');
	for(var i = 0; i < variaAll.length; i++){
		varia = variaAll[i].split('=');
		//alert(varia[0]+" "+varia[1]);
		obj[varia[0]] = varia[1];
	}
	return obj;
}




//////////////////////////////////////////////////////////////////// gestione di tutti i setInterval

ALL_LOOP = {};

function tool_loopStart(nomeLoop,funza, intervallo){
	var mioLoop = setInterval(funza, intervallo);
	ALL_LOOP[nomeLoop] = mioLoop;
}

function tool_loopStop(nomeLoop){
	clearTimeout(ALL_LOOP[nomeLoop]);
	delete ALL_LOOP[nomeLoop];
}

function tool_loopStopAll(){
	for(var p in ALL_LOOP){
		tool_loopStop(p);
	}
}




///////////////////////////////////////////////////////////////////////// POSIZIONI E LAYER


///////////////////////////////// costruzione layer tappo su tutta la pagina

function tool_doDark(colore, opacita, funzaClick){
	var maxZ = tool_maxZindex()+10;
	var myId = "zz_dark"+maxZ;
	var hMax = tool_findMaxHvetro();
	
	$("body").append(("<div id=\""+myId+"\"></div>"));
	var myDark = $(("#"+myId));
	
	myDark.css("background-color", colore);
	myDark.css("width", "100%");
	myDark.css("opacity", opacita);
	myDark.css("position", "absolute");
	myDark.css("left", "0px");
	myDark.css("top", "0px");
	myDark.css("z-index", maxZ);

	
	myDark.height(hMax-5);
	return myDark;
}



/////////// restituisce il massimo z-index della pagina
function tool_maxZindex(){
	var maxZ = Math.max.apply(null,$.map($('body > *'), function(e,n){
	   if($(e).css('position')=='absolute')
			return parseInt($(e).css('z-index'))||1 ;
	   })
	);
	return(maxZ);
}



// restituisce l'altezza maggiore tra l'area della finestra o il body
function tool_findMaxHvetro(){
	var hVetro = $("html").height();
	var hCorpo = $("body").height();
	if(tool_findScrolloH()==true){
		hVetro-= 25;
		hCorpo-= 25;
	}
	
	if(hCorpo>hVetro){
		return hCorpo;
	}else{
		return hVetro;
	}
}


// trova se c'è lo scrollo orizzontale
function tool_findScrolloH() {
	var docW = $(document).width();
	var scrollo = $(window).width() + $(window).scrollLeft();
	return (docW != scrollo);
}



// restituisce X e Y per centrare nella finestra un oggetto che ha W e H passate
function tool_centroVetroXY(W,H) {
	var endX = (($(window).width()-W)/2)+$(window).scrollLeft();
	var endY = (($(window).height()-H)/2)+$(window).scrollTop();
	return {X:endX,Y:endY};
}












