function makeList(src,dst)
{

sep="&sep;";
dst.value="";

if (!isDefined(src.value))
        for (i=0;i<src.length;i++)
                dst.value=dst.value+sep+src[i].value;
else
                dst.value=src.value;

}

function my_escape(str)
{
ret=escape(str);
ret=ret.replace(/\+/gi,"%2B");
ret=ret.replace(/\&/gi,"%26");

return ret;
}

function comma(name) {
  return document.formIntervista[name].value=document.formIntervista[name].value.replace(/\./gi, ",");
}//end function

function isalpha(n) {
  var nn=""+n;
  // Elimino segni di interpunzione o negativi, che sono ammessi
  nn = nn.replace(/\./gi, "");
  nn = nn.replace(/\,/gi, "");
  nn = nn.replace(/\-/gi, "");
  return ((nn.search(/[^0-9]/gi)!=-1) && nn.length>0);
}//endfunction


function undot(vv) {
  var vx=""+vv;
  if (typeof vv=='string')
    return (vx.replace(/\./gi, "").replace(/\,/gi, "."));
  else {
    if (isNaN(vv)) vv=0;
    return vv;
  }//end else
}//end function

function dot(name) {
  negative = "";
  decimal = "";
  var v=""+undot(name);
  // elimino l'eventuale segno negativo
  if (v.charAt(0) == "-") {
    v = v.substring(1, v.length);
    negative="-";
  }//end if
  // considero solo la parte intera
  decpos = v.search(/\./gi);
  if (decpos != -1) {
    decimal = ","+v.substring(decpos+1, v.length);
    v = v.substring(0, decpos);
    //alert("Posizione virgola: " + decpos + "\nParte intera: " + v + "\nParte decimale: "+decimal);
  }//end if
  var l=v.length-1;
  var vd=""
  var vd2=""

  for (i=0,d=1;i<=l;i++,d++) {
    if (d>3) {vd=vd+".";d=1;}
    vd=vd+v.substr(l-i,1);
  }//end for

  for (i=vd.length;i>=0;i--)
    vd2=vd2+vd.substr(i,1);
  return negative+vd2+decimal;
}//end function


//Per caricare qualsiasi sezione del sito
function gotoSection(pagina)
{
  offset=0;
  page="default.cfm?page="+arguments[0];
  
  if (arguments.length>=2 && arguments[1]=="WAIT")
    {
      offset=offset+1;
      page=page+"&wait=1";
    }
  
  //Controlla se è stato richiesto un form particolare
  if (arguments.length >=(3+offset)){
    sFormName=(arguments[2+offset]!="" ? arguments[2+offset] : 0);
    document.forms[sFormName].method=arguments[1+offset];
    document.forms[sFormName].action=page;
    document.forms[sFormName].submit();
    return;
  }
  
  // Nessun nome di form specificato
  if (arguments.length==(1+offset) || arguments[1+offset]=="GET")
    location.href=page;
  else{
    document.forms[0].method="POST";
    document.forms[0].action=page;
    document.forms[0].submit();
    }
}

//--------------------------------------
// checkField()
//--------------------------------------
// Controlla che il campo non sia vuoto
function checkField(oField,sMessage,bSetFocus){
	var regexp = /^ *$/

	if(regexp.test(oField.value)){
		if (!regexp.test(sMessage)){
			alert(sMessage);
			if(bSetFocus){
				oField.focus();
			}
		}
		return 0;
	}

	return 1;
}

//--------------------------------------
// checkMail()
//--------------------------------------
// Controlla la correttezza sintattica
// della mail
function checkMail(oField){
	var nome,dominio2,dominio1;
	var sValue=oField.value;

	rxSplitMail = /^(.+)@(.+)\.(.+)$/;

	//Controlla la struttura del campo email
	if(!rxSplitMail.test(sValue)){
		return false
	}
	nome			= sValue.replace(rxSplitMail,"$1");
	dominio2	= sValue.replace(rxSplitMail,"$2");
	dominio1	= sValue.replace(rxSplitMail,"$3");

	rxChNonPermessi=/[àèéìòù\s@]+/;

	//---------------------------
	//Dominio di primo livello
	//---------------------------
	if(dominio1.length<2 || rxChNonPermessi.test(dominio1)){
		return false;
	}

	//---------------------------
	//Dominio di secondo livello
	//---------------------------
	if(dominio2.length<2 || rxChNonPermessi.test(dominio2)){
		return false;
	}

	//---------------------------
	//Nome
	//---------------------------
	if(nome.length<2 || rxChNonPermessi.test(nome)){
		return false;
	}

	// Non esistono errori
	return true;
}// end function



function ChkPIva(PIva)
	{
	Ris=false;
	PIva=" "+PIva;
	Chr="";
	ChkP=0;
	ChkD=0;
	TotChk=0;
	Err=0;
	for (L=1; L<=10; L++)
		{
		Chr=PIva.substring(L,L+1);
		if ((Err>0)||(isNaN(parseInt(Chr))))
			{
			Err+=1;
			}
		else
			{
			if (Math.floor(L/2)==(L/2))
				{Chr=Chr*2;
				 if (Chr>=10)
					{
					Chr=""+Chr;
					Chr=((Chr.substring(0,1)*1)+(Chr.substring(1,2)*1))*1;
					}
				 ChkP+=Chr*1;
				}
			else
				{
				Chr=Chr*1;
				ChkD+=Chr*1;
				}
			}
		}
	if (Err>0)
		{
		Ris=false;
		}
	else
		{
		TotChk=ChkP+ChkD;
		TotChk=TotChk+"";
		TotChk=(TotChk.substring(1,2))*1;
		if (TotChk>0)
			{
			TotChk=10-TotChk;
			}
		TotChk=TotChk+"";
		if (TotChk===PIva.substring(11,12))
			{
			Ris=true;
			}
			else
			{
			Ris=false;
			}
		}
return Ris;

}



function trim(myString)
{
myString=myString.replace( /^\s*(\.*)/ , '$1') ;
myString=myString.replace( /(\.*)\s*$/ , '$1') ;
return (myString)
}





/* -----------------------------------------------------------------------------
 * Torna un valore numerico valido (eventualmente decimale e negativo) data una
 * stringa di testo. Se la stringa non rappresenta un numero valido il valore di
 * ritorno sarà 0.
 *
 * @param numstr: stringa che rappresenta un numero;
 * @return:       valore numerico eventualmente decimale e negativo;
 * ----------------------------------------------------------------------------- */
function validateReal(numstr) {
  var retstr = "";
  var negative="";
  if (numstr.length == 0) {
    retstr = "0";
  }//end if
  else {
    // controllo se il numero dovrà essere negativo
    negative = numstr.charAt(0) == "-" ? "-" : "";
    // sostituisco i punti con il nulla
    retstr = numstr.replace(/\./gi, "");
    // elimino caratteri estranei
    retstr = retstr.replace(/[^0-9.,^,.]/gi, "");
    // cerco la prima virgola
    var dotpos = retstr.search(/,/gi);
    switch (dotpos) {
      case -1:
        // non ci sono virgole -> non faccio nulla
        // mi serve specificare questo caso
        // altrimenti finirebbe nel default
        break;
      case 0:
        // la virgola è all'inizio -> aggiungo lo 0 davanti ed elimino altre virgole
        retstr = "0."+retstr.replace(/,/gi,"");
        break;
      default:
        // la virgola è in mezzo -> elimino le altre virgole
        var substr1 = retstr.substr(0, dotpos);
        var substr2 = (retstr.substring(dotpos+1, retstr.length)).replace(/,/gi,"");
        retstr = substr1+'.'+substr2;

    }//end switch
  }//end else
  var retval = parseFloat(negative+retstr,10);
  if(!isNaN(retval)) return retval;
  else return 0;
}//end function


function getExt(filename)
{
ext=filename.substr(filename.length-3,3);
return (ext);
}

function isPictureFile(filename)
{
ext=getExt(filename).toUpperCase();
return (ext=="JPG" || ext=="GIF");
}


function IEVersion()
{
agent=navigator.userAgent;
ver=agent.replace(/(.*)MSIE (\d*.\d*);(.*)/gi,"$2");
return parseFloat(ver);
}

//--------------------------------
// formatDenaro()
//--------------------------------
function formatDenaro(n,dec)
{
	//arrotondo l'intero!
	// arriva giusto! alert(n);

	rf=Math.pow(10,dec);
	n=Math.round(n*rf)/rf;
	n_str=String(n);
	
	primavirgola=parseInt(n);
	vpos=n_str.search(/\./gi);
	if (vpos>=0) 
		dopovirgola=n_str.substr(vpos+1,dec);
	else
		dopovirgola="";
	
	//alert("Intero:"+primavirgola+" decs :"+dopovirgola);

	//scritto: 0.xxxx
	var i=0;
	intero="";

	primavirgola	= String(primavirgola);
	//dopovirgola_str	= String(dopovirgola);
	
	intero=dot(primavirgola);
	if (dec>0 && dopovirgola.length>0)
		reale=","+dopovirgola;
	else
		reale=""
	
	denaro=intero+reale;

	return (denaro);
}


//--------------------------------
// eurocalc()
//--------------------------------
function eurocalc(lire)
{
euro = lire / 1936.27;
return euro;
}


//-------------------------------
// esporta()
//-------------------------------
function esporta(serverfilename,downloadfilename /*[,frame]*/){
	var win;
	mywidth = 0;
	myheight = 0;
	myleft = screen.width;
	mytop  = screen.height;
	//alert(fullfilename);
	url='/ecommerce/download.cfm?filename='+serverfilename+'&filename_download='+downloadfilename;

	if (arguments.length==3)
		window.open(url, arguments[2]);
	else
		location.href=url;
	



}// esporta()









