// JavaScript Document



function decimali(numero){

/* decimali */
			
			numero = String(numero);
		
			var arr_num = numero.split(".");
			var posizione = numero.indexOf(".");
						
			if (numero.indexOf(".") != (-1))
			{
				if (arr_num[1].length == 1)
				{
					numero = numero +'0';
				}
				else
				{
					numero = arr_num[0] + "." + arr_num[1].substring(0, 2);
				}
			   
			}
			else
			{
			//posizione = -1
						numero = numero +'.00';
			}


				return numero;
							
			/* fine decimali */

}

function decimali4(numero){

/* decimali */
			
			numero = String(numero);
		
			//alert('intero -> ' + numero);
			var arr_num = numero.split(".");
			
			//alert('primo -> '+arr_num[0]);
			//alert('secondo -> '+arr_num[1]);
			var posizione = numero.indexOf(".");
						
			if (numero.indexOf(".") != (-1))
			{
				if (arr_num[1].length == 1)
				{
					numero = numero +'000';
				}
				else if (arr_num[1].length == 2)
				{
					numero = numero +'00';
				}
				else if (arr_num[1].length == 3)
				{
					numero = numero +'0';
				}
				else
				{
					numero = arr_num[0] + "." + arr_num[1];
				}
			   
			}
			else
			{
			//posizione = -1
						numero = numero +'.0000';
			}


				return numero;
							
			/* fine decimali */

}
function decimali3(numero){

/* decimali */
			
			numero = String(numero);
		
			//alert('intero -> ' + numero);
			var arr_num = numero.split(".");
			
			//alert('primo -> '+arr_num[0]);
			//alert('secondo -> '+arr_num[1]);
			var posizione = numero.indexOf(".");
						
			if (numero.indexOf(".") != (-1))
			{
				if (arr_num[1].length == 1)
				{
					numero = numero +'00';
				}
				else if (arr_num[1].length == 2)
				{
					numero = numero +'0';
				}
				else if (arr_num[1].length == 3)
				{
					numero = numero +'';
				}
				else
				{
					numero = arr_num[0] + "." + arr_num[1];
				}
			   
			}
			else
			{
			//posizione = -1
						numero = numero +'.000';
			}


				return numero;
							
			/* fine decimali */

}


function formatlibero(number,dec) {
	
	numero = numero.replace(".",",");

	return numero;
	
}

function format(number,dec) {
    
	number = String(number);
	
	if(dec == undefined){
	dec=2;
	}
    while (number.length < dec + 1)  
        number = "0" + number;
    
    var formatted = "";
    var decimal  = new RegExp ("(\\d*?)(\\d{" + dec +"})$");
    var fixed    = new RegExp ("(\\d*?)(\\d{3})$");
     
    split = decimal.exec(number);
    
    if (split[2].length > 0) {
        formatted = "," + split[2];
    }
    number = split[1];
    
    while (number.length > 3) {
      split = fixed.exec(number);
      formatted = "." + split[2] + formatted;
      number = split[1];
    }
   
    formatted = number + formatted;
    return formatted;

}

function unformat(numero){
	numero = String(numero);
numero = numero.replace(/\./g,"").replace(/\,/,"\.");

return numero;

}


function unformatlibero(numero){
	numero = String(numero);
numero = numero.replace(",",".");

return numero;

}


function arrotonda(number,X) 
{
// rounds number to X decimal places, defaults to 2
X = (!X ? 2 : X);
var numero = Math.round(number*Math.pow(10,X))/Math.pow(10,X);

return numero;

}


function roundTo(value, decimalpositions)
{
    var i = value * Math.pow(10,decimalpositions);
    i = Math.round(i);
    return i / Math.pow(10,decimalpositions);
} 

function normalizza(numero,dec,arr){
	
		numero = String(numero);
	//alert("Originale -> "+numero);

	numero = unformat(numero);
	
	//alert("Senza Formattazione -> "+numero);

	if(arr != 1){
	numero = arrotonda(numero);
	}
	
	//alert("Arrotondato -> "+numero);
	
	if(dec==1){
	
	numero = decimali(numero);
	
	}

	//alert("Finale con decimali -> "+numero);

	return numero;

}


function riformatta(numero,dec){
	
	//alert("Originale -> "+numero);
	if(dec == undefined){
	
		dec = 2;
	
	}
	numero = unformat(numero);
	//alert("DE-Formattato -> "+numero);	

	numero = format(numero,dec);
	//alert("Formattato -> "+numero);


	
	return numero;

}


function riformattalibero(numero,dec){
	
	//alert("Originale -> "+numero);
	if(dec == undefined){
	
		dec = 2;
	
	}
	numero = unformatlibero(numero);
	//alert("DE-Formattato -> "+numero);	

	//CAMBIARE -> 
	numero = decimali4(numero);
	//alert("Formattato -> "+numero);

	numero = numero.replace(".",",");
	
	//numero = format(numero,dec);
	return numero;

}


function conti(){
	
	//TOTALE LAVORI
	var totale = $('input#ProjectTotale').val();
	
	/* precedente -> a 2 cifre decimali 
	//normalizzo per calcoli
	totale = normalizza(totale,1);
	//variabile formattata per stampa
	totales = riformatta(totale);
	*/
	
	/* nuovo -> a 3 cifre decimali */
	totale = normalizza(totale,0,1);
	totale = decimali3(arrotonda(totale,3));
	totales = riformatta(totale,3);
	/**/

	$('input#ProjectTotale').val(totales);
   	
	//RIBASSO A BASE D'ASTA
	var ribasso = $('input#ProjectRibasso').val();
	
	ribasso = normalizza(ribasso,0,1);
	ribassos = riformattalibero(ribasso,4);
	
	$('input#ProjectRibasso').val(ribassos);
	
	
	
	var totribasso = (totale / 100) * ribasso;
	
//	alert('totribasso -> '+totribasso);
	totribasso = decimali(arrotonda(totribasso,1));
		//alert('totribasso norm -> '+totribasso);
	totribassos = riformatta(totribasso);
	//	alert('totribasso formattato -> '+totribassos);

	$('#ribassotext').html('(&euro; '+totribassos+')');
	
	
	//CALCOLO PERCENTUALE CPT
	


	if(totale <= 200000){
		

		percpt = 20;
		
	}
	
	else if( (totale > 200000) && (totale <= 500000) ){
		

		percpt = 15;
		
	}
	
	else if( (totale > 500000) && (totale <= 1250000) ){
		

		percpt = 10;
		
	}
	
	else if( (totale > 1250000) && (totale <= 5000000) ){
		

		percpt = 5;
		
	}
	else{

		percpt = 2.5;
		
	}

	percpt = decimali(percpt);
	percpts = riformatta(percpt);
	
	//alert('Percentuale => '+percpt);
	$('input#ProjectPercentualecpt').val(percpts);	
		
//	var percpt = $('input#ProjectPercentualecpt').val();

	
	
	//alert("ribasso -> "+totribasso);
	
	
												
	var totcpt  = (totribasso / 100) * percpt;
	//alert("totale al cpt -> "+totcpt);
	
	// preparo
	totcpt = decimali3(arrotonda(totcpt,4));
	
	//alert("totale al cpt 2 -> "+totcpt);
	totcpts = riformatta(totcpt,3);
//alert("totale al cpt 3 -> "+totcpts);
	$('input#ProjectTotalecpt').val(totcpts);
			
	var totalea = $('input#ProjectTotalecpt').val();
			
			
			//nuovo con tre decimali
			totalea = unformat(totalea);
			totalea = decimali3(arrotonda(totalea,3));
			//alert(' totale -> ' + totalea);	
	
	//vecchio con 2 cifre ->totalea = normalizza(totalea,1);
	

	
	var accontoa = $('input#ProjectAccontocpt').val();

			//nuovo con 3 decimali								
			accontoa = unformat(accontoa);
			accontoa = decimali3(arrotonda(accontoa,3));
			//alert(' acconto -> ' + accontoa);	
									
	//vecchio con 2 decimali -> accontoa = normalizza(accontoa,1);
	
//	alert('acc normalizzato -> '+accontoa);
	accontoas = riformatta(accontoa,3);
	//	alert('acc riform. -> '+accontoas);
	
	$('input#ProjectAccontocpt').val(accontoas);
	//
	var saldoa = totalea - accontoa;
	saldoa = decimali3(arrotonda(saldoa,4));
	saldoas = riformatta(saldoa,3);
	
	
	$('input#ProjectSaldocpt').val(saldoas);						
												
	var oneri = $('input#ProjectOneriSicurezza').val();
	
	if(oneri != ''){
	
	
	/* vecchio a 2 cifre decimali 
	oneri = normalizza(oneri,1);
	oneris = riformatta(oneri);
	*/
	
	/* nuovo -> a 3 cifre decimali */
	oneri = normalizza(oneri,0,1);
	oneri = decimali3(arrotonda(oneri,3));
	oneris = riformatta(oneri,3);
	/**/
	
	
	
	$('input#ProjectOneriSicurezza').val(oneris);
		
	}
	
	var iva = $('input#ProjectIva').val();
	/*
	if(iva > 0){
		
		var ivatotale = (totale / 100) * iva;
		var totaleiva = (totale) + (ivatotale);
		$('#totaleiva').html('(&euro; '+totaleiva+')');
	}
	*/
	
}//fine funzione
							  
/*

$('input#ProjectTotale').change( function() { 
										  		var totale = $('input#ProjectTotale').val();
												var ribasso = $('input#ProjectRibasso').val();
												var percpt = $('input#ProjectPrecentualecpt').val();
										  		alert("totale ->"+totale+"\nribasso ->"+ribasso+"\npercentuale a cpt ->"+percpt); 
												var totribasso = (totale / 100) * ribasso;
												
												alert("ribasso -> "+totribasso);
												
												var totcpt  = (totribasso / 100) * percpt;
												
												alert("totale al cpt -> "+totcpt);
												
												$('input#ProjectTotalecpt').val(totcpt);
												
												
												
										 	 } 
										 );

$('input#ProjectAccontocpt').change( function() {
											  
											  	var totale = $('input#ProjectTotalecpt').val();
												var acconto = $('input#ProjectAccontocpt').val();
												
												var saldo = totale - acconto;
												
												$('input#ProjectSaldocpt').val(saldo);
											  
											  }
											 );

*/