	var Pri=new Number("1.5")
	var Sep
	var NonSep
	if (isNaN(Pri))
	{
		Sep=","
		NonSep="."
	}
	else
	{
		Sep="."
		NonSep=","
	}

var finestraAperta







function checkPrice(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr.replace(NonSep,Sep))
		if (!isNaN(Prezzo))
		{
			if (Prezzo==Math.round(Prezzo))
			{
				return (Math.round(Prezzo*1000)/1000).toString() + Sep + "000"
			}
			else
			{
				if (Prezzo==Math.round(Prezzo*10)/10)
				{

					return (Math.round(Prezzo*1000)/1000).toString() + "00" 
				}
				else
				{
					if (Prezzo==Math.round(Prezzo*100)/100)
					{
						return (Math.round(Prezzo*1000)/1000).toString() + "0" 
					}
					else
					{
						return Math.round(Prezzo*1000)/1000
					}
				}
			}
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}


function checkNumber(Pr)
{
	if (Pr!="")
	{
		var Prezzo=new Number(Pr.replace(NonSep,Sep))
		if (!isNaN(Prezzo))
		{
			return Math.round(Prezzo)
		}
		else
		{
			return ""
		}
	}
	else
	{
		return ""
	}
}

function controlla(oggetto,valore)
{
	if (oggetto.value != "")
	{
		var giovanni
		giovanni=checkPrice(oggetto.value)
		if (giovanni=="")
			oggetto.value=valore
		else
			oggetto.value=giovanni
	}
}

function CheckDate(obj)
{
var Data,a,b,D1,D2,D3, Data1,Data2,Data3
  	  Data=new String(obj)
          Data=Data.replace(/-/g,"/")
	  a=Data.indexOf("/",1)
      b=Data.indexOf("/",a+1)
	if ((b!=-1) && (a!=-1))
	{
		D1=new Number(Data.substring(0,a))
		D2=new Number(Data.substring(a+1,b))
		D3=new Number(Data.substring(b+1,Data.length))
		if (D1>31 || D2>12 || D3<1000 || isNaN(D1) || isNaN(D2) || isNaN(D3))
		{
   			return ""
		}
    		else
		{
			Data1="00" + D1.toString(10)
			Data1=Data1.substr((Data1.length)-2,2)
			Data2="00" + D2.toString(10)
			Data2=Data2.substr(Data2.length-2,2)
			Data3=D3.toString(10)
			Data3=Data3.substring(Data3.length-4,4)
			return Data1 + "/" + Data2 + "/" + Data3 
		}
	}
	else
	{
		return ""
	}
}




function CheckDate2(obj)
{
var Data,a,b,D1,D2,D3, Data1,Data2,Data3
  	  Data=new String(obj)
          Data=Data.replace(/-/g,"/")
	  a=Data.indexOf("/",1)
      b=Data.indexOf("/",a+1)
	if (a!=-1)
	{
		if (b!=-1)
		{
			D1=new Number(Data.substring(0,a))
			D2=new Number(Data.substring(a+1,b))
			D3=new Number(Data.substring(b+1,Data.length))
		}
		else
		{
			D2=new Number(Data.substring(0,a))
			D3=new Number(Data.substring(a+1,Data.length))
		}
		if (D2>12 || D3<1000 || isNaN(D2) || isNaN(D3))
		{
	   		return ""
		}
	    	else
		{
			Data2="00" + D2.toString(10)
			Data2=Data2.substr(Data2.length-2,2)
			Data3=D3.toString(10)
			Data3=Data3.substring(Data3.length-4,4)
			return Data2 + "/" + Data3 
		}
	}
	else
	{
		return ""
	}
}

function calcolaClaim(objPrimaData, objSecondaData, objGiorni, objMesi)
{
primaData=objPrimaData.value
secondaData=objSecondaData.value
if (primaData!="" && secondaData!="")
{
	var DPrimaData = new Date(primaData.substring(6,10) + "/" +    primaData.substring(3,5) + "/" + primaData.substring(0,2))
	var DsecondaData = new Date(secondaData.substring(6,10) + "/" +  secondaData.substring(3,5) + "/" + secondaData.substring(0,2) )
	objGiorni.value=Math.abs(DateDiff("d", DPrimaData , DsecondaData ))
	if (objGiorni.value>366)
	{
		alert("Il Claim Period non può essere superiore ad 1 anno.")
		primaData=""
		secondaData=""
		objGiorni.value=""
		objMesi.value=""
		objPrimaData.value=""
		objSecondaData.value=""
	}
	else
	{
		var anno1 = new Number(primaData.substring(6,10))
		var anno2 = new Number(secondaData.substring(6,10))
		var mesiElapsed=12 * Math.abs(anno1-anno2)
		var mese1 = new Number(primaData.substring(3,5))
		var mese2 = new Number(secondaData.substring(3,5))
		if (DPrimaData<DsecondaData)
			mesiElapsed = mesiElapsed - mese1 + mese2
		else
			mesiElapsed = mesiElapsed - mese2 + mese1
		objMesi.value=mesiElapsed  + 1
	}
	
}
}

function calcolaTOT(fattore, unitari, pezzi, objDest)
{
var multi=1;
if (fattore!="") multi=fattore;
if (unitari!="" && pezzi!="")
	objDest.value = checkPrice((unitari * multi * pezzi).toString());
}

function apri()
{
	finestraAperta = window.open(path,'Upload');
	finestraAperta.focus()
}

function DateDiff(interval, start, end)
{
  var iOut = 0, rounding=true;
  var bufferA = Date.parse(start);
  var bufferB = Date.parse(end );

  // check that the start parameter is a valid Date.
  if ( isNaN (bufferA) || isNaN (bufferB) )
  {
      return 0;
  }
  // check that an interval parameter was not numeric.
  if ( interval.charAt == 'undefined' )
  {
    // the user specified an incorrect interval, handle the error.
    return 0;
  }
  var number = bufferB-bufferA;

  // what kind of add to do?
  switch (interval.charAt(0))
  {
    case 'd': case 'D':
      iOut = parseInt(number / 86400000)+parseInt((number % 86400000)/43200001);
      break ;
    case 'h': case 'H':
      iOut = parseInt(number / 3600000 )+parseInt((number % 3600000)/1800001);
      break ;
    case 'm': case 'M':
      iOut = parseInt(number / 60000 )+parseInt((number % 60000)/30001);
      break ;
    case 's': case 'S':
      iOut = parseInt(number / 1000 )+parseInt((number % 1000)/501);
      break ;
    default:
    // If we get to here then the interval parameter
    // didn't meet the d,h,m,s criteria.  Handle
    // the error.
    return 0;
  } return iOut ;
}

function calcolaNetto(MC,FSC,RESA,objNetto)
{
	objNetto.value=checkPrice((MC*(FSC/100)*(RESA/100)).toString())
}

function checkMail(x){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
	if (filter.test(x)) 
		return x
	else 
		return ""
}

// JavaScript Document
var	flag = false;

function PopolaAree()
{
	var aree = new Array("Direzione generale","Finanziaria","Acquisti","Amministrativa","Commerciale / Vendite","Logistica","Marketing",
						 "Produzione","Controllo  qualità","Risorse umane","Tecnica / Sistemi informativi","Ricerca e sviluppo");

	var frm = document.forms['frmInfo'];

	elAree = frm.elements['Area'];
	if(elAree == null)
		elAree = frm.elements['area'];
	elFunz = frm.elements['Ruolo'];
	if(elFunz == null)
		elFunz = frm.elements['ruolo'];
		
	for(i = 0; i< aree.length; i++)
		elAree.options[i + 1] = new Option( aree[i],  aree[i]);
		
	elAree.selectedIndex = 0;
	elFunz.selectedIndex = 0;

	flag = true;
}


function PopolaRuoli()
{
	var funz =  new Array("Presidente","Amministratore delegato/unico","Amministratore","Titolare","Socio amministratore",
						  "Socio accomandatario", "Direttore generale", "Dirigente", "Responsabile", "Impiegato");

	var frm = document.forms['frmInfo'];


	elAree = frm.elements['Area'];
	if(elAree == null)
		elAree = frm.elements['area'];
	elFunz = frm.elements['Ruolo'];
	if(elFunz == null)
		elFunz = frm.elements['ruolo'];
	confine = 7;
	
	id = elAree.selectedIndex;
	
	j = elFunz.length;
	for(i = 1; i < j; i++)
		elFunz.options[i] = null;
	
	if(id == 0)
	{
		elFunz.options.length = 1;
		return;
	}
	
	if(id == 1)
	{			
		for(i = 0; i < confine; i++)
			elFunz.options[i + 1] = new Option( funz[i], funz[i]);
	}
	else
	{
		for(i = confine; i< funz.length; i++)
			elFunz.options[i - confine + 1] = new Option(funz[i], funz[i]);
	}
}


function TestRuoli()
{
	var frm = document.forms['frmInfo'];
	elAree = frm.elements['Area'];
	if(elAree == null)
		elAree = frm.elements['area'];
	
	if(flag)
	{
		if(elAree.selectedIndex == 0)
		{
			alert("Selezionare prima l'area, grazie.");
		}
	}
	else
		flag = true;
}


function trim(s) 
{
	while (s.substring(0,1) == ' ')
	{
		s = s.substring(1, s.length);
	}
	while (s.substring(s.length-1, s.length) == ' ')
	{
		s = s.substring(0,s.length-1);
	}
	return s;
}


function Verifica()
{
	var err = "";
	var	txt1 = "I seguenti dati sono obbligatori:";
	var	txt2 = "L'e-mail non ? corretta";
	var	txt3 = "caratteri";

	var frm = document.forms['frmInfo'];

	if(frm.elements['LINGUA'] != null)
	{
		if(frm.elements['LINGUA'].value != "")
		{
			lingua = frm.elements['LINGUA'].value;
			
			if(lingua == "inglese")
			{
				txt1 = "The following fields are required:";
				txt2 = "E-mail is wrong";
				txt3 = "characters";
			}
		}
	}	
		

	nEls = frm.elements.length;
	
	//	Questi campi sono obbligatori
	for(i = 0; i < nEls; i++)
	{
		tag = frm.elements[i];
		
		if(tag.value.length > 400)
		{
			err += tag.name + " - max 400 " + txt3 + "\r\n";
			continue;
		}

		if(tag.name.charAt(0) == "_")
			continue;
			
		if(tag.name == "XID")
			continue;
			
		if(tag.type == "checkbox")
			continue;
			
		if(tag.type == "radio")
		{
			for(j = i+1; j < nEls; j++)
			{
				if(frm.elements[j].name == tag.name)
					break;
			}
			
			if(j == nEls)
			{
				for(j = 0; j < nEls; j++)
				{
					if(frm.elements[j].name == tag.name && frm.elements[j].checked == true)
						break;
				}
				
				if(j == nEls)
				{
					if(tag.title != "")
						err += tag.title + "\r\n";
					else
						err += tag.name + "\r\n";
				}
			}
			
			continue;
		}

		if(tag.name == "Email" && trim(tag.value) != "")
		{
			var mod_ema = /^([a-z0-9&_\-]+\.?)+@([a-z0-9\-]+\.)+[a-z]{2,4}$/;
			
			tag.value = trim(tag.value);
			tag.value = tag.value.toLowerCase();

			if (tag.value.match(mod_ema) == null)
				err += txt2 + "\r\n";
				
			continue;
		}
		
		if(trim(tag.value) == "")
		{
			if(tag.title != "")
				err += tag.title + "\r\n";
			else
				err += tag.name + "\r\n";
		}
	}

	
	if(err != "")
	{
		err = txt1 + "\r\n\r\n" + err;
		alert(err);
	}
	else
	{
		for(i = 0; i < nEls; i++)
		{
			var tag = frm.elements[i];
			
			if(tag.type == "checkbox" && tag.checked == false)
			{ 
				var el = document.createElement("INPUT");
				el.type = "hidden";
				el.name = tag.name;
				el.value = "NO";
								
				var n = document.getElementById(tag.name).parentNode;

				for(j = 0; j < n.childNodes.length; j++)
				{
					if(n.childNodes[j].name == tag.name && n.childNodes[j].type == "checkbox")
					{
						n.insertBefore(el,n.childNodes[j]);
						break;
					}
				}
				
				i ++;
				nEls ++;
			}
		}
	}

	document.esito = (err == "");
}


